Kuczmann Miklós

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


IV.1.7. PID-szabályozók tervezése

A PID-szabályozók tervezéséhez a IV.14. ábrán látható blokkdiagramot használjuk. Itt jelöli a szabályozandó szakasz, azaz a DC motor, pedig a tervezendő szabályozó átviteli függvényét. A P index a plant, a C index a controller angol nyelvű kifejezésekre utal. Folytonos idejű szabályozótervezés esetén és , mintavételes szabályozótervezéskor pedig és . Az időfüggvények alatt nagybetűvel szedve szerepeltetjük a Laplace- vagy a z-transzformáltakat is.
Itt fordulatszám-szabályozással foglalkozunk, amikor identifikáció útján ismert, a szabályozók átviteli függvényét és a tervezés lépéseit pedig a következőkben adjuk meg.
A szabályozó bemenete az referenciajel és a szakasz kimenőjelének a különbsége: , kimenete pedig az irányítójel, ami a motort meghajtó armatúrafeszültség.
 
IV.14. ábra. A PID-típusú szabályozás tervezést segítő blokkvázlata.
 
Az egyes jelek előállíthatók az átviteli függvények segítségével. Jelölje
 
(IV.22)
 
a felnyitott kör átviteli függvényét (az O index az open loop kifejezésre utal). Ekkor
 
(IV.23)
 
rendre a hibajel, a beavatkozó jel és a kimeneti jel Laplace-transzformáltja vagy z-transzformáltja, és jelöli a referenciajel transzformáltját.
A fordulatszám szabályozására alkalmas zárt szabályozási kör részletes blokkvázlata a IV.15. ábrán látható. Az irányítandó szakasz a DC motor, amelynek -vel jelölt fordulatszámát irányítjuk, s a referenciajel . A kettő különbsége a hibajel:
 
(IV.24)
 
A szabályozót a átviteli függvényhez tervezzük, amely olyan szakaszmodellt feltételez, amelynek bemenete az armatúrafeszültség volt egységben és kimenete a szögsebesség rad/s egységben. A hibajelet emiatt át kell váltani RPM egyégből rad/s egységbe, ezt végzi az blokk: . A szabályozó bemenete tehát a szögsebesség hibája (), kimenete pedig az feszültség volt egységben. A mikrovezérlő a kimenetén PWM egységben meghatározott feszültséget állít elő, a blokk a szabályozó algoritmus feszültségjelét alakítja át PWM-értékké. Ehhez a (IV.16) összefüggést rendezzük át:
 
(IV.25)
 
A kapott eredményt egész értékűre kell kerekíteni ().
A szabályozó algoritmus tartalmaz még egy alsó és egy felső határértéket, amely alá és amely felé nem mehet a beavatkozó jel. Ezek a limitek az 50 és a 250 értékek. A motor 50 PWM-érték alatt nem forog (a (IV.16) összefüggésben szereplő 43 határérték helyett 50-et használunk), a maximális érték pedig 255 lenne, de ezt 250-re állítottuk be a mikrovezérlő programjában. A szabályozó tervezése és működésének ellenőrzése kapcsán ezen határértékekre is figyelemmel kell lenni.
 
IV.15. ábra. A PID-típusú szabályozást megvalósító zárt szabályozási kör.
 
Az Arduino kódban a beavatkozás a következőképp néz ki:
 
PWM = (int)(21.96788*u+42.477);
if (PWM>250) {PWM=250;}
if (PWM<50) {PWM=50;}
analogWrite(PWM_OUT, PWM);
 
A következőkben a beavatkozó jel meghatározásával, vagyis a szabályozók tervezésével foglalkozunk.
 

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