Sujets TPs
Sujets TPs
Sujets TPs
MASTER ISTR-RODECO-E2
Travaux pratiques
1
Master ISTR-RODECO / E2 / SIA
Les Travaux pratiques des modules de Systèmes Linéaires 1 & 2 se composent de 4 séances dédiées à un thème
précis:
Les deux premiers constituent les TPs du premier module obligatoire pour les étudiants d’ISTR-RODECO et E2,
optionnel pour SIA. Les deux derniers TPs constituent les TPs du second module, obligatoire pour les étudiants
d’ISTR-RODECO seulement.
Les travaux pratiques s’effectueront en binômes en respectant la composition des groupes de TP GrA et GrB.
Les TPs doivent être préparés dans cet ordre pour l’ensemble de la promotion et un compte rendu devra être
rédigé en LATEX et rendu à l’encadrant de la séance une semaine après les TPs.
2
Master ISTR-RODECO / E2 / SIA
SLI 1 - I4
TP 2: PENDULE
Jour de TP:
Date limite envoi CR:
Enseignant(s):
E-mail(s) enseignant(s):
1
Master ISTR-RODECO / E2 / SIA
1. BUT DE LA MANIPULATION
Dans cette manipulation on se propose de réaliser un asservissement permettant la régulation du pendule in-
versé représentée par la Figure 1.1 en position haute comme le montre la Figure 1.2. On utilisera pour cela les
techniques d’espace d’état à temps continu. Cette manipulation est constituée de quatre grandes étapes: mod-
élisation, analyse, régulation et implémentation.
Figure 1.1: Composants du pendule. Figure 1.2: Pendule régulé en position haute.
Les fonctionnalités de MATLAB et de SIMULINK seront exploitées au mieux lors de la séance de Travaux
Pratiques. Les principales fonctions utilisées font partie de la CONTROL-TOOLBOX, pensez à utiliser l’aide de
Matlab et la fonction help.
Les tests expérimentaux sur le procédé réel se feront en fin de séance: toutes les parties théoriques seront
complétées et les tests en simulation MATLAB-SIMULINK seront réalisés et validés par les enseignants.
Le pendule inversé de l’entreprise QUANSER est composé d’un moteur SVR02, qui entraine un bras disposant à
son extrémitée un pendule (tige) lié l’un à l’autre par une liaison pivot. Ce système possède deux capteurs (une
2
Master ISTR-RODECO / E2 / SIA
roue codeuse chacune, voir N9 de Table 2.1) qui nous renseignent sur l’angle du pendule par rapport au bras et
sur l’angle du bras par rapport au bâti. Les différents éléments du pendule sont décrits par la Figure 2.1.
No Composant
1 SRV02
2 Vis
3 Bras
4 Logement d’arbre
5 Arbre
6 Raccord
7 Pendule
8 Connecteur de l’encodeur
9 Encodeur
Figure 2.1: Composants du pendule. Table 2.1: Nomenclature des composants de la maquette.
3. MODÉLISATION
La Figure 3.1 donne une représentation schématique du pendule. Le bras est relié au moteur, qui entraine la
rotation du bras et donc du pendule. Il a une longueur Lr et un moment d’inertie Jr . Nous noterons son angle θ.
Le pendule, quant à lui, est lixé au bout du bras. Il a une longueur Lp . Son moment d’inertie au centre de
masse est noté Jp . On note l’angle que fait l’axe du pendule avec l’axe verticale α (en radian).
Tous les calculs de la modélisation se feront en prenant pour origine, la position haute du pendule. Pour les
descriptions et les valeurs numériques des constantes se reporter à la Table 3.1.
z0 α
Pendule
Lp
y0
2
Bras
ro tatif
x0 θ
Lr
3
Master ISTR-RODECO / E2 / SIA
Les équations du mouvement, déterminées à l’aide de la mécanique Lagrangienne, sont données par les
deux équations différentielles suivantes:
2 1 2 1 2 2 1 1 2
mp Lr + mp Lp – mp Lp cos(α) + Jr θ̈ – mp Lp Lr cos(α) α̈ + mp Lp sin(α) cos(α) θ̇α̇+
4 4 2 2
1 ηg Kg ηm kt (Vm – Kg km θ̇)
mp Lp Lr sin(α) α̇2 = – Br θ̇ (3.1)
2 Rm
1 1 1 1
– mp Lp Lr cos(α)θ̈ + Jp + mp L2p α̈ – mp L2p cos(α) sin(α)θ̇2 – mp Lp g sin(α) = –Bp α̇
2 4 4 2
Dans un premier temps, nous allons étudier le modèle non linéaire représenté par les deux équations du mou-
vement (3.1).
2. Déterminer les points d’équilibre en fonction de Vm (tension) constante. Combien y-en-a-t-il? Pourquoi?
Montrer qu’il n’existe pas de point d’équilibre lorsque la tension appliquée au moteur est non nulle.
3. Les valeurs des points d’équilibre vous semblent-elles en accord avec le dispositif réel?
4. En utilisant le simulateur non linéaire proposé, simuler le dispositif non linéaire aux points d’équilibre.
Que se passe-t-il?
5. En utilisant le simulateur non linéaire proposé, simuler pour des conditions initiales
{α = +1, θ = 0, α̇ = 0, θ̇ = 0} et {α = –1, θ = 0, α̇ = 0, θ̇ = 0}.
Obtenons-nous les mêmes valeurs finales?
4
Master ISTR-RODECO / E2 / SIA
6. Linéariser le système non linéaire autour du point d’équilibre xe = [0 0 0 0]T . On pourra à cet effet utiliser
une décomposition en série de Taylor arrêtée è l’ordre 1:
n
X
∂f
f̃(z) = f(z0 ) + (z – z0 ).
∂zi z0 i
i=1
Montrer que l’on obtient pour le modèle linéarisé en position haute le quadruplet (Ahaut ; Bhaut ; Chaut ;
Dhaut ) (vous pourrez faire les calculs numériquement pour plus de simplicité):
0 0 J t 0
0 0 0 Jt
1
Ahaut = 1 1 1
Jt 0 2 2
mp Lp Lr g Jp + mp Lp (–Br – Kg km γ) – mp Lp Lr Bp
2
4 4 2
1 1
0 2
mp Lp g (Jr + mp Lr ) mp Lp Lr (Br – Kg km γ) 2
–(Jr + mp Lr )Bp
2 2
0
0
1 1 0 0 0
Bhaut = 1 Chaut = ,
Jt
Jp + mp L2p γ
4 0 1 0 0
1
mp Lp Lr γ
2
avec
ηn ηm Kg kt 1
γ= Jt = Jp mp L2r + Jr Jp + Jr mp L2p .
Rm 4
7. Définir le système linéaire sous Matlab à l’aide de la commande ss(A,B,C,D).
8. Simuler la réponse à des conditions initiales et comparer avec le simulateur non linéaire. Discuter de la
validité du modèle linéarisé.
5. Facultatif. Déterminer la fonction de transfert du modèle linéarisé. Donner les ordres des fonctions de
transfert. Est-ce logique ?
On rappelle que l’on ne dispose pas des mesures de vitesse angulaire. Dans le cadre du TP de SLI1, ces données
seront supposées déjà reconstuites afin de pouvoir faire un retour d’état.
5
Master ISTR-RODECO / E2 / SIA
1. Proposer un schéma de loi de commande permettant de placer les valeurs propres du système bouclé en
h iT
–108 –0.3 –4.3 + 2.2i –4.3 – 2.2i . Justifiez le choix des valeurs propres.
2. Simuler la réponse aux conditions initiales sur le modèle linéarisé. (on pourra prendre des conditions
initiales proches du point d’équilibre).
3. Simuler la réponse aux conditions initiales sur le modèle non linéaire en utilisant le simulateur non linéaire
proposé. Comparer avec le modèle linéaire.
4. Que se passe-t-il si nous choisissons des conditions initiales trop éloignées du point d’équilibre?
5. En utilisant le reconstructeur d’état proposé, vérifier en simulation que le système en boucle fermée est
bien stabilisé.
La dernière section nous a permis de simuler et donc de valider le choix d’un retour d’état stabilisant pour la
position haute du pendule. Nous pouvons désormais implanter le retour d’état sur le dispositif réel. Le fichier
t_maintient_pendule_en_haut.mdl est un fichier analogue au fichier Simulink que vous avez utilisé pour la
simulation. Par contre, le bloc espace d’état est remplacé par un bloc dont les entrées et les sortiés sont celles
d’une carte E/S pilotant le pendule inverse réel. Une toolbox de Matlab génère à partir du modèle un code
executé en temps réel par le PC et dialoguera avec le système réel au travers de la carte.
À FAIRE AVEC L’ ENSEIGNANT.
1. Ouvrir le fichier t_maintient_pendule_en_haut.mdl et entrer les valeurs du retour d’état dans la boite
prévue à cet effet.
2. Compiler le fichier, connecter et laisser l’interrupteur sur 0, monter le pendule à la main et switcher la
commande.
Supposons que les perturbations affectant le système en boucle fermée puissent être vu comme une perturba-
tion constante agissant sur la sortie θ. On considère le dispositif de commande de la Figure 7.1.
6
Master ISTR-RODECO / E2 / SIA
Le retour d’état considéré sur la Figure 7.1 conduit à la loi de commande Vm = –Kint · xint , avec Kint = [K Ki ].
2. Calculer le retour d’état Kint en plaçant les valeurs propres du système bouclé avec intégrateur en
h iT
–108 –4.3 + 2.25i –4.3 – 2.25i –0.4 + 0.35i –0.4 – 0.35i . A FAIRE AVEC L’ ENSEIGNANT.
8. MONTÉE DU PENDULE
On se propose maintenant de partir du point d’équilibre bas pour arriver au point d’équilibre haut.
1. En sachant que les équation non linéaires ont pour origine le point d’équilibre haut, comment feriez vous
pour obtenir un modèle linéarisé au point d’équilibre bas?
2. Proposez une loi de commande permettant de réaliser cette application (aucun calcul n’est demandé).
Remerciements: Une grande partie de ce TP a été réalisé par des étudiants du M1 ISTR 2012/2013, Messieurs
Gelas, Maitre, Miral, suite à un TER sur le même sujet. Merci à eux pour leur contribution efficace.
Les équations du mouvement, déterminées à l’aide de la mécanique Lagrangienne. Une des grandes forces de
la description lagrangienne est de pouvoir faire abstraction des contraintes d’un système, qu’il s’agisse de l’angle
formé par un pendule ou de l’abscisse d’un mobile, toutes les coordonnées sont traitées sur un pied d’égalité:
on parle de coordonnées généralisées (appelée aussi degrés de libertés). Ici nous avons deux coordonnées
généralisées l’angle du bras et l’angle du pendule:
q(t) = θ(t) .
α(t)
Le centre de la description lagrangienne de la mécanique est une quantité, appelée lagrangien. Il s’agit d’une
énergie, définie par:
L(q, q̇) = T(q, q̇) – V(q);
où T est l’énergie cinétique totale du système (qui fait intervenir les vitesses) et V est l’énergie potentielle totale
(qui fait intervenir les positions).
On peut maintenant obtenir alors un jeu d’équations différentielles appelées équations d’Euler-Lagrange.
Pour un système possédant n degrés de liberté spatiale, donc décrit par n coordonnées généralisées, il y a n
équations d’Euler-Lagrange. Le procédé possédant deux degrés de liberté, on a donc deux équations:
d ∂L ∂L
( – = Q1
dt ∂ θ̇ ∂θ
d ∂L ∂L
– = Q2 ;
dt ∂ α̇ ∂α
où Q 1 , Q 2 sont les forces généralisées (forces et couples) externes au système ou ne dérivant pas d’un po-
tentiel. Ici, pour les forces qui concernent le bras (Q 1 ), il y a des frottements visqueux et le couple résultant
du moteur à courant continu. Pour le pendule (Q 2 ), il y a seulement des frottements visqueux qui sont pris en
compte.
7
Master ISTR-RODECO / E2 / SIA
C’est ici qu’apparaissent les avantages de cette description: peu importe le système de coordonnées ou la
complexité du système, ce sont toujours ces mêmes équations qui le régissent. On arrive ainsi toujours à établir
les équations du mouvement.
Finalement, après des calculs on obtient un jeu de deux équations différentielles qui décrivent le mouvement
du procédé:
1 1 1 1
mp L2r + mp L2p – mp L2p cos(α)2 + Jr θ̈ – mp Lp Lr cos(α) α̈ + mp L2p sin(α) cos(α) θ̇α̇+
4 4 2 2
1 ηg Kg ηm kt (Vm – Kg km θ̇)
mp Lp Lr sin(α) α̇2 = – Br θ̇
2 Rm
1 1 1 1
– mp Lp Lr cos(α)θ̈ + Jp + mp L2p α̈ – mp L2p cos(α) sin(α)θ̇2 – mp Lp g sin(α) = –Bp α̇
2 4 4 2
8
Master ISTR-RODECO / E2 / SIA
SLI 1 - I4
TP 1: MOTEUR I
Jour de TP:
Enseignant(s):
E-mail(s) enseignant(s):
1
Master ISTR-RODECO / E2 / SIA
1. INTRODUCTION
Cette manipulation se propose de réaliser un asservissement de position en mettant en oeuvre les techniques
d’espace d’état continu. Le procédé utilisé est la platine ”asservissement de position” qui apparait dans la Figure
1.1, déjà présentée dans les textes des manipulations de licence EEA (3ème année) dont le schéma de principe
est rappelé dans la Figure 1.2.
Frein Réducteur
N S
Moteur Gene. tach. θm
vm
Potentiomètre
θs
+V -V
Actionneurs
Capteurs
PC
vg
Calculateur
vs
Kg Ks
vg (t) vs (t)
2
Master ISTR-RODECO / E2 / SIA
· Les tests expérimentaux sur le procédé réel se feront en fin de séance: toutes les parties théoriques seront
complétées et les tests en simulation MATLAB-SIMULINK seront réalisés et approuvés par les enseignants.
Pour obtenir ces tests expérimentaux (c’est-à-dire commander en temps réel le procédé via MATLAB-
SIMULINK), on utilisera 1 PC assisté d’une carte entrée-sortie (DAQ6024E) et d’un bo^ıtier de raccorde-
ment (PC, procédé). Dans cette manipulation, nous chercherons à n’utiliser qu’un PC pour effectuer la
commande du procédé en temps réel, par un calculateur. Ainsi, aucun matériel supplémentaire ne sera
nécessaire (GBF, oscilloscope, platines dédiées à base d’amplificateurs opérationnels...), comme le montre
la Figure 1.1.
On considère le système en boucle ouverte d’entrée vm (t) et de sortie mesurée vs (t), que l’on désigne par Svm →vs .
1. Écrire la représentation d’état de ce système, lorsque son vecteur d’état est défini par:
T T
x(t) = x1 (t), x2 (t) = vs (t), vg (t) .
2. Déterminer ses états d’équilibre lorsque vm (t) est constante, et les caractériser du point de vue de la sta-
bilité.
Etablir les propriétés de commandabilité et d’observabilité de Svm →vs .
Interpréter physiquement les résultats de cette analyse.
3. Justifier que ce système admet des représentations compagnes de commande et d’observation. Déter-
miner ces représentations canoniques, ainsi que les changements de base qui les lient à la représentation
initiale.
On considère le système Svm →vg compris entre les signaux vm (t) et vg (t).
4. Écrire la représentation d’état de ce système en conservant la définition du vecteur d’état choisie en 2.1.1.
5. Vérifier que les propriétés de stabilité et de commandabilité du système Svm →vg sont identiques à celles
de Svm →vs , mais que le vecteur d’état x(t) n’est pas observable à partir de vg (t).
Déterminer quel mode est concerné par cette perte d’observabilité.
Pourquoi ce résultat était-il prévisible?
3
Master ISTR-RODECO / E2 / SIA
L’asservissement de position est réalisé selon la loi de commande par retour d’état vm (t) = NKe θr (t) – KT x(t) =
Nvr (t) – KT x(t), avec K = (k1 , k2 )T .
1. Déduire de l’expression de la matrice dynamique du système asservi les paramètres de la commande pro-
posée permettant d’agir sur ses valeurs propres.
Établir l’expression du gain statique de l’asservissement lorsqu’il est asymptotiquement stable ; en déduire
qu’il peut être modifié par action sur N.
2. Justifier la possibilité d’annuler l’erreur de position de l’asservissement et de placer ses valeurs propres en
p1 , p2 =–2.4 ± 5.5j,
On considère l’asservissement de position dont la grandeur de commande est définie par la relation
Ks
vm (t) = k10 (ve (t) – vs (t)) = k10 Ke (θe (t) – θs (t)),
Ke
avec k10 > 0 et ici, Ke = Ks . Cet asservissement est présenté dans la Figure 4.1.
2. Déterminer les expressions analytiques du gain statique, des zéros et des pôles de l’asservissement. En
déduire l’amortissement et la pulsation propre non amortie de ses pôles dominants.
3. Calculer l’erreur de position de l’asservissement ainsi que son erreur de traînage en réponse à un échelon
de vitesse.
4. Tracer le lieu sur lequel les pôles de l’asservissement peuvent être placés par action sur k10 > 0.
4
Master ISTR-RODECO / E2 / SIA
Ks
vs (t)
On ajoute une correction tachymétrique dans le schéma précédent, conformément à la Figure 4.2.
Kg
Ks
k20
vs (t)
Déduire des calculs analytiques effectués dans la section précédente les nouvelles expressions du gain
statique, des zéros et des pôles de l’asservissement en fonction des gains {k10 , k20 }.
6. Dessiner les lieux des pôles de l’asservissement lorsque k10 est fixé à une valeur positive et k20 varie de 0
à +∞, selon que les pôles en l’absence de contre-réaction tachymétrique sont réels ou bien complexes
conjugués.
En déduire les effets des gains k10 et k20 sur les performances temporelles du système asservi.
Indiquer intuitivement dans quelles zones du plan complexe la commande proposée – où les gains k10 et
k20 sont supposés positifs – permet de placer les pôles du système asservi.
7. Calculer les gains k10 et k20 tels que la réponse indicielle de l’asservissement présente un dépassement de
25% ainsi qu’un temps de réponse de l’ordre de 1.25 s.
8. Calculer l’erreur de position de l’asservissement. Le type de commande mis en oeuvre permet-il de satis-
faire une spécification supplémentaire sur l’erreur de traînage?
5
Master ISTR-RODECO / E2 / SIA
1. Définir dans l’environnement de travail, une période d’échantillonnage Te pour effectuer l’acquisition et
l’envoi des données du moteur. Justifier votre choix.
2. Pour la loi de commande par retour d’état, effectuer le schéma-bloc de l’asservissement, à partir du fichier
copié du serveur. Vous devez le copier/coller du répertoire COMMUN (à partir de l’icône poste de travail, puis
connecter un lecteur réseau) dans un de vos répertoires de travail, dans la racine (Z:).
3. Compiler et exécuter votre schéma-bloc de l’asservissement (la démarche est décrite en Annexe). Ob-
server et mesurer les performances de système asservi (caractéristiques dynamiques, erreurs...).
4. Comparer ces résultats réels aux résultats en simulation ainsi qu’à la théorie. Interpréter.
5. Pour toutes les autres lois de commande, suivre la démarche précédemment décrite. Observer et mesurer
les performances de système asservi (caractéristiques dynamiques, erreurs...). Comparer ces résultats
réels aux résultats en simulation ainsi qu’à la théorie. Interpréter.
SIMULINK is a powerful GUI simulation environment for the evaluation, prototyping and design of control sys-
tems using the MATLAB environment. Real-Time Workshop is an extension to the SIMULINK environment that
allows you to compile executable code to run on embedded systems directly from SIMULINK GUI code.
The ensemble of programs consists of four principal components:
· SIMULINK: SIMULINK is an interactive tool for modelling, simulating, and analyzing dynamic systems. It
enables you to build graphical block diagrams, evaluate system performance, and refine your designs.
· Real-Time Workshop (RTW): Real-Time Workshop generates optimized, portable, and customizable ANSI
C code from Simulink models. It automatically builds programs that execute in real time or as stand-alone
non real-time simulations. Generated code can run on PC hardware, DSPs or on micro-controllers on
bare-board environments, and with commercial or proprietary real-time operating systems. The resulting
code accelerates simulations on a wide variety of real-time rapid prototyping targets.
· Real-Time Window Target (RTWT): Real-Time Windows Target enables you to run Simulink and Stateflow
models in real time on your PC. You can create and control a real-time execution through Simulink. You
generate C code, compile it, and start real-time execution on Microsoft Windows while interfacing to real
hardware using PC I/O boards. Other Windows applications continue to run during operation and can
use all CPU cycles not needed by the real-time task.
6
Master ISTR-RODECO / E2 / SIA
· I/O board: Signals are passed between the real world and RTWT in real-time mode via a PC based data
acquisition board. RT-Workshop supports a wide range of data acquisition boards. The laboratory is
equipped with the DAQ6024E Devices.
1. Start SIMULINK either by typing simulink3 at the MATLAB command prompt or by double clicking on the
appropriate icon.
2. Choosing components:
At the Simulink Library Browser window, from File menu, choose Open and the file identif.mdl.
Your workspace window titled identif.mdl will appear.
3. Connect components.
4. Save modifications.
5. Before running a RTWT model, it is necessary to compile and link the model.
6. Modifying parameters during a real-time experiment: When running a real-time model it is possible to
change some parameters online without rebuilding the model.
7
Master ISTR-RODECO / E2 / SIA
SLI 2 - I5
TP 3: BACS D’EAU
Jour de TP:
Enseignant(s):
E-mail(s) enseignant(s):
1
Master ISTR-RODECO / E2 / SIA
1. OBJET DE LA MANIPULATION
Le but de cette manipulation est de réaliser un asservissement de niveau par retour de sortie. En effet, le vecteur
d’état du procédé hydraulique n’est pas entièrement accessible par la mesure. On se propose ainsi de mettre en
oeuvre l’estimation de l’état par un observateur.
2. PRÉSENTATION DU SYSTÈME
Le procédé est le même que celui qui a été utilisé dans le TP du module I4 intitulé "Modélisation, analyse et com-
mande d’une distribution hydraulique à trois bacs d’eau". Nous redonnons ici les caractéristiques essentielles
de la manipulation.
2.1. Le procédé
Pompe 1 Pompe 2
Q 1 (t) Q 2 (t) = 0
S
Bac 3
Bac 2
Bac 1
H1 (t)
Q 13 (t) (R 13 ) H3 (t) Q 32 (t) (R 32 ) Q 20 (t) (R 20 )
H2 (t)
Sn
Réservoir
Le système représenté sur la Figure 2.1 est composé de trois bacs cylindriques en plexiglas de section S. Ces
trois bacs sont disposés en série (de gauche à droite, on trouve les bacs 1, 3 et 2) et sont reliés par des tuyaux
d’écoulement de section Sn .
Le dernier bac 2 se vide par un cylindre, également de section Sn , dans le réservoir situé sous les bacs. Deux
pompes de débit Q 1 (t) et Q 2 (t) permettent de remplir respectivement les bacs 1 et 2 avec l’eau récupérée dans le
réservoir, le système fonctionnant en circuit fermé.
Les valeurs données par le constructeur sont S = 0, 0154m2 et Sn = 5.10–5 m2 .
Les pompes obéissent à la relation Vqi (t) = k · Q i (t) + b, i = 1, 2, avec k = 1, 6.105 et b = –9, 2592; où Vqi et Q i (t)
représentent respectivement la tension appliquée à la pompe i et le débit correspondant.
Les pompes sont alimentées par une tension comprise entre [–10V, 10V]. Ainsi le débit maximal, Q max
délivrée par une pompe est 12.10–5 m3 /s lorsque la tension appliquée est de +10V. Les capteurs de niveau d’eau
sont supposés linéaires autour du point de fonctionnement. Leur caractéristique est modélisé par l’équation
Hi (t) = ki · Vhi (t) + bi , où Hi est exprimé en mètres.
2
Master ISTR-RODECO / E2 / SIA
Nous considérons le procédé actionné par la seule pompe n°1. Son débit Q 1 est compris entre [0, Q max ] suivant
sa tension d’alimentation; le débit Q 2 (t) délivré par la pompe 2 sera nul tout au long de la manipulation. Ainsi,
les différentes hauteurs H1 (t), H3 (t) et H3 (t) respectent par conséquent la condition H1 (t) ≥ H3 (t) ≥ H2 (t). La seule
mesure disponible lors de cette manipulation est la mesure de la hauteur d’eau H1 .
Le travail sera réalisé sur un modèle aux faibles variations autour d’un point d’équilibre H0 et d’un débit Q 10
à ce point d’équilibre de telle sorte que:
Q 1 (t) = q1 (t) + Q 10
H (t) = h (t) + H
1 1 10
H3 (t) = h3 (t) + H30
H2 (t) = h2 (t) + H20
En rappelant que la sortie mesurée est la hauteur d’eau H1 (t), ce qui permet d’obtenir la variation de hauteur
d’eau h1 (t), le modèle d’état linéarisé autour du point d’équilibre du procédé est donné par
1 1
– 0 1
SR 13 SR 13
S
1 1 1 1 1
ḣ(t) = h(t) +
SR 13
– +
S R 13 R 32 SR 32 0 q1 (t)
1 1 1 1
0 – + 0
SR 32 S R 32 R 20
y(t) = [1 0 0]h(t)
avec h(t) = [h1 (t) h2 (t) h3 (t)]. De manière conventionnelle, les matrices dynamique, de commande et d’observation
seront notées A, B, C.
On rappelle que R ij représente la résistance à l’écoulement dans les tuyaux reliant les bacs i et j:
q
2 |Hi0 – Hj0 |
R ij =
aij
p p p
avec les trois coefficients d’écoulement : a13 = 0.4753 · Sn 2g, a32 = 0.4833 · Sn 2g et a20 = 0.9142 · Sn 2g.
On considère pour cette étape de synthèse de la loi de commande que l’ensemble des états est mesuré. La
loi de commande devra répondre aux spécifications du cahier des charges suivant:
· La consigne, notée w(t), est un échelon de niveau exprimé en mètre. On pose w(t) = 0, 05U(t);
· le temps de réponse tr de la sortie doit respecter tr ≤ 90 s;
· l’erreur doit être nulle en régime permanent;
· le système doit rester dans le cadre d’une étude linéaire, c’est-à-dire que la vanne ne doit pas saturer:
0 ≤ Q 1 (t) ≤ Q max .
3
Master ISTR-RODECO / E2 / SIA
h1 (t) [m]
w(t) [m] q1 (t) [m3 /s]
N Modèle linéaire
+
-
h(t) [m]
La loi de commande choisie est un retour d’état classique représenté sur la figure 3.1
2. Calculez les valeurs des gains K et N permettant de remplir l’ensemble des conditions.
Donner les tracés de q1 (t) et de h1 (t) ainsi que le schéma bloc.
Nous considérons maintenant que seul l’accès à la mesure de h1 est possible. La mise en place d’un estimateur
du vecteur d’état est donc nécessaire.
ĥ(t) [m]
K Observateur
2. Calculer un observateur minimal identité admettant un temps de réponse 5 fois plus rapide que le système
bouclé par le retour d’état calculé précédemment.
3. Insérer dans votre schéma Simulink l’observateur sous la forme d’un bloc State-Space.
4. Vérifier, en boucle ouverte, que les états estimés convergent vers les états réels du système linéarisé
lorsque les hauteurs initiales sont non nulles.
Evaluer la vitesse de convergence.
5. Réaliser le bouclage déterminé dans le paragraphe précédent en utilisant les états estimés (cf. figure 4.1).
6. Evaluer l’influence des conditions initiales de l’état de l’observateur sur les caractéristiques dynamiques
de la boucle fermée (temps de réponse, dépassement,etc).
Déduire une règle générale sur l’influence de l’observateur sur le comportement entrée/sortie de l’asservissement.
4
Master ISTR-RODECO / E2 / SIA
La mesure délivrée par le capteur de niveau du bac 1 est perturbée par un bruit sinusoïdal; la sortie mesurée est
alors y(t) = Ch(t) + v(t) où v(t) est une sinusoïde d’amplitude 1 mm et de pulsation 10 rad/s;
8. Que constate-t-on sur la sortie du système et sur les états estimés pour le schéma pour le schéma de
commande précédent?
9. Calculer un nouvel observateur de dynamique uniquement 2 fois plus rapide que le système bouclé par
le retour d’état.
Quel effet ce changement a-t-il sur la sortie du système et sur ses états estimés?
10. Expliquez le phénomène observé lors des deux dernières questions en vous basant sur une analyse fréquen-
tielle des observateurs.
5
Master ISTR-RODECO / E2 / SIA
SLI 2 - I5
TP 4: MOTEUR II
Jour de TP:
Enseignant(s):
E-mail(s) enseignant(s):
1
Master ISTR-RODECO / E2 / SIA
1. BUT DE LA MANIPULATION
Cette manipulation se propose de réaliser un asservissement de position en mettant en oeuvre les techniques
d’espace d’état continu. Le procédé utilisé est la platine "asservissement de position", déjà présentée dans les
textes des manipulations de licence EEA ainsi que du module Automatique Système Linéaire Invariant I et dont
le schéma de principe est rappelé Figure 1.1.
Kg Ks
vg (t) vs (t)
On considère le système en boucle ouverte d’entrée vm (t) et de sortie vs (t), que l’on désigne par Svm →vs .
2. Écrire la représentation d’état de ce système, lorsque son vecteur d’état est défini par:
T T
x(t) = x1 (t), x2 (t) = vs (t), vg (t) .
2. Calculer les gains K et N permettant de placer les valeurs propres du système asservi en p1 , p2 =–2.4 ± 5.5j
et d’annuler l’erreur statique.
2
Master ISTR-RODECO / E2 / SIA
Construction d’un observateur identité sur l’état estimé x̂(t) = (x̂1 (t), x̂2 (t))T , où x̂1 (t), x̂2 (t) sont les estimés de x1 (t),
x2 (t) générés à partir de la seule connaissance de l’entrée vm (t) et de la tension de sortie vs (t) = Ks θs (t).
1. À partir de la représentation d’état du système Svm →vs compris entre vm (t) et vs (t) et du vecteur d’état
x(t) = (x1 (t), x2 (t))T = (vs (t), vg (t))T , établir les équations d’un observateur identité permettant de reconstituer
vs (t), vg (t). Vous préciserez les dimensions de l’espace d’état associé à l’observateur.
2. Calculer les gains de l’observateur de manière à modifier ses valeurs propres pour que l’observateur soit
2 fois, 4 fois et 8 fois plus rapide que la dynamique de la boucle fermée.
3. Construire sous Simulink le schéma-bloc de asservissement. Les systèmes sous forme d’état seront représenté
par de bloc State-Space de la libraire Continuous de Simulink. Ces blocs présentent l’avantage de perme-
ttre la spécification de conditions initiales. Visualiser sur Simulink les effets du choix des valeurs propres
de l’observateur sur la vitesse de convergence de l’estimation pour un état initial du moteur non nul à
π
savoir vs (0) = et v̇s (0) = 0.
2
Construction d’un observateur minimal identité sur l’état estimé x̂(t) = (x1 (t), x̂2 (t))T , où x̂2 (t) est l’ estimé de x2 (t)
généré à partir de la seule connaissance de l’entrée vm (t) et de la tension de sortie vs (t) = Ks θs (t).
4. À partir de la représentation d’état du système Svm →vs compris entre vm (t) et vs (t) et du vecteur d’état
x(t) = (x1 (t), x2 (t))T = (vs (t), vg (t))T , établir les équations d’un observateur minimal identité permettant de
reconstituer uniquement vg (t). Vous préciserez les dimensions de l’espace d’état associé à l’observateur.
5. Calculer les gains de l’observateur de manière à modifier ses valeurs propres pour que l’observateur soit
4 fois plus rapide que la dynamique de la boucle fermée. Justifiez le choix de vos valeurs propres.
7. Construire sous Simulink le schéma-bloc de asservissement. Les systèmes sous forme d’état seront représen-
tés par le bloc State-Space de la libraire Continuous de Simulink. Ces blocs présentent l’avantage de
permettre la spécification de conditions initiales. Visualiser sur Simulink les effets du choix des valeurs
propres de l’observateur sur la vitesse de convergence de l’estimation pour un état initial du moteur non
π
nul à savoir vs (0) = et v̇s (0) = 0.
2
8. Comparer les simulations obtenues avec celle obtenues en utilisant un observateur identité.
3
Master ISTR-RODECO / E2 / SIA
1. À partir de la représentation d’état du système Svm →vs compris entre vm (t) et vs (t) et de vecteur d’état
x(t) = (x1 (t), x2 (t))T = (vs (t), vg (t))T , établir les équations d’un observateur permettant de reconstituer Kx(t), où
K est la gain du correcteur par retour d’état calculé précedemment.
2. Calculer les gains de l’observateur de manière à modifier ses valeurs propres pour que l’observateur soit
8 fois plus rapide que la dynamique de la boucle fermée.
4. Construire sous Simulink le schéma-bloc de asservissement. Les systèmes sous forme d’état seront représenté
par de bloc State-Space de la libraire Continuous de Simulink. Ces blos présentent l’avantage de perme-
ttre la spécification de conditions initiales. Visualiser sur Simulink les effets du choix des valeurs propres
de l’observateur sur la vitesse de convergence de l’estimation pour un état initial du moteur non nul à
π
savoir vs (0) = et v̇s (0) = 0).
2
1. Mettre place la lois de commande par retour d’état et par reconstruction du signal vg (t). L’observateur
choisi sera celui qui a permis de converger le plus vite vers l’état du système lors des essais effectué dans
la section 4.
2. Comparer les résultats obtenus avec ceux issus de la simulation. Quel est l’origine de ces observations?
3. Proposer et mettez en place une solution permettant de ne pas dégrader les performances initialement
constatées lors des simulations.
4
Master ISTR-RODECO / E2 / SIA
5. Démarrer le processus temps réel en chargeant le code compilé sur la carte d’acquisition:
a) Choisir External dans le menu déroulant de la barre d’outils de la fenêtre du modèle.
b) Connecter le modèle à la cible en cliquant Connect to target dans le menu Simulation.
6. Lancer l’expérimentation avec la fonction Start real-time code du menu Simulation. Le temps d’expérimentation
est spécifié par les paramètres de simulation Start-time/Stop-time.
7. REMARQUE: à chaque modification du schéma le modèle Simulink doit être recompilé. Cependant cer-
tains paramètres des blocs peuvent être modifié sans avoir à exécuter une nouvelle compilation.