# Réalisation d'un régulateur solaire à base de microcontrôleur pour le contrôle de l'état de charge et la protection des accumulateurs

Souad Zaamta* et Abderrahmane Dib

Institut des Sciences Technologiques, Université Larbi Ben M'Hidi, Oum El Bouaghi

(reçu le 25 Novembre 2008 – accepté le 25 Janvier 2009)

**Résumé** - Dans notre travail, nous nous sommes intéressés à mener une recherche technologique sur l'utilisation de l'énergie photovoltaïque afin d'éclairer une route sombre. En effet, nous avons réalisé un système photovoltaïque de type autonome constitué d'un module photovoltaïque, d'un régulateur solaire, d'une batterie d'accumulateur et d'une lampe au sodium basse pression. Le rôle principal du régulateur solaire est le contrôle continu de l'état de charge de la batterie afin d'assurer sa protection contre les surcharges et les décharges excessives, ainsi que sa maintenance. Son principe de fonctionnement est basé sur la commande d'un convertisseur DC-DC par un signal rectangulaire 'PWM' généré par un microcontrôleur PIC16F877. Cette technique de commande hache le courant du module photovoltaïque en impulsions d'une fréquence fixe et d'une largeur d'impulsion variable, afin de réguler le courant de charge suivant l'état de charge de la batterie d'accumulateur.

**Abstracts** - In our work, we were interested to develop a technological research on the use of photovoltaic energy in order to light an isolated place. Then, we have realized a stand alone photovoltaic system constitutes of a photovoltaic module, a solar regulator, storage battery and a lamp sodium low pressure. The principal role of the solar regulator is to maintain the battery at the voltage regulation set point in order to ensure their protection from any overcharge or discharge excessive and their maintenance, this system allows a reliable control, inexpensive and its data-processing program can be to reprogram and updated on site, the realized regulator is based on the control of a DC-DC converter by the PIC16F877 microcontroller which is able to generate a high frequency signal 'PWM'. This technique breaks the array current into pulses at a constant frequency, and varies the width and time of the pulses to regulate the amount of charge flowing into the battery.

**Mots clés:** Energie photovoltaïque - Convertisseur DC/DC - PWM - PIC16F877 - Batterie d'accumulateur - Cycle profond.

## 1. INTRODUCTION

Vu le souci d'épuisement des réserves mondiales connues (pétrole, charbon, gaz, etc.), les crises économiques (flambée des prix du pétrole), les accidents des centrales nucléaires tels que ceux de Three Mile Island (USA, 1979) ou de Tchernobyl (URSS, 1986), le souci de pollution, le besoin sans cesse croissant en énergie, toutes ces perspectives renforcèrent l'intérêt du grand public envers les énergies renouvelables, en particulier l'énergie photovoltaïque, qui s'impose comme une des sources d'énergies renouvelables les plus prometteuses. [1]

De par sa situation géographique, l'Algérie dispose d'un important gisement solaire surtout dans le Sud du pays [2] (Tableau 1).

<footnote>* zaamta2008@yahoo.com _ dib_abderrahmane@yahoo.com</footnote>
L'énergie solaire est certainement la plus importante en quantité en Algérie en général, et dans notre région en particulier, située sur les hauts plateaux; particulièrement en été, la quantité varie entre 4 kWh/m²/jour en hiver et peut atteindre 8,5 kWh/m²/jour en été.

<table><caption>Tableau 1: Potentiel d'énergie solaire en Algérie</caption><thead><tr><td>Région</td><td>Région côtière</td><td>Hauts plateaux</td><td>Sahara</td></tr></thead><tbody><tr><td>Superficie (%)</td><td>4</td><td>10</td><td>86</td></tr><tr><td>Durée moyenne d'ensoleillement (heure/an)</td><td>2650</td><td>3000</td><td>3500</td></tr><tr><td>Energie moyenne reçue (kWh/m²/an)</td><td>1700</td><td>1900</td><td>2650</td></tr></tbody></table>

L'objectif de ce travail est la réalisation d'un régulateur solaire à base de microcontrôleur destiné pour le contrôle de l'état de charge des batteries d'accumulateurs afin de les protéger.

## 2. EFFET PHOTOVOLTAÏQUE

