Kuczmann Miklós

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


IV.2.5.8 A vezérlő program kiegészítése

Mielőtt továbbmegyünk a diszkrét idejű szabályozók tervezésére, kiegészítjük a mérést vezérlő programot, hogy az alkalmas legyen a mintavételes mérések elvégzésére.
Ebben a programban a mintavételezést a végzi. Ehhez a függvénybe a következő sorokat kell illeszteni:
 
cli();
TCCR2A = 0;
TCCR2B = 0;
TCNT2 = 0;
OCR2A = 249; // = (16*10^6) / (1000*64) - 1
TCCR2A |= (1 << WGM21);
TCCR2B |= (1 << CS22);
TIMSK2 |= (1 << OCIE2A);
sei();
 
Ez a megszakítás 1000 Hz frekvenciának felel meg.
Létrehozunk egy függvényt, amely a nevű változót növeli, az 1000 Hz frekvenciának megfelelő ütemben:
 
ISR(TIMER2_COMPA_vect){
lepes++;
}
 
A változót természetesen 0-ról indítjuk.
A következő fejezetben részletezett okok miatt 10 Hz mintavételi frekvenciát kívánunk előállítani. Ez úgy oldható meg, hogy a függvényben lévő számításokat minden századik inkrementálás mellett tesszük meg. A függvény első sorába tegyük be az alábbi feltételt:
 
if (lepes==100-1){
lepes = 0;
 
// a loop() többi része itt található
}
 
A mérés, hibaszámítás és beavatkozás a folytonos idejű implementálással megegyező módon történik, a meglévő kódot nem kell módosítani, a szabályozójel számítása történik a következőkben bemutatott módon.
 

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