Académique Documents
Professionnel Documents
Culture Documents
Giri
BUT DE LA MANIPULATION
L'objectif est de réaliser un asservissement de position sur un ensemble moteur à courant continu,
génératrice tachymétrique et codeur de position. Cet asservissement sera réalisé par retour d'état en
utilisant les grandeurs mesurées et ensuite à l'aide d'un observateur en boucle fermée.
Le moteur à courant continu est commandé par la sortie "2 bip" de la carte B qui fournit une tension
dans l'intervalle [-10v, +10v] à l'induit. Cette tension est appliquée au moteur via un amplificateur
lui fournissant le courant nécessaire. L'amplificateur de puissance sera utilisé avec un gain de 1. A
cause des frottements solides, le moteur possède des seuils de démarrage et d'arrêt dont les effets
sont partiellement diminués par programmation dans les logiciels utilisés.
La position de l'arbre est mesurée grâce à un codeur optique incrémental décodé par un système de
compteur numérique sur 16 bits. Les 16 bits sont lus par l'intermédiaire des entrées logiques de deux
cartes d'acquisition offrant chacune 8 entrées logiques.
II TRAVAIL A REALISER
Afin de réaliser l'asservissement en position du moteur par retour d'état, il est nécessaire de suivre
les étapes suivantes :
1) Identification d'un modèle nominal par réponse indicielle pour évaluer la dynamique
principale du moteur et obtenir ensuite un modèle de simulation sous forme d'état.
2) Synthétiser une loi de commande par retour d'état et retour d'état estimé.
1°) Sachant que la position du moteur est mesurée par un codeur optique incrémental décodé par un
système de compteur sur 16 bits et qu'un tour de moteur correspondant à 500 pas du compteur,
2°) Sachant que la génératrice tachymétrique délivre une tension continue proportionnelle à la
vitesse de rotation du moteur et que le coefficient de proportionnalité indiqué par le constructeur sur
la génératrice est de : kv=6 mV/tour/mn, convertissez-le en volts par rd/s (facteur de conversion
noté CVRDS). Le filtre anti-repliement présent entre la génératrice et la carte de mesure a un gain
unité
x vitesse
3°) Le vecteur d'état est défini par : x = 1 = .
x 2 position
K 1 K
V(p) = U(p) et θ(p) = V(p) ⇒ θ(p) = U(p)
(1 + τ p) p (1 + τ p)p
La figure 1 présente la réponse indicielle en vitesse d'un moteur (exprimée en Volts) pour un
échelon de 4 à 6 Volts.
a) Déterminer le gain statique ainsi que la constante de temps de ce système du 1er ordre.
d) Mettre le système sous forme série en utilisant le vecteur d'état défini précédemment.
TRAVAIL PRATIQUE
Pour effectuer tous les calculs, on utilisera le logiciel Matlab et Simulink pour les simulations de
commande. Toutes les commandes Matlab devront être introduites dans un script Matlab. Le
compte rendu devra contenir le détail des calculs pour le gain de retour d'état et le gain de
l'observateur.
TP n°4: Retour d’état tachymétrique ------------------------------------------------------------------------------------------ 2
TP espace d'état Université de Caen, M1 EEA Ph. Dorléans, F. Giri
1°) Effectuer la réponse indicielle pour une durée d'acquisition de 300 ms. Pour cela, sous DOS, on
se place dans le répertoire de travail c:\tc\moteur et on lance l’exécution du programme echelon.exe.
On fait l'acquisition de la vitesse pour un échelon de tension de commande de 4 à 5 volts. Les
données sont ensuite stockées dans un fichier et dans le répertoire de travail. Vous devez lui affecter
un nom avec une extension .m.
2°) En déduire les paramètres τ et ks en prenant garde aux unités. Pour cela, lancer Windows et
ouvrir Matlab. Sous Matlab, aller dans votre répertoire. Les données sont chargées en exécutant
appelant votre fichier sous le workspace de Matlab. Une matrice correspondant au nom du fichier
est alors créée : elle contient les données d’acquisition.
3°) Mettre le système sous forme d'état en utilisant le vecteur d'état x défini précédemment et
discrétiser (avec bloqueur d'ordre 0) la représentation d’état continue en utilisant la fonction Matlab
c2d (option 'zoh'). La période d'échantillonnage est fixée à 5ms.
5°) Calculer le vecteur K = [ k1 k 2 ] de retour d'état nécessaire pour que les pôles de la fonction de
transfert en boucle fermée soient tous les deux en z = 0.8 (fonction acker de Matlab).
6°) Vérifier le résultat en calculant les valeurs propres de la matrice d'état du système en boucle
fermée. Calculer le gain statique du système corrigé et la valeur du précompensateur β à utiliser.
Vérifier le comportement du système en boucle fermée sous Simulink en utilisant le fichier
ret_mes.mdl présent dans votre répertoire de travail. Ne pas oublier de regarder l'amplitude du
signal de commande.
7°) Calculer le vecteur M de l'observateur complet pour que les pôles de l'observateur soient en 0,4.
Utiliser la fonction acker de Matlab en remarquent que la détermination du vecteur M est un
problème dual au retour d'état. Vérifier le comportement du système en boucle fermée sous
Simulink en utilisant le fichier ret_obs.mdl présent dans votre répertoire de travail . Il est
notamment demandé d’étudier le comportement de l’observateur (variation de l’erreur d’estimation
de l’état du système ) et le comportement du système commandé par le retour d’état estimé.
8°) Lancer le turbo C en exécutant la commande TC (éditeur du Turbo C) sous DOS. Charger le
programme ret_mes.c, et introduire la valeur des constantes beta (précompensateur), k1 et k2
(coefficients du retour d'état). N’oubliez pas de charger le projet correspondant ret_mes.prj.
Exécuter le programme et observer la réponse du système bouclé lorsque la consigne varie de 90°.
Après avoir sauvegarder dans un fichier les résultats obtenus, visualiser graphiquement ces résultats
sous Matlab, les imprimer et les interpréter.
d'état estimé. Observer la réponse du système bouclé pour une consigne variant de 90°. Visualiser
graphiquement les résultats sous Matlab, les imprimer et les comparer aux résultats précédents.
Remarque : Dans ce cas, la mesure de la vitesse (génératrice tachymétrique) n'est ici effectuée qu'à
titre d'acquisition et n'intervient pas dans le correcteur. Si on veut s'en convaincre, il suffit de
reprendre cette manipulation en déconnectant la génératrice tachymétrique.
2.5
2.4
2.3
2.2
2.1
1.9
0.9 0.95 1 1.05 1.1 1.15 1.2 1.25 1.3 1.35 1.4
Temps en seconde