Vous êtes sur la page 1sur 14

EA02: mise en uvre de

systmes automatiques
TP asservissement
numrique
2
Objectifs:
A laide dune carte Arduino (microcontrleur)
Dune platine de montage et dun composant de puissance
Piloter en vitesse, en position un moteur c.c. 6V
Rsultats attendus:
Schma lectrique et cblage sur platine de montage,
Algorithmes dasservissement (vitesse, position),
Influence des paramtres (chantillonnage, correcteurs)
Optimisation dun correcteur (P, PD, PI, PID)
Enonc
3
Prsentation
du matriel
Le moteur courant continu
Tension nominale 6V (9V max)
Rotation nominale 285 tr/min
Couple 4,3 kg.cm
Rducteur
Rapport de rduction 34:1
Un disque inertiel
I 2,3 kg.cm
2
4
Prsentation
du matriel
Capteur effet Hall
2 canaux, fonctionnement en quadrature
48 impulsions par tour
soit 1632 impulsions par tour
de larbre de sortie du rducteur
Sens 1
incrmente
Sens -1
dcrmente
5
Prsentation
du matriel
Composant de puissance
L293D : Quadruple demi-pont en H
Courant nominal de sortie 0,6 A (1,2A en crte)
Tension de sortie 4,5 36V
6
Prsentation
du matriel
Carte Arduino UO
Microcontrleur ATmega 328
Frquence dhorloge : 16MHz,
Mmoire : 32KB Flash (-05KB), 2KB SRAM et 1KB EEPROM
Connexions : 14 broches E/S (dont 6 PWM), 6 entres
analogiques
Platine d!essai
Permet le montage temporaire
dun circuit lectrique
7
Prsentation
du matriel
Editeur de code
Langage C++
( code assembleur)
Lger, facile installer
Identification des erreurs de
code lors de la compilation
Prsence dune fentre
de communication
8
"nonc
Raliser le monta#e lectrique
Faire vrifier avant la mise sous tension (tension dalimentation 7,5V)
Ecrire le pro#ramme sans asser$issement
Complter le code manquant (interruption du codeur)
Commenter les lignes de code
Rgler la commande pour un objectif de 1 tr/s
Compiler, charger et lancer la console de communication
Conclusion
9
Pro#ramme
initial %&'
10
Pro#ramme
initial '&'
11
"nonc
(nt#rer un asser$issement en $itesse a$ec un correcteur P
Complter le code pour modifier la commande proportionnellement
lcart la consigne (1 tr/s)
Tout en gardant une frquence dchantillonnage f = 10Hz, tester
diffrent correcteur proportionnel K
p
(5 000, 15 000, 30 000, 45 000)
Augmenter la frquence dchantillonnage f = 30 Hz et recommencer.
Conclusion
(nt#rer et tester les correcteurs P) P*) P() P(*
Conclusion
12
"nonc
+odifier le code pour obtenir un asser$issement en position
a$ec un correcteur P
Rgler la consigne 1 tr
Recommencer ltude de K
p
frquence dchantillonnage constante
K
p
(5 000, 15 000, 30 000, 45 000) pour f = 10 Hz et f = 30 Hz.
Conclusion
(nt#rer et tester les correcteurs P) P*) P() P(*
Conclusion
13
"nonc
Asser$issement en position et en $itesse
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 intgrer les deux correcteurs optimaux pour
lasservissement en vitesse et en position
Conclusion
14
+t,ode
-ie#ler.
ic,ols
Optimisation d!un correcteur par la mt,ode -ie#ler.ic,ols
Pour une frquence dchantillonnage donne f (priode
dchantillonnage donne T)
Pour un correcteur proportionnel seul K
p
Trouver la valeur K
p
critique pour laquelle la sortie est juste oscillante
(non convergente ni divergente) => => => => priode doscillation P
C
Les valeurs des correcteurs optimaux P, PD, PI et PID sont donnes
dans le tableau ci dessous
P
c

Vous aimerez peut-être aussi