Classe de terminale SI Régulation d'un MCC Table des matières 1. Implémentation

Classe de terminale SI Régulation d'un MCC Table des matières 1. Implémentation d'un PID..................................................................................................................2 2. Régler les coefficients d'un PID.......................................................................................................2 3. Préparation à l’étude théorique.........................................................................................................4 4. Asservissement en vitesse avec Arduino..........................................................................................4 4.1. Le moteur et la roue codeuse.........................................................................................................4 4.2. Câblage du moteur à l'Arduino......................................................................................................5 4.3. Récupération des informations tachymétriques.............................................................................6 4.4. Création de la fonction d'asservissement.......................................................................................9 5. Optimisation des paramètres du PID..............................................................................................12 6. Synthèse et conclusion...................................................................................................................13 Prendre connaissance des documents (pdf, images, vidéos et programmes informatique) fournis dans ce dossier. regulation_mcc.odt 1 Classe de terminale SI 1. Implémentation d'un PID Un asservissement PID1 consiste à mémoriser l'erreur, la somme des erreurs et la différence de l'erreur courante avec l'erreur précédente. La commande du régulateur est donc à la fois proportionnelle à l'erreur, à la somme des erreurs et à la variation de l'erreur. commande = Kp * erreur + Ki * somme_erreurs + Kd * (erreur - erreur_précédente) • Kp est le coefficient de proportionnalité de l'erreur à régler de façon manuelle. • Ki est le coefficient de proportionnalité de la somme des erreurs. Il faut aussi le régler de façon manuelle. • Kd est le coefficient de proportionnalité de la variation de l'erreur. Il faut régler ce coefficient manuellement. On rajoute donc à la commande générée par le régulateur proportionnel, la somme des erreurs commises au cours du temps. La dérivée de l'erreur correspond à la variation de l'erreur d'un échantillon à l'autre et se calcule simplement en faisant la différence entre l'erreur courante et l'erreur précédente (c'est une approximation linéaire et locale de la dérivée). Il faut effectuer une mesure sur le système pour calculer l'erreur et ainsi appliquer le PID. Cette mesure est à faire régulièrement à une certaine fréquence d'échantillonnage. 2. Régler les coefficients d'un PID Le réglage des coefficients Kp, Ki et Kd d'un PID peut se faire expérimentalement par essais/erreurs. Il ne sert à rien de vouloir régler les trois coefficients en même temps : il y a trop combinaisons possibles et trouver un triplet performant relèverait de l'exploit. Il vaut mieux procéder par étape. • Tout d'abord, il faut mettre en place un simple régulateur proportionnel (les coefficients Ki et Kd sont donc nuls). Par essais/erreurs, il faut régler le coefficient Kp afin d'améliorer le 1 proportionnel intégral dérivé regulation_mcc.odt 2 Classe de terminale SI temps de réponse du système. C'est-à-dire qu'il faut trouver un Kp qui permette au système de se rapprocher très vite de la consigne tout en faisant attention de garder la stabilité du système : il ne faut pas que le système réponde très vite tout en oscillant beaucoup. • Une fois ce coefficient réglé, on peut passer au coefficient Ki. Celui-là va permettre d'annuler l'erreur finale du système afin que celui-ci respecte exactement la consigne. Il faut donc régler Ki pour avoir une réponse exacte en peu de temps tout en essayant de minimiser les oscillations apportées par l'intégrateur. • Enfin, on peut passer au dernier coefficient Kd qui permet de rendre le système plus stable. Son réglage permet donc de diminuer les oscillations. En général, pour régler ces coefficients, on donne au système une consigne fixe (exemple : pour un moteur : tourne à 3 tours par seconde) et on observe la réponse du système (exemple : l'évolution du nombre de tours par seconde du moteur au cours du temps). Le graphe résultant possède donc cette forme : Le PID parfait n'existe pas, tout est une question de compromis. Certaines applications autoriseront un dépassement afin d'améliorer le temps de stabilisation, alors que d'autres ne l'autoriseront pas (exemple, contrôler un stylo pour écrire sur une feuille. S'il y a dépassement dans le PID, le stylo traversera la feuille). Tout dépend donc du cahier des charges2. Chacun des coefficients à un rôle à jouer sur la réponse à une consigne : • L'erreur statique, c'est l'erreur finale une fois que le système est stabilisé. Cette erreur doit être nulle. Pour diminuer l'erreur statique, il faut augmenter Kp et Ki. • Le dépassement, c'est le rapport entre le premier pic et la consigne. Ce dépassement diminue si Kp ou Ki diminuent ou si Kd augmente. • Le temps de montée correspond au temps qu'il faut pour arriver à 63 % ou dépasser à la 2 méthode Ziegler–Nichols regulation_mcc.odt 3 Classe de terminale SI consigne. Le temps de montée diminue si Kp ou Ki augmentent ou si Kd diminue. • Le temps de stabilisation, c'est le temps qu'il faut pour que le signal commette une erreur inférieure à 5% de la consigne. Ce temps de stabilisation diminue quand Kp et Ki augmentent. Attention, les coefficients Ki et Kd dépendent de la fréquence d'échantillonnage du système ! En effet, l'intégrateur fera la somme des erreurs au cours du temps. Si on échantillonne deux fois plus vite, on sommera deux fois plus d'échantillons. Du coup, le coefficient Ki devra être divisé par 2. A l'inverse, pour le dérivateur, si on double la fréquence d'échantillonnage, il faudra doubler le coefficient Kd afin de garder les mêmes performances du PID. Plus la fréquence d'échantillonnage est élevé et plus le PID sera performant (l'intégration et la dérivée seront plus précises). 3. Préparation à l’étude théorique 3.1. A partir du document ressource sur les systèmes asservis, cocher la bonne réponse correspondant à l'allure de la courbe.  stable  instable  stable  instable  stable  instable  stable  instable 3.2. Au regard de la valeur finale à atteindre, donner la signification d'un système peu précis. 3.3. Indiquer l’effet du gain proportionnel sur le système. 3.4. Déterminer l’effet d’un gain trop important sur la stabilité du système asservi. 4. Asservissement en vitesse avec Arduino 4.1. Le moteur et la roue codeuse Le moteur du robot NXT est équipé d'un codeur optique comme indiqué sur le schéma suivant : regulation_mcc.odt 4 Classe de terminale SI Les caractéristiques intéressantes à noter sont : • 350 tours de roue minutes • 10150 tours d'arbre moteur minute (environ 170 par seconde) • 32 transitions montante et descendante de la codeuse par tour d'arbre moteur • 928 transitions montante ou descendante de la codeuse par tour de roue 4.2. Câblage du moteur à l'Arduino Le LEGO® MINDSTORMS® NXT a trois ports de sortie utilisés pour commander des actionneurs connectés à la brique NXT. Une interface numérique 6-fil sur les ports de sortie a été mis en œuvre afin que les périphériques de sortie puissent envoyer des informations à la brique NXT. La figure ci-contre montre les détails schématiques d'un port A de la brique. 1 : Signal de sortie PWM pour le signal de sortie des actionneurs 2 : Signal de sortie PWM pour le signal de sortie des actionneurs 3 : Masse 4 : alimentation 4,3 volts 5 : La valeur d'entrée du tachymètre 6 : La valeur d'entrée du tachymètre MAO et MA1 sont des signaux de sortie pour commander des actionneurs. Ces signaux sont commandés par un pilote de moteur interne qui peut fournir un continu 700 mA à chaque port de sortie et un courant de crête d'environ 1 A. Le signal de sortie est un signal PWM. La puissance de sortie (POWERMA) est connectée en interne à toutes les sorties de puissance dans les ports d'entrée et de sortie. Le courant de sortie maximum qui peut être tirée est d'environ 180 mA. Cela signifie que chaque port a environ 25 mA. TACHOA0 et TACHOA1 sont des ports d'entrée. Ces deux signaux permettent de compter les nombres d'impulsions tachymétriques des moteurs et de détecter si le moteur tourne dans un sens ou dans l'autre. regulation_mcc.odt 5 Classe de terminale SI Les fils sont repérés par rapport à l’ergot (borne 1). • La commande PWM se fera sur la broche 1 (sens horaire de rotation) • La broche 2 sera mise à la masse (sens anti horaire de rotation) • On récupérera le signal de la broche 5 ou 6 Si on ne dispose pas de shield Arduino (Cytron,Funduino,Adafruit) pour contrôler un moteur à courant continu, il suffit de câbler l'interface de puissance suivante : Lorsque la sortie 9 de l'arduino est à l'état bas, Q2 est bloqué et le moteur ne tourne pas. A l'inverse, lorsque la sortie 9 de l'arduino est à l'état haut, alors Q2 devient passant et le moteur tourne à plein régime. Le moteur se contrôle avec une sortie PWM de rapport cyclique ajustable. La sortie 9 de l'Arduino commande le moteur. La codeuse est branchée sur la pin 2 qui correspond à l'interruption 0 de l'Arduino Uno ou Mega. 4.3. Récupération des informations tachymétriques Comme nous l'avons vu plus haut, il y a 32 transitions montantes ET descendantes qui s'opèrent pendant un seul tour de l'arbre moteur. regulation_mcc.odt 6 Classe de terminale SI Ainsi, il suffit de mettre une interruption qui se déclenche à chaque transition de la codeuse et qui exécute une fonction qui viendra simplement incrémenter un compteur. Les interruptions permettent à certaines tâches importantes de survenir à tout moment. Dès qu’une interruption est détectée par le processeur, celui-ci sauve uploads/Industriel/ regulation-mcc.pdf

  • 12
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager