tp ea02 asservissement
DESCRIPTION
TP EA02 Asservissement - UTTTRANSCRIPT
EA02: mise en œuvre de systèmes automatiques
TP asservissementnumérique
2
� Objectifs:� A l’aide d’une carte Arduino (microcontrôleur)� D’une platine de montage et d’un composant de puissance� Piloter en vitesse, en position un moteur c.c. 6V
� Résultats attendus:� Schéma électrique et câblage sur platine de montage,� Algorithmes d’asservissement (vitesse, position),� Influence des paramètres (échantillonnage, correcteurs…)� Optimisation d’un correcteur (P, PD, PI, PID)
Enoncé
3
Présentation du matériel
� Le moteur courant continu� Tension nominale 6V (9V max)� Rotation nominale 285 tr/min� Couple 4,3 kg.cm
� Réducteur � Rapport de réduction 34:1
� Un disque inertiel� I ≈ 2,3 kg.cm2
4
Présentation du matériel
� Capteur à effet Hall� 2 canaux, fonctionnement en quadrature� 48 impulsions par tour
soit 1632 impulsions par tour de l’arbre de sortie du réducteur
Sens 1 incrémente
Sens -1 décrémente
5
Présentation du matériel
� Composant de puissance� L293D : Quadruple demi-pont en H� Courant nominal de sortie 0,6 A (1,2A en crête)� Tension de sortie 4,5 à 36V
6
Présentation du matériel
� Carte Arduino UNO� Microcontrôleur ATmega 328
� Fréquence d’horloge : 16MHz, � Mémoire : 32KB Flash (-05KB), 2KB SRAM et 1KB EEPROM� Connexions : 14 broches E/S (dont 6 PWM), 6 entrées
analogiques
� Platine d’essai� Permet le montage temporaire
d’un circuit électrique
7
Présentation du matériel
� Editeur de code� Langage C++(≠ code assembleur)� Léger, facile à installer� Identification des erreurs de
code lors de la compilation� Présence d’une fenêtre
de communication
8
Énoncé
� Réaliser le montage électrique� Faire vérifier avant la mise sous tension (tension d’alimentation 7,5V)
� Ecrire le programme sans asservissement� Compléter le code manquant (interruption du codeur)� Commenter les lignes de code� Régler la commande pour un objectif de 1 tr/s� Compiler, charger et lancer la console de communication⇒Conclusion
9
Programme initial 1/2
10
Programme initial 2/2
11
Énoncé
� Intégrer un asservissement en vitesse avec un correcteur P� Compléter le code pour modifier la commande proportionnellement à
l’écart à la consigne (1 tr/s)� Tout en gardant une fréquence d’échantillonnage f = 10Hz, tester
différent correcteur proportionnel Kp (5 000, 15 000, 30 000, 45 000)� Augmenter la fréquence d’échantillonnage f = 30 Hz et recommencer. ⇒Conclusion
� Intégrer et tester les correcteurs P, PD, PI, PID⇒Conclusion
12
Énoncé
� Modifier le code pour obtenir un asservissement en position avec un correcteur P� Régler la consigne à 1 tr� Recommencer l’étude de Kp à fréquence d’échantillonnage constante
Kp (5 000, 15 000, 30 000, 45 000) pour f = 10 Hz et f = 30 Hz. ⇒Conclusion
� Intégrer et tester les correcteurs P, PD, PI, PID⇒Conclusion
13
Énoncé
� Asservissement en position et en vitesse� Modifier le code pour prendre en compte deux consignes:
� Consigne de vitesse de 1 tr/s� Consigne de position 1 tr
� Modifier le code pour intégrer les deux correcteurs optimaux pour l’asservissement en vitesse et en position
⇒Conclusion
14
Méthode Ziegler-Nichols
� Optimisation d’un correcteur par la méthode Ziegler-Nichols� Pour une fréquence d’échantillonnage donnée f (période
d’échantillonnage donnée T)� Pour un correcteur proportionnel seul Kp
� Trouver la valeur Kp critique pour laquelle la sortie est juste oscillante (non convergente ni divergente) =>=>=>=> période d’oscillation PC
� Les valeurs des correcteurs optimaux P, PD, PI et PID sont données dans le tableau ci dessous
Pc