Projet

Général

Profil

Algorithme de régulation de surtension » Historique » Version 4

Nicolas DELATTRE, 17/01/2025 16:35

1 1 Nicolas DELATTRE
+*Note D'application*+
2
3
+*Algorithme de régulation de surtension*+
4 2 Nicolas DELATTRE
5
Client : CORNET Jean-François
6
Référent Polytech : LAFFONT Jacques
7
Tuteur industriel : KERSULEC François
8
9
10
Étudiant : DELATTRE Nicolas
11
12
Polytech Clermont – Génie Électrique
13
17/01/2025
14
15
---
16
17
---
18
19
---
20
21
{{toc}}
22
23
---
24
25
---
26
27
---
28
29
h2. 1.	INTRODUCTION
30
31
La production d'hydrogène par photo-électrolyse de l’eau nécessite un contrôle précis des paramètres électriques pour garantir une réaction chimique optimale. En effet, actuellement, le simple fait de soumettre une cellule photoélectrochimique à la lumière visible du soleil ne permet pas à la réaction d’avoir lieu. Dans ce contexte, le projet Potentiostat Solaire vise à transformer l'énergie lumineuse restante (Infrarouge) en une surtension stable, permettant ainsi à l’électrolyse de s’effectuer correctement. 
32
33
 
34
Ce document se concentre sur le code de la partie commande du projet, en justifiant l’architecture choisie et le rôle de chaque fonction. 
35
36
---
37
38
---
39
40
---
41
42
h2. 2. Rôle de la régulation
43
44
Avant d’aborder l’architecture du code de régulation, il est important de comprendre où la régulation va s’opérer. La figure 1 ci-dessous, présente le schéma de la cellule électrochimique. Cette dernière est composée de trois électrodes : une cathode, une électrode de référence et une photo-anode. 
45
46
 
47 3 Nicolas DELATTRE
!clipboard-202501171634-ifn8u.png!
48 2 Nicolas DELATTRE
_Figure 1 : Schéma cellule électrochimique_ 
49
50
Lorsque la photo-anode est soumise à la lumière du soleil, une différence de potentiels entre la photo-anode et la référence apparaît. Il s’agit du potentiel d’abandon. Cependant, ce potentiel permet juste d’amorcer la réaction mais n’est pas suffisant pour réaliser l’électrolyse de l’eau. C’est pourquoi il est nécessaire d’appliquer une surtension entre ces deux électrodes. Cette dernière doit être réglable entre 0.1V et 1V par rapport au potentiel d’abandon.  
51
52
 
53
54
De plus, le potentiel de référence étant fixé par les caractéristiques physiques de la cellule, il n’est pas possible de le contrôler. C’est pourquoi l’idée est donc de faire varier la tension entre la photo-anode et la cathode afin d’obtenir la surtension souhaitée. La figure 2 illustre le principe. 
55
56
 
57 4 Nicolas DELATTRE
!clipboard-202501171634-84z9i.png!
58
!clipboard-202501171634-bdebk.png!
59 2 Nicolas DELATTRE
_Figure 2 : Schéma électrique équivalent cellule électrochimique_ 
60
61
 
62
63
C’est donc la tension Vs qui est contrôlée de façon à obtenir la bonne surtension Vreg. Pour diminuer la surtension, il suffit alors de diminuer Vs et inversement. 
64
65
 
66
67
Enfin, la tension Vs est fourni par un montage boost ce qui signifie que son contrôle se fait en modifiant le rapport cyclique de la commande PWM appliquée au montage. 
68
69
---
70
71
---
72
73
---
74
75
h2. 3. Structure du code et algorithme utilisée
76
77
Maintenant que le principe de régulation a été expliqué, il est possible de passer à la présentation de l’algorithme utilisé, ainsi qu’à la description de chaque étape. Le programme a été conçu avec MPLAB pour un microcontrôleur PIC18f45k50.
78
79
h3. 3.1. Algorithme général
80
81
Le système devant être autonome en énergie, ce dernier est alimenté à partir d’une cellule photovoltaïque fournissant une puissance de 5.8W pour une tension de 0.7V. Cette tension ne permettant pas d’alimenter le microcontrôleur il est nécessaire de l’augmenter. Un deuxième montage boost a été implémenté de façon à obtenir une tension de 5V. Une deuxième régulation a donc été réalisée mais elle ne sera pas détaillée car elle est similaire, en tout point, à la régulation principale. La figure 3 présente la structure du programme global.
82
83
L’architecture choisie est une machine à deux états qui sont : 
84
	Etat *DEMARRAGE*  : Dans cet état, le microcontrôleur est alimenté à partir d’une batterie externe. Le microcontrôleur démarre la régulation de son alimentation et attend de mesurer trois fois la tension souhaitée (5V) avant de passer à l’état suivant.
