Sunteți pe pagina 1din 10

TP 1 – Asservissement numérique d’un système continu

L’objectif de ce TP est de mettre en évidence les effets de l’échantillonnage et de la numérisation des cor-
recteurs continus. Ce TP s’effectuera entièrement en simulation avec Matlab et la boı̂te à outils Simulink.
Le système étudié possède une seule sortie y et une seule entrée u (il s’agit de tensions, mesurées en
Volts). Sa fonction de transfert, identifiée au point de fonctionnement, s’écrit :
Y (s) 2, 3
G(s) = = ,
U (s) s(1 + 0, 1s)
où s désigne la variable de Laplace.

1 Correction proportionnelle
1.1 Correcteur analogique
1. Définir la fonction de transfert du système à l’aide de la commande :
>>G=tf([2.3],[0.1 1 0])
et lancer l’utilitaire de tracé du lieu d’Evans avec la commande :
>>rltool(G)
Les points rouges sur le lieu d’Evans correspondent à la position des pôles du système bouclé pour
la valeur du gain indiquée dans l’afficheur Gain. Ces pôles peuvent être déplacés le long du lieu
d’Evans. La valeur du gain est alors réactualisée.
2. Faire la synthèse d’un correcteur proportionnel analogique de sorte que le système asservi ait un
facteur d’amortissement égal à 0,707.
3. Simuler à l’aide de rltool la réponse indicielle du système asservi pour un échelon unitaire. Identifier
les éléments caractéristiques de la réponse confirmant le bon réglage du correcteur.
4. Lancer Simulink avec la commande :
>>simulink
Construire un modèle Simulink du système analogique en boucle fermée comprenant le correcteur
proportionnel déterminé. Pour cela, on recherchera dans les menus de Simulink les différents blocs
nécessaires (fonction de transfert continue, sommateur, gain, oscilloscope pour visualiser, etc.), que
l’on fera glisser dans la modèle. La fonction de transfert G(s) de même que le gain déterminés
précédemment seront utilisés dans ce modèle, Simulink partageant les variables de l’environnement
de Matlab (son Workspace en anglais dans le logiciel).
5. Ce modèle construit, retrouver la réponse indicielle du système en boucle fermée pour un échelon
unitaire.

1.2 Correcteur numérique


1. Créer un nouveau modèle. Transformer l’asservissement analogique en un asservissement numérique
en supposant que la chaı̂ne directe intègre alors un bloqueur d’ordre zéro et qu’un retard d’une
période d’échantillonnage apparait pour modéliser le temps de calcul de la commande.
2. Simuler la réponse indicielle du système asservi pour différentes périodes d’échantillonnage : 10, 25, 50, 100, 250
et 500 ms. Comparer ces réponses à celle l’asservissement analogique et commenter. Indiquer pour
quelle période d’échantillonnage le système asservi devient instable.
3. Nous faisons maintenant l’hypothèse que le système asservi est soumis à un bruit de mesure dans
sa boucle de retour. Ce bruit est sinusoı̈dal, de fréquence 122 Hz et d’amplitude unité. Comparer
la réponse indicielle du système asservi avec le correcteur analogique à celle du système asservi
numériquement avec une période d’échantillonnage de 25 ms. Expliquer le différence de comporte-
ment face à ce bruit.
4. Refaire l’expérience avec un bruit à 150 Hz et commenter.
5. Ajouter un filtre analogique de Butterworth d’ordre 2 à l’asservissement numérique de manière à
rejeter correctement les bruit de mesure. Vérifier l’efficacité du filtrage par un essai indiciel.

