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