Le contrôle PID
Introduction
Le contrôle PID est un algorithme utilisé pour contrôler une sortie afin de maintenir un processus à une valeur précise. Voici quelques exemples :
- Contrôler la position du gouvernail d’un navire pour naviguer vers un cap particulier;
- Contrôler la puissance fournie à un élément chauffant afin de maintenir une température spécifique;
- Contrôler l’accélérateur d’une voiture afin de maintenir une vitesse spécifique (« régulateur de vitesse »);
- Contrôler la position des ailerons sur un avion afin de maintenir un taux de virage particulier;
- Contrôler le taux de produits chimiques ajoutés à un flux d’eau dans une station d’épuration.
Le PID a trois variables, à savoir l’entrée, la sortie et la consigne. L’algorithme PID contrôle la sortie pour que l’entrée corresponde à la consigne.
Par exemple, dans le scénario de contrôle du gouvernail d’un navire afin de naviguer vers un cap particulier :
- L’entrée est le cap indiqué par la boussole ou le GPS.
- La consigne est le cap désiré.
- La sortie est l’angle du gouvernail.
La différence entre l’Entrée et la Consigne est appelée l’Erreur, et l’algorithme PID vise à éliminer cette erreur dans le processus. Pour comprendre pourquoi le PID est nécessaire, examinons d’abord des méthodes de contrôle de processus plus simples.
Contrôle Tout ou Rien
Le contrôle tout ou rien est une forme de contrôle numérique où la sortie est soit complètement activée (maximum), soit complètement désactivée (minimum), sans rien entre les deux. Ce type de contrôle semble plus intuitif lorsque la sortie est également numérique ; comme une vanne qui est soit complètement ouverte ou fermée, ou un climatiseur qui peut être allumé ou éteint. Prenons l’exemple d’un climatiseur, l’entrée serait fournie par un capteur de température et la consigne serait la température désirée à maintenir. L’algorithme est simple :
Si la température mesurée est supérieure à la consigne, alors le climatiseur est activé (ON), dans le cas contraire il est éteint (OFF).
Pour certaines applications, cela peut fonctionner correctement. Pour d’autres, cependant, il pourrait y avoir un ou deux problèmes qui pourraient survenir :
- Lectures rapides avec de multiples changements autour de la consigne.
Le premier problème est celui des lectures fluctuant rapidement autour de la consigne. Imaginez, par exemple, que la consigne soit de 20°C. Selon les courants d’air circulant dans la pièce, ou la stabilité du capteur de température, la lecture pourrait fluctuer entre, par exemple, 20,1°C et 20,0°C ; chaque fois que la température s’élève de 0,1°C au-dessus de la consigne, alors le climatiseur se rallumerait, et dès que la lecture retomberait à 20,0°C, il s’éteindrait à nouveau. Cela pourrait potentiellement se produire très rapidement, ce qui serait à la fois agaçant pour les personnes dans la pièce et potentiellement dommageable pour le climatiseur. Si un système de refroidissement et de chauffage étaient disponibles, on pourrait imaginer un scénario où la température fluctuerait entre 19,9°C et 20,1°C, avec le climatiseur et le chauffage s’allumant et s’éteignant relativement rapidement – les deux travaillant l’un contre l’autre et gaspillant de l’énergie.
La solution consiste à ajouter un certain décalage ou tampon autour de la consigne : cela s’appelle l’hystérésis. Une hystérésis de 2°C dans notre exemple signifierait que, une fois que la température aurait atteint 20°C et que le climatiseur se serait éteint, alors le climatiseur ne se rallumerait pas avant que la température n’ait à nouveau atteint 22°C. Si un chauffage était également disponible, alors le chauffage ne s’activerait pas tant que la température n’aurait pas baissé à 18°C (mais une fois activé, il ne s’éteindrait pas avant que la température ne soit remontée à 20°C).
2. Dépassement.
Le second problème qui peut survenir est celui du dépassement. Le dépassement est typique lorsqu’il y a un délai entre le moment où la sortie est commandée et le moment où le résultat de cette commande de sortie est mesuré par l’entrée. Prenons l’exemple de l’ajout de produits chimiques à un flux d’eau dans une station de traitement des eaux : les produits chimiques prennent un certain temps à se dissoudre dans l’eau, et nous ne pouvons donc mesurer le résultat, peut-être le pH, qu’un peu en aval de l’endroit où les produits chimiques sont ajoutés – c’est-à-dire qu’il y a un certain délai dans le processus. Disons que nous commençons avec un pH un peu trop bas, alors nous ouvrons la vanne pour ajouter un alcalin à l’eau afin de faire remonter un peu le pH ; cela commence à fonctionner, mais au moment où nous lisons un pH neutre au capteur, et fermons la vanne, une quantité importante d’alcalin a déjà été ajoutée en amont et la lecture du capteur dépasse largement le neutre, et nous commençons à obtenir une lecture de pH très élevée ; le système réagit maintenant à la lecture élevée du pH en ouvrant la vanne pour ajouter un acide à l’eau afin de faire baisser à nouveau le pH – mais d’ici à ce que l’effet de cela atteigne le capteur, nous avons à nouveau dépassé le neutre et la lecture devient trop basse… Le processus se répète et la sortie continue de vaciller autour de la consigne – oscillant éventuellement plus loin que l’amplitude de l’erreur initiale qui a déclenché la réaction corrective.
Si nous examinons les exemples de contrôle de la position du gouvernail d’un navire ou de la position de l’accélérateur dans une voiture, il est intuitivement évident qu’un meilleur système de contrôle que le tout-ou-rien est nécessaire – nous ne voulons pas balancer le gouvernail complètement à droite (tribord) ou complètement à gauche (bâbord) si seule une petite correction de cap est nécessaire ; ou avoir l’accélérateur de la voiture oscillant entre à fond et complètement relâché – nous avons besoin de quelque chose entre les deux.
Intégral
La partie intégrale (I) du PID examine depuis combien de temps le système dévie de la consigne et augmente la sortie pour surmonter cette déviation. Si le régulateur de vitesse d’une voiture était réglé à 60 mph par exemple, mais que la vitesse restait bloquée à 57 mph en utilisant uniquement un contrôle proportionnel (en raison de l’air ou d’autres résistances), alors la partie « intégrale » du PID augmenterait progressivement la puissance du moteur pour atteindre le réglage de 60 mph. Encore une fois, pour certains contrôleurs, le contrôle PI peut être tout ce qui est nécessaire. Cependant, le PI seul est sujet à au moins certains dépassements et oscillations autour de la consigne avant de se stabiliser, surtout lorsqu’il y a une grande différence initiale entre la consigne et la lecture d’entrée (comme au démarrage ou lorsqu’un grand ajustement est effectué sur la consigne), puisque la partie intégrale du PID accumulera toute l’erreur pendant la période de transition et deviendra ainsi grande (plus grande que nécessaire), et sans rien d’autre pour atténuer cela, la seule chose qui la réduira à nouveau sera une certaine erreur accumulée dans la direction opposée. La partie D du PID aborde ce problème :
![](https://www.multipower.fr/wp-content/uploads/2024/06/Captu11re.png)
Le contrôle proportionnel (le P dans PID) fait exactement ce que son nom indique, et contrôle la sortie en proportion de la différence entre l’entrée et la consigne (en proportion de l’erreur). Si la différence entre l’entrée et la consigne est faible, alors nous ne faisons qu’un petit ajustement à la sortie, et si la différence est grande, alors nous faisons un grand ajustement à la sortie. Si le navire dévie légèrement de sa trajectoire, alors nous n’appliquons qu’un léger virage au gouvernail – nous ne le tournons pas complètement à son maximum. Pour certains systèmes, un contrôle proportionnel peut suffire. Cependant, pour d’autres systèmes, un autre type de problème peut survenir :Le contrôle proportionnel (le P dans PID) fait exactement ce que son nom indique, et contrôle la sortie en proportion de la différence entre l’entrée et la consigne (en proportion de l’erreur). Si la différence entre l’entrée et la consigne est faible, alors nous ne faisons qu’un petit ajustement à la sortie, et si la différence est grande, alors nous faisons un grand ajustement à la sortie. Si le navire dévie légèrement de sa trajectoire, alors nous n’appliquons qu’un léger virage au gouvernail – nous ne le tournons pas complètement à son maximum. Pour certains systèmes, un contrôle proportionnel peut suffire. Cependant, pour d’autres systèmes, un autre type de problème peut survenir :
Dérivé
L’élément dérivé (D dans PID) minimise ou élimine le dépassement en atténuant la sortie en fonction de la rapidité avec laquelle elle approche de la consigne ; si la lecture d’entrée se déplace très rapidement vers la consigne, alors la partie dérivée du PID incitera à réduire la sortie afin de minimiser ou d’éliminer le dépassement. En mathématiques, la dérivée d’une courbe est l’angle ou le gradient de cette courbe à un point spécifique – le taux de changement – et c’est à cela que ce terme fait référence. Dans l’image ci-dessous, la ligne rouge représente un gradient élevé (qui entraînerait une grande correction D dans l’algorithme PID), et la ligne bleue représente un gradient faible (qui entraînerait une petite correction D dans l’algorithme PID).
![](https://www.multipower.fr/wp-content/uploads/2024/06/Captu11re-1.png)
Réglage
Chaque élément de l’algorithme PID – l’élément Proportionnel, l’élément Intégral et l’élément Dérivé, peut être réglé ou pondéré pour avoir un effet plus ou moins grand dans l’algorithme, et les valeurs correctes varient d’une application à l’autre. Le réglage du PID est un sujet complexe, dont la profondeur dépasse le cadre de cet article, cependant, avoir une bonne compréhension de ce que chaque élément P, I et D fait est un bon point de départ. Les options incluent la recherche de certaines valeurs par défaut pour le type de processus particulier, le réglage manuel et la simulation
Réglage manuel
Le réglage manuel implique brièvement de régler chacun des éléments P, I et D dans l’ordre : tout d’abord, les poids I et D sont mis à zéro, et le poids P est augmenté jusqu’à ce que le système commence à osciller autour de la consigne. Le poids P est ensuite réduit à la moitié de cette valeur. Ensuite, le poids I est augmenté jusqu’à ce que toute erreur en régime permanent soit corrigée assez rapidement, mais pas au point que le système devienne instable. Enfin, le poids D est augmenté jusqu’à ce que tout dépassement soit suffisamment atténué, mais pas au point que le système devienne lent à répondre ou même instable (ce qui peut arriver surtout s’il y a du bruit dans l’entrée).
Contrôle de sortie numérique avec PID
Lorsque la sortie contrôlée par le PID est numérique, comme un relais ou une vanne solénoïde, des techniques telles que la modulation de largeur d’impulsion peuvent être utilisées pour convertir efficacement la sortie numérique en une sortie analogique. Pour plus d’informations sur la modulation de largeur d’impulsion, veuillez consulter notre article sur le PWM. La fréquence du PWM est choisie en fonction de l’application et, selon le système, des contraintes supplémentaires peuvent être mises en œuvre, telles que ne commuter la sortie que lorsque le cycle de travail dépasse un certain niveau.
![](https://www.labcenter.com/blog/sim-pid-control/images/750xNxovenSim.png.pagespeed.ic.6zYXmiBwnE.webp)
Parcourez les projets exemples prêts à l’emploi (mot clé : PICCOLO) pour trouver rapidement ceux relatifs à la simulation PID – inclus également dans la version de démonstration de Proteus
Copyright Labcenter Electronics Ltd. 2024
Traduction française
Copyright Multipower France 2024