Skip to content
RFrftools.io
Motor Control21 mars 20266 min de lecture

Réglage PID Ziegler-Nichols : de la réponse pas-à-pas en boucle ouverte aux gains pratiques du contrôleur

Apprenez le réglage du PID Ziegler-Nichols à l'aide du gain de processus, du temps mort et de la constante de temps. Exemple concret avec des valeurs réelles de commande du moteur. Calculateur en ligne gratuit.

Sommaire

Pourquoi le réglage PID est toujours important

Les régulateurs PID sont présents partout, de la boucle de régulation thermique de votre four à refusion au régulateur de vitesse d'un moteur à courant continu sans balais. Malgré l'essor des stratégies de contrôle prédictives et adaptatives basées sur les modèles, le PID classique reste le cheval de bataille du contrôle intégré. La raison est simple : il fonctionne, il est peu coûteux à implémenter sur un micro 8 bits et, lorsqu'il est correctement réglé, il offre d'excellentes performances.

Le hic, bien sûr, est « réglé correctement ». Un PID mal réglé oscille, dépasse ou répond si lentement qu'il pourrait tout aussi bien ne pas être là. La méthode en boucle ouverte de Ziegler-Nichols vous fournit un point de départ discipliné et reproductible basé sur trois caractéristiques de processus mesurables : le gain de processus « MATHINLINE_14 », le temps mort « MATHINLINE_15 » et la constante de temps « MATHINLINE_16 ».

La méthode de réponse par étapes en boucle ouverte

L'idée est simple. Vous mettez votre système en boucle ouverte, vous appliquez un changement d'étape à l'actionneur (par exemple, une étape de tension vers un pilote de moteur) et vous enregistrez la variable de processus (vitesse du moteur, température, position, peu importe ce que vous contrôlez). À partir de la courbe de réponse en forme de S qui en résulte, vous extrayez trois paramètres :

  • Process Gain « MATHINLINE_17 » : le rapport entre la variation finale de la sortie et l'étape d'entrée. Dimensionnellement, il peut s'agir de tr/min par volt, de °C par pourcentage de service, etc.
  • Temps mort « MATHINLINE_18 » : délai avant que la sortie ne commence à répondre, en secondes.
  • Constante de temps « MATHINLINE_19 » : le temps nécessaire à la sortie pour atteindre environ 63 % de sa valeur finale après le temps mort.
Avec ces trois chiffres en main, Ziegler-Nichols fournit des formules directes pour les régulateurs P, PI et PID complets.

Les formules Ziegler-Nichols

Pour un contrôleur PID, les règles classiques de réglage en boucle ouverte de Ziegler-Nichols sont les suivantes :

« MATHBLOCK_0 »

« MATHBLOCK_1 »

« MATHBLOCK_2 »

Les gains intégraux et dérivés sous forme parallèle (ISA) sont alors les suivants :

« MATHBLOCK_3 »

« MATHBLOCK_4 »

Pour une manette uniquement PI (aucune action dérivée, souvent préférée dans les systèmes bruyants ou lorsque le kick dérivé pose problème) :

« MATHBLOCK_5 »

« MATHBLOCK_6 »

Ces formules visent un ratio d'un quart de décroissance : chaque dépassement successif représente environ 25 % du précédent. C'est un réglage modérément agressif qui fonctionne bien comme point de départ.

Exemple fonctionnel : contrôle de la vitesse du moteur à courant continu

Supposons que vous conceviez un régulateur de vitesse pour un moteur à courant continu à balais de 24 V entraînant une bande transporteuse. Vous faites passer le cycle de service PWM de 0 % à 20 % et vous enregistrez la vitesse du moteur à l'aide d'un encodeur tachymétrique. Voici ce que vous observez :

  • Le moteur ne commence à accélérer que 0,15 s après l'étape → « MATHINLINE_20 »
  • La vitesse atteint 63 % de sa valeur finale à « MATHINLINE_21 » → « MATHINLINE_22 »
  • La vitesse finale s'établit à 600 tr/min pour une puissance de 20 % → « MATHINLINE_23 »
En les insérant dans les formules PID :

