Cycle3 DM ResolutionEquaDiff Corrige
Cycle3 DM ResolutionEquaDiff Corrige
Introduction
Ce DM propose plusieurs exercices qui font le lien entre des lois de comportement établies analytiquement
en classe et les méthodes numériques associées permettant de tracer les courbes issues de ces lois.
Les méthodes évoquées dans ces exercices sont à connaître. Toutefois il est hors de question d’apprendre le
code par cœur, c’est l’idée derrière qui est à retenir.
« requirement » « requirement »
« requirement »
Vitesse angulaire Sécurité
Centrifugeuse
Id="1.2" Id="1.1"
Id="1"
Text="La vitesse angulaire doit être Text="Le fonctionnement de la cen-
Text="Séparer deux liquides."
suffisante." trifugeuse doit être sécure."
« requirement »
« requirement »
« requirement » Dimensions
Accélération
Stabilité
Id="1.4"
Id="1.3"
Id="1.5" Text="Les dimensions de la centri-
Text="L’accélération minimale du
Text="La centrifugeuse doit être fugeuse doivent être adaptées à une
centre de gravité de l’éprouvette
stable." implantation en laboratoire."
doit être d’au moins 24 m/s2."
DM PSI* 1/34
Méthodes Numériques
I.3 Paramétrage
On définit :
— le repère R0 = (O, − →
x0 , −
→
y0 , −
→
z0 ) est lié au bâti 0 ;
!
z0
— le repère R1 = (O, x1 , y1 , −
−→ −
→ →
z1 ) est lié au bras 1 de masse né-
gligeable. Les solides 0 et 1 sont en liaison pivot d’axe (O, − →
z0 ) 1
et
(−
→x0 , −
→
x1 ) = ( −
→
y0 , −
→
y1 ) = α ;
O⇥ A
— le repère R = ( A, −
2
→
x ,−
2
→
y ,−
2
→
z ) est lié à l’éprouvette 2 assimilée
2
à une masse ponctuelle m = 20g en G. Les solides 1 et 2 sont
en liaison pivot d’axe ( A, − →
y1 ) et
−→ −
→ −→ −
→
( x1 , x2 ) = ( z1 , z2 ) = β. 2 ⇥
−→ −→ 0 G
De plus, OA = a− →
x1 et GA = −b− →
x2 avec a = 10cm et b = 13cm.
L’accélération de la pesanteur sera notée − →g = − g− →
z avec 0
g = 9, 81m/s². Enfin la liaison pivot entre 0 est 1 est motorisée,
le couple fourni à 1 par le moteur est Cm −→
z0 . En outre la liaison
pivot en A est sujette à du frottement visqueux de constante
µ = 4 · 10−3 N.m.s/rad.
II Étude dynamique
Question 1 – Montrer que les équations du mouvement qui régissent le système s’écrivent :
m α̈ ( a + b cos( β)) − 2bα̇ β̇ sin( β) · ( a + b cos( β)) = Cm (1)
Correction On commence par tracer le graphe des liaisons avec les AM autres que celles transmises par
les liaisons et on dessine les figures de changement de base pour les calculs vectoriels :
−mg−
→
z0
Pivot (O, −
→
z0 ) Pivot ( A, −
→
y1 )
0 1 2
Cm −
→
z0 frottement visqueux −µ β̇−
→
y1
−
→ −
→ −
→ −
→
y1 y0 x2 x1
α β
−
→ −
→
z2
x1
α −
→ β −
→
x0 −
→ z1
−
→
z0 = −
→
z1 y1 = −
→
y2
On a clairement une chaîne ouverte, la stratégie à adopter est donc immédiate. On procède alors de l’iso-
lement impliquant le moins de calculs à l’isolement impliquant le plus de calculs.
Remarque : même pour une chaîne ouverte aussi simple que celle-ci, on va voir qu’il faut déjà être très
attentif aux étapes de calculs pour ne pas se tromper.
DM PSI* 2/34
Méthodes Numériques
Isolement de 2 :
On isole {2}, le Bilan des Actions Mécaniques Extérieures (BAME) est déjà réalisé sur le graphe des liaisons.
On profite du zéro de liaison pivot et on applique le Théorème du Moment Dynamique en A projeté selon
−
→
y1 = −
→y2 (vecteur principal du pivot en A) :
−−−−−→ − −→
δ( A, 2/0) · →
y1 = AG ∧ (−mg)−
→
z0 · −
→
y1 − µ β̇−
→
y1 · −
→
y1 = mgb cos( β) − µ β̇
−−−−−→ →
Calcul de δ( A, 2/0) · −
y1 :
−−−−−→ − −−−−−→ −→ −−−−−−→ →
δ( A, 2/0) · →
y1 = δ( G, 2/0) + AG ∧ mΓ( G, 2/0) · −
y1
Varignon
−−−−−−→
−−−−−→ dσ ( G, 2/0) −−−−−−→ − →
Or δ( G, 2/0) = car G est centre d’inertie de 2 et σ ( G, 2/0) = 0 (2 est masse ponctuelle en G).
dt
0
Enfin on calcule :
−→ h−−−−→
dOG
= aα̇−
→
y1 + b Ω(2/0) ∧ −
→
x2 = α̇ [ a + b cos( β)] −
→
y1 − b β̇−
→
i
z2
dt
0
−−−−−−→
Γ( G, 2/0) = α̈ ( a + b cos( β)) − bα̇ β̇ sin( β) − bα̇ β̇ sin( β) −
→
y1 − α̇2 [ a + b cos( β)] −
→
x1 − b β̇2 −
→
x2 − b β̈−
→
z2
Donc
−→ on−−−−−−
déduit→
AG ∧ mΓ( G, 2/0) = mb α̈ ( a + b cos( β)) − 2bα̇ β̇ sin( β) −
→
z2 + mbα̇2 [ a + b cos( β)] sin( β)−
→
y1 + mb2 β̈−
→
y1 .
Isolement de {1+2} :
On isole {1+2}, le BAME est déjà réalisé sur le graphe des liaisons. On profite du zéro de liaison pivot et
on applique le Théorème du Moment Dynamique en O projeté selon − →
z0 = −→
z1 (vecteur principal du pivot
en O) :
−−−−−→ →
Calcul de δ(O, 1/0) · −
z0 :
−−−−−→ −
δ(O, 1/0) · →
z0 = 0 (masse de 1 négligeable).
−−−−−→ →
Calcul de δ(O, 2/0) · −
z0 :
DM PSI* 3/34
Méthodes Numériques
Remarque : on applique cette astuce car on va pouvoir rentrer le produit vectoriel par −
→
z0 dans la dérivée
−→
seconde du vecteur position OG...
−→ →
d2 OG ∧ −
z0
= α̈ ( a + b cos( β)) − 2bα̇ β̇ sin( β) −
→ h 2
x1 + α̇ ( a + b cos( β)) + b β̈ sin( β) + β̇2 cos( β) − →
i
Donc y1 .
dt2
0
−−−−−→ → −−−−−−→ − −→
Enfin δ(O, 2/0) · −
z0 = mΓ( G, 2/0) ∧ →
z0 · OG = m −2bα̇ β̇ sin( β) + α̈ ( a + b cos( β)) · ( a + b cos( β)) .
Dans le Shell, la commande help(odeint) indique que cette fonction résout une équation différentielle de
la forme Ẏ = f (Y, t) où Y peut être un vecteur. Autrement dit cette fonction Python a besoin de connaître la
forme de f ainsi que les conditions initiales.
β
On pose Y = . On cherche une fonction f faisant intervenir les composantes du vecteur Y ainsi que le
β̇
temps t.
Question 2 – Exprimer la fonction f (Y, t) à partir de l’équation du mouvement (2). Écrire alors une fonc-
tion f(Y:array,t:float)->array qui renvoie le second membre de l’équation Ẏ = f (Y, t). On pourra
renvoyer le résultat sous forme de vecteur [Link].
β̇
Correction On a Ẏ = . En utilisant les équations de la dynamique et les hypothèses de l’énoncé on
β̈
obtient :
β̇
Ẏ = µ a + b cos( β) 2 g = f (Y, t)
− 2 β̇ − α̇ sin( β) − cos( β)
mb b b
En utilisant β = Y [0] et β̇ = Y [1] on peut écrire le script Python suivant :
1 # Importation des librairies
2 import numpy as np
3 from math import cos ,sin ,pi ,sqrt , floor
4 import matplotlib . pyplot as plt
5 from scipy . optimize import fsolve
6 from scipy . integrate import odeint
7
8 plt. close (’all ’) # On ferme les figures déjà ouvertes
9
10 # Données géométriques (en m)
11 a = 0.1
12 b = 0.13
DM PSI* 4/34
Méthodes Numériques
13
14 # Masse (en kg)
15 m = 0.02
16 # Amortissement (USI)
17 mu = 4e−3
18
19 # Accélération de la pesanteur
20 g = 9.81
21
22 #——————————————————————————-
23 # Avec scipy
24
25 # vitesse angulaire dot(alpha) constante
26 dalpha = 100 * pi /30
27
28 # Question 2
29 def f(Y,t):
30 r e t u r n np. array ([Y[1],−1/b * ( a+b * cos(Y[0])) * dalpha * * 2 * sin(Y[0])−mu /(m * b
* * 2 ) * Y[1]+g/b * cos(Y[0]) ])
31
32 # Conditions initiales sur beta, attention les fonctions trigo prennent des rad
33 CI = np. array ([ pi /2 ,0])
Remarque : le temps t n’intervient pas hors de β ou β̇ pour notre étude, mais il pourrait d’où la méthode
numérique Ẏ = f (Y, t).
90
80
70
60
angle beta
50
40
30
20
10
0.0 0.2 0.4 0.6 0.8 1.0
temps (s)
1 # Temps
2 N = 1000 # Nombre de points
3 temps = np. linspace (0,1,N)
4
DM PSI* 5/34
Méthodes Numériques
On retrouve la figure de l’énoncé. On vérifie évidemment qu’elle est physiquement cohérente (condi-
tions initiales, convergence vers une position de régime permanent cohérente vis-à-vis du paramétrage de
l’énoncé).
Yi+1 − Yi
Correction Le schéma d’Euler explicite s’écrit : Ẏi = . On a alors l’équation de récurrence :
h
Yi+1 = Yi + h · f (Yi , ti )
Correction
Question 6 – Construire le tableau beta_euler qui calcule la valeur de Y pour chaque élément t du tableau
temps. On prendra un pas d’Euler n=1000, start=0 et stop=t.
1 n = 1000
2 beta_euler = np. array ([ Euler (f, CI , 0, t, n) f o r t in temps ])
DM PSI* 6/34
Méthodes Numériques
Remarque Ici le pas de temps h (lié au pas d’Euler n) de la question 4 ne correspond pas au pas de temps
dans le tableau temps (qui vaut 1/1000). En effet à chaque item construit du tableau beta_euler, h est
différent puisque l’intervalle [start,stop] change à chaque fois (il est de plus en plus long).
Question 7 – Tracer sur un même graphe l’angle β obtenu avec scipy et la méthode d’Euler explicite. Les
résultats sont-ils cohérents ?
Correction On écrit le script suivant :
90 scipy
Euler
80
70
60
angle beta
50
40
30
20
10
0.0 0.2 0.4 0.6 0.8 1.0
temps (s)
DM PSI* 7/34
Méthodes Numériques
scipy
80 Euler
60
40
angle beta 20
0
20
40
60
La réponse scipy montre des oscillations plus marquées, mais les CI sont les mêmes et on converge à
nouveau vers une position d’équilibre en régime permanent. Avec le schéma d’Euler explicite la réponse
diverge.
Question 9 – Jouer avec le pas d’Euler n pour que les courbes se superposent à nouveau. Que peut-on déduire
du schéma d’Euler explicite pour résoudre une équation sous le format Ẏ = f (Y, t) ?
scipy
80 Euler
60
40
angle beta
20
0
20
40
60
Le schéma d’Euler explicite est dit conditionnellement stable, autrement dit en fonction des paramètres
du système et du pas d’Euler choisi la réponse peut diverger. Ce n’est pas physiquement cohérent puisque
le frottement visqueux pousse à la stabilité du système.
Une solution est de prendre plus de points de calculs entre 2 pas de temps pour aider à la convergence.
DM PSI* 8/34
Méthodes Numériques
dβ ∆t2 d2 β
β(t + ∆t) ≈ β(t) + ∆t (t) + (t)
dt 2 dt2
dβ ∆t2 d2 β
β(t − ∆t) ≈ β(t) − ∆t (t) + (t)
dt 2 dt2
Par conséquent en sommant les 2 équations :
d2 β
β(t + ∆t) + β(t − ∆t) ≈ 2β(t) + ∆t2
(t)
dt2
On retrouve l’approximation de la dérivée seconde et c’est un schéma centré.
β i+1 − 2β i + β i−1 β − βi
mb2 + µ i +1 + mb ( a + b cos( β i )) α̇2 sin( β i ) = mgb cos( β i )
∆t2 ∆t
En réarrangeant on obtient β i+1 = Aβ i − B( a + b cos( β i )) sin( β i ) + C cos( β i ) − Dβ i−1 avec :
µ∆t
2+ α̇2 ∆t2 g∆t2 1
A= mb2 ; B= ; C= ; D=
µ∆t µ∆t µ∆t µ∆t
1+ b 1+ b 1+ 1+
mb2 mb2 mb2 mb2
On choisit le même pas de temps que dans le tableau temps, soit ∆t = 1/1000.
Question 12 – Tracer l’évolution de l’angle β en fonction du temps. Comparer aux résultats fournis par scipy
et par le schéma d’Euler explicite.
DM PSI* 9/34
Méthodes Numériques
On obtient les courbes bien superposées suivantes pour α̇ = 100tr/min et n=10000 pour le pas d’Euler :
90 scipy
Euler
80 récurrence
70
60
angle beta
50
40
30
20
10
0.0 0.2 0.4 0.6 0.8 1.0
temps (s)
DM PSI* 10/34
Méthodes Numériques
I.1 Contexte
On étudie dans ce problème un système de soulagement lombaire utilisant des vérins électriques asservis en
effort. L’orthèse est attachée au patient et les vérins servent à écarter les disques inter-vertébraux et limitent
alors les douleurs dues aux hernies discales par exemple (Figure 1). Un banc d’essai est réalisé pour tester
les actionneurs linéaires (les vérins électriques).
Figure 1 – Modèle numérique biomécanique (à gauche) et détail de la structure vertébrale avec numérotation
des vertèbres (à droite)
Le système est placé sur un banc d’essai en position horizontale (Figure 2). Dans cette configuration, la
pesanteur est portée par la direction −
→
z 0 . On rappelle que le banc fonctionne selon deux protocoles distincts :
• vérification de la course définie précédemment (non étudiée ici) ;
• vérification de la force exercée par un actionneur linéaire pour effectuer la précontrainte.
DM PSI* 11/34
Méthodes Numériques
Pour la vérification de la force de précontrainte, l’actionneur linéaire est bloqué en H et un capteur d’effort,
noté cap (Figure 2), supposé indéformable, est placé en K. Cette configuration permet uniquement de valider
la performance relative à la mise en précontrainte.
La raideur du ressort du capteur d’effort de l’actionneur linéaire (Figure 3) a été choisie à partir d’une
campagne d’essais réalisée par différents utilisateurs qui ont exprimé leur ressenti en donnant une note de
confort. L’exploitation des données recueillies a permis au fabricant de déterminer le meilleur compromis
parmi les retours des différents utilisateurs.
Dans la configuration spécifique retenue, les points K et H sont immobiles par rapport au châssis du banc
d’essai. Les solides (0) et (4) sont immobiles par rapport au châssis du banc d’essai. L’action mécanique de
l’actionneur linéaire sur le capteur d’effort du banc d’essai est un glisseur de support passant par K et de
−
→
résultante F 4→cap .
−
→
Le capteur du banc d’essai mesure ainsi F 4→cap · −
→
y 0 . On suppose que c’est une image fidèle de la force de
traction exercée par l’actionneur linéaire.
DM PSI* 12/34
Méthodes Numériques
DM PSI* 13/34
Méthodes Numériques
Correction Version 1
−−−−−→ − →
Par roulement sans glissement au point I on a : V ( I, 1/2) = 0 .
−−−−−→ −−−−−→
Par composition des vitesses cela donne : V ( I, 1/3) = V ( I, 2/3).
−−−−−→ −−−−−−→ − → −−−−→ − →
Par Varignon : V ( I, 1/3) = V (O, 1/3) + IO ∧ Ω(1/3) = 0 − R1 −
→
x0 ∧ ω1/3 −
→
y0 = − R1 ω1/3 −
→
z0 .
−−−−−→
De la même manière on trouve V ( I, 2/3) = R2 ω2/3 −
→
z0 .
ω1/3 R
Ainsi on a la relation = − 2 = −1 .
ω2/3 R1 AN
Version 2 efficace
ω1/3 R
Les roues dentées tournent autour d’axes fixes dans le repère 3 donc = − 2 = −1 .
ω2/3 R1 AN
−
→
Question 2 – Rappeler le lien entre V J,2/R0 et la vitesse de rotation ω2/R0 −
→
y0 .
−
→
Question 3 – Établir en justifiant la démarche (hypothèses et propriétés cinématiques) l’expression de V J,3/R0
en fonction de ωm (t), pV et λ.
−
→ −
→ −
→ −
→ −
→
Correction Par composition des vitesses : V J,3/R0 = V J,3/2 + V J,2/R0 , or V J,3/2 = 0 car J est situé sur
−
→ p
l’axe de rotation de la liaison pivot entre (3) et (2). De plus V J,2/R0 = V ω2/R0 −
→
y 0.
2π
Encore par composition des vitesses ω2/R0 = ω2/3 + ω3/R0 et ω3/R0 = 0 par la liaison glissière entre (3) et
(0). De plus ω2/3 = −ω1/3 = −λωm (t).
−
→ p
Pour conclure V J,3/R0 = − V λωm (t)−
→
y0.
2π
Question 4 – Par composition des vecteurs vitesse en K entre les solides (4), (3) et (0), déterminer la relation
entre ẏ(t), ωm (t), pV et λ.
−
→ −
→ −
→
Correction On a par composition des vitesses V K,4/0 = V K,4/3 + V K,3/0 .
−
→ −
→
Or V K,4/0 = 0 car les solides (0) et (4) sont immobiles.
−
→
De plus V K,4/3 = ẏ(t)−
→
y 0 par définition de y(t).
−
→ −
→ −
→ −→
Enfin V K,3/0 = V K,3/R0 car (0) est immobile, de plus V K,3/R0 = V J,3/R0 par mouvement de translation
−
→ p
de 3/R0 et V J,3/R0 = − V λωm (t)− →y 0 d’après la question précédente.
2π
p
Finalement ẏ(t) = V λωm (t) .
2π
DM PSI* 14/34
Méthodes Numériques
−
→
0 = F cap→4 · −
→
y 0 − Kres y(t)
Correction Par conservation de la puissance on a P1 = P2 , or P1 = cr (t) · ω1/3 car le pignon 1 est mis en
rotation à la vitesse ω1/3 grâce au couple cr (t) en sortie du réducteur à planétaire.
Aussi P2 = c12 (t) · ω2/3 car le pignon 2 est mis en rotation à la vitesse ω2/3 grâce au couple c12 (t).
ω1/3
Finalement c12 (t) = −cr (t) car = −1.
ω2/3
On admettra de manière similaire que le lien entre le couple moteur et le couple en sortie de réducteur
1
planétaire s’écrit cr (t) = cm (t).
λ
Question 7 – Quelles sont les autres actions mécaniques qui s’exercent sur le solide 2 ? Décrire les autres
actions mécaniques par des torseurs.
DM PSI* 15/34
Méthodes Numériques
On admet que la force transmise par le solide 0 sur le solide 2 est en fait égale à l’effort de rappel du ressort,
on montrera en deuxième année que l’équation du mouvement se met sous la forme :
dωm
Ieq (t) = cm (t) − Kres Ktrans y(t)
dt
où Ieq l’inertie équivalente ramenée sur l’arbre moteur.
Question 9 – Exprimer l’équation différentielle du mouvement liant le déplacement y(t) au couple cm (t) en
fonction de Ieq , Ktrans , Kres . En déduire la valeur numérique du facteur d’amortissement et conclure quant à
l’amortissement de la réponse indicielle.
Ieq
ÿ(t) + Kres Ktrans y(t) = cm (t)
Ktrans
s
Kres
C’est l’équation d’un oscillateur harmonique forcé non amorti de pulsation propre ω0 = Ktrans .
Ieq
Question 10 – Justifier alors la nécessité de mettre en place une boucle d’asservissement si on souhaite une
commande en position du système.
Correction C’est un système oscillant donc à la limite de l’instabilité (pôles à partie réelle nulle), d’où la
nécessité de mettre en place une boucle d’asservissement pour piloter convenablement le système.
DM PSI* 16/34
Méthodes Numériques
Notations et hypothèses :
• la transformée de Laplace de la fonction a(t) est notée A( p) dans le cas général ;
• les conditions de Heaviside sont supposées vérifiées ;
• Fc ( p) représente la consigne en force de l’asservissement de force, dans le domaine de Laplace ;
• F ( p) représente la force développée par l’actionneur linéaire, dans le domaine de Laplace ;
• K1 est le gain du modulateur d’énergie, il est connu.
Les équations modélisant le comportement du moteur électrique (moteur à courant continu) muni d’une
boucle d’asservissement de l’intensité du courant im (t), sont :
• en supposant le temps de réponse de la boucle de courant négligeable,
dωm (t)
Ieq = c m ( t ) − cr ( t ) avec cr (t) = Ty(t)
dt
• loi de couplage électromécanique,
cm (t) = k c im (t)
avec :
• u I (t), la consigne en tension de la boucle d’asservissement de l’intensité du courant im (t) (en V) ;
• im (t), l’intensité du courant d’induit absorbé par le moteur à courant continu (en A) ;
• R, la résistance d’induit du moteur (en Ω) ;
• k c , la constante de couple (en N.m.A−1 ) ;
• Ieq , le moment d’inertie équivalent des solides en mouvement par rapport au référentiel lié au bâti
supposé galiléen, reportée sur l’arbre moteur (en kg.m2 ).
On rappelle qu’on note Ktrans tel que ẏ(t) = Ktrans ωm (t).
Question 11 – Après avoir transformé les équations précédentes dans le domaine de Laplace, exprimer les
gains K3 et K5 en fonction de k c et T.
DM PSI* 17/34
Méthodes Numériques
Ktrans
Correction On a ẏ(t) = Ktrans ωm (t) soit dans le domaine de Laplace Ωm ( p) = Y ( p). On identifie
p
Ktrans
H6 ( p) = .
p
Question 13 – Rappeler sous quelle hypothèse on a le droit d’étudier l’erreur en régime permanent du
système décrit par le modèle de connaissance de la Figure 5.
Correction On peut évaluer l’erreur en régime permanent du système en utilisant le Théorème de la Valeur
Finale (TVF) si et seulement si le système est stable.
Question 14 – En supposant l’hypothèse précédente valide, établir l’expression de Kadapt en fonction des
constantes de la Figure 5 de façon à ce que l’écart ε f (t) en régime permanent soit nul si l’erreur en régime
permanent est nulle.
Correction On ramène la grande boucle de retour (celle avec le gain Kcapt ) sur la sortie F ( p), le gain sur la
Kcapt
boucle de retour devient alors .
Kres
Kcapt
Ainsi pour valider la condition demandée il faut Kadapt = .
Kres
DM PSI* 18/34
Méthodes Numériques
Figure 5 – Schéma-blocs de l’asservissement de force développée par un actionneur linéaire placé sur le banc
d’essai
DM PSI* 19/34
Méthodes Numériques
Le choix d’un correcteur proportionnel intégral est fait par le concepteur. La fonction de transfert du correc-
teur de la boucle d’asservissement en vitesse angulaire est noté Cv ( p), tel que
1 + τi p
Cv ( p) = Ki
τi p
Question 15 – Démontrer qu’il n’y a pas besoin d’utiliser de correcteur pour valider le critère d’erreur en
régime permanent pour une consigne en échelon constante. Quelle opération mathématique (ou quel bloc de
la Figure 6) permet de vérifier à coup sûr ce critère ?
Correction Version 1
En l’absence de correction (Cv ( p) = 1), la fonction de transfert en boucle fermée (sans perturbation puis-
qu’on veut l’erreur et pas la sensibilité à la perturbation) s’écrit :
K1 K3
Ωm ( p) R
HBF ( p) = =
Ωc ( p) K K3
Ieq p + 1
R
C’est un système du premier ordre dont les coefficients au dénominateur sont de même signe, le système
Ω0
est stable. Par TVF et avec Ωc ( p) = on a ε = lim p (Ωc ( p) − Ωm ( p)) = lim Ω0 (1 − HBF ( p)) = 0.
p p →0 p →0
Le critère d’erreur pour une consigne en échelon est validé sans correcteur. En pratique cela est possible
1
grâce à l’intégration (bloc ) dans la boucle ouverte.
p
Version 2
On a une intégration dans la boucle ouverte (BO de classe 1) donc le système est précis pour une consigne
en échelon en absence de perturbation. Ce résultat est vrai sans correcteur.
Question 16 – Démontrer que quelle que soit la valeur de Ki et τi , le correcteur Cv ( p) permet de valider
le critère d’erreur en régime permanent pour une perturbation en échelon. Un correcteur proportionnel
suffirait-il ?
DM PSI* 20/34
Méthodes Numériques
Correction Cette fois-ci on annule la consigne (Ωc ( p) = 0) et on calcule la fonction de transfert en régula-
C0
tion avec Cr ( p) = :
p
Ωm ( p) 1
Hreg ( p) = =−
Cr ( p) K1 K3 1 + τi p
Ieq p + Ki
R τi p
On calcule la sensibilité à la perturbation s = lim pHreg ( p)Cr ( p) et on voit qu’elle est nulle. Ceci est dû à
p →0
l’intégration en amont de la perturbation en échelon apportée par le correcteur PI.
Sans cette intégration (donc avec un simple correcteur P), on serait sensible à la perturbation en échelon.
Remarque : vous remarquerez que je reprécise toujours la nature des entrées (en échelon ici), cela fait
partie de l’argumentaire pour ce genre de réponse car si on avait une entrée en rampe on n’aurait pas le
même résultat...
Ωm ( p)
On note HBOv ( p) = la fonction de transfert en boucle ouverte de l’asservissement de vitesse angulaire
ε v ( p)
du moteur.
Question 17 – Déterminer l’expression littérale de la phase de HBOv (jω ). En déduire la valeur numérique de
τi respectant les critères concepteur de la boucle de vitesse. On montrera que τi ≥ 0, 57s.
Ki K1 K3 1 + τi p
Correction Dans le domaine de Laplace : HBOv ( p) = · .
Ieq R τi p2
On calcule la phase en degrés dans le domaine fréquentiel : φ(ω ) = Arg ( HBOv (jω )) = arctan(τi ω ) − 180.
On veut une marge de phase M φ = 180 + φ(ω0dB ) ≥ 80◦ , autrement dit arctan(τi ω0dB ) ≥ 80◦ . Par crois-
tan(80)
sance de la fonction arctan on trouve τi ≥ = 0, 57 s .
ω0dB
Question 18 – Déterminer la valeur numérique de Ki afin que la boucle d’asservissement de vitesse respecte
les critères concepteur du Tableau 2.
DM PSI* 21/34
Méthodes Numériques
Correction On veut une pulsation de coupure ω0dB = 10 rad/s, autrement dit d’après le diagramme de
gain il faut diminuer le gain de 80dB environ (voir ci-dessous). Alors :
Tous les critères du tableau 4 sont respectés (marge de phase très légèrement inférieure à celle cherchée
toutefois), le critère de précision et d’insensibilité à la perturbation l’étant forcément par la nature du cor-
recteur PI.
Remarque : le choix de l’unité de Ki est motivé par la dimension (unitaire je pense) du gain K1 .
DM PSI* 22/34
Méthodes Numériques
Correction On décale la boucle du capteur angulaire de vitesse d’un cran vers la droite, on trouve alors
1
immédiatement H9 ( p) = .
H6 ( p)
On peut ensuite appliquer la formule de Black à la boucle qui possède la chaîne de retour K5 , on trouve
H6 ( p)
Y ( p) Ieq p H6 ( p)
= , par conséquent H8 ( p) = .
QCm ( p) H6 ( p) H6 ( p)
1+ K5 1+ K5
Ieq p Ieq p
Pour faciliter l’analyse des performances simulées, le schéma-blocs de la Figure 8 est adapté afin de disposer
d’un schéma-blocs à retour unitaire, tel que décrit sur la Figure 9.
Kcapt
Correction On a déjà montré en question 18 que Kadapt = , en factorisant dans la Figure 8 on trouve
Kres
Kcapt
le K10 = de la Figure 9.
Kres
Remarque : l’écart ε f ( p) de la Figure 9 ne peut pas être le même que celui de la Figure 8. En effet dans
Kcapt
la Figure 8 on a ε f ( p) = ( Fc ( p) − F ( p)) et dans la Figure 9 ε f ( p) = Fc ( p) − F ( p). Le ε f ( p) de la
Kres
Figure 9 aurait dû se trouver derrière le gain K10 .
DM PSI* 23/34
Méthodes Numériques
Kres H2 ( p) H8 ( p)
Correction Par formule de Black sur la boucle interne on trouve G ( p) = .
Ieq p + H2 ( p) H8 ( p) H9 ( p)
Pour la suite, on donne la fonction de transfert G ( p), obtenue avec les valeurs de réglage correctes du correc-
teur Cv ( p) :
1 + 0, 57p 1, 2 · 10−5
G ( p) =
p 2 · 10 + 9, 7 · 10−5 p + 5, 3 · 10−6 p2
− 4
Tableau 3 – Extrait du cahier des charges fonctionnel de l’actionneur linéaire sur le banc d’essai
F ( p)
On note HBO f ( p) = la fonction de transfert en boucle ouverte de l’asservissement en force développé
ε f ( p)
par un actionneur linéaire. Dans un premier temps, le choix d’un correcteur proportionnel C ( p) = Kcor est
F ( p)
réalisé. Le diagramme de Bode de la fonction de transfert HBO f ( p) = = Kcor K10 G ( p) avec Kcor = 1, est
ε f ( p)
donné sur la Figure 10.
DM PSI* 24/34
Méthodes Numériques
Question 22 – Déterminer la valeur numérique limite de Kcor afin que la boucle d’asservissement de force
respecte les critères de marge de phase et de gain du Tableau 3.
Correction La marge de gain est infinie ici car la phase n’atteint jamais −180◦ , regardons la marge de
phase. Elle doit être de 60◦ minimum, autrement dit il faut que la pulsation de coupure se situe à la phase
−120◦ au maximum. Il faut alors augmenter le gain de 75dB minimum pour satisfaire le critère de marge
de phase. Donc :
75
20 log(Kcorr ) ≥ +75 ⇔ Kcorr ≥ 10 20 ≈ 5624rad/(s.V)
Les courbes sur la Figure 11 représentent les réponses temporelles du modèle de connaissance de la Figure 5,
avec les correcteurs Cv ( p) et C ( p) correctement réglés, et de l’expérimentation sur le banc d’essai pour une
consigne en échelon de force de 40 N.
Figure 11 – Réponses temporelles du modèle et expérimentale, pour une consigne en échelon de force de
40N
Question 23 – Quels critères du tableau des exigences (Tableau 3) ne sont pas pris en compte dans le modèle
de connaissance ? D’après la courbe expérimentale, ces critères sont-ils respectés par le système réel ?
Correction Sur la Figure 11 la simulation s’arrête quand le dépassement vaut 2,5%, soit 41N. On ne peut
pas évaluer le temps de réponse du système puisque le régime stationnaire pour une consigne en échelon
n’est pas atteint.
Sur le relevé expérimental ce temps de réponse est clairement inférieur à la valeur 1s demandée par le
cahier des charges et il n’y a pas de dépassement (saturation à 40N). Le cahier des charges concernant le
temps de réponse à 5% est validé expérimentalement.
36 − 4
La vitesse de montée expérimentale vaut environ = 80N/s < 100N/s donc le critère de vitesse
0, 5 − 0, 1
de montée est aussi respecté. Toutefois la vitesse de montée maximale relevée sur la courbe de simulation
41 − 7
vaut environ = 212N/s > 100N/s, le critère de vitesse en montée n’est pas respecté lors de la
0, 28 − 0, 12
DM PSI* 25/34
Méthodes Numériques
simulation.
Figure 12 – Schéma-blocs de l’asservissement de force développée par l’actionneur linéaire avec limitation
de la vitesse angulaire
Notations et hypothèses :
• f (t) est la grandeur de sortie de l’asservissement en force, de variable de Laplace F ( p) ;
• f c (t) est la grandeur de consigne de l’asservissement en force, de variable de Laplace Fc ( p) ;
• ωc (t) est la commande de vitesse angulaire du moteur, de variable de Laplace Ωc ( p) ;
• la dérivée première temporelle d’une fonction h(t) est notée ḣ(t) et sa dérivée seconde ḧ(t) ;
• les conditions de Heaviside sont supposées vérifiées, soient f (t = 0) = 0 et f˙(t = 0) = 0.
DM PSI* 26/34
Méthodes Numériques
Correction
f˙(t) f˙(t)
E[1](t)
On a Ė(t) = = = avec E[1](t) = f˙(t) la
f¨(t) −18 f˙(t) + 1, 18ωc (t)
−18E[1](t) + 1, 18ωc (t)
E[1](t)
deuxième coordonnée du vecteur E(t). Alors G ( E(t), ωc (t), t) = .
−18E[1](t) + 1, 18ωc (t)
Question 25 – Écrire en langage Python la fonction G(E,wc,t) qui implémente la fonction G ( E(t), ωc (t), t).
Cette fonction renvoie une liste de 2 nombres à virgule flottante.
Correction
DM PSI* 27/34
Méthodes Numériques
IV.2.2 Fonction de Cauchy pour la boucle fermée de l’asservissement en effort sans non linéarité
Le correcteur de la boucle d’asservissement de la force développée par un actionneur linéaire est un correcteur
proportionnel tel que C ( p) = Kcor . Ainsi, en l’absence de limitation, la grandeur ωc (t) est telle que :
f˙(t)
Ė(t) = ¨ = FTBFsnl ( E(t), t)
f (t)
On considère dès à présent que la consigne de force f c (t) est un échelon d’amplitude Fcons , prise égale à 40 N.
Question 26 – Recopier et compléter le programme Python ci-dessous implémentant la fonction FBFsnl qui
renvoie une liste de deux nombres.
1 def FTBFsnl (E,t):
2 Fcons = 40 # échelon de 40N
3 K10 = 0.0277 # gain d’adaptation
4 Kcor = 5400 # gain du correcteur proportionnel
5 wc = # à compléter
6 # compléter en terminant la fonction
Correction
IV.2.3 Fonction de Cauchy pour la boucle fermée de l’asservissement en effort avec non linéarité
Question 27 – Recopier et compléter le programme Python ci-dessous implémentant la fonction FBFanl qui
renvoie une liste de deux nombres et prend en compte la limitation de la consigne de vitesse angulaire du
moteur.
1 def FTBFanl (E,t):
2 Fcons = 40 # échelon de 40N
3 K10 = 0.0277 # gain d’adaptation
4 Kcor = 5400 # gain du correcteur proportionnel
5 wcmax = 1250 # limitation en vitesse angulaire dans l’intervalle [-wcmax,wcmax]
6 # compléter en terminant la fonction
Correction
DM PSI* 28/34
Méthodes Numériques
11 wc = −wcmax
12 r e t u r n G(E,wc ,t)
Les scripts précédemment écrits ainsi qu’une fonction de tracé ont permis d’obtenir la courbe de la Figure 13.
Question 29 – Écrire la fonction Trace(E0,t_fin,N_pt) qui prend en arguments des conditions initiales
E0, une durée t_fin (départ à t = 0) et un nombre de points N_pt et qui renvoie la courbe de simulation.
Celle-ci doit être la même que celle tracée en Figure 13 pour vérifier votre résultat.
Correction
Question 30 – Conclure sur la capacité du correcteur proportionnel (de gain 5400) avec limitation de la vitesse
angulaire à respecter le cahier des charges, en analysant l’écart entre les performances simulées (Figure 13)
et les performances attendues. Se limiter aux critères pertinents du Tableau 3.
DM PSI* 29/34
Méthodes Numériques
Figure 13 – Réponse temporelle du modèle de connaissance pour une consigne de 40 N avec correction
proportionnelle et limitation de la vitesse angulaire
Remarque Attention, les questions qui vont suivre demandent des réponses qualitatives, il faut être très
vigilant à répondre en chiffrant vos propos.
DM PSI* 30/34
Méthodes Numériques
Figure 14 – Résultats des simulations et des expérimentations pour une entrée de consigne de force en
échelon d’amplitude 10, 20, 30 et 40 N
En se référant à la Figure 14, l’analyse de l’écart entre les performances simulées et les performances mesu-
rées valide le modèle de connaissance de l’asservissement de force.
Question 31 – Choisir un des écarts L-C, S-L ou S-C permettant de valider la commande optimisée. Effectuer
l’analyse de cet écart. Il est attendu une argumentation rigoureuse s’appuyant sur les données et les références
du texte. Les numéros de figure, de tableau, ou d’exigence sont, par exemple, des références utilisables.
Correction Dans ce sujet, un banc d’essais a été monté pour réaliser des expériences et une modélisation
(figure 11) basée sur ce banc d’essais a été proposée afin de prévoir les performances du système réel. Ainsi
c’est l’écart S-L qui doit être analysé.
DM PSI* 31/34
Méthodes Numériques
temps de réponse à 5% est plus grand (0,25s contre moins de 0,2s pour la simulation). Les frottements
secs ne sont donc pas négligeables pour cette consigne, or ils n’ont pas été pris en compte dans la
modélisation de la figure 11. Les exigences de dépassement, rapidité et précision du tableau 5 sont
respectées.
• Consigne de 20N : un très léger dépassement est visible en simulation mais inférieur à 2,5% (maxi-
mum autorisé par l’exigence de stabilité du tableau 5), il n’y a pas de dépassement lors de l’ex-
périence. Les observations sont similaires à celles faites pour le cas de la consigne de 10N mais le
système réel met toujours un peu plus de temps à atteindre sa vitesse de montée maximale (les
courbes ne se superposent bien qu’au delà de 1,15s sur la Figure 14). Le frottement sec joue encore
pour cette valeur de consigne.
• Consignes de 30N et 40N : cette fois les courbes expérimentales et de simulations se superposent bien
au bruit de mesure près. Le frottement sec a un effet négligeable et toutes les exigences du tableau 5
sont respectées.
Globalement la modélisation est fidèle au système réel. Afin d’améliorer le modèle on pourrait envisager
de prendre en compte les effets des frottements présents dans le banc d’essais.
Question 32 – Quelle est l’unité de ypert (t) ? Que peut représenter cette perturbation dans le contexte de
l’exosquelette lombaire ? En se référant à la problématique du sujet, quel est l’intérêt d’introduire cette per-
turbation dans le modèle ?
Correction ypert (t) est homogène à une longueur en mètres. Dans le cadre de l’exosquelette lombaire, qui
s’assimile à 2 ceintures liées par des actionneurs verticaux, on peut très bien imaginer des glissements entre
la ceinture et l’utilisateur ce qui peut générer des perturbations de déplacement. Il est donc nécessaire de
corriger les éventuels défauts de positionnement des ceintures afin de maintenir une pression lombaire au
niveau prévu par le commanditaire.
On effectue une simulation avec une perturbation normalisée représentée sur la Figure 16.
La Figure 17 montre l’évolution de la force développée par un actionneur linéaire soumis à la perturbation
décrite sur la Figure 16. C’est le résultat d’une simulation obtenue à partir du modèle de connaissance avec
le correcteur proportionnel et limitation sur la vitesse angulaire.
DM PSI* 32/34
Méthodes Numériques
Figure 17 – Évolution de la force développée par l’actionneur linéaire soumis à une perturbation. Consigne
en échelon de 40 N avec perturbation à t = 0, 8 s
Correction La perturbation est une fonction rampe qui démarre à partir de t = 0, 8s et devient constante
à partir de t = 2s. Si on note u(t) la fonction de Heaviside on a : ypert (t) = Y0 (t − 0, 8)u(t − 0, 8) − Y0 (t −
2) u ( t − 2).
1 1
Dans le domaine de Laplace la perturbation est en sur la partie rampe et en à partir de t = 0, 2s. Or
p2 p
dans le schéma-blocs de la Figure 18 on a une double intégration en amont de la perturbation grâce aux
1
blocs et au bloc H6 ( p) identifié en question 16. Le système est alors insensible à une perturbation en
Ieq p
rampe et à une perturbation constante.
Question 34 – Le banc d’essai équipé d’un actionneur linéaire, dans la configuration étudiée dans ce sujet,
permet-il d’analyser l’écart S-L en présence d’une perturbation ypert (t) ?
Correction On a déjà étudié l’écart S-L en question 34 puisque le modèle se basait sur le système du
laboratoire. Toutefois le système du laboratoire est à l’horizontale et on a supposé en question 35 que la
perturbation venait de défauts de positionnement de l’exosquelette sur l’utilisateur (donc avec les action-
neurs à la verticale).
Enfin la proposition de perturbation de la Figure 16 n’est peut-être pas réaliste. Il n’est pas possible
d’évaluer un écart S-L quant à un défaut de positionnement.
DM PSI* 33/34
Méthodes Numériques
Figure 18 – Schéma-blocs de l’asservissement de force développée par un actionneur linéaire placé sur le
banc d’essai avec perturbation
DM PSI* 34/34