43
TD Automatique n 1 H. Garnier J-M. Rivière Systèmes dynamiques linéaires invariants dans le temps - Transformée de Laplace Exercice 1.1 - Systèmes linéaires invariants dans le temps Parmi les systèmes ci-dessous, déterminer, en justifiant, ceux qui sont linéaires et/ou invariants dans le temps ¨ y 1 (t)=3x(t); y 2 (t) = sin(x(t)); y 3 (t)= x(t + 2) x(t - 1) y 4 (t)= tx(t); y 5 (t)= x(t 2 ); y 6 (t)= x(-t) ˙ y 7 (t)= y 7 (t) - 2x(t) Exercice 1.2 - Transformée de Laplace Déterminer la transformée de Laplace de x 1 (t) = sin(2t) Γ(t); x 2 (t)= t cos(2t) Γ(t) x 3 (t)= -10e -0.1t Γ(t); x 4 (t) = 4Γ(t - 2) + 2Γ(t - 4) Exercice 1.3 - Transformée de Laplace Figure 1.1: Signal x 1 (t) 1. Donner une description mathématique du signal x 1 (t) représenté sur la figure 1.1 et en déduire sa transformée de Laplace à partir de l’intégrale de définition. 2. Reconstituer le signal x 1 (t) à l’aide de signaux de type échelon. 3. En déduire la transformée de Laplace de x 1 (t). Exercice 1.4 - Transformée de Laplace inverse Déterminer les signaux originaux ayant pour transformées de Laplace : Y 1 (s)= 1 (s + 1)(s + 2) ; Y 2 (s)= 10 s 2 + 10s + 16 ; Y 3 (s)= s +4 s 2 + 16 Exercice 1.5 - Résolution d’équations différentielles par transformée de Laplace Résoudre les équations différentielles suivantes à l’aide de la transformée de Laplace : ˙ y(t)+2y(t) = Γ(t) avec y(0) = 1 ¨ y(t)+5˙ y(t)+6y(t)= e -7t Γ(t) avec ˙ y(0) = y(0) = 0 ¨ y(t)+4˙ y(t)+8y(t)=2δ(t) avec ˙ y(0) = y(0) = 0 Exercice 1.6 - Théorème de la valeur initiale et théorème de la valeur finale Déterminer les valeurs initiale et finale des signaux y 1 (t) et y 2 (t) ayant comme transformée de Laplace : Y 1 (s)= s(3s + 1) (s + 1) 2 (s + 2) ; Y 2 (s)= s 2 +5s +1 (s 2 + 1)(3s + 1) 1

Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Embed Size (px)

Citation preview

Page 1: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

TD Automatique n1

H. GarnierJ-M. Rivière

Systèmes dynamiques linéaires invariants dans le temps - Transformée deLaplace

Exercice 1.1 - Systèmes linéaires invariants dans le tempsParmi les systèmes ci-dessous, déterminer, en justifiant, ceux qui sont linéaires et/ou invariants dans le temps

y1(t) = 3x(t); y2(t) = sin(x(t)); y3(t) =x(t+ 2)

x(t− 1)

y4(t) = tx(t); y5(t) = x(t2); y6(t) = x(−t)y7(t) = y7(t)− 2x(t)

Exercice 1.2 - Transformée de LaplaceDéterminer la transformée de Laplace de

x1(t) = sin(2t) Γ(t); x2(t) = t cos(2t) Γ(t)

x3(t) = −10e−0.1tΓ(t); x4(t) = 4Γ(t− 2) + 2Γ(t− 4)

Exercice 1.3 - Transformée de Laplace

Figure 1.1: Signal x1(t)

1. Donner une description mathématique du signal x1(t) représenté sur la figure 1.1 et en déduire satransformée de Laplace à partir de l’intégrale de définition.

2. Reconstituer le signal x1(t) à l’aide de signaux de type échelon.3. En déduire la transformée de Laplace de x1(t).

Exercice 1.4 - Transformée de Laplace inverseDéterminer les signaux originaux ayant pour transformées de Laplace :

Y1(s) =1

(s+ 1)(s+ 2); Y2(s) =

10

s2 + 10s+ 16; Y3(s) =

s+ 4

s2 + 16

Exercice 1.5 - Résolution d’équations différentielles par transformée de LaplaceRésoudre les équations différentielles suivantes à l’aide de la transformée de Laplace :

y(t) + 2y(t) = Γ(t) avec y(0) = 1

y(t) + 5y(t) + 6y(t) = e−7tΓ(t) avec y(0) = y(0) = 0

y(t) + 4y(t) + 8y(t) = 2δ(t) avec y(0) = y(0) = 0

Exercice 1.6 - Théorème de la valeur initiale et théorème de la valeur finaleDéterminer les valeurs initiale et finale des signaux y1(t) et y2(t) ayant comme transformée de Laplace :

Y1(s) =s(3s+ 1)

(s+ 1)2(s+ 2); Y2(s) =

s2 + 5s+ 1

(s2 + 1)(3s+ 1)

1

Page 2: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

TD Automatique n2

H. GarnierJ-M. Rivière

Fonction de transfert de systèmes dynamiques linéaires

Exercice 2.1 - Réponse impulsionnelle de systèmes dynamiquesDéterminer la réponse impulsionnelle des systèmes dynamiques décrits par :

y(t) + 7y(t) + 6y(t) = x(t)

y(t) + 2y(t) + y(t) = x(t)

Exercice 2.2 - Réponse impulsionnelle et fonction de transfertSoient les systèmes dynamiques décrits par les réponses impulsionnelles suivantes :

h(t) = 5e−tΓ(t)

h(t) = e−2tΓ(t) + e−4tΓ(t)

1. Déterminer leur fonction de transfert H(s) = Y (s)X(s) .

2. En déduire leur equation différentielle.

Exercice 2.3 - Equation différentielle et fonction de transfertSoient les systèmes dynamiques décrits par les équations différentielles suivantes :

y(t) + 4y(t) = x(t)

y(t) + 3y(t) + 2y(t) = x(t)

1. Déterminer leur fonction de transfert H(s) = Y (s)X(s) .

2. En déduire leur réponse impulsionnelle.

Exercice 2.4 - Fonction de transfert d’un système électrique

Figure 2.1:

On considère le circuit RLC représenté sur la Figure 2.1. L’équation différentielle liant la tension de sortieVs(t) à la tension d’entrée Ve(t) est :

LCd2Vs(t)

dt2+RC

dVs(t)

dt+ Vs(t) = Ve(t) avec R = Rr +RL

1. Déterminer la fonction de transfert H(s) et représenter ce système sous la forme d’un schéma-bloc.2. Indiquer l’ordre du système, le gain statique, le gain en vitesse, les pôles et les zéros de la fonction de

transfert.

2

Page 3: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Exercice 2.5 - Fonction de transfert d’un système mécaniqueOn considère un système mécanique représenté sur la Figure 2.2. ll est composé d’un ressort de raideursupposée constante k et d’un amortisseur de constante b.

Figure 2.2:

L’équation différentielle de ce système mécanique reliant la position verticale y(t) de la masse (sortie dusystème) et la force extérieure u(t) (entrée du système) exercée sur l’objet est :

my(t) + by(t) + ky(t) = u(t)

1. Déterminer la fonction de transfert H(s) et représenter ce système sous la forme d’un schéma-bloc.2. Indiquer l’ordre du système, le gain statique, le gain en vitesse, les pôles et les zéros de la fonction de

transfert.

Exercice 2.6 - Fonction de transfert d’un système hydraulique

Figure 2.3: Cuve.

On considère une cuve représentée sur la figure 2.3. A partir d’un bilan massique et autour d’un point defonctionnement (H0,Qe0), le débit de sortie qs(t) peut être supposé dépendre linéairement de la hauteur h(t).L’équation liant la variation de hauteur de liquide h(t) dans la cuve en fonction de la variation du débitd’entrée qe(t) prend la forme de l’équation différentielle linéaire ordinaire à coefficients contants suivante :

dh(t)

dt+ ah(t) = bqe(t)

1. Déterminer la fonction de transfert G(s) et représenter ce système sous la forme d’un schéma-bloc.2. Indiquer l’ordre du système, le gain statique, le gain en vitesse, les pôles et les zéros de la fonction de

transfert.

3

Page 4: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

TD Automatique n3

H. GarnierJ-M. Rivière

Algèbre des schéma-blocs

Exercice 3.1 - Schéma-bloc d’un système électromécaniqueL’équation différentielle reliant la vitesse de rotation ω(t) d’un moteur électrique au couple C(t) appliqué,connaissant l’inertie J , le coefficient de frottement f et le couple résistant Cr(t) est :

Jdω(t)

dt+ fω(t) = C(t)− Cr(t)

1. Est-ce un système dynamique linéaire invariant dans le temps ?2. Quel est le signal de sortie, d’entrée et de perturbation ?3. Appliquer la transformée de Laplace à l’équation différentielle et en déduire les fonctions de transfertH(s) et Hr(s) dans l’expression

Ω(s) = H(s)C(s) +Hr(s)Cr(s)

Représenter le système électromécanique sous la forme d’un schéma-bloc.4. Montrer que l’expression précédente peut également s’écrire :

Ω(s) = H(s) (C(s)− Cr(s))

En déduire un nouveau schéma-bloc pour le système électromécanique. Comparer les deux schémas-blocs.

Exercice 3.2 - Simplification de schémas-blocs à entrée uniqueSimplifier les schémas-blocs représentés sur les figures 3.1 à 3.3 et calculer leur fonction de transfert équiva-lente.

Figure 3.1:

Figure 3.2:

4

Page 5: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Figure 3.3:

Figure 3.4:

Exercice 3.3 - Simplification de schémas-blocs à entrées multiplesSimplifier les schémas-blocs représentés sur les figures 3.5 à 3.8 et déterminer l’expression des fonctions detransfert H(s) et HD(s) dans l’expression :

C(s) = H(s)R(s) +HD(s)D(s).

Figure 3.5:

Figure 3.6:

5