85 1 Nicolas DELATTRE
	Etat *REGULATION*  : Dans cet état, le microcontrôleur n’est plus alimenté par la batterie. Ce dernier réalise maintenant la régulation de sa tension d’alimentation ainsi que la régulation de la surtension appliquée à la cellule électrochimique. Si la tension d’alimentation devient trop faible, le microcontrôleur bascule de nouveau dans l’état de démarrage.
86 2 Nicolas DELATTRE
 
87 4 Nicolas DELATTRE
!clipboard-202501171635-s5jz4.png!
88 2 Nicolas DELATTRE
_Figure 3 : Architecture utilisée_
89
90
Concernant la régulation, les étapes sont les suivantes :
91
# Lectures des tensions nécessaires. Il s’agit des potentiels sur la référence et la photo-anode ainsi que de la tension de consigne. La consigne est commandée avec un potentiomètre.
92
# Calcul de l’erreur par rapport à la consigne et calcul de la correction nécessaire.
93
# Application de la correction sur la commande du montage boost.
94
95
L’appel des fonctions de régulation est effectué périodiquement grâce à un timer. Le fonctionnement de chaque étape est décrit ci-après.
96
97
h3. 3.2. Description étape par étape
98
99
Les étapes vont être décrite dans l’ordre où elles sont exécutées.
100
101
h4. 3.2.1. Appel de la fonction de régulation
102
103
Pour que la régulation fonctionne correctement, la fonction associée doit être appelée périodiquement. Un timer est donc présent pour réaliser ces appels de fonction. C’est le timer 2 du PIC18f45k50 qui est utilisé. Il s’agit d’un timer sur 8 bits paramétré pour fonctionner à 16kHz. Lorsqu’il arrive à sa valeur maximale, soit 255, une interruption d’overflow est déclenchée ce qui permet d’appeler la fonction de régulation. Le timer est ensuite remis à zéro et recommence à compter.
104
105
106
h4. 3.2.2. Lecture des tensions
107
108
Chaque lecture de tension est effectuée au moyen d’un ADC sur 10 bits. La valeur obtenue en binaire est donc comprise entre 0 et 1023. Une valeur de 0 correspond à une tension de 0V et une valeur de 1023 correspond à une tension de 4V. Les ADC sont configurés pour être déclenchés avec le CCP2 (module Capture/Compare/PWM du timer 2). Il est utilisé une tension de référence interne fixe de 4.096V. De plus, la fréquence d’acquisition est de 1MHz et les résultats obtenus sont alignés à droite.
109
110
Cependant, afin de limiter le bruit lié à la lecture, il est important de réaliser les lectures au bon moment. En effet, la régulation passe par la modification de la commande d’un montage boost. Cette commande est en réalité un simple signal PWM (Pulse With Modulation). Il s’agit d’un signal carré alternant entre une valeur maximale (ici 5V) et une valeur minimale (ici 0V). Ce signal permet de faire commuter le transistor présent dans le montage boost, ce qui introduit, à chaque commutation, du bruit sur la tension de sortie. Ce signal est également généré à partir du timer 2 ce qui est problématique.
111
112
Afin de pallier cela, un deuxième timer a été ajouté. Ce dernier a pour rôle d’appeler la fonction de régulation juste avant la commutation du transistor. Il s’agit du timer 0, lui aussi sur 8 bits et fonctionnant à 16kHz. L’objectif étant qu’il déclenche la fonction de régulation avant la fin du timer 2. Dans ce but, le timer 0 ne compte pas jusqu’à 255 mais jusqu’à 156, ce qui permet d’obtenir le fonctionnement illustrer en figure 4.
113
114
!clipboard-202501171622-wttz6.png!
115
_Figure 4 : Timing lecture tensions_
116
117
Lorsque le timer 2 atteint son overflow, le timer 0 est alors démarré. Etant donné qu’il ne compte pas jusqu’à 255, le timer 0 atteint son overflow avant le timer 2, ce qui permet d’appeler la fonction de régulation avant la prochaine commutation du transistor.
118
119
h4. 3.2.3. Régulation et modification de la commande
120
121
Comme expliqué précédemment, le signal de commande est un signal PWM généré à partir du module CCP2 du timer 2. Ce module permet de générer ce signal très facilement en spécifiant uniquement le rapport cyclique souhaité, c’est-à-dire le pourcentage du temps pendant lequel le signal est à l’état haut sur une période. La fréquence est définie par le timer 2. Le rapport cyclique est codé sur 10 bits, soit une valeur comprise entre 0 et 1023. Les tensions mesurées étant elles aussi sur 10 bits, aucune conversion n’est nécessaire pour passer d’une tension à un rapport cyclique.
122
123
Le processus de régulation est le suivant : 
124
* Tout d’abord, afin de réduire le bruit des mesures, le calcul de l’erreur est réalisé quatre fois et est sommé. Cette somme est stockée dans une variable d_PWM représentant la variation de rapport cyclique a appliqué pour corriger le système.
125
* Ensuite, une correction proportionnelle est appliquée. Les calculs suivants sont donc effectués : 
126
127
!clipboard-202501171626-j0vwc.png!
128
	
