Kuczmann Miklós

Lineáris rendszerek és szabályozások Arduino UNO mikrovezérlővel


IV.1.7.1. A folytonos idejű PID-szabályozócsalád tervezése.

A PID-szabályozók tervezése történhet a fázistartalékra történő tervezés módszerével, amelyhez a felnyitott kör Bode-diagramját használjuk. Ehhez a szakasz polinom per polinom alakú átviteli függvényét át kell írni szorzat alakra az időállandó segítségével, vagyis
 
 
a lomhább időállandó tehát , a gyorsabb pedig . A rendszer stabil pólusai és , amelyekkel és .
A szakaszmodellt, a pólusokat és az időállandókat Matlab környezetben a következőképp kapjuk:
 
WP = tf(5434, [1 32.5 165]);
polus = roots([1 32.5 165]);
tau = flipud(-1./polus);
 
A függvény segítségével sorrend áll elő, ahogy .
A négy szabályozót a következőképp definiáljuk:
  • A P-szabályozó átviteli függvénye konstans:
 
(IV.26)
 
  • A PI-szabályozó átviteli függvénye a lomhább időállandójú pólust ejti ki:
 
(IV.27)
 
  • A PD-szabályozó átviteli függvénye a gyorsabb időállandójú pólust cseréli le egy még gyorsabb pólusra:
 
(IV.28)
 
  • A PID-szabályozó a fentieket egyesíti, itt az alábbi formulát használjuk:
 
(IV.29)
 
IV.16. ábra. A P-szabályozó erősítésének meghatározása fázistartalékra történő tervezés esetén.
 
Példaképp tervezzünk szabályozókat fázistartalékra. Illusztrációként szolgáljon a P-szabályozó tervezése a IV.16. ábra segítségével, Matlab környezetben mindezt könnyedén megtehetjük a utasítással. Ehhez
  1. Rajzoljuk fel a felnyitott kör átviteli függvényének Bode-diagramját egységnyi erősítés mellett, azaz legyen (, , illetve ), ahogy az a IV.16. ábrán látható. Szabályozónként ezt a következőképp kell megtenni:
  • majd (ugyanezen formulákat lentebb, a pontos tervezésnél használni fogjuk).
  1. A fáziskarakterisztikán egérrel keressük meg a pontot (ami itt a pontot jelenti), s olvassuk le az vágási körfrekvenciát. (A példában a értéknél. Természetesen a utasítással mindezt pontosabban meg lehet határozni, a hiba a grafikus megjelenítés adta leolvasásból fakad.)
  2. Olvassuk le az amplitúdókarakterisztika értékét decibel egységben a vágási körfrekvencián (itt ).
  3. Határozzuk meg a szabályozó erősítését:
 
(IV.30)
 
  • azaz , ami egy mértékegység nélküli viszonyszám, ugyanis a utasítás a mennyiséget a összefüggésnek megfelelően decibel egységben ábrázolja.
 
A kézi tervezés mind a négy szabályozóra (természetesen a megfelelő átviteli függvényt használva) ugyanígy történik.
A tervezés az ábra közvetlen felrajzolása nélkül is megvalósítható, de ekkor az alábbi nemlineáris egyenletrendszert kell megoldani:
 
(IV.31)
 
amely egyenletek azt fejezik ki, hogy a fázistartaléknak megfelelő vágási körfrekvencián az amplitúdókarakterisztika értéke egységnyi. Ez az egyenletrendszer hatékonyan az függvény hívásával oldható meg. A két egyenlethez tartozó két ismeretlen a szabályozó erősítése és az vágási körfrekvencia.
A Matlab utasításaival a (IV.31) megoldásán alapuló pontos tervezés a következőképp valósítható meg. Legyen a fázistartalék, és példaként . A nemlineáris egyenletek megoldását végezzük el az függvény segítségével: . Legyen a kezdeti érték , ezzel megadhatjuk a szabályozó erősítésének és a vágási körfrekvenciának a kezdeti értékét, ahonnan az algoritmusa indul.
Az egyes szabályozók tervezését a következőképp lehet meghívni:
 
A tervezéshez szükséges hibák definiálása a következő függvényekkel lehetséges. Itt a függvény segítségével a értékhez kiszámítjuk a erősítésértéket és az fázist, majd ezen értékeket behelyettesítve a (IV.46) nemlineáris egyenletekbe, hibát számolunk. Az függvény ezt a hibát minimalizálja, részleteiben:
 
function F=P(x,WP,fit) % vagy...
F=PI(x,WP,tau,fit) % vagy...
F=PD(x,WP,tau,fit,N) % vagy...
F=PID(x,WP,tau,fit,N)
KP = x(1); % vagy KPI, KPD, KPID
wc = x(2);
 
WC = tf(számláló,nevező); % a szabályozó átviteli függvénye,
% ahogy fent megadtuk
WO = WC*WP;
 
[K,f] = bode(WO,wc);
f1 = K-1;
f2 = -180+fit-f;
F = [f1;f2];
 
A megoldás az vektorban áll elő: a szabályozó erősítése, pedig a vágási körfrekvencia.
Az így tervezett zárt szabályozási körök ugrásválaszát a IV.17. ábrán hasonlítottuk össze, néhány jellemző adatát pedig a IV.3. táblázatban foglaltuk össze. Itt a vágási körfrekvencia rad/s egységben, a szabályozó erősítése, az ugrásválasz maximális értéke, pedig az ugrásválasz stacionárius állapotbeli értéke, a túllövés, a túlvezérlés, s végül a beavatkozó jel értéke állandósult állapotban.
IV.17. ábra. Az egyes szabályozókkal felépített zárt szabályozási körök ugrásválaszainak összehasonlítása fázistartalék mellett.
 