Page 6: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Figure 3.7:

Figure 3.8:

6

Page 7: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

TD Automatique n4

H. GarnierJ-M. Rivière

Réponses temporelles de systèmes dynamiques linéaires

Exercice 4.1 - Analyse de deux systèmes en cascadeUn système est composé de deux sous-systèmes en cascade S1 et S2. Le sous-système S1 est décrit par lafonction de transfert

H1(s) =Z(s)

X(s)=s+ 1

s

La sortie z(t) de ce sous-système est l’entrée du sous-système S2 dont le comportement dynamique est régipar l’équation différentielle suivante :

y(t) + 3y(t) + 2y(t) = z(t) + 3z(t) avec y(0) = 0,y(0) = 0,z(0) = 0

1. Déterminer la fonction de transfert H2(s) = Y (s)Z(s) du sous-système S2.

2. Représenter les deux systèmes en cascade sous la forme d’un schéma-bloc.3. Déterminer la fonction de transfert H(s) du système complet.4. Indiquer l’ordre du système complet, son gain statique, son gain en vitesse, ses pôles et ses zéros.5. Déterminer la réponse impulsionnelle du système complet.

Exercice 4.2 - Réponse indicielle d’un système du premier ordreSoit le système décrit par la fonction de transfert

H(s) =2

1 + 10s

1. Préciser le gain statique, le pôle, la constante de temps T et la pulsation de coupure ωc.2. Déterminer la réponse indicielle et calculer la pente à l’origine.3. Calculer les temps de montée T 63%

m et T 95%m ainsi que le temps de réponse T 5%

r .4. Tracer précisément l’allure de la réponse indicielle et indiquer sur le tracé les paramètres caractéris-

tiques calculés au dessus.

Exercice 4.3 - Réponse indicielle d’un système du premier ordre à retardSoit un système du premier ordre ayant un gain statique de 2, une constante de temps de 10 s et un retardpur de 3 s .

1. Donner la fonction de transfert H(s) du système.2. Tracer sans calcul mais de manière précise la réponse indicielle. On indiquera sur le tracé les paramètres

caractéristiques.

Exercice 4.4 - Réponse indicielle d’un système du second ordre sous-amortiSoit le système dont le comportement dynamique est régi par l’équation différentielle suivante :

y(t) + 4y(t) + 8y(t) = 2x(t) avec y(0) = 0,y(0) = 0

1. Déterminer la fonction de transfert H(s) du système.2. Déterminer l’ordre du système, le gain statiqueK, le coefficient d’amortissement z, la pulsation propre

non amortie ω0, les pôles et les zéros.3. Déduire le type de régime pour la réponse indicielle. Calculer la valeur D1% du premier dépassement,

le temps tD1du premier dépassement, le temps de montée T 100%

m , le temps de réponse T 5%r .

4. Tracer l’allure de la réponse indicielle et indiquer sur le tracé les paramètres caractéristiques calculésau dessus.

7

Page 8: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Exercice 4.5 - Identification d’un système à partir de sa réponse temporelleSoit un système à deux entrées et une sortie décrit par :

Y (s) = H1(s)X1(s) +H2(s)X2(s)

Afin de déterminer les fonctions de transfert H1(s) et H2(s), on a relevé expérimentalement la réponsetemporelle du système, représentée sur la figure 4.1, pour les entrées suivantes :

x1(t) = Γ(t) et x2(t) = 2Γ(t− 15)

Figure 4.1:

1. Représenter le système sous la forme d’un schéma fonctionnel.2. Tracer l’évolution temporelle des deux entrées x1(t) et x2(t).3. D’après la réponse obtenue à x1(t), proposer en justifiant un modèle pour H1(s).4. Identifier à partir de la réponse indicielle à x1(t) les différents paramètres de H1(s).5. D’après la réponse obtenue à x2(t), proposer en justifiant un modèle pour H2(s).6. Identifier à partir de la réponse indicielle à x2(t) les différents paramètres de H2(s).

8

Page 9: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

TD Automatique n5

H. GarnierJ-M. Rivière

Réponses fréquentielles de systèmes dynamiques linéaires

Exercice 5.1 - Diagramme de Bode, Nyquist et Black-Nichols d’un système du premier ordreSoit le système décrit par la fonction de transfert

H(s) =Y (s)

X(s)=

2

1 + 0.1s

1. Préciser le gain statique, la constante de temps T et la pulsation de coupure ωc du système.2. Exprimer la réponse fréquentielle H(jω) en fonction de la pulsation de coupure ωc.3. Ecrire H(jω) sous la forme exponentielle complexe et calculer le module et l’argument de H(jω).4. Tracer les diagrammes de Bode en amplitude et en phase asymptotique. En déduire le tracé des

diagrammes réels. Placer la pulsation de coupure.5. Déterminer la réponse y1(t) en régime permanent du système à l’entrée x1(t) = sin(ω1t) pour ω1 = 0,1

rad/s.6. Déterminer la réponse y2(t) en régime permanent du système à l’entrée x2(t) = sin(ω2t) pour ω2 = 100

rad/s.7. Ecrire H(jω) sous la forme algébrique et calculer la partie réelle et la partie imaginaire de H(jω).8. Calculer les parties réelle et imaginaire de H(jω) pour quelques valeurs remarquables de ω et en

déduire en interpolant entre ces valeurs l’allure du diagramme de Nyquist de ce système du premierordre. N’oubliez pas reporter sur le tracé quelques valeurs de ω.

9. Tracer l’allure du diagramme de Black-Nichols de ce système du premier ordre.

Exercice 5.2 - Diagramme de Bode, Nyquist et Black-Nichols d’un système du second ordreSoit le système décrit par la fonction de transfert

H(s) =Y (s)

X(s)=

2

(1 + 0.1s)(1 + s)

1. Préciser le gain statique, les pôles et zéros, les constantes de temps T1 et T2 et les pulsations decoupure ωc1 et ωc2 associées.

2. Ecrire la fonction de transfert sous la forme

H(s) =K

s2

ω20

+ 2z

ω0s+ 1

3. Déterminer la valeur du coefficient d’amortissement z, de la pulsation propre non amortie ω0. Endéduire le type de système.

4. Exprimer la réponse fréquentielle H(jω) en fonction des pulsations de coupure ωc1 et ωc2. Calculer lemodule et l’argument de H(jω).

5. En exploitant les avantages de la représentation proposée par Hendrik Wade Bode, tracer les dia-grammes de Bode en amplitude et en phase asymptotique.

6. Tracer l’allure du diagramme de Nyquist de ce système du second ordre.7. Tracer l’allure du diagramme de Black-Nichols de ce système du second ordre.

Exercice 5.3 - Diagramme de Bode d’un retard purSoit le système dont le comportement dynamique est décrit par :

y(t) = x(t− 10)

9

Page 10: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

1. Déterminer la fonction de transfert H(s) du système.2. Donner la réponse fréquentielle H(jω). Calculer le module et l’argument de H(jω).3. Tracer le module et l’argument de H(jω) en fonction de ω et en déduire le tracé des diagrammes de

Bode en amplitude et en phase.

10

Page 11: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

TD Automatique n6

H. GarnierJ-M. Rivière

Analyse temporelle et fréquentielle des systèmes linéaires sous Matlab

Le travail réalisé durant ce TD fera l’objet d’un compte-rendu qui sera noté. Il est demandé de suivre lesconsignes présentées ci-dessous pour rédiger votre compte-rendu.

Consignes pour la rédaction de votre compte-rendu de TD MatlabUn compte-rendu est un document scientifique. Il doit donc respecter une certaine organisation. Votrecompte-rendu devra être structuré de la manière suivante :

— une introduction générale précisant les objectifs du TP— Pour chaque partie ou exercice :

— une présentation brève des attendus— un rappel ou une présentation (si nécessaire) des résultats théoriques— une description des résultats de simulation sous la forme graphique ou numérique— une analyse critique des résultats en lien avec ceux théoriques attendus— une conclusion brève

— une conclusion générale qui précise ce qui a été compris et retenu lors du TD et les éventuellesdifficultés rencontrées.

— une annexe rassemblant les programmes Matlab qui vous avez développés.

Votre compte-rendu à rédiger obligatoirement en binôme est à envoyer par courriel à l’intervenant sous laforme d’un fichier unique au format pdf joint au message en respectant la date limite d’envoi qui aura étécommuniquée durant la séance de TD.

Introduction à l’analyse des systèmes linéaires sous Matlab

MATLAB possède plusieurs commandes qui permettent de définir une fonction de transfert puis de tracerles réponses temporelles et fréquentielles des systèmes linéaires invariants dans le temps.Vous sauvegarderez l’ensemble de vos commandes Matlab dans un programme td6.m qui débutera ainsi :

% Fichier td6.m% Votre prénom nom% Date du jour

clearclcclose all

s = tf(’s’); % indique que la variable s sera considérée comme la variable de Laplace...

Définition d’une fonction de transfert sous MatlabConsidérons deux fonctions de transfert :

H(s) =2

0.1s+ 1

G(s) =0.2

(s+ 0.1)(s+ 1)

Pour définir une fonction de transfert sous Matlab, plusieurs méthodes sont possibles en fonction de laforme selon laquelle elle est exprimée. Pour H(s), l’expression est développée, le plus simple est de saisirdirectement les coefficients du numérateur et du dénominateur (en puissance décroissante de s) en utilisant

11

Page 12: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

la commande tf :H=tf([2],[0.1 1])H =2––––––––-0.1 s + 1Continuous-time transfer function.

Pour G(s), l’expression est factorisée, le plus simple est de la saisir directement sous cette forme pour éviterd’avoir à faire un développement :G=0.2/((s+0.1)*(s+1))G =0.2––––––––––––––-sˆ 2 + 1.1 s + 0.1Continuous-time transfer function.

La commande zpk permet de saisir une fonction de transfert en indiquant les pôles et les zéros. G(s) auraitainsi pu être définie par la commande suivante :G=zpk([],[-0.1,-1],2)2––––––––––––(s+0.1) (s+1)Continuous-time zero/pole/gain model.