« MATHBLOCK_7 »

« MATHBLOCK_8 »

« MATHBLOCK_9 »

« MATHBLOCK_10 »

« MATHBLOCK_11 »

Pour le contrôle par IP uniquement :

« MATHBLOCK_12 »

« MATHBLOCK_13 »

Vous pouvez les vérifier instantanément : [ouvrez le calculateur PID Controller Tuning (Ziegler-Nichols)] (https://rftools.io/calculators/motor/pid-tuning/), saisissez « MATHINLINE_24 », « MATHINLINE_25 », « MATHINLINE_26 » et confirmez les résultats.

Conseils pratiques pour les systèmes réels

Commencez par PI, puis ajoutez D. Dans de nombreuses applications de commande de moteurs, le bruit du capteur sur le retour de vitesse (en particulier celui des encodeurs basse résolution) rend le terme dérivé plus difficile qu'il n'en vaut la peine. Commencez par les gains PI, vérifiez la stabilité du fonctionnement et n'ajoutez une action dérivée que si vous avez besoin d'une élimination plus rapide des perturbations. Ziegler-Nichols est un point de départ et non une destination. Le critère du quart de décroissance entraîne souvent un dépassement plus important que ce que l'on souhaiterait dans un système de production. Une pratique courante consiste à commencer par les valeurs Z-N, puis à réduire « MATHINLINE_27 » de 20 à 30 % et à augmenter légèrement « MATHINLINE_28 » jusqu'à la vitesse de négociation pour un règlement plus fluide. Surveillez votre fréquence d'échantillonage. Si votre boucle de régulation fonctionne à 1 kHz mais que votre temps mort est de 150 ms, vous disposez de 150 échantillons en pur retard. C'est très bien. Mais si votre boucle ne fonctionne qu'à 50 Hz, vous n'avez que 7 à 8 échantillons de temps mort, et le terme dérivé sera très grossier. Assurez-vous que « MATHINLINE_29 » correspond à au moins 5 à 10 fois votre période d'échantillonnage. La fonction anti-enroulement n'est pas facultative. Le terme intégral accumulera une erreur pendant la saturation (par exemple, lorsque le moteur tourne à plein régime et n'a toujours pas atteint le point de consigne). Mettez en œuvre un système anti-remontage ou un système anti-remontage, sinon vous constaterez un dépassement massif de la capacité de récupération.

Réglez à nouveau en fonction des conditions de fonctionnement. Le gain de processus et la constante de temps peuvent varier en fonction de la charge, de la température et de la tension d'alimentation. Si votre moteur entraîne une charge utile à masse variable, les gains Z-N réglés à vide peuvent osciller à pleine charge. Réglez au point de fonctionnement le plus défavorable (le plus difficile).

Quand utiliser une autre méthode

Le réglage en boucle ouverte de Ziegler-Nichols suppose un modèle de processus du premier ordre plus temps mort (FOPDT). Si votre système est d'ordre nettement supérieur, par exemple s'il s'agit d'un système thermique en cascade avec plusieurs constantes de temps, l'approximation FOPDT peut être médiocre et des méthodes telles que Cohen-Coon ou le réglage automatique des relais peuvent donner de meilleurs gains initiaux. Pour les systèmes dans lesquels vous ne pouvez pas effectuer un test par étapes en toute sécurité (variateurs haute puissance, procédés chimiques), la méthode de gain ultime (boucle fermée) de Ziegler-Nichols ou le réglage automatique basé sur un logiciel sont plus appropriés.

Essayez-le

Saisissez vos données de réponse par étapes, extrayez « MATHINLINE_30 », « MATHINLINE_31 » et « MATHINLINE_32 », puis [ouvrez le calculateur PID Controller Tuning (Ziegler-Nichols)] (https://rftools.io/calculators/motor/pid-tuning/) pour obtenir vos gains de départ en quelques secondes. Il calcule à la fois les paramètres PI et PID complets, afin que vous puissiez comparer et choisir la structure adaptée à votre application. Ajoutez-le à vos favoris : vous l'utiliserez plus souvent que vous ne le pensez.

Articles connexes