Ecole Nationale Supérieure de Physique de Strasbourg, 2ème Année L. Cuvillon, S. Lecler, B. Maurin et L. Ott – 2005-2006
2 Rejet de perturbations
2.1 Rejet d’une perturbation d’entrée
Le convertisseur numérique/analogique (CNA) a un offset de +0,2 V . Cet offset est équivalent à une
perturbation d’entrée constante sur la commande.
1. Créer un nouveau modèle. Simuler la réponse indicielle du système asservi avec le correcteur
numérique précédent et l’offset de 0,2 V .
On souhaite synthétiser un correcteur d’ordre réduit permettant de rejeter cette perturbation d’entrée.
La synthèse sera faite par transposition d’un correcteur continu.
2. A l’aide de rltool, calculer un correcteur analogique du second ordre (au plus) tel que le système
bouclé respecte le cahier des charges suivant :
– erreur statique nulle en présence d’une perturbation d’entrée constante ;
– dépassement inférieur à 15% ;
– temps de réponse à 5% inférieur à 1 s.
Pour cela on notera que dans l’utilitaire rltool, il est possible d’ajouter des pôles et des zéros
au correcteur (dans Tools → Edit compensator ou simplement en cliquant sur le bloc K). Il est
également possible d’utiliser le bouton Add zero (flèche pointant un cercle) ou le bouton Add pole
(flèche pointant une croix) puis de cliquer à l’endroit du plan complexe où on désire placer le zéro
ou le pôle. Ces derniers peuvent être déplacés par la suite en cliquant sur le bouton drag pole/zero
(flèche seule) ; le lieu d’Evans est alors réactualisé.
3. Appliquer la transformation bilinéaire :
2 z−1
s→
Te z + 1
avec Te période d’échantillonnage, pour passer du correcteur continu au correcteur numérique. Ceci
est réalisé en utilisant la fonction c2d de Matlab. Pour bien approcher le correcteur continu, on
choisira Te suffisamment faible.
4. Simuler la réponse indicielle de l’asservissement numérique ainsi obtenu.

2.2 Effet de la quantification


Le convertisseur numérique/analogique (CNA) et le convertisseur analogique/numérique (CAN) intro-
duisent respectivement une quantification de la commande et une quantification de la mesure de position.
Nous faisons l’hypothèse que le pas de quantification est de 0,5.
1. Simuler l’effet de la quantification au niveau de la commande sur la réponse indicielle du système
avec le correcteur numérique précédent. Utiliser pour cela le bloc quantizer de la bibliothèque non
linéaire de Simulink.
2. Simuler l’effet de la quantification au niveau de la mesure (CAN) sur une réponse indicielle.
3. Expliquer pourquoi ces effets sont très différents. Si la mesure de position est réalisée avec un codeur
incrémental, calculer quelle devrait être la résolution minimale de ce codeur pour que l’amplitude
du bruit de quantification soit inférieure à un 0,1 V .

Ecole Nationale Supérieure de Physique de Strasbourg, 2ème Année L. Cuvillon, S. Lecler, B. Maurin et L. Ott – 2005-2006
TP 2 – Synthèse d’un asservissement de
position par placement de pôle

L’objectif de ce TP est de simuler l’asservissement de position des têtes de lecture/écriture d’un disque
dur. Afin de garantir un temps de réponse minimal on utilise un actionneur électromagnétique linéaire
associé à un ressort de rappel (voir figure 1). L’actionneur est constitué d’une bobine fixe et d’un noyau

actionneur linéaire électromagnétique

θ
θ max
ressort de rappel

bras

tête de lecture/écriture

plateau du disque

Fig. 1 – Schéma du système de déplacement des têtes.

en matériau ferro-magnétique mobile en translation. Le passage d’un courant dans la bobine génère une
force sur le noyau dont le sens dépend du sens du courant.
Lorsque la bobine n’est pas traversée par un courant, le bras se replie sous l’action du ressort vers une
position dite ¡¡ de sécurité ¿¿, c’est-à-dire une position où les têtes sont protégées et ne sont pas au-
dessus de la surface du disque. Cette position correspond à θ = 0 sur la figure 1. D’autre part, une butée
mécanique empêche le bras de se déplacer d’un angle supérieur à θmax .