L'effet photovoltaïque correspond à l'apparition d'une différence de potentiel entre les deux côtés d'une jonction semi-conductrice sous l'action d'une radiation lumineuse. Cette conversion photovoltaïque est effectuée à l'aide des cellules photovoltaïques fabriquées généralement en silicium cristallin. Si une charge est placée aux bornes de la cellule, les électrons de la zone N rejoignent les trous de la zone P via la connexion extérieure, donnant naissance à une différence de potentiel et un courant électrique circule [6], (Fig. 1).

<figure><img src="image_1.png" /><figcaption>Fig. 1: Principe de fonctionnement d'une cellule photovoltaïque</figcaption></figure>

## 3. CONCEPTION D'UN SYSTEME PHOTOVOLTAÏQUE

Généralement, un système photovoltaïque comprend les différents éléments indiqués par la figure 2, où chaque élément doit être déterminé en fonction des contraintes techniques et économiques.

### 3.1 Module photovoltaïque

L'utilisation optimale du module photovoltaïque nécessite d'adapter les grandeurs électriques aux besoins de l'application et aussi aux conditions environnement notamment la température et l'intensité de la radiation solaire.
<figure><img src="image_2.png" /><figcaption>Fig. 2: Schéma synoptique d'un système photovoltaïque avec batterie de stockage</figcaption></figure>

Une cellule photovoltaïque reste l'élément de base de toute générateur photovoltaïque quelle que soit la puissance considérable demandée. Pour prévoir ses performances, il est très important de connaître son modèle mathématique.

## 3.2 Modélisation d'une cellule photovoltaïque

Selon la figure 3, le courant généré par la cellule photovoltaïque $I$ est donné par :

<figure><img src="image_3.png" /><figcaption>Fig. 3: Circuit équivalent d'une cellule photovoltaïque.</figcaption></figure>

$$I = I_{ph} - I_{D} - \frac{V + R_{s} \cdot I}{R_{sh}} \qquad (1)$$

$$I_{D} = I_{s} \left( \exp\left( q \frac{V + R_{s} \cdot I}{A \cdot k \cdot T} \right) - 1 \right) \qquad (2)$$

## 3.3 Caractéristique courant - tension

La courbe caractéristique d'une cellule PV représente la variation du courant qu'elle produit en fonction de la tension à ses bornes, depuis le court-circuit (tension nulle correspondant au courant maximum produit) jusqu'au circuit ouvert, (courant nul pour une tension maximale aux bornes de la cellule). Cette caractéristique $I = f(V)$ se met sous la forme mathématique à partir des deux équations (1) et (2) précédentes comme suit:

$$I = I_{ph} - I_{s} \left( \exp\left( q \frac{V + R_{s} \cdot I}{A \cdot k \cdot T} \right) - 1 \right) - \frac{V + R_{s} \cdot I}{R_{sh}} \qquad (3)$$

Si on trace le courant $I$ en fonction de la tension $V$, on aura une soustraction de deux courbes: ($I_{ph}$) et ($I_{D}$) avec $R_{sh}$ très élevée.

Pour satisfaire les besoins des charges couramment utilisées, il faut envisager un assemblage de plusieurs cellules photovoltaïques, soit en série, soit en parallèle. Cet
assemblage forme ce qu'on appelle 'module photovoltaïque'. Les caractéristiques électriques du module photovoltaïque que nous avons utilisé ont été obtenues par la simulation numérique de son modèle dans l'environnement de 'Matlab-Simulink®'.

<figure><img src="image_4.png" /><figcaption>Fig. 4: Caractéristique I(V) d'une cellule photovoltaïque</figcaption></figure>

La figure 5 montre la courbe de la caractéristique courant - tension du module photovoltaïque, pour un éclairement et une température donnés. Le point de fonctionnement du module PV résulte de l'intersection de la caractéristique I-V du module et de la caractéristique I-V de la charge.

<figure><img src="image_5.png" /><figcaption>Fig. 5: Caractéristique courant-tension du module photovoltaïque
$E = 1000 \text{ W/m}^2$, $T = 25 \text{ °C}$</figcaption></figure>

• La zone (1) se distingue par le courant qui reste constant, quelle que soit la tension. Dans cette zone, le générateur photovoltaïque fonctionne comme un générateur de courant.

• La zone (2) se distingue par une variation du courant correspondant à une tension presque constante, et c'est dans cette région, que le générateur est assimilable à un générateur de tension.