Pour obtenir les pôles d’une fonction de transfert on utilise la commande pole :pole(G)-0.1-1

Pour obtenir les zéros d’une fonction de transfert on utilise la commande zero :zero(G)

Pour tracer le diagramme des pôles et des zéros, on peut utiliser la commande pzplot :pzplot(G);grid on

Réponses temporelles d’un système sous MatlabPour tracer la réponse impulsionnelle d’un système, on peut utiliser la commande impulse :impulse(G);grid on

Pour tracer la réponse indicielle d’un système, on peut utiliser la commande step :step(G);grid on

Pour obtenir les valeurs caractéristiques de la réponse indicielle, on peut utiliser la commande stepinfo :stepinfo(G)struct with fields:RiseTime: 22.1501SettlingTime: 40.1739SettlingMin: 18.0103SettlingMax: 19.9858Overshoot: 0Undershoot: 0Peak: 19.9858PeakTime: 73.5906

Il est possible de modifier la définition par défaut du temps de réponse et du temps de montée de la fonction

12

Page 13: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

stepinfo afin qu’ils correspondent à aux définitions de votre choix.Par exemple les définitions de t5%

r et t63%m du cours peuvent être spécifiés par la commande suivante :

stepinfo(G,’SettlingTimeThreshold’,0.05,’RiseTimeLimits’,[0 0.63])

Réponses fréquentielles d’un système sous MatlabPour tracer le diagramme de Bode d’un système, on peut utiliser la commande bode :bode(G);grid on

On peut également tracer deux diagrammes de Bode sur le même graphique :bode(H,G);grid on

On pourra utiliser la commande legend pour distinguer les réponseslegend(’H’,’G’)

Pour tracer le diagramme de Nyquist d’un système, on peut utiliser la commande nyquist :nyquist(G);grid on

Pour tracer le diagramme de Black-Nichols d’un système, on peut utiliser la commande nichols :nichols(G);grid on

Pour obtenir des informations complémentaires sur une commande, vous pouvez utiliser l’aide de MATLABen utilisant la commande doc :doc bode % permet d’ouvrir la fenêtre d’aide de la commande bode

Réponses d’un système avec LTIVIEWMatlab dispose également d’un outil graphique d’analyse de systèmes linéaires invariants dans le tempsltiview :ltiview(G)Il est alors possible d’indiquer les réponses désirées en sélectionnant le menu edit puis Plot Configurations.

Exercice 6.1 - Analyse d’un système du premier ordre avec les commandes MatlabSoit le système décrit par la fonction de transfert

G(s) =2

1 + 0.1s

1. Tracer le diagramme des pôles et des zéros.2. Tracer la réponse impulsionnelle.3. Tracer la réponse indicielle. Observer sur le tracé le gain statique, la constante de temps ainsi que le

temps de réponse à 5 %.4. Tracer les diagrammes de Bode. Observer sur le diagramme la pulsation de coupure.5. Tracer le diagramme de Nyquist de ce système du premier ordre et vérifier la forme en demi-cercle de

ce dernier.6. Tracer le diagramme de Black-Nichols de ce système du premier ordre.

Exercice 6.2 - Analyse d’un système du premier ordre avec retard pur avec les commandesMatlabAjouter un retard pur au système du premier ordre à l’aide des commandes suivantes :tau=2;G.IODelay=tau;Observer l’influence de la présence de ce retard sur les réponses temporelles et fréquentielles.

Exercice 6.3 - Analyse d’un système du deuxième ordre avec les commandes Matlab

13

Page 14: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Soit le système décrit par la fonction de transfert

G(s) =Kω2

0

s2 + 2zω0s+ ω20

Pour les valeurs suivantes :

K = 1; ω0 = 4; z = 2

K = 1; ω0 = 4; z = 1

K = 1; ω0 = 4; z = 0.5

K = 1; ω0 = 4; z = 0.3

K = 1; ω0 = 4; z = 0.1

K = 1; ω0 = 2; z = 0.1

1. Tracer le diagramme des pôles et des zéros.2. Tracer sur la même figure la réponse impulsionnelle pour les différents valeurs. On pourra utiliser la

commande legend pour distinguer les réponses.3. Tracer sur la même figure la réponse indicielle pour les différents cas de figure.4. Tracer sur la même figure les diagrammes de Bode pour les différents cas de figure.5. Tracer sur la même figure le diagramme de Nyquist pour les différents cas de figure.6. Tracer sur la même figure le diagramme de Black-Nichols pour les différents cas de figure.

Exercice 6.4 - Analyse de systèmes à l’aide de LTIVIEWTracer les réponses temporelles et fréquentielles ainsi que le diagramme des pôles/zéros de systèmes dupremier et du deuxième ordre de votre choix avec l’outil graphique d’analyse de systèmes linéaires invariantsdans le temps ltiview.

Exercice 6.5 - Validation du modèle identifié lors de l’exercice 4.5Les échantillons de la réponse indicielle étudiée lors de l’exercice 4.5 ainsi que les instants d’échantillonnagesont sauvegardés dans le fichier data_ex4_5.mat disponible sur le site web du cours.

Télécharger également le fichier test_de_ton_modele_ex4_5.m.

Indiquer en haut du fichier .m les valeurs numériques des paramètres des deux modèles que vous avezdéterminés.

Exécuter ensuite le programme et évaluer la qualité de vos modèles. Affiner si nécessaire les valeurs desparamètres pour obtenir la meilleure adéquation possible entre les réponses.

Exercice 6.6 - Identification d’un modèle à partir de la réponse indicielle d’un échangeur dechaleurLa réponse indicielle d’un échangeur de chaleur est représentée sur la figure 5.1.

14

Page 15: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Figure 5.1: Réponse indicielle (données réélles) de l’échangeur de chaleur.

Déterminer à partir de cet essai indiciel les paramètres d’un modèle du premier ordre à l’aide de la méthodede votre choix.

Télécharger sur le site du cours les fichiers test_du_modele_echangeur.m. et data_echangeur.mat.

Indiquer en haut du fichier .m les valeurs numériques des paramètres du modèle que vous avez déterminés.

Exécuter ensuite le programme et évaluer la qualité de vos modèles. Affiner si nécessaire les valeurs desparamètres pour obtenir la meilleure adéquation possible entre les réponses.

15

Page 16: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

TD Automatique n7

H. GarnierJ-M. Rivière

Stabilité

Exercice 7.1 - Stabilité à partir de la réponse impulsionnelle d’un systèmeDéterminer la réponse impulsionnelle des systèmes décrits par les fonctions de transfert ci-dessous et endéduire la stabilité des systèmes :

G1(s) =2

s+ 2; G2(s) =

2

s2 + 3s+ 2; G3(s) =

1

s2 + 2s+ 2

G4(s) =2

s2 + 4; G5(s) =

2

s(s+ 2); G6(s) =

2

s2(s+ 2)

Exercice 7.2 - Stabilité à partir des pôlesTracer le diagramme des pôles et des zéros et en déduire la stabilité des systèmes décrits par les fonctionsde transfert suivantes :

G1(s) =2

s+ 2; G2(s) =

2

s2 + 3s+ 2; G3(s) =

1

s2 + 2s+ 2

G4(s) =2

s2 + 4; G5(s) =

2

s(s+ 2); G6(s) =

2

s2(s+ 2)

G7(s) =2(s2 − 2s+ 2)

(s+ 2)(s2 + 2s+ 2); G8(s) =

200

(s+ 2)(s2 − 2s+ 2)

Exercice 7.3 - Stabilité par le critère de Routh-HurwitzEtudier la stabilité des systèmes ayant les équations caractéristiques ci-dessous. Préciser, en cas d’instabilité,le nombre de pôles instables.

a) s3 − 25s2 + 10s+ 450 = 0

b) s3 + 25s2 + 450 = 0

c) s3 + 25s2 + 10s+ 450 = 0

d) s3 + 25s2 + 10s+ 50 = 0

e) s3 + 25s2 + 250s+ 10 = 0

f) 2s4 + 10s3 + 5.5s2 + 5.5s+ 10 = 0

g) s4 + 2s3 + 10s2 + 20s+ 5 = 0

Exercice 7.4 - Plage de stabilité par le critère de Routh-HurwitzSoient les systèmes décrits par les fonctions de transfert suivantes :

G1(s) =K1

s2 + 8s+ 1 +K1

G2(s) =K2

10s3 + 17s2 + 8s+ 1 +K2

G3(s) =s+ 1

s4 +K3s3 + s2 + s+ 1

Déterminer la plage de valeurs de Ki (i = 1,2,3) qui permet de garantir la stabilité de chaque système.

16

Page 17: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

TD Automatique n8

H. GarnierJ-M. Rivière

Régulateur de vitesse d’un véhicule

Le régulateur de vitesse est un bon exemple des nombreuses boucles de contrôle présentes dans les véhiculesautomobiles. Le but est que le véhicule maintienne la vitesse de consigne malgré les perturbations externestelles que le vent ou la pente de la route.

Figure 8.1: Modèle simplifié du véhicule.

On considère un modèle simplifié de la dynamique du véhicule :

my(t) = u(t)− by(t)−mg sin(φ(t))

où y(t) est la vitesse du véhicule (en m/s), u(t) la force de traction à l’interface pneu/route (en N), φ(t)l’angle de la route par rapport à l’horizontale (en rad) (voir figure 8.1).m est la masse du véhicule (m = 1000 kg) et g l’accélération de la pesanteur (g ≈ 10 m/s2). Les forcesrésistives, dues à la résistance au roulement et à la résistance à l’air sont supposées dépendre linéairementde la vitesse (coefficient b = 200 Ns/m) et agissent dans la direction opposée au déplacement.

1. Modélisation1.a. Le modèle décrivant la dynamique du véhicule est-il linéaire ? Justifier.1.b. En supposant que l’angle de la route par rapport à l’horizontale reste faible, linéariser le modèle.Soient Y (s), U(s) et φ(s) les transformées de Laplace de y(t), u(t) et φ(t) respectivement. Montrerque la relation en boucle ouverte s’écrit :

