3.2.3. Le correcteur PID

Le correcteur proportionnel intégral dérivé (PID) est une partie cruciale du système, car il calcule le rapport cyclique des PWM afin de respecter au mieux la consigne appliquée.

Ce bloc est une machine à 3 états.

Le système est initialement dans un état d’attente. Dès qu’un nouveau cycle commence, c’est-à-dire lorsque le compteur de la PWM retourne à 0, le bloc SPI se met en marche pour obtenir la nouvelle valeur d’un ADC. Il s’agit d’une valeur sur 12 bits représentant l’état du système de puissance.

Ensuite, le système récupère la consigne (sinusoïdale ou continue) et applique l’amplitude paramétrée par l’utilisateur.

Puis, le système applique le correcteur PID. Le PID mis en place est simple, il dépend de trois variables :
• la variable P (pour proportionnel) est définie par la différence entre la consigne et la valeur envoyée par le capteur.
• La variable I (pour intégral), il s’agit de la somme des erreurs calculées à chaque front montant de l’horloge du système.
• La variable D (pour dérivé) qui est par définition la différence entre l’erreur calculée à un instant t et celle à l’instant t-1.

Ensuite, chaque variable est multipliée par un coefficient qui lui est propre. La valeur de la sortie du PID est la somme de ces trois variables.

Enfin, le bloc effectue un décalage de bits vers la droite, ce qui correspond à une division par une puissance de deux. Cette opération permet d’agir sur la sensibilité de la régulation. Avec un grand décalage, la correction sera plus douce, mais aussi plus lente. Alors qu’avec un petit décalage, la correction sera plus rapide, mais aussi plus brutale. Pour finir, le PID s’assure que les valeurs ne mettent pas en danger le matériel et transmet au bloc PWM le nouveau rapport cyclique.

La précision du PID, caractérisée par le nombre de bits utilisés, doit être la plus grande possible afin d’avoir une erreur de calcul la plus petite possible. Cependant, un gain de précision entraine des calculs plus longs et donc, un temps de calcul plus long.

Un PID a été synthétisé avec des coefficients, une entrée pour capteur et une pour la consigne sur 12 bits, avec une sortie sur 32 bits. Ce PID utilise moins de 1 % des ressources du FPGA et peut fonctionner jusqu’à 269 MHz, soit un temps de calcul de 5 ns. Les critères du cahier des charges concernant le PID sont parfaitement réalisables.

De plus, la rapidité du PID est telle qu’il soit parfaitement envisageable d’augmenter sa précision ou de lui apporter d’autres modifications.

______________________________________________________________________________________________________________________________________________________
Page précédente : 3.2.2. Acquisition de la tension d’entrée
Page suivante : 3.2.4. Génération de la consigne sinusoïdale