• La zone (3) correspond au coude de la caractéristique. C'est la région intermédiaire entre les deux zones précédentes, et elle représente la région préférée pour le fonctionnement (le point optimal peut être déterminé).
La caractéristique courant - tension dépend des conditions d'ensoleillement et de température à la surface de la cellule photovoltaïque.

La figure 6 montre l'influence de l'éclairement sur la caractéristique courant - tension d'un module photovoltaïque à une température constante.

<figure><img src="image_6.png" /><figcaption>Fig. 6: Influence de l'éclairement, à T = 25° C</figcaption></figure>

On remarque que la tension Vco ne varie que très peu en fonction de l'éclairement, contrairement au courant de court-circuit Icc qui augmente fortement avec l'éclairement.

La figure 7 montre l'influence de la température sur la caractéristique courant tension du module photovoltaïque pour un éclairement donné. On remarque que lorsque la température augmente, la tension du circuit ouvert Vco diminue alors que le courant de court-circuit Icc augmente.

<figure><img src="image_7.png" /><figcaption>Fig. 7: Influence de la température pour un éclairement, E = 1000W/m²</figcaption></figure>
## 4. DESCRIPTION GENERALE DE LA MAQUETTE REALISEE

On peut représenter la maquette réalisée par la figure ci-dessous:

<figure><img src="image_8.png" /><figcaption>Fig. 8: Schéma synoptique de la maquette réalisée</figcaption></figure>

Le bloc de puissance assure le transfert et la conversion de la puissance entre les deux cotés, source et charge. Il est constitué principalement par:

1. Une source d'énergie constituée d'un seul module type TE500 dont on a pu simulé ses caractéristiques électriques 'courant - tension' et 'puissance - tension' grâce à ses paramètres introduites dans un programme élaboré en Matlab.

2. Un convertisseur DC-DC type buck [3].

3. Une batterie d'accumulateur solaire au plomb acide 'Deep-Cycle' [4, 5] d'une tension nominale de 12 V et d'une capacité de 100 Ah

4. Une lampe au sodium basse pression (LPS), 27 W. Elle est plus efficace puisque la lumière rayonnée est plus intense et peut illuminer un volume plus profond contrairement à un autre type des lampes.

Le bloc de commande permet d'asservir la tension de la batterie et varier le courant de charge. Il est constitué principalement par le circuit intégré qui est le PIC16F877 mené d'un oscillateur à quartz de fréquence 20 MHz.

* La tension $V_{bat}$ est mesurée à travers la patte RA1 configurée en entrée A/N, on a utilisé un diviseur de tension constitué des résistances R15, R16 et R25.

$$V_a = \frac{R_{25} + R_{16}}{R_{16} + R_{25} + R_{15}}$$

La valeur mesurée sera ensuite convertie en une valeur numérique $V_n$ à travers un convertisseur analogique/numérique intégré en interne. Le contrôle de la tension de la batterie est visualisé par une série de cinq LEDs dont la couleur est choisie pour faciliter l'interprétation du fonctionnement, (Tableau 2).

Led1: 'jaune' - Quand elle est allumée, elle indique la bonne configuration de notre pic. Elle ne s'éteint que lorsque la Led5 s'éteint.

Led2: 'orange'; quand elle est allumée, elle indique que la tension de la batterie est supérieure à $V_{LDV}$ et le processus de charge est dans le premier mode de charge 'bulk charge'.
Led3: 'rouge' - Quand elle est allumée, elle indique que la tension de la batterie atteint la valeur $V_R$ et le processus de charge est dans le deuxième mode de charge 'absorpt charge'.

Led4: 'verte' - Quand elle est allumée, elle indique que la tension de la batterie atteint la valeur $V_{float}$ et le processus de charge est dans le troisième mode de charge 'float charge'.

Led5: visualise l'état de la broche RB0. Si elle est allumée, elle indique que notre module est suffisamment éclairé. Dans le cas contraire, elle est éteinte.