Y (s) = G(s)U(s) +Gφ(s)φ(s)

où G(s) =K

1 + Tset Gφ(s) =

1 + Tφs.

1.c. Représenter le système sous la forme de schémas-blocs et donner les expressions des gainsstatiques K et Kφ et des deux constantes de temps T et Tφ en fonction de m, b et g.

2. Contrôle directe en boucle ouverte2.a. Soit la vitesse de consigne yc(t), de transformée de Laplace Yc(s). On souhaite rouler à la vitesse

de consigne yc(t) = 90 km/h (25 m/s). On suppose dans un premier temps que φ(t) = 0. On choisitde mettre en oeuvre un contrôle direct en boucle ouverte. La loi de commande choisie est :

u(t) = 200yc(t)

Déterminer la fonction de transfert du correcteur.

17

Page 18: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

2.b. Représenter le schéma-bloc en boucle ouverte du contrôle ainsi obtenu.2.c. Déterminer et tracer la réponse à l’échelon de consigne de vitesse. Préciser le temps de réponse

à 5% et la valeur finale de la vitesse. Conclure sur la précision à l’échelon de consigne de vitesse.2.d. Les essais effectués en tunnel pour déterminer le coefficient b se sont mal passés. En fait b = 100

Ns/m. Déterminer et tracer la réponse à l’échelon de consigne si la loi de commande n’est pasmodifiée. Conclure sur l’efficacité en pratique de ce type de commande directe en boucle ouverte.

Contrôle proportionnel (P)3.a. Pour améliorer les performances du régulateur, la vitesse du véhicule est mesurée, comparée à

la vitesse de consigne, désirée, et l’accélérateur est réglé selon la loi de commande suivante :

u(t) = Kp(yc(t)− y(t))

avec Kp=100. Déterminer la fonction de transfert du correcteur C(s) et donner son nom usuel.3.b. Représenter le schéma-bloc en boucle fermée de la régulation de vitesse du véhicule.3.c. Déterminer les fonctions de transfert en boucle ouverte FBO(s) puis en boucle fermée FBF (s).3.d. Déterminer et tracer la réponse à l’échelon de consigne de vitesse yc(t) = 90 km/h (25 m/s)

lorsque la route est plane. Conclure sur la précision du contrôle et déterminer le temps de réponseà 5%.

3.e. Que devient la réponse à l’échelon de consigne de vitesse lorsque Kp=900. Quelles sont leslimites pratiques à cette valeur élevée de gain proportionnel ?

Contrôle proportionnel et intégral (PI)4.a. On choisit de mettre en oeuvre un correcteur proportionnel intégral (PI), de fonction de trans-

fert :C(s) = Kp +

Ki

s=Kps+Ki

s

avec Kp = 500 et Ki = 300.4.b. Déterminer les fonctions de transfert en boucle ouverte FBO(s).4.c. En déduire les fonctions de transfert FBF (s) et Fφ(s) dans la relation :

Y (s) = FBF (s)Yc(s) + Fφ(s)φ(s)

4.d. Déterminer la vitesse en régime permanent à l’échelon de consigne yc(t) = 90 km/h (25 m/s)lorsque la route est plane.

4.e. Les réglages du contrôleur sont conservés. La route, horizontale, se met brusquement à monteravec une faible pente constante φ0, tel que φ(t) = φ0Γ(t). La vitesse est-elle maintenue à la consigneen régime permanent ? Justifier.

4.f. Même question si maintenant la pente augmente constamment tel que φ(t) = φ0 r(t). Justifier.

18

Page 19: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

TD Automatique n9

H. GarnierJ-M. Rivière

Analyse de performances de systèmes bouclés

Exercice 9.1 - Asservissement de position angulaire d’une antenne radarOn considère l’asservissement de position angulaire d’une antenne radar de type ALTAIR représentée sur lafigure 9.1 utilisée pour la poursuite d’objets spatiaux (météorites, astéroïdes, ...).

Figure 9.1:

Un modèle simplifié liant la tension u(t) des moteurs actionnant les vérins et l’angle θ(t) entre l’horizon etla pointe du radar prend la forme de l’équation différentielle suivante :

θ(t) + θ(t) = u(t)

1. Déterminer la fonction de transfert G(s) du système.2. Déterminer l’ordre du système, le gain statique K, le gain en vitesse Kv, les pôles et les zéros.3. Déterminer la réponse impulsionnelle g(t).4. La commande implantée pour réaliser l’asservissement de position est

u(t) = Kp(θc(t)− θ(t))

où θc(t) représente la consigne de position angulaire et Kp est un réel positif.En déduire le schéma-bloc en boucle fermée de l’asservissement de position.

5. Déterminer les fonctions de transfert en boucle ouverte FBO(s) et en boucle fermée FBF (s).6. On choisit Kp = 1. Déterminer le gain statique KBF , le coefficient d’amortissement z, la pulsation

propre non amortie ω0 de la fonction de transfert en boucle fermée.7. Déduire le type de régime pour la réponse indicielle. Calculer les valeurs des 3 premiers dépassements,

les instants d’occurence de ces 3 premiers dépassements ainsi que le temps de réponse à 5%.8. En déduire l’allure de la réponse indicielle et indiquer sur le tracé les paramètres caractéristiques

calculés au dessus.9. On souhaite avoir un premier dépassement inférieur ou égal à 5 %. Déterminer la valeur de Kp qui

permet de respecter cette contrainte. En déduire le temps de réponse à 5%. Conclure sur l’effet del’action proportionnelle sur la rapidité et l’amortissement.

19

Page 20: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Exercice 9.2 - Contrôle de positionnement d’un satelliteOn considère le système de contrôle de l’angle de précession 1 d’un satellite comme, par exemple, celui quiéquipe en version plus complexe le satellite Microscope de la série Miriade 2.Son schéma de contrôle est représenté sur la figure 9.2. θc(t) représente la consigne d’angle de précession dusatellite (en rad), θ(t) est l’angle de précession (en rad) alors que d(t) représente le couple de perturbation(en N.m).

Figure 9.2: Satellite Microscope et son schéma-bloc du contrôle de l’angle de précession

Les valeurs normalisées des paramètres intervenant dans les blocs sont rassemblées dans le tableau ci-dessous :

paramètre unité valeurJ inertie N.ms2/rad 10Kθ gain du capteur de position angulaire V/rad 1

1. Fonctions de transfert en boucle ouverte et en boucle ferméeDéterminer la fonction de transfert en boucle ouverte FBO(s) et les fonctions de transfert FBF (s) et FD(s)dans l’expression :

θ(s) = FBF (s)θc(s) + FD(s)D(s).

2. Performances avec un correcteur POn choisit un correcteur proportionnel P : C(s) = Kp

Etudier la stabilité du système bouclé. Conclusion.

3. Performances avec un correcteur PIOn choisit un correcteur proportionnel PI : C(s) = Kp +

Ki

sEtudier la stabilité du système bouclé. Conclusion.

4. Performances avec un correcteur PDOn choisit un correcteur proportionnel PD : C(s) = Kp +KdsDéterminer les conditions sur Kp et Kd pour lesquelles le système est stable. Etudier la précision à unéchelon de consigne et le rejet d’une perturbation en échelon.

5. Performances avec un correcteur PIDOn choisit un correcteur proportionnel PID : C(s) = Kp +

Ki

s+Kds

Etudier les conditions sur Kp, Ki et Kd qui garantissent la stabilité du système bouclé. Etudier la précisionà un échelon de consigne et le rejet d’une perturbation en échelon.

1. La précession est le nom donné au changement graduel d’orientation de l’axe de rotation d’un objet sous l’action del’environnement, par exemple, quand un couple lui est appliqué. Ce phénomène est aisément observable avec une toupie maistous les objets en rotation peuvent subir la précession. Lors de la précession, l’angle que fait l’axe de rotation avec une directiondonnée reste fixé. L’axe de rotation décrit ainsi au cours du temps un cône dont l’axe est la direction fixée.

2. Pour plus d’informations sur la mission du satellite Microscope, consulter le sitejack35.wordpress.com/2016/04/18/microscope-lexperience-de-physique-ultime-video/

20

Page 21: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

TD Automatique n10

H. GarnierJ-M. Rivière

Synthèse de correcteurs PID

Rappel : Synthèse par la méthode du modèle de référenceSoit le système bouclé à retour unitaire représenté sur la figure ci-dessous. Le système décrit par G(s) estcommandé par un correcteur C(s) dont on cherche à déterminer la forme puis le réglage.

+-

Yc(s)C(s)

ε(s)G(s)

U(s) Y (s)

Le système bouclé est décrit par la fonction de transfert :

FBF (s) =Y (s)

Yc(s)=

C(s)G(s)

1 + C(s)G(s)

Une technique de synthèse de correcteurs consiste à imposer la fonction de transfert du système bouclé égaleà une fonction de transfert de référence Fref (s) de telle sorte que certains critères de performances soientremplis.Ensuite, les paramètres du correcteur sont déduits afin que l’égalité entre les deux fonctions de transfert enboucle fermée soit respectée.

FBF (s) = Fref (s)

Typiquement, la fonction de transfert imposée prend la forme d’un système du premier ou du second ordre.

Exercice 10.1 - Choix et réglages de correcteurs PID dans le cas d’un système du 1er ordreL’objectif est de commander un système du premier ordre décrit par :

G(s) =Y (s)

U(s)=

K

1 + Ts

avec K = 0.7 et T = 0.1 s.Vous avez à votre disposition un des trois correcteurs suivants : P, PI, PD à action dérivée filtrée. La formegénérale de la fonction de transfert d’un correcteur PID à action dérivée filtrée est rappelée ci-dessous :

C(s) = Kp

(1 +

1

Tis+

Tds

1 + Td

N s

)

avec N ≥ 10

1. Tracer la réponse indicielle du système du premier ordre. Déterminer le temps de réponse à 5%.2. Calculer la valeur du paramètre du correcteur P pour avoir l’égalité :

