Identification d'un MCC détaillée
Problématique
Rappel des équations détaillées dans la partie modélisation : \(\Omega_m(p)=H_1(p)U_m-H_2(p)C_r\)
\(\Omega_m(p)=\frac{k}{J_{eq}Rp+k^2}U_m-\frac{R}{J_{eq}Rp+k^2}C_r\).
\(H_1(p)=\frac{\frac{1}{k}}{\frac{J_{eq}R}{k^2}p+1}\) et \(H_2(p)=\frac{\frac{R}{k^2}}{\frac{J_{eq}R}{k^2}p+1}\).
On constate qu'on a alors deux relations du premier ordre avec \(K_1=1/k\), \(K_2=R/k^2\) et \(\tau=\frac{J_{eq}R}{k^2}\).
L'identification d'un MCC peut être vu à deux niveaux de détails différents :
on cherche \(K_1\), \(K_2\) et \(\tau\).
on cherche \(k\), \(R\) et \(J_{eq}\) bien sur dans ce cas on a besoin de \(K_1\), \(K_2\) et \(\tau\).
Dans le cas général on peut avoir un asservissement du type :
Le correcteur peut-être choisi proportionnel, le préactionneur, l'adaptateur et le capteur sont aussi proportionnel. De plus le conditionneur se déduit des précédent et est lui aussi proportionnel , on a alors le schéma suivant :
Pour réaliser une identification temporelle il faut connaître et maîtriser l'entrée envoyée au système, classiquement un échelon, sur un système asservi cela nécessite de pouvoir faire un essai en BO en effet si la boucle de retour n'est pas débrancher une entrée en \(x_c\) en échelon n'assure pas que le moteur soit sollicité par un échelon : \(U_m=K_aK_c(x_c-\frac{K_{cap}}{Kr}x)\) avec x variable ! ! !
De plus l'identification n'est possible que si \(C_r \) est constant.
Identification en BO selon la mesure affichée
Essai en BO :
Imaginons que le logiciel permet d'envoyer un échelon de consigne \(U_m=U_0\) et qu'il permette de tracer :
1. la vitesse de rotation \({\Omega_m(p)}\),
2. uniquement le nombre de points en sortie du codeur \(M_p\).
1. la vitesse de rotation \({\Omega_m(p)}\).
Recherche de \(K_1\), \(K_2\) et \(\tau_m\) :
Dans tous les cas \(\tau\) se déduit de la courbe avec les méthodes classique pour le premier ordre.
La valeur asymptotique de \(\Omega_m\) est égale à : \({\Omega_{m\infty}=K_{1}X_{c0}}-K_2Cr\).
Certains logiciels permettent d'envoyer l'échelon de consigne en \(X_c\) ou \(M_c\) il faut alors ajouter les gain associés dans l’équation, on a respectivement :
\(\Omega_{m\infty}=K_{cond}K_{cor}K_aK_{1}X_{c0}-K_2Cr\).
\({\Omega_{m\infty}=K_{cor}K_aK_{1}M_{c0}-K_2Cr}\).
Dans le cas général dans les expressions précédentes on cherche \(K_1\) et \(K_2\) mais \(C_r\) n'est pas connu !
Si on peut faire un essai ou \(C_r \) est nul où négligeable on a directement \(K_1\).
Sinon on constate que \(\Omega_{m\infty}\) est fonction linéaire de la consigne il faut donc faire plusieurs essai avec des valeurs de consigne différentes et tracé \(\Omega_{m\infty}\) en fonction de cette dernière, de la pente de la droite au extrait \(K_1\) et l'ordonnée à l'origine donne \(K_2Cr\).
Recherche \(k\), \(R\) et \(J_{eq}\)
Connaissant \(K_1\) on en déduit \(k\).
Pour les deux autres grandeurs on a \(K_2Cr\) connu avec \(K_2=R/k^2\), \(\tau_m=\frac{J_{eq}R}{k^2}\) connu, il nous manque donc un paramètre pour conclure...
quelquefois \(R\) est donné...
on peut mesurer \(C_r \) en statique sur le système...
un essai dangereux pour le moteur peut permettre de mesurer \(R\), en effet on se rappelle que \(u_m(t) = e_m(t) + R_m i(t) \) et que \( e_m(t) = k_e \omega_m(t)\) donc si on lance un échelon de tension aux bornes du moteur en LE BLOQUANT ,\(\omega_m(t)=0\) donc \( e_m(t)\) soit \(u_m(t) =Ri(t) \) la mesure de \(i(t) \) permet de conclure.
2. le nombre de points en sortie du codeur \(M_p\) (on traitera uniquement le cas ou \(Cr=0\).
On a \(M_p=K_{cap}\frac{1}{p} H_{mot}(p)\frac{U_{0}}{p}=\frac{U_{0}}{p^2} K_{cap}H_{mot}(p) \) soit la réponse d'un premier ordre à une rampe.
Rappel : pour une rampe la réponse est d'équation temporelle : \(s(t)=Ke_0(t-\tau+\tau.e^{\frac{t}{\tau}})\) qu'on retrouve en intégrant la réponse à un échelon avec des conditions initiales nulles.
On peut alors identifier :
la gain statique donne \(K_{1}\) avec la pente de l'asymptote à l'infini.
la constante de temps \(\tau\) avec l'intersection entre l'axe des abscisse et l'asymptote à l'infini.
Comment identifier MCC avec un échelon lorsque l'essai en BO n'est pas possible (C_r=0).
Lorsqu'on lance un essai sur le système bouclé précédent, si \(X_{c}\) est un échelon alors \(U_{m}\) est un sinus amorti, dans ce cas l'identification est impossible car en entrée du moteur on a pas une fonction test classique.
On utilise alors le dispositif de protection du moteur, un saturateur situé avant le moteur qui limite la valeur de \(U_{m}\) , pour être dans ces conditions mettre un correcteur proportionnel avec un \(K_{p}\) le plus grand possible.
Pendant tout le temps ou le saturateur "fonctionne" la moteur voit un entrée en échelon égale à la tension de saturation, on peut alors identifier la fonction du moteur. On se ramène donc au cas classique.