LABORATOIRE DE REGULATION AUTOMATIQUE INTRODUCTION
Transcription
LABORATOIRE DE REGULATION AUTOMATIQUE INTRODUCTION
HEIG-VD REGULATION AUTOMATIQUE (REG) LABORATOIRE DE REGULATION AUTOMATIQUE INTRODUCTION AU LOGICIEL MATLAB DONNEES DES EXERCICES FONCTION UTILISATEUR 1. Ecrire une fonction MATLAB ayant pour nom sec_ord qui, à partir des arguments d’entrée tels que le gain statique K2 , le taux d’amortissement ζ et la pulsation propre non-amortie ωn , retourne les numérateur et dénominateur de la fonction de transfert du système fondamental du second ordre correspondant. G2 ( s) = Y ( s) = U ( s) 1+ K2 2⋅ζ ⋅s+ ωn 1 ⋅ s2 ωn 2 SYNTHESE FREQUENTIELLE 2. Ka 1 ⋅ s 1 + s ⋅ Tp Soit le système à régler Ga ( s) = asservi par le régulateur PI Gc ( s) = Kp ⋅ Valeurs numériques : ⎧ ⎡ rad ⎤ ⎪ Ka = 1 ⎢⎣ s ⎥⎦ ⎪ ⎨Ti = 10 [ s] ⎪T = 01 . [ s] ⎪ p ⎩ ( ) (1 + s ⋅ Ti ) . s ⋅ Ti -1INTRODUCTION AU LOGICIEL MATLAB : DONNEE DES EXERCICES M.ETIQUE/19.04.07/Ex_ma.doc HEIG-VD 2.1. REGULATION AUTOMATIQUE (REG) Déterminer le gain statique, les pôles et zéros de Go(s). Tracer la réponse indicielle en boucle ouverte. Fonctions MATLAB utiles (Control System Toolbox) : • series(numGc,denGc,numGa,denGa) • dcgain(numGo,denGo) • tf2zp(numGo,denGo) • step(numGo,denGo) 2.2. Déterminer le gain optimal Kpop tel que la marge de phase ϕm soit de 45 [º]. Sur un même graphique, tracer les lieux de Bode corrigés (Kp = Kpop ) et non-corrigé (Kp = 1). Fonctions MATLAB utiles (Control System Toolbox) : • bode(numGo,denGo) • margin(numGo,denGo) 2.3. Tracer la réponse indicielle en boucle fermée (régulation de correspondance). Déterminer le gain statique de Gw(s). Fonctions MATLAB utiles (Control System Toolbox) : • cloop(numGo,denGo) • step(numGw,denGw) • dcgain(numGw,denGw) 2.4. Tracer la réponse indicielle en boucle fermée (régulation de maintien, on suppose que le point d’introduction des perturbations est situé entre le régulateur Gc(s) et le système à régler Ga(s)). Déterminer le gain statique de Gv(s). Fonctions MATLAB utiles (Control System Toolbox) : • feedback(numGa,denGa,numGc,denGc) • step(numGv,denGv) 2.5. • dcgain(numGv,denGv) Tracer les réponses en vitesse (réponses à une rampe) en régulation de correspondance et en régulation de maintien. Fonctions MATLAB utiles (Control System Toolbox) : • lsim(num,den,u,t) -2INTRODUCTION AU LOGICIEL MATLAB : DONNEE DES EXERCICES M.ETIQUE/19.04.07/Ex_ma.doc HEIG-VD 2.6. REGULATION AUTOMATIQUE (REG) Sur un même graphique, tracer les lieux de Bode en boucle ouverte (corrigé), en boucle fermée (régulation de correspondance et régulation de maintien). Fonctions MATLAB utiles : • [A_Gi,phi_Gi,w_Gi]=bode(numGi,denGi) (Control System Toolbox) • subplot(211),semilogx(w_Goc,20*log10(A_Goc),w_Gw, 20*log10(A_Gw),w_Gv,20*log10(A_Gv)) • subplot(212),semilogx(w_Goc,phi_Goc,w_Gw, phi_Gw,w_Gv,phi_Gv) • subplot(111) • xlabel • ylabel • title • gtext 3. SYNTHESE COMPLEXE Soit la fonction de transfert en boucle ouverte ( s + 3) 2 + 72 ) ( ko Go( s) = ⋅ s ( s + 11) ⋅ ( ( s + 5) 2 + 32 ) 3.1. Déterminer la valeur optimale koop du facteur d’Evans ko telle que les pôles dominants en boucle fermée soient caractérisés par un taux d’amortissement ζ = 0.5. Fonctions MATLAB utiles (Control System Toolbox) : • zp2tf • rlocus(numGo,denGo) • sgrid([zeta],[omega_n]) • rlocfind(numGo,denGo) 3.2. Tracer la réponse indicielle en boucle fermée(régulation de correspondance). Fonctions MATLAB utiles (Control System Toolbox) : • cloop(numGo,denGo) • step(numGw,denGw) -3INTRODUCTION AU LOGICIEL MATLAB : DONNEE DES EXERCICES M.ETIQUE/19.04.07/Ex_ma.doc HEIG-VD 3.3. REGULATION AUTOMATIQUE (REG) Tracer dans le plan complexe la configuration pôle-zéro en boucle fermée (régulation de correspondance). Fonctions MATLAB utiles : (Control System Toolbox) • pzmap(numGw,denGw) FONCTION UTILISATEUR 4. Reprendre la fonction sec_ord écrite à l’exercice 1 et la compléter par : 1) l’ajout d’une option permettant de tracer la réponse indicielle; 2) un traitement d’erreur concernant le nombre des arguments d’entrée; 3) une aide en ligne telle qu’il suffise de taper help sec_ord pour obtenir des informations quant à l’utilisation de la routine. Fonctions et variables MATLAB utiles : • step(num,den) (Control System Toolbox) • if...end • error(‘error_message’) • nargin, nargout • % 5. TRAITEMENT DE DONNEES EXPERIMENTALES (REGRESSION LINEAIRE) Le fichier S:\REGULATION\MANIPLABORATOIRE\matlab\FOEHN_01.DAT contient les données d’acquisition de la caractéristique statique du foehn (manipulation du laboratoire d’Automatique). A l’aide de MATLAB, tracer cette caractéristique UY = f(UA) et, par régression linéaire, trouver le gain statique du système. Superposer les mesures (symbolisées par exemple par des x) et la droite de régression. Fonctions MATLAB utiles : (Matlab Toolbox) • load • polyfit • polyval • plot, grid, title, xlabel, ylabel, gtext -4INTRODUCTION AU LOGICIEL MATLAB : DONNEE DES EXERCICES M.ETIQUE/19.04.07/Ex_ma.doc HEIG-VD 6. REGULATION AUTOMATIQUE (REG) TRAITEMENT DE DONNEES EXPERIMENTALES (FILTRAGE) La réponse indicielle d’un système analogique a été enregistrée dans le fichier S:\REGULATION\MANIPLABORATOIRE\matlab\PROC_D.DAT. 6.1. 6.2. 6.3. A l’aide d’un filtre d’ordre 1 (T = 0.1 [s]), filtrer le signal de façon à atténuer le bruit. Fonctions MATLAB utiles : • load (Matlab Toolbox) • lsim (Control System Toolbox) Dans le but de détecter la période de l’oscillation contenue dans la réponse, repérer les extrêma en dérivant numériquement le signal filtré. Fonctions MATLAB utiles : • diff (Matlab Toolbox) De façon à faciliter l’obtention de la période de l’oscillation, on peut envisager de sous-échantillonner le signal, procéder ensuite à une interpolation puis finalement à la dérivation. A l’aide des fonctions MATLAB mentionnées ci-dessous, essayer de mettre en oeuvre un tel filtrage. Fonctions MATLAB utiles : (Matlab Toolbox) • diff • interp1 -5INTRODUCTION AU LOGICIEL MATLAB : DONNEE DES EXERCICES M.ETIQUE/19.04.07/Ex_ma.doc HEIG-VD 7. REGULATION AUTOMATIQUE (REG) MOTEUR DC A EXCITATION SEPAREE VARIABLE (Simulink Toolbox) Reprendre l’exemple du moteur à courant continu à excitation séparée constante traité au cours et transformer le schéma de simulation Simulink ex_02.m dans S:\REGULATION\MANIPLABORATOIRE\matlab de façon à traiter le cas d’une excitation séparée variable. 7.1. Simuler la cas où l’on enclenche subitement la tension aux bornes de l’induit ua(t), atteint une vitesse constante, puis désexcite le moteur, la tension ua(t) étant maintenue constante. Sauver dans une variable MATLAB tous les signaux intéressants en vue du point suivant. 7.2. 8. Reconstruire dans MATLAB les puissances électrique Pel et mécanique Pmec . Les tracer à l’écran, au moyen d’une routine analogue à l’exemple cal_01.m traité au cours. Faire de même avec les énergies. MOTEUR DC A EXCITATION SEPAREE ASSERVI EN VITESSE (Control System Toolbox et Simulink Toolbox) Partant de l’exemple du moteur à courant continu à excitation séparée constante traité au cours, construire le schéma Simulink de l’asservissement en vitesse de ce moteur. Prendre en compte l’existence de perturbations de couple avant de sélectionner à la souris l’ensemble des blocs spécifiques au moteur et de les réunir en un seul bloc appelé par exemple « moteur DC » au moyen de l’option Group du menu Options (entourer à la souris, bouton gauche maintenu pressé, les blocs concernés, Ga1(s), Km Ga2(s), etc). Fichiers des solutions : • ma_08_01.m -6INTRODUCTION AU LOGICIEL MATLAB : DONNEE DES EXERCICES M.ETIQUE/19.04.07/Ex_ma.doc HEIG-VD 8.1. REGULATION AUTOMATIQUE (REG) Faire la synthèse du régulateur PI en s’aidant des fonctions MATLAB de la Control Systems Toolbox. Tester le régulateur dans MATLAB et dans Simulink, où, après avoir transmis au système une consigne de 1 [rad/s], le soumettre 10 [ms] plus tard à une perturbation permanente de couple résistant de 5 [Nm]. Conseil : ajuster la durée de simulation à 50 [ms], cette même valeur étant fixée sur l’oscilloscope, pour lequel on choisira 1.5 comme échelle d’amplitude. Fichiers des solutions : • ini_01.m • ini_02.m • ma_08_01.m 8.2. Compléter le schéma de simulation de façon à prendre en compte la limitation de l’amplificateur de puissance à ± 2.5 [V]. Faire les essais nécessaires, en régulation de correspondance, pour mettre en évidence l’effet de la saturation. Fichiers des solutions : • ma_08_02.m 8.3. Après avoir enlevé le bloc de limitation de la grandeur de commande, modifier le schéma de simulation de façon à prendre en compte l’existence de frottement sec d’amplitude 1 [Nm]. En soumettant le système asservi à une consigne sinusoïdale, mettre en évidence l’effet de cette perturbation. • ma_08_03.m 8.4. Répéter le point 8.1 en procédant différemment pour obtenir la fonction de transfert Ga(s) du système à régler, profitant de l’outil de modélisation de Simulink, la fonction linmod. 8.5. Créer votre bibliothèque personnelle, appelée my_lib, contenant comme premier élément le bloc « Moteur CC ». -7INTRODUCTION AU LOGICIEL MATLAB : DONNEE DES EXERCICES M.ETIQUE/19.04.07/Ex_ma.doc HEIG-VD REGULATION AUTOMATIQUE (REG) PLL 9. Etablir le schéma fonctionnel d'une PLL et la simuler à l'aide de Simulink. 10. Convertisseur DC/DC Etablir le schéma fonctionnel d'une alimentation de type convertisseur DC/DC (par exemple en montage élévateur de tension) et la simuler à l'aide de Simulink. -8INTRODUCTION AU LOGICIEL MATLAB : DONNEE DES EXERCICES M.ETIQUE/19.04.07/Ex_ma.doc