IV.3. táblázat. Az egyes szabályozókkal felépített zárt szabályozási körök néhány jellemző adata fázistartalék mellett.
Szabályozó
K
P
25
,28
0
,175
0
,99
0
,85
17
,4
6
,74
0
,026
PI
15
,13
0
,084
1
,09
1
,00
9
,48
2
,87
0
,031
PD ()
41
,78
0
,261
1
,03
0
,89
14
,6
19
,2
0
,027
PID ()
30
,25
0
,168
1
,09
1
,00
9
,00
10
,9
0
,031
PID ()
75
,62
0
,421
1
,09
1
,00
9
,00
67
,74
0
,031
 
A IV.3. táblázatból és a IV.17. ábrából kiolvasható, hogy minél nagyobb az vágási körfrekvencia értéke, a szabályozó annál gyorsabb, ahogy az is, hogy növelése tovább növeli a szabályozó sebességét. A körerősítés is a gyorsabb szabályozó esetén a nagyobb értékű, további növelése gyorsítja a szabályozási kört. A gyorsítás azonban lengő jellegű viselkedéshez vezet, ahogy az a szimulációs eredményekben is jól látható, sőt nagy körerősítés instabillá teheti a zárt rendszert. Gyors beavatkozás azonban nagy beavatkozó jelekkel lehetséges, ahogy az látható a nagy túlvezérlési értékekből. A kettő között kompromisszumos megoldást kell találni, azaz lehetőség szerint a leggyorsabb szabályozást elérni, de úgy, hogy a beavatkozó szerv ne menjen telítésbe. A stacionárius állapotbeli értékből kitűnik, hogy az integrátort is tartalmazó szabályozó pontos működést tesz lehetővé az egységugrás jellegű referenciajelre. Túllövés valamennyi esetben előfordul, ami csökkenthető a fázistartalék növelésével, a körerősítés, illetve csökkentésével. Ezzel persze a szabályozás lassúbb lesz.
 

Lineáris rendszerek és szabályozások Arduino UNO mikrovezérlővel

Tartalomjegyzék


Kiadó: Akadémiai Kiadó

Online megjelenés éve: 2026

ISBN: 978 963 664 238 9

A könyv a lineáris rendszerek és lineáris szabályozások témaköreit dolgozza fel azzal a céllal, hogy az elméleti ismereteket egyszerűen kivitelezhető gyakorlati problémák megoldásával támassza alá, különös hangsúlyt fektetve ezért az Arduino UNO mikrovezérlő használatára. Fontos célunk, hogy a bemutatott demonstrációs eszközök egyszerűen kivitelezhetőek legyenek, így az eredmények könnyen rekonstruálhatóak, ugyanakkor jó alapot biztosítanak a továbblépéshez, bonyolultabb berendezések építéséhez, és az elmélet helyes alkalmazásához.

Az első rész a felhasznált hardvereket és szoftvereket mutatja be. A Matlab alapvető jelentőségű rendszerek analízisében, szabályozások tervezésében, és a különféle szimulációkban. A könyvbeli példákat Matlab környezetben dolgoztuk ki. Ezek bemutatása nagyon részletes, a példák nagyban segítik az elmélet megértését. Az Arduino UNO mikrovezérlőre és a hozzá kapcsolható egyéb hardverekre egyszerűségük és kedvező áruk miatt esett a választás. A Matlab környezetben tervezett szabályozókat, illetve a méréseket ezzel a mikrovezérlővel valósítjuk meg.

Számos nagyon jó könyv létezik, amelyek a szükséges mélységben vezetik be az Olvasót a Jelek és rendszerek, illetve a Szabályozástechnika témakörökbe. Néhányat a könyv végén található irodalomjegyzékben megadunk. Szándékosan csak magyar nyelvű könyveket sorolunk itt fel, a témakör hazai és nemzetközi irodalma óriási.

A második részben a Jelek és rendszerek témakörét dolgozzuk fel, ahol az elméleti háttér mellett illusztratív példákat hozunk, melyek segítségével könnyebben érthetővé válnak a tárgyalt fogalmak és módszerek. A témában számos kiváló irodalom fellelhető, melyekre hivatkozva tömör összefoglalását adjuk a témakörnek.

A harmadik rész a Szabályozástechnika területét járja körbe, ismét csak nagyon tömören, a klasszikus PID szabályozóktól az állapottér alapú szabályozásokig mutatjuk be a módszereket. Az elméleti alapokat egy konkrét példa illusztrálja.

A negyedik rész két esettanulmányt tárgyal nagyon részletesen. Az első egy egyenáramú motor, melynek modellezését, paramétereinek méréseken alapuló identifikálását és fordulatszámának szabályozását mutatjuk be. A másik egy instabil rendszer, egy lejtőn guruló golyó stabilizálását valósítja meg. Elvégezzük a demonstrációs eszközök aprólékos matematikai modellezését, a szabályozási körök elméleti tervezését, majd gyakorlati megvalósítását.

Reményeink szerint a könyv az Olvasó segítségére lesz a lineáris rendszerek és szabályozások megismerésében, valamint gyakorlatban való alkalmazásukban. A könyv jól használható az egyetemi mérnöki és informatikus oktatásban, különösen a témakörbe vágó szakdolgozatok, diplomamunkák és a hallgatói kutatómunka területén.

A közölt mintaprogramok szabadon felhasználhatók, továbbfejleszthetők.

Hivatkozás: https://mersz.hu/kuczmann-linearis-rendszerek-es-szabalyozasok-arduino-uno-mikrovezerlovel//

BibTeXEndNoteMendeleyZotero

Kivonat
fullscreenclose
printsave