129
* Avec : 
130
** d_PWM : la variation de rapport cyclique à appliquer pour corriger le système. La valeur est divisée par 4 pour faire une moyenne des erreurs précédemment sommées.
131
** K : le gain du correcteur (ici K=1).
132
** PWM : la valeur actuelle du rapport cyclique.
133
** new_PWM : la nouvelle valeur du rapport cyclique après correction.
134
135
* Puis, cette nouvelle valeur est bornée entre 0 et 963 afin de garder un rapport cyclique correcte et ainsi éviter des comportements inattendus.
136
* Enfin, la nouvelle valeur est écrite dans le module CCP2 afin d’appliquer le changement de rapport cyclique.
137
138
139
---
140
141
---
142
143
---
144
145
h2. 4. RESULTATS OBTENUS
146
147
Une fois le programme téléversé sur le microcontrôleur, des tests ont pu être réalisés. La cellule électrochimique n’étant pas disponible cette dernière a été remplacée par deux résistances de 100Ω en série, comme montré sur la figure 2. La cellule photovoltaïque a été remplacée par une alimentation de laboratoire TFNMA 72—8695A fournissant une tension de 0.7V pour un courant maximum de 3A.
148
Après avoir connecté le microcontrôleur au montage boost et à la cellule électrochimique, les essais ont pu commencer. La valeur de la surtension désirée est réglable à partir d’un potentiomètre présent sur la carte. 
149
Les tests ont montré qu’il est possible d’obtenir une surtension réglable entre 0.1V et 1V comme le montre les figures 5 et 6.
150
151
!clipboard-202501171629-uxxrm.png!
152
_Figure 5 : Surtension de 0.1V_
153
 
154
!clipboard-202501171629-nmmrc.png!
155
_Figure 6 : Surtension de 1V_
156
157
Cependant, aucun test n’a pu être effectué ni avec la vraie cellule électrochimique ni avec la cellule photovoltaïque. C’est donc la prochaine étape à réaliser.
158
159
160
---
161
162
---
163
164
---
165
166
h2. 5. CONCLUSION
167
168
Ainsi, la régulation de la surtension est une composante importante du projet de Potentiostat Solaire, permettant de garantir une tension stable et adaptée pour l’électrolyse de l’eau. Le code développé implémente un algorithme assurant une régulation stable grâce à des calculs périodiques et une gestion du signal de commande PWM. Les résultats expérimentaux ont confirmé la capacité du système à générer une surtension réglable entre 0.1V et 1V, malgré l’absence de tests sur la cellule électrochimique réelle.
169
Ces premiers résultats valident l’approche choisie et ouvrent la voie à des tests futurs en conditions réelles, intégrant la cellule photovoltaïque et la cellule électrochimique. À terme, ce système devrait offrir une base solide pour d’éventuelles améliorations, telles que l’intégration de régulations adaptatives en fonction des variations de l’ensoleillement.
170
171
172