Proporcionális hmérséletszabályozás 1. A gyaorlat célja Az implzsszélesség modlált jele szoftverrel történ generálása. Hmérsélet szabályozás implementálása P szabályozóval. 2. Elméleti bevezet 2.1 A proporcionális szabályozás Az atálisan mért hiba függvényében számítj i a beavatozó jelet. A beavatozó jel arányos a mért hibával. Minél nagyobb az e szabályozási hiba (a folyamat y mért imenete minél távolabb van az r alapjeltl), annál nagyobb lesz a iszámított beavatozó jel (). Folytonos idben a beavatozó jel számítása P szabályozó esetén: ( t) = K P e( t), K P > 0 (1) e( t) = r( t) y( t) (2) K P proporcionális ersítés, a szabályozó ersítése. A szabályozó átviteli függvénye megegyezi az ideális ersít átviteli függvényével. ( s) = K e( s) P ( s) H s) = = e( s) ( (3) P K P Mintavételes megvalósításnál a -i mintavételben mért alapjel és imenet alapján a beavatozó jel számítása: = K e = K r y ) (4) P P ( A szabályozó egységgrásra adott válasza és Bode diagramja az 1. Ábrán látható.
1 Ábra: Az ideális P szabályozó egységgrásra adott válasza és Bode diagramja A Proporcionális - Deriváló ialaítás figyelembe veszi a hiba változását is. A deriváló csatorna a hiba változásából öveteztet a hiba tendenciájára, jövbeli alalására és a szabályozó ezt is figyelembe veszi a beavatozó jel számításánál. A beavatozó jel számításánál a hiba tendenciáját a hiba deriváltjával jellemezzü: de ( t) = K Pe( t) + d, K P, d > 0 (5) dt d >0 paraméter a deriválási id. A mintavételes ialaításnál a deriváló csatorna megvalósításához a hátratartó differencia özelítést alalmazhatj. a mintavételi periódst jelöli. A (6) alapján a beavatozó jel számítása a -i mintavételben: de e e 1 (6) dt = K P e + d e e 1 (7) 2.1 Implzs szélesség modlált (PWM) jel generálása Az implzs szélesség modlált jel ét diszrét állapotot felvev (0 - U MAX vagy -U MAX - U MAX ), onstans periódsú () jel, amelyben egy perióds alatt az implzs szélessége változtatható (lásd 2. Ábra). Határozz meg a PWM jel átlagértéét egy perióds alatt. Feltételezzü, hogy a PWM jel szélessége (itöltése) 0<t<.
~ t t = 1 1 1 PWM PWM d = d + d = d = τ τ 0 τ τ 0 0 t 0 ehát a PWM jel átlagértée egyenesen arányos a itöltéssel. t 2. Ábra: PWM jel A PWM jel generátoro olyan rendszere, amelyene a bemenete a PWM itöltéséne megfelel jel, a imenete pedig a PWM jel. 3. Ábra PWM jel generátor PWM jel generálása megvalósíthatj analóg eletroniai eszözöel, digitális eletroniai eszözöel (mirovezérl perifériáin ez a megoldás az elterjedt) de önnyen le is programozható. Az analóg megoldásnál szüségün van egy frészfog-jel generátorra, egy analóg omparátorra. Ebben az esetben a itöltés egy IN feszültség. Ezt hasonlítj össze a frészfog-jel generátor. Ha ez a feszültségszint nagyobb, mint a frészfogjel értée, aor a omparátor imenete 1, másént a imenet 0. ehát a omparátor imenete egy PWM jel, amine a itöltése IN feszültséggel lesz arányos. 4. Ábra. Analóg PWM jel generátor
5. Ábra A PWM jel generálása Digitális áramöröel magvalósított PWM jel esetén a itöltési tényezt egy regiszterben tárolj. Ugyanaor szüségün van egy regiszterrel megegyez bithosszúságú számlálóra is. A számláló bemenete egy órajel. Így a számláló értée folyamatosan n, majd ha eléri a maximmot, aor nllázódi majd ismét inrementálódi. A számláló imenetét és az órajelet összehasonlítj egy digitális omparátorral. A omparátor imenete PWM jel lesz, amine a itöltése egyenl a regiszterbe beírt értéel. A PWM jel periódsa: az órajel periódsa szorozva a számláló bithossza. 6. Ábra Digitális PWM jel generálás Szoftveres megoldás esetén egy cilis megszaítást alalmazhatn. Minden cilsban növelün egy változót (conter). árolj az változóban a PWM itöltését. Ha a conter elért egy maximális értéet (MAXCOUNER), aor nllázz. Ha a conter isebb, mint értée, aor a DOU digitális imeneten egyet, másülönben nllát üldün i.
const int MAXCOUNER=100; nsigned int conter=0, ; Onimer(){ if (conter==0) read (); if(conter<) DOU=1; else DOU=0; conter++; } if (conter == MAXCOUNER) conter=0; A PWM jele segítségével egy digitális imeneten folytonos módon végezhetün szabályozást. A PWM jel periódsát úgy ell megválasztani, hogy nagyságrenddel isebb legyen, mint az irányított folyamat legisebb idállandója. Így a folyamat bemenetén lev PWM jelne a hatása a imeneten csa átlagolva jeleni meg. HA motorvezérlésre szeretnén használni a PWM jelet, aor magas jelfrevenciát ell választani (példál 20 Hz), hmérséletszabályozás esetén a PWM frevenciája lehet aár 0.1 1 Hz tartományban is. Kemence hmérséletszabályozása esetén a PWM jellel egy apcsolót vezérelhetün, amely a melegít ellenállásra vagy ráapcsolja, vagy leapcsolja a feszültséget. 3. A mérés menete Megoldandó feladato a empcontrollab tervben: 1. A proporcionális szabályozó megvalósítása A GetControlSignal függvényben: - Leérdezzü a szabályozási hibát a GetControlError függvénnyel - A (4) összefüggés alapján iszámolj a beavatozó jelet - A beavatozó jelet orlátozz a +/-100 tartományra. 2. A PWM jel szoftveres generálása A GeneratePWMSignal függvényben: - Folyamatosan növelün egy számláló. - Ha az értée eléri a százat (maximális értéet), aor nllázz. - Beolvass a beavatozó jelet, meghívva a GetControlSignal függvényt. - Ha a beavatozó jel abszolút értée nagyobb, mint a számláló értée aor az AUXPOR 0-s és 1-es bitjén 0 értéet üldün i a cbdot függvény segítségével. - Másülönben, ha a beavatozó jel értée pozitív 1-et üldün i a 0s biten (ftés) és 0- át a 1-es biten. Ha a beavatozó jel értée negatív 1-et üldün i a 1s biten (htés) és 0- át a 0-s biten. 3. Kiértéelés: - Ábrázolj grafisan a beavatozó jelet és a hmérséletet a GetemperatreList és a GetControlList függvényeben.
- Vizsgálj meg a hmérsélet imenet és a beavatozó jel változását egymáshoz épest - Vizsgálj meg a hmérsélet imenetet ülönböz K P értéere. 4. Kérdése és feladato 1. Módosíts a programban a PWM jel felbontását (számláló maximális értéét) 100-ról 20-ra. Vizsgálj a hmérsélet válasz módoslását. 2. Módosíts a P szabályozót PD szabályozásra (a deriválási id legyen 1-nél isebb). Milyen változást látn a szabályozott hmérséletjelen? 3. Írj át a programot olyan formában, hogy a htés imentetet nem alalmazz. (az AUXPOR másodi imenetére mindig zérót üldün i). Hogyan változi a rendszer válasza.