FBF (s) =C(s)G(s)

1 + C(s)G(s)=

0.9

1 + T10s

Tracer la réponse indicielle du système bouclé avec ce correcteur P. Conclure sur la précision à unéchelon de consigne et déterminer le temps de réponse à 5%.

21

Page 22: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

3. Calculer les valeurs des paramètres du correcteur PI pour avoir l’égalité :

FBF (s) =C(s)G(s)

1 + C(s)G(s)=

1

1 + T10s

Tracer la réponse indicielle du système bouclé avec ce correcteur PI. Conclure sur la précision à unéchelon de consigne et déterminer le temps de réponse à 5%.

4. Calculer les valeurs des paramètres du correcteur PI pour avoir l’égalité :

FBF (s) =C(s)G(s)

1 + C(s)G(s)=

−0.2s+ 1T2 s

2 + 0.3s+ 1

Tracer la réponse indicielle du système bouclé avec ce correcteur PI. Conclure sur la précision à unéchelon de consigne et déterminer le temps de réponse à 5%.

5. Calculer les valeurs des paramètres du correcteur PD (lorsque N = 10) pour avoir l’égalité :

FBF (s) =C(s)G(s)

1 + C(s)G(s)=

0.45

1 + T20s

Tracer la réponse indicielle du système bouclé avec ce correcteur PD. Conclure sur la précision à unéchelon de consigne et déterminer le temps de réponse à 5%.

22

Page 23: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

TD Automatique n11

H. GarnierJ-M. Rivière

Contrôle du système de propulsion du train de voyageursde Space Mountain à DisneyLand Paris

Space Mountain (en français, «montagne de l’espace») est l’une des attractions phares des parcs à thèmesde Disney.Il s’agit d’une attraction de montagnes russes à grande vitesse enfermées dans un chapiteau. L’attractionpropose aux visiteurs un voyage en direction de la Lune, comme pour les héros de l’œuvre de Jules Verne«De la Terre à la Lune». C’est pourquoi, originalité propre à la version parisienne, le train de passagers estpropulsé au sommet de la montagne.Le système de lancement, évoquant un canon (voir figures 11.1 et 11.2), est en fait une catapulte à propulsionélectrique de type porte-avions. Un pousseur vient en contact avec le train afin de le propulser. Le contrôledu système de propulsion de la catapulte de Space Mountain fait l’objet de cet exercice.

Figure 11.1: Space Mountain - DisneyLand Paris

Un extrait du cahier des charges pour la réalisation du système de lancement représenté schématiquementsur la figure 11.3 est décrit dans le tableau ci-dessous :

Exigence Critères d’appréciation NiveauPropulser en toute sécurité un train de passa-gers vers le haut de la montagne russe

Durée du cycle de lance-ment

30 s maxi

Fréquence de lancement 1 toute les 36sMasse propulsée 7500 kg maxiInclinaison de la voie 32Maintien en position frein de parkingVitesse de propulsion 14 m/s maxiAccélération 8 m/s2 mini ± 1 m/s2

23

Page 24: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Figure 11.2: Schéma de la catapulte

Figure 11.3: Schéma du lanceur

Comme nous le verrons plus loin, la propulsion du train de voyageurs est réalisée par un couplage demoteurs électriques à courant continu.

Partie A - Etude préliminaire : modélisation d’un moteur à courant continuLes moteurs à courant continu sont couramment utilisés pour l’entraînement à vitesse variable des machines.Très faciles à miniaturiser, ils s’imposent dans les très faibles puissances. Le moteur universel, favori deséquipements électroménagers et du petit outillage est par exemple dérivé d’une machine à courant continu.

24

Page 25: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

On les rencontre également dans des applications très diverses, par exemple :— moteurs de jouet (très faible puissance, alimentation par pile)— moteurs d’équipement automobile (essuie-glace, ventilateur, ...)

Ils se prêtent également fort bien à la variation de vitesse avec des technologies électroniques simples pourdes performances élevées et jusqu’à des puissances importantes comme c’est le cas pour le système depropulsion étudié ici.

A.1 - Modèle de connaissance d’un moteur à courant continu

L i(t) R

u(t) e(t)

Jeq

ωm(t),cm(t)cr(t)

Figure 11.4: Moteur à courant continu

Les équations décrivant le comportement dynamique d’un moteur électrique à courant continu représentésur la figure 11.4 sont les suivantes :Equation électrique

u(t) = R i(t) + Ldi(t)

dt+ e(t) (1)

Equation mécanique (lorsque les frottements visqueux sont négligés)

Jeqdωm(t)

dt= cm(t)− cr(t) (2)

Equations de l’électromagnétisme

cm(t) = Kt i(t) (3)e(t) = Ke ωm(t) (4)

où— u(t), la tension aux bornes du moteur (entrée du système) (en V) ;— e(t), la force contre-électromotrice (en V) ;— i(t), le courant (en A) ;— ωm(t), la vitesse de rotation du moteur (sortie du système) (en rad/s) ;— cm(t), le couple moteur (en N.m) ;— cr(t), le couple résistant (perturbation du système) (en N.m) ;

et les paramètres :— R, la résistance du moteur (en Ω) ;— L, l’inductance du moteur (en H) ;— Jeq, l’inertie de l’arbre moteur (en kg.m2) ;— Ke, la constante de force contre-électromotrice ( V.s/rad) ;— Kt, la constante de couple (en N.m).

1. A partir des équations (1) à (4) exprimées dans le domaine de Laplace, construire le schéma-bloc dumodèle de connaissance d’un moteur à courant continu ayant comme entrée U(s), sortie Ωm(s) etperturbation Cr(s).Il faut bien noter que ce schéma-bloc ne constitue une boucle d’asservissement mais seulement leschéma-bloc du modèle de connaissance du moteur à courant continu.

2. Déterminer les fonctions de transfert F (s) et FCr (s) dans l’expression :

Ωm(s) = F (s)U(s)− FCr(s)Cr(s)

25

Page 26: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

A.2 - Identification d’un modèle de comportement du moteur à courant continuAfin d’identifier un modèle de comportement du moteur, on a réalisé un essai temporel à vide (cr(t) = 0) enappliquant un échelon de tension u(t) = U0 Γ(t) avec U0 = 700V.La réponse indicielle est représentée sur la figure 11.5.

Figure 11.5: Réponse indicielle d’un des moteurs du système de propulsion du train de voyageurs

1. Déterminer le temps de réponse à 5%.2. On choisit de modéliser le moteur à courant continu par un système simple du 1er ordre. Déterminer

les paramètres Km et Tm du modèle ayant comme fonction de transfert :

F (s) =Km

1 + Tms

3. Déterminer ωm(t), la réponse indicielle pour u(t) = U0 Γ(t) avec U0 = 700V.4. Tracer l’allure de la réponse indicielle sur la figure 11.5. Préciser les points particuliers.

Partie B - Etude du système de propulsion du train de voyageurs

L’entraînement du tambour qui actionne le cable attaché au train de voyageurs est réalisé par l’associationde deux moteurs montés en tandem selon le schéma présenté sur la figure 11.6.

Figure 11.6: Schéma de la motorisation de la catapulte

Les moteurs à courant continu M1 et M2 ont des commandes séparées. Pour chacun des moteurs, on utiliserale modèle classique, linéaire et continu du moteur à courant continu introduit dans la partie A.La vitesse de rotation ωm(t) du tambour est mesurée à l’aide d’une dynamo tachymétrique fournissant unetension v(t) proportionnelle à la vitesse de rotation : v(t) = Kωm(t). On supposera K = 1 dans la suite.

26

Page 27: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

On note :— u1(t) et u2(t) les tensions respectives des moteurs M1 et M2 ;— i1(t) et i2(t) les courants respectifs ;— e1(t) et e2(t), les forces contre-électromotrices respectives ;— cm1(t) et cm2(t), les couples moteurs respectifs ;— cr(t), le couple résistant, cr = 22200 N.m ;— ωm(t), la vitesse de rotation des deux moteurs montés en tandem ;

et les paramètres :— R1 et R2, les résistances respectives des moteurs M1 et M2 ;— L1 et L2, les inductances respectives ;— Ke1 et Ke2, les constantes respectives de force contre-électromotrice ;— Kt1 et Kt2, les constantes respectives de couple ;— Jeq, l’inertie équivalente de l’ensemble de la transmission ramenée à l’arbre moteur.

B.1 - Modélisation du système de propulsion à moteurs électriquesLa motorisation complète peut être décrite par le schéma-bloc de la figure 11.7.

Figure 11.7: Schéma-bloc de la motorisation de la catapulte

1. Montrer, par la méthode de votre choix, que la transformée de Laplace de la vitesse de rotation peuts’écrire :

Ωm(s) = F1(s)U1(s) + F2(s)U2(s)− FCr (s)Cr(s)

avec

F1(s) =Kt1(R2 + L2s)

D(s); F2(s) =

Kt2(R1 + L1s)

D(s); FCr

(s) =(R1 + L1s)(R2 + L2s)

D(s);

etD(s) = Jeqs(R1 + L1s)(R2 + L2s) +Kt1Ke1(R2 + L2s) +Kt2Ke2(R1 + L1s)

2. On suppose dans la suite du sujet que les deux moteurs sont strictement identiques (Ke1 = Ke2,Kt1 = Kt2, R1 = R2, L1 = L2) et commandés par une même tension commune U(s) telle queU1(s) = U2(s). Montrer que la relation de transfert de la vitesse de rotation se simplifie.

3. En comparant cette fonction de transfert avec celle trouvée pour la fonction de transfert d’un moteurà courant continu seul, montrer que cette motorisation est équivalente à un moteur unique dont onprécisera les paramètres Ke, Kt, R, L.

27

Page 28: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

B.2 - Contrôle du système de propulsion électrique

On donne : Ke1 = Ke2 = 22 V.s/rad, Kt1 = Kt2 = 22 N.m, R1 = R2 = 0,03 Ω, L1 = L2 = 7,2 × 10−4 H,U1max = U2max = 700V, Jeq = 3600 kg.m2.Pour la suite, compte tenu des valeurs numériques, on admet que l’asservissement de vitesse prend la formedu schéma-bloc représenté sur la figure 11.8 avec

F (s) =17

(s+ 13)(s+ 28), FCr

(s) = 0,380,03 + 7,2× 10−4s

(s+ 13)(s+ 28).

On considère que la génératrice tachymétrique a un gain unitaire.

Figure 11.8: Schéma-bloc de la motorisation de la catapulte

1. Déterminer Ωm(s) en fonction de Ωc(s), Cr(s), F (s), FCr(s) et Cr(s) (ne pas développer).

2. Pour la suite, on considère que cr(t) = 0. On choisit pour C(s) un correcteur PI, de fonction detransfert

C(s) = Kp

(1 + Tis

Tis

)avec Ti =

1

13.

3. Déterminer la fonction de transfert en boucle ouverte FBO(s) =Ωm(s)

ε(s)en fonction de Kp. Montrer

que l’on peut la mettre sous la forme

FBO(s) =KBO

s(s+ a)

4. Déterminer la fonction de transfert en boucle fermée FBF (s) =Ωm(s)

Ωc(s). Préciser son ordre.

5. Déterminer Kp afin que

FBF (s) =KBF

(s+ b)2

Quel est l’intérêt de ce choix ?6. On applique une consigne ωc(t) = Ω0 Γ(t) avec Ω0 = 30rad/s. Montrer que

Ωm(s) =KBFΩ0

s(s+ b)2

7. Justifier que Ωm(s) puisse également s’écrire :

Ωm(s) =A

(s+ b)2+

B

s+ b+C

s

Déterminer les constantes A, B et C et en déduire ωm(t).8. Tracer l’allure de la réponse indicielle, pour Ω0 = 30rad/s. On calculera quelques valeurs simples :t = k × 1

b , pour k ∈ [1,3,5]).9. Déterminer le temps de réponse à 5%. Conclure.

28

Page 29: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

TD Automatique n12

H. GarnierJ-M. Rivière

Contrôle PID sous Simulink.Application au contrôle de l’angle de précession d’un satellite

Partie A - Introduction à Simulink

Simulink est l’interface graphique de MATLAB qui permet de s’affranchir du code et de la syntaxeindispensable à la saisie des lignes de commandes MATLAB. Simulink possède des bibliothèques de blocs,regroupés dans des Blocksets (par exemple Simulink Control Design pour la synthèse de commande).Simulink contient ainsi toute une palette d’outils très évolués pour le contrôle des systèmes asservis.

Simulink propose une approche causale de la modélisation. Le comportement dynamique d’un sys-tème est caractérisé par un bloc contenant, par exemple, la fonction de transfert du système avec une entréeet une sortie. L’information circulant dans les connexions entre deux blocs est un signal numérique orienté.La sortie du bloc est calculée numériquement en déterminant pour chaque pas de calcul la transformationdu signal d’entrée imposé par le contenu du bloc.Cette approche largement utilisée, nécessite une parfaite connaissance des lois physiques qui caractérisentle comportement des systèmes. Toute phase de modélisation commence par l’écriture des équationsdifférentielles caractéristiques du phénomène physique étudié et l’obtention des fonctions de transfert detous les sous-systèmes élément le système étudié. La figure 12.1 présente un modèle Simulink et la figure12.2 montre les résultats obtenus.

Figure 12.1: Exemple de schéma-bloc saisi sous Simulink

Figure 12.2: Visualisation des résultats de simulation sous Simulink dans un bloc Scope

29

Page 30: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Plusieurs Webinar d’introduction à Simulink sont disponibles sur le site de Mathworks. Vous pouvez parexemple visionner celle en français d’une vingtaine de minutes disponible à l’adresse :https://fr.mathworks.com/videos/introduction-to-simulink-french-88974.htmlIl faut pour pouvoir lancer la vidéo donner son adresse électronique et répondre à un petit questionnaire.Visionnez la vidéo en prenant des notes sur les points essentiels qui sont résumés ci-dessous.

A.1 - Un exemple pour commencer

Démarrer Matlab, puis lancer Simulink en tapant Simulink dans la fenêtre Command de Matlab ou bien encliquant sur l’icône Simulink qui se trouve au milieu du bandeau supérieur de la fenêtre de Matlab.Une fenêtre s’ouvre alors comme celle représentée sur la Figure 12.3.

Figure 12.3: Fenêtre à l’ouverture de Simulink (version 2017a de Matlab)

Pour avoir un aperçu rapide de l’utilisation de Simulink, cliquez sur Simple Simulation puis cliquez sur laflèche verte au milieu du bandeau supérieur de la fenêtre, pour lancer la simulation.Cliquez sur le bloc Scope pour visualiser le résultat de la simulation. Analysez chaque signal tracé puiscliquez sur le bloc Saturation pour fixer à +1 et -1 les limites hautes et bases. Relancez la simulation pourobserver les modifications sur les tracés du bloc Scope.Il est donc très simple de construire un schéma-bloc, de définir chacun des blocs et de lancer la simulationpour visualiser les signaux d’entrée et de sortie.

A.2 - Prise en main de Simulink

Revenez à la fenêtre principale de Simulink. Cliquez sur le bouton Library Browser dans le bandeausupérieur de la fenêtre principale de Simulink. Une fenêtre s’ouvre alors avec l’ensemble des éléments deSimulink, représentée sur la Figure 12.4.

17 bibliothèques de Simulink apparaissent, dont 3 uniquement vont nous être particulièrement utiles :• Commonly Used Blocks, qui, comme son nom l’indique, regroupe les éléments que vous serez amenés

à utiliser le plus souvent ;

30

Page 31: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

• Continuous, qui regroupe les éléments permettant de modéliser les systèmes dynamiques continus ;• Sources, qui regroupe les différents types de consignes qu’il est possible d’imposer au modèle.

Figure 12.4: Les différentes bibliothèques de Simulink

Nous allons passer en revue les éléments principaux de ces 3 bibliothèques qui vont nous être utiles.• Commonly Used Blocks, les éléments de cette bibliothèque sont représentés sur la Figure 12.5.

Figure 12.5: Eléments de la bibliothèque Commonly Used Blocks

— Constant : ce bloc n’a aucune entrée et une sortie unique. Il modélise une consigne constante.L’amplitude de la constante peut être modifiée en cliquant sur l’élément.

— Gain : ce bloc possède une entrée et une sortie. Il modélise un gain pur, au sens où la sortie dubloc est égale au produit de son entrée par le gain de l’élément. Ce gain peut être un scalaire ouune matrice.

— Integrator : ce bloc possède une entrée et une sortie. Il modélise un intégrateur. La sortie dubloc est donc l’intégrale du signal d’entrée.

— Mux : ce bloc possède au moins 2 entrées et une sortie. Il modélise un multiplexeur permettantde regrouper plusieurs entrées sur une seule sortie. Cet élément est particulièrement utile pour

31

Page 32: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

visualiser plusieurs signaux sur un même écran (par exemple, la sortie régulée et la consigne, afinde voir si le système est précis). Le nombre d’entrées peut être choisi dans les paramètres du bloc.

— Scope : ce bloc a une seule entrée et aucune sortie. Il modélise un écran d’oscilloscope affichantle signal en entrée, ou les signaux en entrée si un multiplexeur se trouve en amont.

— Sum : ce bloc possède au moins 2 entrées et une sortie. Il permet de générer une sortie qui est lerésultat d’une opération (par défaut une somme) sur ses entrées, nous l’utiliserons donc dès qu’onaura besoin d’un comparateur (et donc pour tous les systèmes asservis). Les opérations à effectuersur les entrées peuvent être choisies dans les paramètres du bloc. Cet élément possède, par défaut,3 entrées qui correspondent aux trois faces libres du bloc (haut, gauche, bas dans cet ordre), lapremière (en haut) étant désactivée à l’aide du symbole | tandis que les deux autres sont ajoutéesentre elles à l’aide du symbole +. Il est possible de bloquer (symbole |), additionner (symbole +)ou soustraire (symbole -) l’une de ces entrées, ou même d’ajouter des entrées supplémentaires.

• Continuous : les éléments de cette bibliothèque sont représentés sur la Figure 12.6.

Figure 12.6: Eléments de la bibliothèque Continuous

— Integrator : il s’agit du même élément que celui de la bibliothèque Commonly Used Blocks ;— PID Controller : ce bloc modélise un correcteur PID avec un gain proportionnel P , un gain

intégral I, un gain dérivé D et un coefficient N pour la correction dérivée filtrée ;— Transfer Fcn : ce bloc permet de définir une fonction de transfert à l’aide des polynômes de son

numérateur et de son dénominateur.— Transport Delay : ce bloc modélise un retard pur entre l’entrée et la sortie. La valeur du retard

peut être spécifiée dans les paramètres du bloc ;— Zero-Pole : ce bloc permet de définir une fonction de transfert à partir de ses zéros et de ses

pôles.• Sources : les éléments de cette bibliothèque sont représentés sur la Figure 12.7.

Figure 12.7: Eléments de la bibliothèque Sources

— Constant : il s’agit du même élément que celui de la bibliothèque Commonly Used Blocks ;

32

Page 33: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

— Ramp : ce bloc modélise une consigne en rampe. La pente de la rampe, sa valeur initiale et unéventuel retard peuvent être choisis dans les paramètres du bloc ;

— Sine Wave : ce bloc modélise une consigne sinusoïdale. Ses paramètres sont l’amplitude de lafonction, sa composante continue (bias), sa pulsation (frequency) et son déphasage (phase) ;

— Step : ce bloc modélise un échelon. Il est différent du bloc Constant car le bloc Constant modéliseun échelon de valeur initiale 0 et de valeur finale souhaitée alors que, pour un bloc Step, les valeursinitiale et finale peuvent être choisies, de même qu’un éventuel retard (step time).On peut remarquer que la bibliothèque Sources ne contient aucun élément permettant de modéliserune impulsion de Dirac. Cela est dû au fait que l’impulsion de Dirac n’est pas physiquementréalisable.

A.3 - Saisie d’une fonction de transfert sous SimulinkIl existe deux manières de définir une fonction de transfert sous Simulink, à l’aide des deux éléments de labibliothèque Continuous décrits précédemment :

— la première consiste à définir la fonction de transfert à l’aide des polynômes situés au numérateuret au dénominateur de la fonction de transfert en utilisant le bloc Transfer Fcn. Il suffit pour celade renseigner, dans les paramètres du bloc, les polynômes au numérateur et au dénominateur. Si cespolynômes ont déjà été définis sous Matlab (par exemple, à l’aide des variables num et den), il suffitalors de renseigner les variables dans les paramètres du bloc ;

— la deuxième manière consiste à définir la fonction de transfert à l’aide de ses zéros, de ses pôles et deson gain, en utilisant le bloc Zero-Pole. Là encore, si les zéros, pôles et gain de la fonction de transfertont déjà été définis sous Matlab, il suffit de renseigner les variables définies dans les paramètres dubloc.

A.4 - Saisie d’un schéma-bloc sous SimulinkLa saisie d’un schéma-bloc sous Simulink est très simple. Il suffit de définir les différentes fonctions de transfertdont vous avez besoin, de placer le ou les comparateurs, la consigne (et éventuellement la perturbation) etle Scope en sortie pour visualiser la réponse du système (et éventuellement sa consigne, en utilisant unmultiplexeur). Et ensuite, vous n’avez plus qu’à relier les éléments les uns aux autres en tirant, avec lasouris, sur les liens (représentés par des flèches) qui se trouvent en entrée ou en sortie des différents éléments,Simulink liant automatiquement les liens entre eux dès lors qu’ils sont suffisamment proches.

A.5 - Simulation de la réponse temporelle sous SimulinkIl est possible de tracer la réponse indicielle, à une rampe, ou harmonique (à une consigne sinusoïdale) d’unsystème à l’aide de Simulink. En revanche, comme nous l’avons remarqué plus haut, il est impossible dedéterminer la réponse impulsionnelle puisque l’impulsion de Dirac n’est pas physiquement réalisable et doncnon modélisable sous Simulink.Il suffit de placer en entrée du système le bloc associé à la réponse souhaitée : un échelon pour une réponseindicielle, une rampe pour une réponse en rampe, une consigne sinusoïdale pour une réponse harmonique.En utilisant en sortie un multiplexeur et un scope, il est ensuite possible de faire apparaître sur un mêmeécran la consigne et la sortie du système bouclé.Pour cela, il suffit de cliquer sur le bouton Run dans le bandeau supérieur de la fenêtre du schéma-blocpour lancer la simulation, puis de double-cliquer sur le scope.La durée de la simulation peut être modifiée en cliquant sur le bouton Model Configuration parameters .Cependant, une fois ces courbes tracées, il est impossible de déterminer avec précision les coordonnées d’unpoint de la courbe, ou même le temps de réponse du système. Il est juste possible de zoomer ou de dézoomer.

Partie B - Contrôle de l’angle de précession d’un satellite sous Simulink

On considère le contrôle de l’angle de précession d’un satellite étudié lors du TD n9.Son schéma de contrôle est rappelé sur la figure 12.8. θc(t) représente la consigne d’angle de précession dusatellite (en rad), θ(t) est l’angle de précession (en rad) alors que d(t) représente le couple de perturbation(en N.m).

33

Page 34: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Figure 12.8: Schéma-bloc du contrôle de l’angle de précession

Les valeurs normalisées des paramètres intervenant dans les blocs sont rassemblées dans le tableau ci-dessous :

paramètre unité valeurJ inertie N.ms2/rad 10Kθ gain du capteur d’angle V/rad 1

Dans les schéma-blocs à construire plus bas, le correcteur pourra être défini à partir d’un bloc Transfer Fcn(recommandé ici) ou bien à partir du bloc PID Controller.

Après avoir lancé Simulink, sélectionnez Blank...Model dans la fenêtre principale. Une fenêtre s’ouvre danslaquelle vous allez pouvoir saisir vos schémas-blocs.Pour construire votre schéma-bloc, il suffit d’aller chercher les blocs désirés dans les différentes bibliothèquesdisponibles.Ces blocs peuvent être insérés dans votre fenêtre de travail soit en utilisant la méthode du « copier-coller »soit en faisant glisser le bloc d’une fenêtre à une autre à l’aide de la souris.Pour relier deux blocs il vous faut pointer avec la souris sur la pointe du bloc et en laissant enfoncerle bouton droit de la souris un trait apparaîtra. Vous pointerez alors sur la face gauche du second blocau niveau d’une flèche, vous pourrez alors relâcher le bouton de votre souris, si vous avez bien suivi cesinstructions un trait entre les deux blocs indiquera que vous avez réussi votre connexion.

Avant de lancer la simulation, il faut impérativement définir les paramètres de votre simulation : instant dedébut de simulation, instant de fin de simulation, période de simulation, méthode de simulation numériqueutilisée... Pour cela, il faut aller dans le menu « Simulation » puis sur « parameters » et spécifier lesparamètres adaptés à votre simulation. Cette étape est cruciale car de mauvaises valeurs peuvent conduireà une simulation complètement erronée. Pour lancer ensuite votre simulation il suffit d’aller dans le menu «Simulation » et de sélectionner « start ».Si des blocs de visualisation (graph, scope,...) sont présents dans votre schéma-bloc, veillez à configurerceux-ci en fonction des paramètres de votre simulation.

1 Correcteur ProportionnelOn choisit un correcteur proportionnel : C(s) = Kp. La fonction de transfert en boucle fermée (avecD(s) = 0)devient :

FBF (s) =Kp

10s2 +Kp

Cette fonction de transfert est du 2e ordre avec un coefficient d’amortissement z = 0, sa réponse indicielleprésentera donc des oscillations entretenues (figure 12.9) : système à la limite de stabilité.

1. Mettre en évidence les pôles nuls de FBF (s).2. Construire le schéma-bloc du système asservi avec Kp = 1.3. Pour une consigne de position en échelon et un couple de perturbation nulle, vérifier que la réponse

est conforme à celle de la figure 12.9.4. Quelle que soit la valeur retenue pour Kp, on aura toujours z = 0. Le correcteur proportionnel ne peut

donc pas être employé seul pour stabiliser la réponse en boucle fermée. Vérifier que les oscillationssont diminuées (resp. augmentées) quand on diminue Kp (resp. dans on augmente Kp).

34

Page 35: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

0 5 10 15 20 25 30 35 40 45 50 55 600

0.5

1

1.5

2

t

θ c(t

)/θ(t)

Figure 12.9:

2 Correcteur Proportionnel IntégralOn choisit un correcteur proportionnel intégral :

C(s) = Kp +Ki

s= Kp +

1

sTiavec Ki =

1

Ti(Ti s’exprime en secondes)

La fonction de transfert en boucle fermée (avec D(s) = 0) devient :

FBF (s) =C(s)G(s)

1 + C(s)G(s)=

sKp +Ki

s× 1

10s2

1 +sKp +Ki

s× 1

10s2

=sKp +Ki

10s3 + sKp +Ki

Par application du critère de Routh, on serend compte que le correcteur PI, ne permetpas non plus de stabiliser l’asservissementen boucle fermée.

s3 10 Kp

s2 0 Ki

s1 0 0s0 0 0

1. A l’aide de Matlab, déterminer les pôles de FBF (s). Conclure sur la stabilité en BF.2. Construire le schéma-bloc du système asservi avec Kp = 1 et Ki = 1.3. Pour une consigne de position en échelon et un couple de perturbation nulle, vérifier que la réponse

diverge.

3 Correcteur Proportionnel DérivéOn choisit un correcteur proportionnel dérivé :

C(s) = Kp +sTd

1 + sTdN

(Td s’exprime en secondes et N > 1)

La fonction de transfert en boucle fermée (avec D(s) = 0) devient :

FBF (s) =C(s)G(s)

1 + C(s)G(s)=

[Kp +

sTd

1 + sTd

N

]× 1

10s2

1 +

[Kp +

sTd

1 + sTd

N

]× 1

10s2

=

Kp

(1 + s

TdN

)+ sTd

10TdNs3 + 10s2 + sTd

(1 +

Kp

N

)+Kp

1. Construire le schéma-bloc du système asservi (figure 12.10) avec Kp = 1, Td = 1 et N = 10.2. Pour une consigne de position en échelon et un couple de perturbation nulle, visualiser la réponse du

système bouclé corrigé et la commande appliquée.3. Vérifier que l’erreur de position est nulle. Comment expliquer cela ?

35

Page 36: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Par application du critère de Routh, ondétermine les conditions de stabilité de laboucle fermée :

Kp > 0 et Td > 0

s3 10TdN

(1 +

Kp

N

)Td

s2 10 Kp

s1

10

(1 +

Kp

N

)Td − 10

TdNKp

10= Td 0

s0 Kp 0

Correcteur PD

Figure 12.10:

3.1 Vérification des actions proportionnelle et dérivée3.1.1 Action proportionnelle

1. L’action proportionnelle permet d’accélérer la réponse du système bouclé. Vérifier cela en diminuant,puis en augmentant la valeur de Kp.Remarque : On retiendra également qu’une augmentation de l’action proportionnelle permet de réduirel’erreur de position (on ne l’observe pas ici), mais a tendance à rendre le régime transitoire de plusen plus oscillant. Les TDs 9 et 10 ont mis en évidence la réduction de l’erreur de position par l’actionproportionnelle.

3.1.2 Action dérivée

1. Remettre la valeur de Kp = 1. Observer l’effet d’une augmentation, puis d’une diminution de l’actiondérivée sur la réponse du système bouclé.

2. La figure 12.11 montre les diagrammes de Bode (réels et asymptotiques) du correcteur PD idéal :C(s) = 1 + sTd. En raisonnant à partir du tracé de la phase, exposer l’un des apports d’un telcorrecteur.