1 Modélisation du système
1. La commande appliquée au système est une tension u variant de -12 à 12 Volts. Cette tension est
appliquée à la bobine de l’actionneur. Cette bobine a une résistance Rb = 0.5 Ω et une inductance
Lb = 5 mH. La force exercée par cet actionneur sur le bras produit un couple γa qui est proportionnel
au courant ib qui traverse la bobine :
γa = Ki ib (1)
avec Ki = 2 N.m.A−1 . A cause de limitations technologiques, le courant maximum (en valeur
absolue) qui peut traverser la bobine est de Imax = 3 A.
Déterminer la fonction de transfert entre u et γa .
2. Le ressort a une raideur équivalente en torsion Kr = 1, 875 N.m.rad−1 . Soit θr = −0, 0333 rad la
position angulaire de repli du bras en l’absence de courant dans la bobine et s’il n’y avait pas de
butée en θ = 0. L’inertie J du bras est de 5, 10−5 kg.m2 et le coefficient de frottement visqueux fv
de l’axe du bras est de 0, 0004 N.m.rad−1 .s−1 ).
Le débattement utile du bras, c’est-à-dire le secteur angulaire où la tête est au-dessus des pistes
magnétiques s’étend de θu1 = 0, 1 rad à θu2 = 0, 9 rad.
Déterminer la fonction de transfert entre γa et θ en supposant que le système est dans
sa plage de fonctionnement linéaire.

Ecole Nationale Supérieure de Physique de Strasbourg, 2ème Année L. Cuvillon, S. Lecler, B. Maurin et L. Ott – 2005-2006
3. Calculer, en régime permanent, le courant nécessaire pour maintenir le bras dans la
θ +θ
position θ = u1 2 u2 .

2 Simulation du système
1. Un bloc simulant le système de déplacement du bras du disque dur a été créé avec Simulink. Afin
d’accéder à ce bloc, il faut tout d’abord se placer dans le répertoire :
>>cd C:\ensps2a
Après avoir lancé Simulink, ouvrir le fichier C:\ensps2a\ddur.mdl. Ce bloc présente une entrée, la
tension u, et deux sorties, les mesures du courant ib et de la position θ : la position θ est obtenue
grâce à un codeur incrémental qui compte le nombre d’impulsions correspondant au déplacement
du bras ; la valeur analogique du courant ib est fournie par un capteur à effet Hall.
Ce bloc contient un sous-système. On accède à son schéma-bloc en double-cliquant dessus. Vérifier
que le modèle de ce système correspond à celui qui a été établi dans la partie 1.
Le bloc contient également une fonction d’animation permettant de visualiser en temps réel l’évolution
de la position du bras. Cette animation se lance automatiquement à chaque nouvelle simulation.
2. Dans le menu Simulation choisir l’option Parameters. Régler les paramètres de simulation de
manière à avoir un horizon de simulation de 1 seconde et un pas de simulation de 0, 1 ms.
Pour visualiser les sorties, on utilisera un oscilloscope virtuel (Scope). Veiller à régler ces paramètres
de manière à ce que tout le signal puisse être affiché.
Simuler les réponses indicielles des sorties pour des échelons de 0,1, 0,2, 0,25 et 0,5 Volt. Commenter.

3 Réalisation d’un asservissement de courant


1. On désire réaliser un asservissement du courant circulant dans la bobine. Pour des raisons de coût
de fabrication, on opte pour un asservissement analogique du courant. Justifier l’intérêt d’un tel
asservissement.
2. Soit B(s) la fonction de transfert entre u et ib :

Ib (s) 1
B(s) = = (2)
U (s) 5.10−3 s + 0, 5
Définir cette fonction de transfert à l’aide de la commande :
>>B=tf([1],[5e-3 0.5])
et lancer l’utilitaire de tracé de lieu d’Evans :
>>rltool(B)
Les points rouges sur le lieu d’Evans correspondent à la position des pôles du système bouclé pour
la valeur du gain donné dans le champs Gain. Ces pôles peuvent également être déplacés le long du
lieu d’Evans, la valeur correspondante du gain est réactualisée.
Dans Tools->Edit compensator il est possible d’ajouter des pôles et des zéros au correcteur. Il est
également possible d’utiliser le bouton Add zero (flèche pointant un cercle) ou le bouton Add pole
(flèche pointant une croix) puis de cliquer à l’endroit du plan complexe où on désire placer le zéro
ou le pôle. Ces derniers peuvent être déplacés par la suite en cliquant sur le bouton drag pole/zero
(flèche seule), le lieu d’Evans est réactualisé en temps réel.
3. A l’aide de rltool, faire la synthèse d’un correcteur analogique comportant un intégrateur et un
zéro à régler de manière à avoir un temps de réponse à 5% de 1, 25 ms. Simuler la réponse indicielle
pour un échelon de 0, 5 A. Faire un enregistrement du courant et de la grandeur de commande (la
tension). Conclure.

4 Asservissement numérique de la position


Dans cette partie, on conserve la boucle de courant telle qu’elle a été déterminée à la question précédente.
D’autre part, afin que le courant ne puisse pas atteindre des valeurs prohibitives dans la bobine, on ajoute

Ecole Nationale Supérieure de Physique de Strasbourg, 2ème Année L. Cuvillon, S. Lecler, B. Maurin et L. Ott – 2005-2006

Θ +- R(z) Ib∗ U(s) Θ(z)
Cp(z) BOZ + Ci(s) Disque dur
- Ib(s)

Fig. 2 – Asservissement numérique de position.

un bloc de saturation pour la consigne de courant (voir figure 2). La valeur supérieure de cette saturation
est 3 A et sa valeur inférieure est −3 A.
1. Déterminer, en utilisant la fonction c2d, la fonction de transfert en boucle ouverte de l’asservisse-
Θ(z)
ment de position, P (z) = R(z) , si la période d’échantillonnage est de 1 ms.
2. Le correcteur utilisé pour l’asservissement de position est du second ordre (2 pôles et 2 zéros). Le
temps nécessaire au calcul de la commande est négligeable par rapport à la période d’échantillonnage.
La commande est donc appliquée au système quasiment en même temps que la mesure est échantillonnée.
Synthétiser ce correcteur en utilisant rltool de manière à annuler les pôles complexes conjugués
du système en respectant le cahier des charges suivant :
– Erreur statique nulle.
– Dépassement nul.
– Temps de réponse à 2% inférieur à 12 ms.
3. Simuler la réponse indicielle du système bouclé pour des échelons de position de 0, 1 rad et 0, 5 rad.
Faire l’enregistrement de la mesure et de la grandeur de commande. Expliquer le résultat obtenu.
4. Afin d’améliorer la robustesse du système on décide d’ajouter un pôle et un zéro au correcteur. La
synthèse du correcteur est toujours faite en utilisant rltool mais cette fois, on évite de compenser
la paire de pôles complexes conjugués du système.
Synthétiser le correcteur en respectant le cahier des charges suivant :
– Erreur statique nulle.
– Dépassement le plus faible possible.
– Temps de réponse le plus rapide possible.
5. Simuler la réponse indicielle du système bouclé pour des échelons de position de 0, 1 rad, 0, 5 rad
et 0, 8 rad. Faire l’enregistrement de la mesure et de la grandeur de commande. Commenter.
6. Refaire une simulation pour un déplacement de 0 à 0, 8 rad avec une consigne qui a la forme donnée
par la figure 3. Conclusion.


Θ

0.8

0.01 t

Fig. 3 – Consigne de position.

Ecole Nationale Supérieure de Physique de Strasbourg, 2ème Année L. Cuvillon, S. Lecler, B. Maurin et L. Ott – 2005-2006
TP 3 – Correction RST

Le but de ce TP est de mettre en place un correcteur RST pour asservir la position d’une maquette
construite autour d’un moteur à courant continu et d’un codeur optique incrémental.
Le TP se déroulera en 2 phases :
1. codage en langage C d’un correcteur RST d’ordre n ;
2. test de 2 correcteurs synthétisés avec la méthodologie RST en fonction de critères de synthèse
imposés.
Le correcteur sera implanté sur un PC muni d’une carte assurant l’interface avec le banc moteur. Pour
ce qui concerne le logiciel, les fonctions d’entrée–sortie sont fournies, ainsi que le programme assurant le
cadencement de la commande. Seul le correcteur est à programmer.

1 Préparation
1.1 Modélisation du système étudié
Le système étudié est un banc moteur de type HMC. Ce banc est composé d’un moteur à courant continu
de faible puissance (< 20 W ) couplé à un réducteur qui est lui-même couplé à un volant d’inertie. Le
codeur incrémental qui fournit la mesure de la position est couplé à l’arbre moteur. La grandeur de
commande du système est la tension U d’entrée d’un amplificateur à transistors qui est proportionnelle
à la tension appliquée à l’induit du moteur.
La fonction de transfert théorique, reliant l’entrée U du système à la mesure de position Θ, s’écrit :
Θ K
G(s) = = (3)
U s(1 + τ s)

Les valeurs numériques sont :


– K = 70 deg.V −1 et τ = 0, 047 s pour le banc à moteur couleur aluminium ;
– K = 63 deg.V −1 et τ = 0, 084 s pour le banc à moteur couleur verte ;
Le système est piloté à l’aide d’un ordinateur réalisant l’asservissement numérique. Le CNA utilisé est
modélisé par un bloqueur d’ordre zéro B0 (s). En supposant que l’on échantillonne de façon synchrone
la commande et la mesure, et que le gain du CNA est unitaire, la représentation du système en boucle
ouverte est celle décrite par la figure 4.

Fig. 4 – Système à commander.

Donner la fonction de transfert G(z) entre la commande U (z) et la sortie Θ(z), pour une période
d’échantillonnage Te quelconque.

1.2 Algorithme de commande RST


On souhaite réaliser une commande RST décrite par la figure 5. Une grande partie du logiciel est déjà
écrite. Le logiciel réalisant la commande est globalement organisé conformément à la description de la
figure 6.
On supposera par la suite que le temps nécessaire pour effectuer la mesure, le calcul, et l’envoi de la
commande est négligeable (très petit devant la période d’échantillonnage).
Le programme effectue des instructions en boucle infinie. La boucle est organisée en cinq étapes :

Ecole Nationale Supérieure de Physique de Strasbourg, 2ème Année L. Cuvillon, S. Lecler, B. Maurin et L. Ott – 2005-2006
Θd (z) 1 Θ(z)
T (z − 1) +- G (z − 1)
S (z − 1)

R (z − 1)

Fig. 5 – Commande RST.

1. La mesure de la position est acquise au moyen d’un codeur optique incrémental. Les fonctions
assurant la lecture du compteur et la conversion en degrés sont implémentées. La variable mesure
contient la mesure courante.
2. La variable consigne donne la consigne courante. Cette consigne est mise à jour en fonction des
commandes provenant de l’utilisateur.
3. La partie à coder est le calcul de la commande (variable commande) pour un correcteur RST
d’ordre n.
On demande en préparation d’écrire l’algorithme de ce correcteur en supposant que l’on connaı̂t :
– les n + 1 coefficients des polynômes R(z −1 ), S(z −1 ) et T (z −1), qui sont rangés dans des variables
(de type tableau) r, s et t dans l’ordre des puissances croissantes de z −1 :
R(z −1 ) = r[0] + r[1]z −1 + . . . + r[n]z −n
S(z −1 ) = s[0] + s[1]z −1 + . . . + s[n]z −n
T (z −1 ) = t[0] + t[1]z −1 + . . . + t[n]z −n
– les n + 1 dernières mesures rangées dans le tableau mes, de telle sorte que :
mes[0] = θ(k), mes[1] = θ(k − 1), . . .
– les n + 1 dernières consignes rangées dans le tableau cons, de telle sorte que :
cons[0] = θd (k), cons[1] = θd (k − 1), . . .
– les n + 1 précédentes commandes rangées dans le tableau com, de telle sorte que :
com[0] = u(k), com[1] = u(k − 1), . . .
L’algorithme doit calculer la commande u(k) en fonction des données puis stocker cette commande
dans la variable commande.
4. La commande stockée dans commande est ensuite envoyée dans le CNA.
5. On attend enfin le prochain top d’horloge avant de reboucler (fonctions de gestion de l’horloge
existantes en bibliothèque)

1.3 Calcul d’un correcteur RST


Calculer un correcteur RST tel que :
– Le p comportement en boucle fermée soit du second ordre avec ωn = 25 rad.s−1 et ζ = 0, 7 (ωd =
ωn 1 − ζ 2 ).
– L’erreur permanente vis à vis de l’entrée soit nulle.
La période d’échantillonnage choisie est de 10 ms. On prendra soin de ne pas compenser le zéro à partie
réelle négative car cela introduirait une commande oscillante. On peut choisir de compenser ou non les
pôles stables.
La validité de G(z) pour une période de 10 ms peut être vérifiée avec Matlab (sur une des machines en
libre-service) grâce à la fonction c2d.
Le calcul du correcteur RST implique entre autres la résolution d’une équation Diophantienne. Cette
équation se ramène à la résolution d’un système de n équations à n inconnues. On pourra avantageusement
utiliser Matlab pour résoudre ce système.

Ecole Nationale Supérieure de Physique de Strasbourg, 2ème Année L. Cuvillon, S. Lecler, B. Maurin et L. Ott – 2005-2006
Fig. 6 – Organigramme du logiciel de commande.

2 Manipulation
1. Simuler avec Simulink le système analogique asservi avec votre correcteur numérique RST.
2. Le PC qui réalise l’asservissement temps réel est également celui qui est utilisé pour développer et
compiler les logiciels. Cette machine possède une carte convertisseur numérique/analogique pour
l’application des commandes ainsi qu’une carte compteur pour convertir les impulsions du codeur
incrémental en position angulaire. Le système d’exploitation utilisé est rtlinux (real-time linux).
Pour démarrer le système rtlinux, appuyer sur la touche SHIFT lorsque le message LILO apparaı̂t.
Attendre la fenêtre de login. Entrer le nom d’utilisateur ensps et le mot de passe ulp. Ouvrir un
terminal en cliquant l’icône de la barre des tâches représentant un terminal connecté à un serveur.
Taper la commande ini_rst pour initialiser le TP. Cette commande crée un répertoire nommé rst
contenant, entre autres, le fichier card_module.c. Pour aller dans ce répertoire, taper cd rst. Pour
éditer le fichier card_module.c, taper la commande nedit card_module.c &. Ce fichier contient
le code du programme d’asservissement.
Implementer en C le correcteur RST. Seul le calcul de la commande doit être programmé, le reste
est déjà fait (la partie à compléter est signalée par un commentaire) (voir figure 6).
Pour compiler card_module.c, taper simplement make.
3. Tester le correcteur RST :
– lancer le programme d’asservissement en tapant rst ;
– entrer les coefficients et définir le type de consigne, l’amplitude, la durée et tester au moins un
échelon indiciel de 1 deg et de 5 deg.
4. Amélioration du correcteur RST.
– Commenter les résultats obtenus. Pourquoi l’erreur statique n’est-elle pas nulle ?
– Refaire la synthèse d’un correcteur RST en imposant un intégrateur dans S(z −1 ). Simuler ce
correcteur avec Simulink, puis le tester. Conclure.

Ecole Nationale Supérieure de Physique de Strasbourg, 2ème Année L. Cuvillon, S. Lecler, B. Maurin et L. Ott – 2005-2006
TP 4 – Asservissement numérique de température

L’objectif de ce TP est de réaliser un asservissement numérique de température. Le système à réguler est


la maquette Feedback qui a déjà été utilisée lors d’un TP d’automatique de 1ère année. Les particularités
de ce système sont :
– une constante de temps lente ;
– un retard dû au transport de l’air.

