Petit cours d`automatique
Transcription
Petit cours d`automatique
Petit cours d’automatique – – – – – – – – – – Pourquoi ce cours ? Modèle d’un système physique Résolution par transformée de Laplace Réponse en fréquence, spectre Commande par rétro-action Commande PID Simulation Matlab/Simulink Commande par ordinateur Transformée en Z Simulation Matlab/Simulink plan Pourquoi ce cours ? Les systèmes embarqués s’adressent à de nombreux domaines d’application et beaucoup de ces domaines traitent et contrôlent des données issues du monde physique : 1. il est important de savoir comment les spécialistes de ces domaines procèdent pour pouvoir coopérer avec eux ; 2. les ordinateurs interagissant avec les systèmes physiques forment des systèmes complexes qui acquièrent, par cette interaction, de nouvelles propriétés : des changements mineurs du point de vue informatique peuvent avoir des conséquences importantes du point de vue système ; 3. des langages et outils de simulation, d’origine automatique et traitement de signal, deviennent par extension, des outils de programmation dont l’importance croı̂t ; certains sont devenus des standards de fait (avionique, automobile, . . .). Il est important de connaı̂tre et comprendre cette « informatique venue d’ailleurs » plan Modèle d’un système physique Une suspension de voiture x .. ...... H H H k H a a ....... Forces en présence : - ressort : −k(x − x0 ) f - amortisseur : −f x0 - inertie : mx00 .. - force externe, pesanteur,... bilan : équation différentielle mx00 + f x0 + kx = u normalisation : x00 + 2zwx0 + w2 x = w2 u – w pulsation propre – z amortissement plan Résolution par transformée de Laplace Z X(s) = L(x) = ∞ x(t)e−st dt 0 propriétés : – linéarité : L(ax + by) = aL(x) + bL(y) – transforme les équations différentielles en équations algébriques : L(x0 ) = sL(x) − x(0) – transforme les exponentielles en fractions rationnelles : n t −λt 1 L e = n! (s + λ)n+1 plan Application x00 + 2zwx0 + w2 x = w2 u ⇒ s2 X + 2zwsX + w2 X = w2 U w2 X= 2 U 2 s + 2zws + w Recherche de solutions : – trouver les racines du dénominateur (pôles) – décomposer en éléments simples et inverser la transformée. Trois cas (réponse impulsionnelle U = 1) : – z 2 < 1 : racines complexes conjuguées : – z 2 = 1 : racine double – z 2 > 1 : racines réelles plan – z 2 < 1 : racines complexes conjuguées : X= A B √ √ + 2 s + zw + iw 1 − z s + zw − iw 1 − z 2 w2 w2 √ √ A= , B= 2 −2iw 1 − z 2iw 1 − z 2 √ iw 1−z 2 t √ −iw 1−z 2 t w −e −zwt e x= √ e 2 2i 1−z p w −zwt e sin(w 1 − z 2 t) x= √ 1 − z2 régime oscillant (suspension trop molle) ! – z 2 = 1 : racine double x = w2 te−wt – z 2 > 1 : racines réelles √ √ w −w(z+ z 2 −1)t −w(z− z 2 −1)t x= √ (e −e ) 2 z −1 (suspension trop dure) ! plan Réponse en fréquence, spectre A la mémoire de Joseph Fourier u U X X B = e−iwt 1 = s + iw 1 = H s + iw 1 = AH + B s + iw = H(−iw) Les exponentielles complexes sont les vecteurs propres des opérateurs ; H(−iw) est la valeur propre associée au vecteur propre e−iwt . plan Exemple de la suspension H H(−iw) = w02 s2 + 2zw0 s + w02 = w02 −w2 − 2izw0 w + w02 H(−iw) est une fonction complexe de la fréquence d’ excitation w Elle se décompose en amplitude et phase : |H(−iw)| = ArgH(−iw) w02 p (w02 − w2 )2 + 4z 2 w02 w2 2zw0 w = Arctg 2 w0 − w2 les pages suivantes décrivent le spectre d’amplitude en fonction de w pour w0 = 1 et des valeurs croissantes de z 2 = 0.5, 1, 2, 4. plan plan Commande par rétro-action Le système à commander : grue mono-dimensionnelle, linéarisée X0 L aL L L KL TA AdX → - pesanteur : m g - tension du cable : mX = → → − X) + m g Projection sur l’axe vertical : my 00 = k(y0 − y) − mg Projection sur l’axe horizontal : mx00 = k(x0 − x) x00 = = m gl X pg avec w = l pulsation propre du pendule. = 0 = kl − mg k aucun amortissement ! plan − X) - inertie : m X ? → k(X0 → → 00 mg → 00 → k(X0 g l (x0 − x) w2 s2 +w2 X0 Notion de feedback Commander en fonction de l’écart entre position désirée x0 et obtenue x : b x0 e -+ g - C 6 e = x0 − x ? +-g H + x - x = H(Ce + b) x = H(C(x0 − x) + b) (1 + HC)x = H(Cx0 + b) Calcul formel de ce diagramme ! x = plan HC H x0 + b 1 + HC 1 + HC x = HC H x0 + b 1 + HC 1 + HC Idée de base : C grand HC H ≈1 , ≈ 0 , x ≈ x0 1 + HC 1 + HC Mais attention au pompage : H= w 2 s2 +2zws+w2 C=k 0 √ w =w 1+k ⇒ HC w2 k = 2 1 + HC s + 2zws + w2 (1 + k) z z =√ 1+k 0 k grand : le système devient de plus en plus oscillant. plan Commande PID Pour réduire les oscillations, ajouter de la dérivée k 0 s Pour rallier le but, ajouter de l’intégrale C k00 s 00 k = k + k0 s + s Application à la grue (w = 1) HC k 0 s2 + ks + k 00 = 3 1 + HC s + k 0 s2 + (k + 1)s + k 00 plan Placement des pôles Choix des paramètres : identification à un dénominateur s3 + k 0 s2 + (k + 1)s + k 00 = s3 + k 0 s2 + (k + 1)s + k 00 = s3 + (1 + 1.4w)s2 + (w2 + 1.4w)s + w2 (s + 1)(s2 + 1.4ws + w2 ) D’où k 00 = w2 , k = w2 + 1.4w − 1 , k 0 = 1 + 1.4w Par exemple k 00 = 4 , k = 5.8 , k 0 = 3.8 plan Simulation Matlab/Simulink Scope 1 s2 +2s+1 Step Transfer Fcn1 In1 Out1 1 s2 +1 SubSystem Transfer Fcn White Noise 5.8 Gain2 1 In1 4 Gain 3.8 Gain1 plan 1 s Integrator du/dt Derivative 1 Out1 Résultats Sans bruit Avec bruit 1 2 1 0.5 0 0 0 5 10 15 20 25 30 1 0 5 10 15 20 25 30 0 5 10 15 20 25 30 1.5 1 0.5 0.5 0 0 Time offset: 0 plan 5 10 15 20 25 30 0 Time offset: 0 Commande par ordinateur Et les ordinateurs dans tout ça ? idée générale : schémas d’intégration à pas constant – échantillonnage et fonctionnement périodique deux techniques : – construire un contrôleur continu et l’échantillonner ; – échantillonner le système à contrôler et construire un contrôleur échantillonné (théorie de la commande échantillonnée). Dans tous les cas, il faut choisir la période. plan Commande échantillonnée Fondée sur le parallèle Modèle Solutions Transformée Continu Echantillonné équations différentielles équations aux différences exponentielles Z ∞ L(f ) = f (t)e−st dt puissances ∞ X Z(f ) = f (n)z −n 0 plan Intégrale s−1 Retard e−T s 0 z z−1 z −1 Propriétés de la transformée en z – linéarité : Z(ax + by) = aZ(x) + bZL(y) – transforme les équations aux différences en équations algébriques : Z(x(n + 1)) = z(Z(x) − x(0)) – transforme les puissances en fractions rationnelles : Z(Cnk an−k ) = plan z z−a k+1 Choix de la période Solution théorique : Théorème de Shannon : la fréquence d’échantillonnage doit être supérieure à deux fois la fréquence de coupure. Solution pratique : analyse numérique Théorème fondamental de l’analyse numérique Théorème des accroissements finis : Pour tout x, t, il existe α ∈ [0, 1] tel que x(t + T ) = k X Ti 0 plan T k+1 (k+1) x (t) + x (t + αT ) i! (k + 1)! (i) Exemple : schéma d’Euler x(t + T ) ≈ x(t) + T x0 (t) car 2 T |x(t + T ) − (x(t) + T x0 (t))| ≤ supt |x00 (t)| 2 Application : exponentielle x(t) = e−at x00 (t) = a2 e−at ≤ a2 T 2 a2 0.14 ≤ 0.01 ⇒ T ≤ 2 a En pratique on prend T = . plan 0.1 a Z, Laplace,. . . 1 est l’opérateur retard unité z Si on choisit un pas d’échantillonnage T on peut donc écrire : 1 = e−sT z On a alors l’approximation du premier ordre (développement limité) e−sT ≈ 1 − sT Donc, au premier ordre, 1 − sT ≈ 1 z 1 z−1 sT ≈ 1 − = z z z−1 s ≈ zT plan Z, Laplace et Euler s≈ z−1 zT Et Euler ? Appliquons à une fonction de transfert H : H(s) ≈ H( z−1 ) zT On est passé d’un système continu à un système échantillonné, implantable sur calculateur Cela correspond à la méthode d’Euler : z−1 sx(s) ≈ x(z) zT x0 (t) ≈ plan x(n) − x(n − 1) T Simulation Matlab/Simulink 5.8 Gain2 1 In1 4 Gain Hold Integrator 3.8 0.1 Gain1 plan 1 Out1 T Discrete Filter Résultats Sans bruit Avec bruit 1 3 2 0.5 1 0 0 0 5 10 15 20 25 30 1 0 5 10 15 20 25 30 0 5 10 15 20 25 30 1.5 1 0.5 0.5 0 0 5 10 15 20 25 30 Time offset: 0 comparables à ceux obtenus en continu plan 0 Time offset: 0 Z et Lustre 5.8 Gain2 1 In1 4 Gain Hold Integrator 3.8 0.1 Gain1 Discrete Filter Le même en Lustre : y = 5.8*x + 4.0*yi + 3.8*yd ; yi = T*x + (0.0 -> pre yi) ; yd = (x - (0.0 -> pre x))/T ; plan 1 Out1 T De Z à Lustre En transformée en Z Tz X Yi = z−1 D’où (z − 1)Yi zYi Yi = T zX = T zX − Yi 1 = T X − Yi z Le même en Lustre : yi = T*x + (0.0 -> pre yi) ; plan Conclusion On note la parenté (filiation) entre Lustre et les méthodes de l’automatique : Tous deux réfléchissent en termes de réseaux d’opérateurs agissant globalement sur des signaux. L’automatique linéaire a un calcul symbolique plus riche (fractions rationnelles) mais limité au linéaire. Lustre a aussi un calcul symbolique bien que plus restreint (commutation des pre) Cela explique sans doute la bonne acceptation de Lustre dans le monde de l’automatique. plan