...
Dynaamiset yhtälöt ja avoimen silmukan siirtofunktiot DC-moottorille ovat:
Järjestelmän tilakaavio nättää näyttää seuraavalta:
Alkuperäisen ongelman yhtälöt ja derivoinnit löytyvät edellisestä esimerkistä DC-moottorin malli. Käy malli läpi, jos yhtälöt ovat hepreaa.
Jos laitetaan askelvasteen vaatimukseksi 1rad/s, perusteet ovat:
- Asettumisaika alle 2 sekunttiasekuntia
- Ylitys on alle 5%5 %
- Paikallaan ollessa virhe on alle 1% 1 % (vakaa tila)
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)
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); |
Muista että, siirtofunktioo siirtofunktio PID säätimelle on:
Suhteellinen säätö (proportional control)
Kokeillaan ensin käyttää suhteellisen säädön vahvituksena vahvistuksena (gain) arvoa 100. Suljetun kierron siirtofunktion määrittämiseen käytämme palauta komentoa (feedback). Lisää seuraava koodi m-tiedostosi loppuun:
...
Seuraavaksi katsotaan miltä askelvaste näyttää. Lisää seuraavat arvot arvot m-tiedoston loppuun ja suorita ohjelma komentoikkunassa.
Code Block |
---|
t=0:0.01:5; step(sys_cl,t) title('Step response with Proportional Control') |
Sinun pitäis pitäisi saada seuraavanlainen kuvaaja:
...
Yläpuolella olevasta kuvaajasta näämmenäemme, että sekä vakaan tilan että ylityksen virhe on liians uuriliian suuri. Aijemmista Aiemmista esimerkeistä tiedämme että PID-säätimen integraali kertoimen (Ki) lisääminen poistaa vakaan tilan virheen ja derivointi kerroin (Kd) alentaa ylitystä. Testataan PID-säädintä pienillä Ki ja Kd arvoilla. Muuta m-tiedostoa seuraavanlaiseksi:
...
Nyt asettumisaika on liian pitkä. Ki termiä kasvattamalla voimme alentaa asettumisaikaa. Muuta m-tiedostossa Ki arvoon 200. Suorita jälleen komentoikkunassa ja kuvajaan kuvaajan pitäisi näyttää seuraavalta:
...
Nyt näemme että reagointi on paljon nopeampaa kuin aikaisemmin. Suuri Ki:n arvo on kuitenkin huonontanut ylitystä. Seuraavaksi suurennetaan Kd arvoa jolla voidaan pienentää ylitystä. Muuta m-tiedostossa Kd arvo 100. Suorita ohjelma ja kuvaajan pitäis pitäisi näyttää seuraavanlaiselta:
...
Code Block |
---|
Kp=100; Ki=200; Kd=10; |
Code Block |
Tulevat kaikki
...
vaatimukset
...
täytetyksi