Td corrigé Le système étudié possède la fonction de transfert ... - Scilab / Xcos pdf

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 m’appuyer.

Avec un correcteur PI
Réponse sous Scilab


Avec Xcos


 J’ai également essayé d’utiliser 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 j’ai réglé le correcteur pour obtenir les résultats ci-dessous :


Je ne parviens pas non plus à obtenir la même chose avec Xcos