<table><caption>Tableau 2: Mode de fonctionnement</caption><thead><tr><th rowspan="2"></th><th colspan="5">Etat des Leds</th></tr><tr><th>Led1<br>(RB1)</th><th>Led2<br>(RB2)</th><th>Led3<br>(RB3)</th><th>Led4<br>(RB4)</th><th>Led5<br>(RB0)</th></tr></thead><tbody><tr><td>I<sub>ch</sub> = 0 A</td><td>allumée</td><td>éteint</td><td>éteint</td><td>éteint</td><td>allumée</td></tr><tr><td>V<sub>bat</sub> &lt; 10.8 A</td><td>allumée</td><td>allumée</td><td>allumée</td><td>allumée</td><td>allumée</td></tr><tr><td>Buck charge</td><td>allumée</td><td>éteint</td><td>éteint</td><td>éteint</td><td>allumée</td></tr><tr><td>Absorpt charge</td><td>allumée</td><td>éteint</td><td>allumée</td><td>éteint</td><td>allumée</td></tr><tr><td>Float charge</td><td>allumée</td><td>éteint</td><td>éteint</td><td>allumée</td><td>allumée</td></tr><tr><td>Décharge de la<br>batterie</td><td>éteint</td><td>allumée</td><td>allumée</td><td>allumée</td><td>éteint</td></tr></tbody></table>

Mode de fonctionnement

• La broche RB0 du PORTB est configurée en entrée pour détecter le moment de fonctionnement du système (jour ou nuit): Ceci est accompli par un bloc capteur basé sur le circuit intégré LM339. Donc, suivant la quantité de l'éclairement, RB0 peut prendre deux états:

1. Si la cellule est suffisamment éclairée, la broche RB0 sera à l'état '1' et le programme appelle la subroutine de charge 'jour'.

2. Si la cellule est insuffisamment éclairée, la broche RB0 sera à l'état '0' et le programme appelle la subroutine de charge 'nuit'.

• La broche RA2 est configurée en entrée A/N pour mesurer le courant de charge, pour cela on a utilisé un montage amplificateur basé sur l'amplificateur opérationnel LM358N.

## 5. PRESENTATION DE L'ORGANIGRAMME

L'algorithme de charge à implémenter est schématisé par l'organigramme ci-dessous. Le programme est écrit en langage assembleur à l'aide d'un outil de développement complet 'MPLAB IDE' fourni gratuitement par la société Microchip et conçu spécifiquement aux microcontrôleurs PIC.

Le programme principal commence en premier lieu, par un test d'état de la broche RB0:

1. Si $RB0 = 0 \Leftrightarrow$ La led5 s'éteint, cela indique que le module est insuffisamment éclairé. Dans ce cas, le PIC mesure la tension de la batterie $V_{bat}$, puis la compare à la tension $V_{LVD}$:

• $V_{bat} \ge V_{LVD} \Leftrightarrow$ La batterie se décharge,
• $V_{bat} \le V_{LVD} \Leftrightarrow$ La décharge de la batterie n’est pas autorisée.

2. Si $RB0 = 1 \Leftrightarrow$ La led5 s'allume, cela indique que le module est suffisamment éclairé, le PIC mesure le courant de charge $I_{ch}$ à travers la broche RA2:

• $I_{ch} = 0 \Leftrightarrow$ Cela est indiqué par l'état des cinq leds (**Tableau 2**), ce qui signifie que le module photovoltaïque est déconnecté du système.

• $I_{ch} \neq 0 \Leftrightarrow$ Le PIC mesure la tension de la batterie $V_{bat}$ à travers la broche RA1, puis il la compare aux tensions seuil: $V_{LVD}$, $V_{R}$, $V_{float}$ afin de générer le signal de commande PWM nécessaire pour chaque mode de charge 'bulk charge, absorpt charge, float charge' [4-6].

<figure><img src="image_9.png" /><figcaption>Fig. 9: Organigramme du programme principal</figcaption></figure>

Pour programmer le PIC, il faut un programmateur. Plusieurs kits sont disponibles sur le marché. Cependant, certains ne permettent de programmer qu'une catégorie de PIC, il est donc important de choisir un programmateur qui doit reconnaître notre PIC16F877, [7]. Lors de l'élaboration de notre projet, nous avons utilisé le programmateur disponible au laboratoire 'MPLAB® PM3 Programmer'. Il possède une liaison série vers le micro-ordinateur, et il permet de transférer facilement et rapidement le programme compilé en hex vers la mémoire flash du PIC (Fig. 10).

<figure><img src="image_10.png" /><figcaption>Fig. 10: Transfert des données vers le microcontrôleur</figcaption></figure>
# 6. REALISATION DU DISPOSITIF EXPERIMENTAL

