...
Seuraavaksi suunnitellaan PID-säädin ja lisätään se järjestelmään. Luo ensin uusi m-tiedosto ja syötä seuraavat komennot (katso DC-moottorin mallia käskyjen yksityiskohdista made by Jukka "nättitukka"Tamminen, josta löytyy tiedot miten kyseinen malli on tehty)
Code Block |
---|
function Moottori()
J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];
motor=tf(num,den);
|
...
Suhteellinen säätö (proportional control)
Kokeillaan Katsotaan ensin käyttää suhteellisen säädön vaikutusta. Käytetään aluksi vahvistuksena (gain) arvoa 100. Suljetun kierron siirtofunktion määrittämiseen käytämme palauta komentoa (feedback). Lisää seuraava koodi m-tiedostosi loppuun:
Code Block |
---|
Kp=100; saadin=Kp; sys_cl=feedback(saadin*motor,1); |
Seuraavaksi katsotaan miltä askelvaste näyttää. Lisää seuraavat arvot Jotta näytölle saadaan aikaiseksi kuvaaja tarvitsee lisätä seuraavat komennot. Lisää komennot m-tiedoston loppuun ja suorita ohjelma komentoikkunassa.Tämän jälkeen voidaan tutkia askelvastetta.
Code Block |
---|
t=0:0.01:5; step(sys_cl,t) title('Askelvaste suhteellisella säädöllä') |
...
Code Block |
---|
J=0.01; b=0.1; K=0.01; R=1; L=0.5; num=K; den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)]; motor=tf(num,den); Kp=100; Ki=1; Kd=1; contrsaadin=tf([Kd Kp Ki],[1 0]); sys_cl=feedback(contrsaadin*motor,1); step(sys_cl) title('PID_säädin Controlpienellä with small Ki andja Kd arvolla') |
Suorittamalla muutetun m-tiedoston saat seuraavanlaisen kuvaajan
...