3. On note sur le tracé du gain du correcteur une pente de +20 dB/dec. Cette caractéristique permetd’augmenter la bande passante du système corrigé et par conséquent le rendant plus rapide. En effetle déplacement vers les hautes fréquences de la pulsation de coupure qui caractérise la bande passante,se traduit par une diminution des caractéristiques temporelles du système, comme le temps de réponse

à 5%. Rappelons par exemple, que pour un système du 2e ordre, T 5r % ≈ 3

zω0. On règle généralement

le paramètre Td en fonction de la bande passante du système.Vérifier l’effet de l’action dérivée du correcteur en diminuant, puis en augmentant le paramètre Td.Mettre en évidence l’effet d’une valeur excessive et d’une valeur insuffisante.

4. Ajuster les paramètres Kp et Td selon vos observations précédentes, afin d’obtenir une réponse la plusrapide possible et présentant un seul dépassement dans le régime transitoire. Observer également lacommande appliquée.

5. Appliquer en régime permanent de la réponse indicielle, la perturbation d(t) = −0,2Γ(t− t0) (t0 estl’instant d’application de la perturbation, par rapport à t = 0, une fois le régime permanent atteint).Expliquer l’allure de la réponse.

36

Page 37: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

0

20

40

60

+20 dB/dec

Magnitude

(dB)

10−2 10−1 100 101 1020

45

90

Pha

se(deg)

Figure 12.11:

4 Correcteur Proportionnel Intégral DérivéOn choisit un correcteur proportionnel intégral dérivé :

C(s) = Kp +Ki

s+

sTd

1 + sTdN

Matlab propose un bloc PID dont la fonction detransfert est :

C(s) = Kp +Ki

s+Kd

s

1 + s1

N

= Kp +Ki

s+Kd

Ns

N + s

N Kd

1

s

Kp

Ki1

s

Ecart +

+

+

-

+ Commande

37

Page 38: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

1. La figure 12.12 montre les diagrammes de Bode (réels et asymptotiques) du correcteur PI : C(s) =

1 +1

sTi. En raisonnant à partir du tracé du gain, exposer l’un des effets de l’action intégrale.

2. Quelle est la conséquence de l’action intégrale sur la bande passante et par conséquent sur la rapidité ?3. En raisonnant à partir du diagramme de phase, quel autre effet de l’action intégrale peut-on évoquer ?4. Ces effets sont-ils recherchés ici ?5. Modifier votre schéma-bloc en y insérant un correcteur PID et en réglant Kp = 1, Ki = 1 et Kd = 1.

Observer la réponse et conclure par rapport à vos réponses aux questions précédentes.6. Mettre Ki = 0 et recommencer le réglage des paramètres Kp, Kd et N comme pour le correcteur PD

afin d’obtenir une réponse la plus rapide possible et présentant un seul dépassement dans le régimetransitoire. Observer également la commande appliquée.

7. Lorsque le réglage est satisfaisant, appliquer en régime permanent de la réponse indicielle, la pertur-bation d(t) = −0,2Γ(t− t0) (t0 est l’instant d’application de la perturbation, par rapport à t = 0, unefois le régime permanent atteint).

8. En considérant la forme théorique du correcteur PID : C(s) = Kp +1

sTi+ sTd, établir l’expression de

Θ(s) :Θ(s) = FBF (s)Θc(s) + FDD(s)

Etudier la valeur finale de θ(t) (théorème de la valeur fi-nale) en régime indiciel et en présence d’une perturbationd(t) = d0Γ(t − t0) (t0 est l’instant d’application de la perturbation, par rapport à t = 0, unefois le régime permanent atteint).

9. Quelle amélioration sur la réponse, peut-on maintenant attendre de l’action intégrale ?10. Procéder au réglage de l’action intégrale. Il faudra également affiner le réglage des paramètres Kp,

Kd et N . Observer la réponse et la commande appliquée.11. Le block PID propose une option "Tune ...", qui permet à Matlab de calculer les paramètres Kp, Ki,

Kd et N . Essayez cette option et comparer les valeurs proposées aux vôtres.

0

10

20

30

40

-20 dB/dec

Magnitude

(dB)

10−1 100 101 102 103−90

−45

0

Pha

se(deg)

Figure 12.12:

38

Page 39: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Propriétés utiles de la transformée de Laplace

L (αx(t) + βy(t)) =αX(s) + βY (s)

L (x(t) ∗ y(t)) =X(s)× Y (s)

L (t x(t)) =− dX(s)

dsL (x(t− t0)) =e−t0sX(s)

L (x(t)) =sX(s)− x(0)

L (x(t)) =s2X(s)− sx(0)− x(0)

limt→0+

x(t) = lims→+∞

sX(s)

limt→+∞

x(t) = lims→0

sX(s) si la limite existe

Table de transformées de Laplace

Signal Transformée de Laplace

δ(t) 1

Γ(t)1

s

r(t) = tΓ(t)1

s2

t2Γ(t)2

s3

e−atΓ(t)1

s+ a

tne−atΓ(t)n!

(s+ a)n+1

cos(ω0t)Γ(t)s

s2 + ω20

sin(ω0t)Γ(t)ω0

s2 + ω20

e−at cos(ω0t)Γ(t)s+ a

(s+ a)2 + ω20

e−at sin(ω0t)Γ(t)ω0

(s+ a)2 + ω20

39

Page 40: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Quelques fonctions de transfert importantes

Systèmes du premier ordreH(s) =

K

1 + Ts

Les 2 paramètres caractéristiques d’un système du 1er ordre— K : gain statique

K =y(∞)− y(0)

u(∞)− u(0)= lims→0

H(s)

— T : constante de temps (ou pulsation de coupure ωc = 1T )

Valeurs caractéristiques de la réponse indicielle d’un système du premier ordre

Temps de montée à 63% T 63%m = T

Temps de montée à 95% T 95%m ≈ 3T

Temps de réponse à 5 % T 5%r ≈ 3T

Systèmes du deuxième ordre

H(s) =K

s2

ω20

+ 2z

ω0s+ 1

=Kω2

0

s2 + 2zω0s+ ω20

Les 3 paramètres caractéristiques d’un système du 2nd ordre— K : gain statique— z : coefficient d’amortissement (z > 0)— ω0 : pulsation propre non amortie

Valeurs caractéristiques de la réponse indicielle d’un système du second ordre pseudo-périodique

Valeur du 1er dépassement en % D1% =y(TD1

)− y(∞)

y(∞)− y(0)× 100 = e

−πz√1− z2 × 100

Instant du 1er dépassement TD1=

π

ω0

√1− z2

Valeur du nième dépassement en % Dn% = −(−D1)n × 100

Instant du nième dépassement TDn = nTD1

Pseudo-période Tp = 2πω0

√1−z2

Temps de réponse à 5 % T 5%r ≈ 3

ω0z

Temps de réponse à x % T x%r =

ln

(100

x√

1− z2

)ω0z

Temps de montée (100%) T 100%m =

π − acos(z)ω0

√1− z2

40

Page 41: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

Identification des systèmes à partir de la réponse indicielle

Identification d’un système du premier ordre

H(s) =K

1 + Ts

Il faut déterminer à partir de la réponse indicielle le gain statique K et la constante de temps T . La marcheà suivre est la suivante :

1. Relever les valeurs finale et initiale de la réponse et de l’échelon. On en déduit K :

K =y(+∞)− y(0)

u(+∞)− u(0)

2. Relever y(T 5%r ), en déduire T 5%

r puis T :

T =T 5%r

3

Identification d’un système du second ordre pseudo-périodique

H(s) =Kω2

0

s2 + 2zω0s+ ω20

Il faut déterminer à partir de la réponse indicielle le gain statique K, le coefficient d’amortissement z et lapulsation propre non amortie ω0. La marche à suivre est la suivante :

1. Relever les valeurs finales et initiales de la réponse et de l’échelon. On en déduit K :

K =y(+∞)− y(0)

u(+∞)− u(0)

2. Relever les valeurs finale et initiale de la réponse ainsi que celle du premier dépassement y(tD1). On

en déduit D1, puis z :

D1 =y(TD1

)− y(∞)

y(∞)− y(0); z =

√(ln(D1))2

(ln(D1))2 + π2

3. Relever l’instant du premier dépassement TD1. On en déduit ω0 :

ω0 =π

TD1

√1− z2

Identification d’une réponse apériodique par un modèle de BroïdaBroïda a proposé d’approcher la réponse apériodique de tout système d’ordre n par un premier ordre avecretard pur (fictif)

H(s) =Ke−τs

1 + Ts

Il faut déterminer à partir de la réponse indicielle le gain statique K, la constante de temps T et le retardpur τ . La marche à suivre est la suivante :

1. Relever les valeurs finales et initiales de la réponse et de l’échelon. On en déduit K :

K =y(+∞)− y(0)

u(+∞)− u(0)

2. Relever y(T 28%m ) et y(T 40%

m ), en déduire T 28%m et T 40%

m puis :

τ = 2,8T 28%m − 1,8T 40%

m

T = 5,5(T 40%m − T 28%

m

)

Il faut rappeler que le retard pur fictif τ n’a pas d’existence réelle. Si le système comporte un retard purnaturel τ , il faudra l’ajouter au retard pur τ . Ce retard pur naturel doit être déterminé graphiquement commele temps mis par le système pour commencer à réagir après l’envoi de l’échelon (instant de décollement dela réponse). Le modèle complet identifié prend alors la forme :

H(s) =Ke−(τ+τ)s

1 + Ts

41

Page 42: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

10

20

30

40

50

60

70

80

90

100

Coefficient d’amortissement z

Premierdé

passem

ent,

D1%

42

Page 43: Systèmesdynamiqueslinéairesinvariantsdansletemps ...w3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Auto/... · Pour définir une fonction de transfert sous Matlab,

0.1 1 101

10

100

Coefficient d’amortissement z

Tem

psde

répo

nserédu

it,ω

T5%

r

43