La réalisation de notre régulateur solaire a été effectuée au laboratoire d'électrotechnique du centre universitaire de Oum El Bouaghi.

Ce régulateur est constitué d'un convertisseur DC-DC et d'un bloc de commande à base d'un PIC16F877, tels qu'ils sont représentés sur la figure 11.

<figure><img src="image_11.png" /><figcaption>Fig. 11: Réalisation pratique du dispositif sur la plaque imprimée</figcaption></figure>

# 7. ANALYSE DES RESULTATS

Le fonctionnement du régulateur réalisé est géré par le code hex injecté dans la mémoire 'flash' du PIC16F877. Ce code est obtenu après compilation du programme source dans l'environnement de MPLAB IDE [8, 9].

<figure><img src="image_12.png" /><figcaption>Fig. 12: Fonctionnement du système complet- Charge de la batterie</figcaption></figure>

<figure><img src="image_13.png" /><figcaption>Fig. 13: Fonctionnement du système complet- Allumage de la lampe</figcaption></figure>
Les figures 14-17 montrent le signal à la sortie de la broche RC2 du PIC16F877. C'est un signal PWM d'amplitude 5 V, d'une fréquence fixe de 100 kHz et d'un rapport cyclique variable, suivant l'état de charge de la batterie, soit D=80%, D=70%, D=10% et D=2%.

<figure><img src="image_14.png" /><figcaption>Fig. 14: Signal de sortie du PIC16F877 avec D=80% (2V/div., 5µs/div.)</figcaption></figure>

<figure><img src="image_15.png" /><figcaption>Fig. 15: Signal de sortie du PIC16F877 avec D=70% (2V/div., 5µs/div.)</figcaption></figure>

<figure><img src="image_16.png" /><figcaption>Fig. 16: Signal de sortie du PIC16F877 avec D=10% (5V/div., 5µs/div.)</figcaption></figure>

<figure><img src="image_17.png" /><figcaption>Fig. 17: Signal de sortie du PIC16F877 avec D=2% (5V/div., 2µs/div.)</figcaption></figure>
## 8. CONCLUSION

Dans le but de tester et de vérifier notre travail, des tests ont été effectués, on a exposé les oscillogrammes des différents signaux de commande PWM générés par le PIC16F877 et qui peuvent piloter l'ouverture et la fermeture d'un convertisseur DC-DC type 'buck' pour contrôler l'état de charge d'une batterie d'accumulateur.

On peut conclure que les résultats obtenus sont satisfaisants, compte tenu des limitations du matériel et des moyens dont nous disposons.

## REFERENCES

[1] P. Pernet, 'Développement de Cellules Solaires en Silicium Amorphe de Type 'n.i.p' sur Substrats Souples', Thèse de l'Ecole Polytechnique Fédérale de Lausanne, 'EPFL', N°2303, 2000.

[2] M. Brahimi, 'Situation des Energies Renouvelables en Algérie', Journée sur la Maîtrise de l'Energie et de l'Environnement dans un Contexte d'Economie, Mai 2001.

[3] Document, EE362L, Power Electronics, 'DC-DC Buck Converter', Version February 28, 2006.

[4] A. Midoun et A. Daoud, 'Commande Floue de la Charge d'une Batterie dans une Installation Photovoltaïque', Rev. Energ. Ren., 'ICPWE', pp. 67 – 72, 2003.

[5] P. James and P.E. Dunlop, 'Batteries and Charge Control in Stand-Alone Photovoltaic Systems', Fundamentals and Application, Florida Solar Energy Centre, January 15, 1997.

[6] L. Balogh, 'Implementing Multi-State Charge Algorithm with the UC3909 Switchmode Lead-Acid Battery Charger Controller', U-155 Application Note, Unitrode Applications Handbook, pp. 3-488 – 3-516, 1997.

[7] P. Mayeux, 'Apprendre la Programmation des PIC par l'Expérimentation et la Simulation', plus un CD-ROOM, ETSF 2ème édition 2002.

[8] Bigonoff, 'La Programmation des PIC par Bigonoff', Seconde partie (PIC16F876-16F877), 7ème Révision, 2003.

[9] Datasheet 'PIC 16F87x: 28/40 pin CMOS Flash Microcontrollers', Microchip Technology Inc. DS30292B, 1999.