Академический Документы
Профессиональный Документы
Культура Документы
ch
Revision/release date: A, 2015.02.09
Tutoriel n1
1 INTRODUCTION
Ce tutoriel dcrit la procdure suivre pour contrler un convertisseur lvateur de tension de
type Boost laide de la BoomBox. Lapplication envisage consiste interfacer un panneau
solaire une source de tension plus leve. Lobjectif propos est de soustraire le maximum de
puissance du panneau solaire disposition.
Le systme considr est reprsent la Figure 1, ses principaux paramtres lectriques tant
indiqus dans le Tableau 1 :
L Ipv
UDC
Upv Epv S1
2
EXEMPLE DAPPLICATION
Convertisseur boost avec MPPT pour application photovoltaque
3 CONFIGURATION DU SOFTWARE
La configuration logicielle de la BoomBox seffectue par lappel de plusieurs routines ad-hoc
prsentes ci-aprs. Ces routines sont typiquement appeles lors de linitialisation de
lapplication, c'est--dire au dmarrage du code de la BoomBox, dans la fonction UserInit().
Linstruction suivante permet de configurer le canal PWM #0 comme actif. Cela signifie que ds
lors que les sorties PWM de la BoomBox seront actives (la commande enable est passe dans la
console), les signaux PWM seront directement produits. Dans des applications plus complexes
ou multi-convertisseurs, cette option permet dactiver slectivement certaines sorties PWM
indpendamment du blocage/dblocage (enable/disable) global de lensemble des canaux.
ActivatePWMChannel(0); // Activate the PWM #0 channel
La ligne suivante permet dimposer une phase relative de 0 degrs sur le canal PWM #0 par
rapport lhorloge slectionne pour ce canal (la source #3). A noter quil sagit ici de la valeur
3
EXEMPLE DAPPLICATION
Convertisseur boost avec MPPT pour application photovoltaque
par dfaut et que ce paramtre est surtout utile pour dcaler les porteuses dans un systme
polyphas. Lappel de fonction suivant pourrait donc tre omis ici.
SetPWMPhase(0, 0.0); // 0.0 degrees between FG #3 and PWM #0
La configuration de lchantillonnage permet de dfinir quel instant les mesures doivent tre
prises. Pour lapplication propose, lchantillonnage peut avantageusement se faire au milieu de
la priode de commutation, soit la valeur moyenne de londulation de courant. Pour ce faire, le
lchantillonnage est bas sur le gnrateur de frquence #3 avec un dphasage de 180.
Linstruction correspondante est la suivante :
ConfigSampling(3, 0.5); // Phase of 180 between FG #3 and sampling
Interruption rapide
Une interruption rapide est ddie lexcution du rgulateur de courant. Avec la ligne suivante,
linterruption externe #1 (issue de la FPGA) est configure afin dutiliser comme routine de
service la fonction UserInterrupt1(). Lvnement dclencheur est dfini comme tant de
gnrateur de frquence #3 (qui est la base de temps utilise dans lunique modulateur
configur). La phase par rapport cette horloge est choisie 0 degrs (linterruption est
dclench exactement au dbut de la priode PWM) et aucun postscaling nest utilis (chaque
flanc dhorloge gnre une interruption).
RegisterExt1Interrupt(&UserInterrupt1, 3, 0.0, 0);
4
EXEMPLE DAPPLICATION
Convertisseur boost avec MPPT pour application photovoltaque
Interruption lente
Une seconde interruption plus lente excutant lalgorithme MPPT. Avec la ligne suivante, une
interruption plus lente est configure en utilisant le timer interne et en le configurant de manire
utiliser UserInterrupt2() comme routine de service. La priode choisie est de configur avec une
priode de 10000us.
RegisterTimerInterrupt(&UserInterrupt2, 10000);
Cration et configuration
Cette tape doit se drouler linitialisation (dans UserInit()). Il sagit de crer un pseudo-objet
correspondant ainsi que de le configurer. Les lignes de code suivantes sont ncessaires :
PIDController Ipv_reg;
ConfigPIDController(&Ipv_reg, Kp, Ki, Kd, 15, -15, SAMPLING_PERIOD, 10);
Execution
Cette tape consiste executer de manire rptitive le rgulateur ( frquence dinterruption
fixe). Dans lapplication prsente, linvocation du rgulateur se droule comme suit :
Epv = Upv - RunPIController(&Ipv_reg, Ipv_ref - Ipv);
5
EXEMPLE DAPPLICATION
Convertisseur boost avec MPPT pour application photovoltaque
A noter que plusieurs variantes dexcution (P, PI, I, PID) sont disponibles partir dun mme
pseudo-objet. Autrement dit, lobjet et la fonction de configuration sont les mmes quel que soit
la variante de rgulateur employe.
2) Associer les commandes avec les fonctions correspondantes, c'est--dire inscrire les
fonctions dfinies ci-dessus parmi celles accessibles par ligne de commande. Pour ce faire, il
est ncessaire dajouter dans la fonction LoadCLIUserFunctions() les lignes suivantes :
fs_mkcmd_user("setmppt", SetMPPT);
fs_mkcmd_user("setipv", SetIpv);
3) Dfinir le contenu exact des fonctions, c'est--dire les actions quelles effectuent. Un
exemple est donn ci-aprs :
void SetIpv(unsigned int argc, char *argv[]){
if (*argv[1] == '?'){
printf("\nSet the PV current value (Ipv).");
printf("\nExample : setIpv 1.2");
return;
}
Ipv_ref = atof(argv[1]);;
}
void SetMPPT(unsigned int argc, char *argv[]){
if (*argv[1] == '?'){
printf("\nSet the MPPT state. (1 to activate and 0 to deactivate)");
printf("\nExample : setMPPT 1");
return;
}
enable_MPPT = atoi(argv[1]);;
}
6
EXEMPLE DAPPLICATION
Convertisseur boost avec MPPT pour application photovoltaque
Une fois dfinies, ces actions deviennent disponibles dans le rpertoire virtuel user de la
Boombox. Elles peuvent ainsi tre invoques selon lexemple suivant :
user@boombox / > user
user@boombox /user > enable
user@boombox /user > setipv 3.0
user@boombox /user > setmppt 1
user@boombox /user > disable
Aprs lexcution des tches de rglage, la mise jour des paramtres de modulation se fait au
moyen des deux lignes prsentes ci-aprs. Le nouveau rapport cycles est appliqu au canal
PWM 0 et ces informations sont transmises au modulateur proprement dit, situ dans la FPGA :
SetPWMDutyCycle(0, Epv/Udc); // Refresh the duty-cycle of PWM #0
UpdatePWMData(); // Send the new PWM parameters to the FPGA
Figure 2 : Caractristique courant-tension typique dun panneau photovoltaque (en rouge) et profil quivalent de la
puissance extraite (en bleu).