Le système étudié possède la fonction de transfert ... - Scilab / Xcos
Le système étudié possède la fonction de transfert suivante : T(s) = 60 / [(1+8*s)
.... sysass=syscor/(syscor+1); // système asservi. h=csim('step',temps ... Un
correcteur PID C(s) =K+1/(Ti*s)+Td*s sera utilisé pour corriger le système. En
Boucle ...
part of the document
Le système étudié possède la fonction de transfert suivante :
T(s) = 60 / [(1+8*s) * (1+2*s) * (1+s)]
Les essais ont été réalisés avec Scilab ver. 5.3
Voici le code utilisé pour générer les réponses en boucle ouverte puis en boucle fermée à retour unitaire (avec un éventuel correcteur PID):
clf();
s=poly(0,'s');
proc=evstr('[60/((8*s+1)*(2*s+1)*(s+1))]'); // processus etudie
sys=syslin('c',proc);
mode(0)
defv1=['0.1';'50']; // parametres d'etude
title='Entrer période échantillonnage et le tmax';
rep=x_mdialog(title,['période échantillonnage?';'tmax?'],defv1);
dttmax=evstr(rep);
dt=evstr(dttmax(1));tmax=evstr(dttmax(2)); // reponse indicielle
temps=0:dt/5:tmax;
h=csim('step',temps,sys);
xset("wpos",0,0);
xset("wpdim",1000,800);
plot2d(temps',h);
xgrid();
xtitle("Réponse indicielle du systeme en BO","secondes");
resp=['Continuer';'arrêter'];
n=x_choose(resp,'Selectionner la réponse','Valider');
if n ~=1 then break,end
tcor=%t
defv=['1';'1000000';'0.0'];
while tcor do
title='Vous pouvez changer K, Ti, TD, C(s)=K+1/(Ti*s)+Tds';
defv=x_mdialog(title,['K=';'Ti=';'Td='],defv);
K=evstr(defv(1));Ti=evstr(defv(2));Td=evstr(defv(3));
cor=(K*(1+1/(Ti*s)+Td*s));
syscor=cor*sys;
xset("wpos",0,0);
xset("wpdim",1000,800);
mode(0)
sysass=syscor/(syscor+1); // système asservi
h=csim('step',temps,sysass);
xset("wpos",0,0);
xset("wpdim",1000,800);
clf()
plot(temps',h);
xgrid();
xtitle("Réponse indicielle du système en BF","secondes");
n2=x_choose(['nouveau PID';'arrêt'],['Choix']);
select n2
case 0 then
break
case 1 then
tcor=%t
case 2 then
tcor=%f
end
end
Un correcteur PID C(s) =K+1/(Ti*s)+Td*s sera utilisé pour corriger le système.
En Boucle Ouverte (sans correcteur):
En Boucle Fermée avec correcteur : réglé pour obtenir des oscillations stables (en jouant uniquement sur le gain : P= 0,281, I et D inactifs) :
Essais avec Xcos
Les schéma bloc correspondant au système étudié précédemment a été réécrit avec les blocs usuels.
Avec la valeur précédente de 0.281 on obtient des oscillations amorties.
Il faut mettre le gain à 0.287 pour de nouveau avoir des oscillations stables.
Essai avec 0.281
Toujours sous xcos mais en utilisant le correcteur PID standard fourni. Les oscillations stables sont obtenues pour un gain de 0.284
Bref, je ne sais que penser de ces différents résultats et sur lequel je peux mappuyer.
Avec un correcteur PI
Réponse sous Scilab
Avec Xcos
Jai également essayé dutiliser le correcteur PID pour corriger la réponse en BF en fixant par exemple un dépassement maxi de 20% tout en gardant une erreur nulle et un faible temps de réponse.
Sous Scilab jai réglé le correcteur pour obtenir les résultats ci-dessous :
Je ne parviens pas non plus à obtenir la même chose avec Xcos