Exercice 1:

Commande en vitesse d’un moteur à courant continu

Introduction à la Robotique

TD 2 - Automatique & Commande

Fonctionnement d'un moteur à courant continue

Grandeurs électriques :
R : résistance de l’induit ;
L : inductance de l’induit ;
E(t) : force contre-électromotrice ;
um (t) : tension au bornes du moteur ;
i(t) : courant ;

 

 

 

 

Grandeurs mécaniques :
J : inertie du rotor ;
f : frottements visqueux ;
Γ(t) : couple moteur ;
Ω(t) : vitesse du rotor.

Grandeurs électriques :
R : résistance de l’induit ;
L : inductance de l’induit ;
E(t) : force contre-électromotrice ;
um (t) : tension au bornes du moteur ;
i(t) : courant ;

 

 

 

Grandeurs mécaniques :
J : inertie du rotor ;
f : frottements visqueux ;
Γ(t) : couple moteur ;
Ω(t) : vitesse du rotor.

u_m(t) = E(t) + R i(t) + L \frac{di(t)}{dt}
J\frac{d\Omega(t)}{dt} + f \Omega(t)= \Gamma(t)
\Gamma(t) = k_c i(t)
E(t) = k_e \Omega(t)

Couple moteur

Force contre-électromotrice

Q1. Quelle est l’entrée et quelle est la sortie du moteur à courant continu ?

 

Entrée: Tension aux bornes

Sortie: Vitesse de Rotation

u_m(t)
\Omega(t)

Q2. donner l'expression analytique de la vitesse en fonction de la tension aux bornes du moteur

 

\left\{ \begin{array}{ccl} u_m(t) &=& E(t) + R i(t) + L \frac{di(t)}{dt} \\[4pt] E(t) &=& k_e \Omega(t) \\[4pt] \end{array} \right.
\begin{array}{rcl} \Omega(t) &=& \frac{1}{k_e}\left(u_m - R i(t) - L \frac{d i(t)}{d t} \right) \\[8pt] \Rightarrow \Omega(t) &=& \frac{1}{k_e}\left(u_m - R i(t) \right); \quad L \simeq 0 \end{array}
\left\{ \begin{array}{rcl} \Omega(t) &=& \frac{1}{k_e}\left(u_m - R i(t) \right) \\[8pt] J\frac{d\Omega(t)}{dt} + f \Omega(t)&=& \Gamma(t) = k_c i(t) \end{array} \right.
\Rightarrow i(t) = \frac{1}{k_c}\left(\Omega(t) f + J \frac{d\Omega(t)}{dt}\right)
\Omega(t) = \frac{1}{k_e}\left(u_m - R \frac{1}{k_c}\left(\Omega(t) f + J \frac{d\Omega(t)}{dt}\right)\right)
\Omega(t) + \frac{R}{k_c k_e}\left(\Omega(t) f + J \frac{d\Omega(t)}{dt}\right)= \frac{1}{k_e}u_m
\left(\tau = \frac{RJ}{k_e k_c + Rf}\right.
\left. K = \frac{kc}{k_e k_c + R f} \right)
\Omega(t) + \tau \frac{d\Omega(t)}{dt} = K u_m
\Omega(t) + \frac{RJ}{k_e k_c + Rf} \frac{d\Omega(t)}{dt} = \frac{kc}{k_e k_c + R f}u_m

Équation différentielle du premier ordre avec second membre

\Omega(t) + \tau \frac{d\Omega(t)}{dt} = K u_m

Solution homogène

\Omega_1(t) = \alpha e^{-\frac{t}{\tau}}

Solution particulière

\Omega_2(t) = K u_m
\Omega(t) = \Omega_1(t) + \Omega_2(t) = \alpha e^{-\frac{t}{\tau}} + K u_m
\tau = \frac{RJ}{k_e k_c + Rf}
K = \frac{kc}{k_e k_c + R f}
0
0

Équation différentielle du premier ordre avec second membre

\Omega(t) = \alpha e^{-\frac{t}{\tau}} + K u_m

Condition initiale: Vitesse nulle à t=0

\begin{array} {rcl} \Omega(0) = &0 =& \alpha e^{-\frac{0}{\tau}} + K u_m \\[8pt] \Rightarrow &\alpha =& -K u_m \end{array}
\begin{array} {rcl} \Omega(t) = K \left(1 - e^{-\frac{t}{\tau}}\right) u_m \end{array}
\tau = \frac{RJ}{k_e k_c + Rf}
K = \frac{kc}{k_e k_c + R f}

Q3. Soit un moteur CC:

— résistance de l’induit : 1Ω ;
— inductance de l’induit : 0,001H ⇒ ≈ 0H ;
— constante de couple : 0,01N m/A ;
— constante de la fcem : 0,01V.s ;
— inertie du rotor : 0,01kg.m 2 ;
— constante de frottement visqueux : 0,1N m.s.

 

 

— résistance de l’induit : 1Ω ;
— inductance de l’induit : 0, 001H ⇒≈ 0H ;
— constante de couple : 0, 01N m/A ;
— constante de la fcem : 0, 01V.s ;
— inertie du rotor : 0, 01kg.m 2 ;
— constante de frottement visqueux : 0, 1N m.s.

 

\begin{array}{rcl} \tau = \frac{RJ}{k_e k_c + Rf} &\Rightarrow& \tau \approx 0,1 s \\[6pt] K = \frac{kc}{k_e k_c + R f} &\Rightarrow& K \approx 0,1 rad.s^{-1}.V^{-1} 0.1 \end{array}
\begin{array}{rcl} \tau = \frac{RJ}{k_e k_c + Rf} &\Rightarrow& \tau \approx 0,1 s \\[6pt] K = \frac{kc}{k_e k_c + R f} &\Rightarrow& K \approx 0,1 rad.s^{-1}.V^{-1} 0.1 \end{array}
\tau
K
\Omega_\infty

Contrôleur Proportionnel pour l'asservissement en vitesse

   Cahier des charges

— Vitesse en régime permanent égale à 1 rad/s

     Ω(t)*  est un échelon d’1 rad/s en amplitude
— Temps de réponse à 5 % de la réponse indicielle inférieur ou égal à 0,05 s
— Erreur statique nulle.

 

\Omega(t) = FT(\Omega^*)

Q4. Fonction de transfert en boucle fermée

 

             

u_m = k_p \left(\Omega(t)^* - \Omega(t)\right)
\begin{array}{rcl} \Omega(t) + \tau \frac{d\Omega(t)}{dt}& =& K u_m \\[6pt] \Rightarrow \Omega(t) + \tau \frac{d\Omega(t)}{dt} &= &K k_p \left(\Omega(t)^* - \Omega(t)\right) \end{array}
\begin{array}{rcl} \Omega(t) + \tau \frac{d\Omega(t)}{dt} &= &K k_p \left(\Omega(t)^* - \Omega(t)\right) \end{array}
\begin{array}{rcl} \Omega(t) + \tau' \frac{d\Omega(t)}{dt} = K' \Omega^*(t) \\[6pt] \end{array}
\left(\tau' = \frac{\tau}{K k_p + 1}\right.
\left. K^\prime = \frac{K k_p}{K k_p + 1} \right)
\begin{array}{rcl} \Omega(t) + \frac{\tau}{K k_p + 1} \frac{d\Omega(t)}{dt} = \frac{K k_p}{K k_p + 1} \Omega^*(t) \\[6pt] \end{array}
\Omega(t) = K'\left(1-e^{-\frac{t}{\tau'}}\right)\Omega(t)^*

Équation différentielle du premier ordre avec second membre

Condition Initiale (t=0) = 0

\left(\tau' = \frac{\tau}{K k_p + 1}\right.
\left. K^\prime = \frac{K k_p}{K k_p + 1} \right)

Q5.  Ω(t) en régime permanent en fonction du Kp

\Omega_\infty = \lim_{t\rightarrow\infty} \Omega(t)
\Omega_\infty = \lim_{t\rightarrow\infty} \Omega(t) = \lim_{t\rightarrow\infty} \frac{K k_p}{K k_p + 1}\left(1-e^{-\frac{t(K k_p + 1)}{\tau}}\right)\Omega^*
t\rightarrow\infty \Rightarrow e^{-t} = 0
\Omega_\infty = \frac{K k_p}{K k_p + 1}\Omega^*

Q6.   Kp pour un temps de réponse à 5% inférieur à 0,05s

\Omega(t_{5\%}) = \Omega_\infty - 0,05 \Omega_\infty = 0,95 \Omega_\infty
t_{5\%} = 0,05s
\Omega(t) = K^\prime\left(1-e^{-\frac{t}{\tau^\prime}}\right)\Omega(t)^*
e^{-\frac{t}{\tau^\prime}} = 1 - \frac{\Omega(t)}{K^\prime \Omega(t)^*}
t = -\tau^\prime ln\left(1- \frac{\Omega(t)}{K^\prime \Omega(t)^*}\right)
\boxed{t_{5\%} \approx 2,99 \frac{\tau}{K k_p + 1}}
\Rightarrow \boxed{k_p = \frac{1}{K}\left( 2,99 \frac{\tau}{t_{5\%}} - 1 \right)}
\begin{array}{rcl} t_{5\%} &= & -\tau^\prime ln\left(1- \frac{0,95 K^\prime \Omega(t)^*}{K^\prime \Omega(t)^*}\right) \\[8pt] \end{array}
\begin{array}{rcl} t_{5\%} &= & -\tau^\prime ln\left(1- \frac{0,95 K^\prime \Omega(t)^*}{K^\prime \Omega(t)^*}\right) \\[8pt] &=& -\tau^\prime ln\left(1-0,95\right) \\[8pt] &\approx& 2,99 \tau^\prime \end{array}
k_p = \frac{1}{K}\left( 2,99 \frac{\tau}{t_{5\%}} - 1 \right)
\begin{array}{rcl} K &=& 0,1 s^{-1}.V^{-1},\\ \tau &=& 0,1 s\\ t_{5\%} &=& 0,05s \end{array}
\quad \Rightarrow \boxed{k_p \geq 49,8 V.s}

Q7.  Calculer l'erreur statique

           Le gain proportionnel Kp peut-il réduire, voire annuler, l'erreur statique?

 

\begin{array}{rcl} e_\infty &=& \Omega^* - \Omega_\infty \\[6pt] &=& \Omega^* - \frac{K k_p}{K k_p + 1}\Omega^* \\[6pt] &=& \frac{1}{K k_p + 1}\Omega^* \end{array}
\begin{array}{rcl} K &=& 0,1 s^{-1}.V^{-1},\\ k_p &=& 49,8 V.s\\ \Omega^* &=& 1 rad.s^{-1} \end{array}
\Rightarrow \boxed{e_\infty = 0,167 rad.s^{-1}}

Q8 & 9.  Annuler l'erreur statique

  • Ajouter un gain intégral dans la boucle
  •  Ajouter un pré-filtre au niveau de la consigne
u_m(t) = k_p \left(\Omega^* - \Omega(t)\right) + k_i \int_0^t \left(\Omega^* - \Omega(t)\right)
k_i\int_0^t

Kf

\Omega^*

Kf

\Omega^*
u_m = k_p \left(k_f \Omega(t)^* - \Omega(t)\right)
\Omega(t) + \tau \frac{d\Omega(t)}{dt} = K k_p \left(k_f \Omega(t)^* - \Omega(t)\right)
  •  Ajouter un pré-filtre au niveau de la consigne

Kf

\Omega^*
\Omega(t) + \tau' \frac{d\Omega(t)}{dt} = K''\Omega(t)^*
\Omega(t) + \tau \frac{d\Omega(t)}{dt} = K k_p \left(k_f \Omega(t)^* - \Omega(t)\right)
\left(\tau' = \frac{\tau}{K k_p + 1}\right.
\left. K^{\prime\prime} = \frac{K k_p k_f}{K k_p + 1} \right)
\boxed{ \Omega(t) = K''\left(1-e^{-\frac{t}{\tau'}}\right)\Omega(t)^* }
\Omega_\infty = \frac{K k_p k_f}{K k_p + 1}\Omega(t)^*
e_\infty = 0
\boxed{k_f = \frac{1 + K k_p}{K k_p}}
K = 0,1 s^{-1}.V^{-1},\, k_p = 49,8 V.s\rightarrow \boxed{k_f \approx 1,2}
\Rightarrow K k_p k_f = K k_p + 1

Réponse indicielle à un échelon unité de tension d’un moteur CC en boucle fermée