1 Moyens
On dispose :
– d’une maquette Feedback ;
– d’un ordinateur compatible PC équipé du système d’exploitation temps réel (rtlinux). Il possède par
ailleurs une carte d’interface qui comporte en entrée un convertisseur analogique numérique et en sortie
un convertisseur numérique analogique modélisé par un bloqueur d’ordre 0.
– un programme réalisant l’interface graphique entre l’utilisateur et le module d’asservissement (temp) ;
– Matlab sur une des machines en libre-service.
Pour démarrer le système rtlinux, appuyer sur la touche SHIFT lorsque le message LILO apparaı̂t.
Attendre la fenêtre de login. Entrer le nom d’utilisateur ensps et le mot de passe ulp. Ouvrir un terminal
en cliquant l’icône de la barre des tâches représentant un terminal connecté à un serveur.
Taper la commande ini_temp pour initialiser le TP. Cette commande crée un répertoire nommé temp
contenant, entre autres, le fichier card_module.c. Pour aller dans ce répertoire, taper cd temp. Pour
éditer le fichier card_module.c, taper la commande nedit card_module.c &. Ce fichier contient le code
du programme d’asservissement. Seul le calcul de la commande doit être programmé, le reste est déjà fait
(la partie à compléter est signalée par un commentaire) (voir figure 7).
Pour compiler card_module.c, taper simplement make.

2 Expérimentation
La fonction de transfert de ce système avec ouverture du clapet à 35 degrés ou throttle sur 4 (suivant le
modèle de maquette) et lorsque le capteur est placé à l’extrémité du conduit est la suivante (identifiée en
1ère année) :

e−0,18s
G(s) = (4)
(1 + 0, 25s)2

Dans ce qui suit, on suppose que le temps nécessaire au calcul de la commande est négligeable devant la
période d’échantilonnage.

2.1 Méthode de synthèse basée sur le correcteur continu


1. A l’aide des outils logiciels (commande abs et angle de Matlab), faire la synthèse d’un correcteur
C(s) continu du second ordre (C(s) à 2 pôles et 2 zéros) tel que le système corrigé bouclé satisfasse
au cahier des charges suivant :
– Erreur permanente nulle pour une consigne en échelon,
– Compensation des pôles dominants du système,
– Marge de phase de 45 deg.
Faire une synthèse analogique à l’aide du diagramme de Bode.
2. Appliquer la transformation bilinéaire pour passer de C(s) à C(z) :
2 z−1
s→ (5)
Te z + 1
avec Te , la période d’échantillonnage du correcteur numérique (fonction c2d de Matlab). On choisira
Te suffisamment faible pour bien approcher le correcteur continu (typiquement 10 ms).

Ecole Nationale Supérieure de Physique de Strasbourg, 2ème Année L. Cuvillon, S. Lecler, B. Maurin et L. Ott – 2005-2006
Fig. 7 – Organigramme du logiciel de commande.

3. Etudier en simulation le système analogique avec son correcteur numérique en utilisant Simulink.
Utiliser le bloc ”transport delay” de la bibliothèque Simulink pour modéliser le retard.
4. Programmer le correcteur obtenu dans card_module.c à l’emplacement prévu à cet effet. Ne pas
oublier de définir la période d’échantillonnage (#define SAMPLING_PERIOD). Compiler le module
en tapant make.
5. Tester le correcteur en lançant temp. Commenter.

2.2 Synthèse directe du correcteur numérique


1. Calculer la transmittance échantillonnée G(z) du système en boucle ouverte (commande c2d).
2. Faire la synthèse d’un correcteur numérique du second ordre (2 pôles et 2 zéros) avec le lieu des
racines (fonction rltool de Matlab) qui respecte le cahier des charges suivant :
– Erreur permanente nulle pour une consigne en échelon,
– Compensation des pôles dominants du système,
– Dépassement nul.
3. Simuler le correcteur numérique sur le système analogique. Ensuite, implanter le correcteur numérique
sur le système réel et mesurer les caractéristiques du système réel corrigé.

Ecole Nationale Supérieure de Physique de Strasbourg, 2ème Année L. Cuvillon, S. Lecler, B. Maurin et L. Ott – 2005-2006

S-ar putea să vă placă și