Gyakorlati példa: DC motorok pozíció szabályozása
A feladat mechanika Kamera forgatása 2 tengely körül 30 Watt, 12 V kefés DC motorok Végállás érzékelők nélkül Relatív encoderek 1:7 szíjáttételek
A feladat követelmények Kalibráció végállás érzékelők nélkül Követési hiba figyelembe vétele Pozíció referencia fogadása PC től tengelyenként Rámpa függvényen mozgatás Maximális sebesség és gyorsulás értékek fogadása PC től
A feladat mérnöki szemmel
A feladat mérnöki szemmel Blokk diagramos felvázolás doboz külső követelményei meghatározhatók: 12 V tápfeszültség 2 DC motor 2 encoder USB port
A feladat mérnöki szemmel A doboz belső követelményei meghatározhatók első közelítésben (blokk diagram rajzolása során változhat): Beágyazott rendszer (mikrokontroller használata) Feszültség stabilizátorok Teljes H hidak Encoder csatlakozók, jelillesztések Soros USB átalakító (Kiegészítések: bluetooth port, soros port, végállás kapcsolók fogadása, ventilátor kapcsolása aktív hűtéshez.)
A feladat mérnöki szemmel Belső blokk diagram készítése:
A feladat mérnöki szemmel Elemek elméleti áttekintése címszavakban: Motorok (kefés DC motor) Visszacsatolási (encoder) Feszültség szabályozó Mikrokontroller Teljesítmény elektronika (H híd) Soros USB átalakító Bluetooth modul
A feladat mérnöki szemmel Motorok Léptető motorok Kefés DC motorok Háromfázisú motorok AC BLDC PMSM
A feladat mérnöki szemmel Visszacsolás Áram Sönt ellenállás Hall szenzor Pozíció és sebesség Potenciométer Resolver Back EMF Encoder
A feladat mérnöki szemmel Feszültség szabályozó Feszültség átalakítása kis teljesítményben Különböző pontoságokkal Állítható, fix feszültség szabályozók Kapcsoló üzemű LDO Stb.
A feladat mérnöki szemmel Mikrokontroller A mikrokontroller egyetlen lapkára integrált, általában vezérlési feladatokra optimalizált számítógép. Leggyakoribb perifériák: Oszcillátor Operatív tár Számlálók, időzítők Watchdog timer EEPROM Jelátalakítók (AD/DA) Kommunikációs buszok
H híd A feladat mérnöki szemmel
A feladat mérnöki szemmel Alkatrészek választása és kapcsolási rajz készítése: Fontos a követelmények meghatározása alkatrészenként Fogyasztások számolása Mikrokontroller perifériák H hidak teljesítménye Hődisszipáció Encoderek típusa Stb.
A feladat mérnöki szemmel
Blokkok kapcsolási rajza Feszültség szabályozó 5 V & 3,3 V: Biztosíték Zavarszűrés Pufferelés Adatlap szerint bekötések
Blokkok kapcsolási rajza Mikrokontroller: AtXmega 16 A4 Adatlap szerint bekötés Analóg és digitális táp leválasztása Perifériák bekötése LED ek debuggoláshoz
Blokkok kapcsolási rajza Programozó csatlakozó és órajel
Blokkok kapcsolási rajza Encoder csatlakozók és végállás kapcsolók
Blokkok kapcsolási rajza Soros USB átalakító:
Blokkok kapcsolási rajza Bluetooth modul:
Blokkok kapcsolási rajza H hidak: VNH2SP30
Nyomtatott áramkör Tervezési szempontok: Alkatrészek távolsága Zavarvédelem Fóliák elhelyezése Hűtőpadok Nagyfrekvenciás vonalak Kommunikációs vonalak Induktivitás elhelyezése Puffer kapacitások elhelyezése
Nyomtatott áramkör
Nyomtatott áramkör Táp és bluetooth A bluetooth nagyfrekvenciás Nem tehető össze más digitális jelekkel Tápellátást nem zavarja a kapacitások miatt
Nyomtatott áramkör Encoder illesztés Jelek felhúzása a csatlakozó mellett Szűrőkondenzátorok a csatlakozó mellett a tápvonalakhoz
Nyomtatott áramkör Mikrokontroller és soros USB Földfóliák az ic k alatt Tápfólia a processzor alatt a túloldalon Szűrőkapacitások a táp és föld lábaknál Kristályok távolsága Programozó csatlakozó távolsága Tápvonalak vastagsága (zavarvédelem miatt)
Nyomtatott áramkör H hidak Nagy felületű táp, föld, motor vonalak hűtés és áram miatt Távolságok a hő eloszlás és a digitális jelek védelme miatt Ventilátor kapcsolása opcionálisan (aktív hűtés)
Nyomtatott áramkör 3D
Nyomtatott áramkör Fénykép
Elmélet és gyakorlat kapcsolata Miért PID szabályozás? Hogyan ragadható meg szemléletesen a PID? Hogyan lesz az elméleti egyenletekből megvalósított mozgó rendszer?
Newton II. Szabályozástechnika megközelítése más szemszögből Newton második törvénye: A dinamika alaptörvénye Más törvényekkel is analóg (Ohm törvény U=R*I) Az erő a tömeg és a gyorsulás szorzata Millions saw the apple fall, but Newton was the one who asked why. Bernard Mannes Baruch
Jelölések Vezessük be a következő dinamikában megszokott jelöléseket ahol: x az elmozdulás Az idő szerinti deriváltakat ponttal jelöljük Q az erő
Autó futómű példája A futómű célja, hogy az út egyenetlenségeit csillapítsa. Hidraulikus csillapítás: D (lengéscsillapító) Rugalmasság: P (rúgó) Cél: elmozdulás 0 legyen (x), (ekkor a gyorsulás és a sebesség is 0)
Autó futómű példája A futómű célja, hogy az út egyenetlenségeit csillapítsa. A csillapítás felveszi az út hibáit a keréktől. Az autó a nagy tömege és tehetetlensége miatt nem mozdul el sokat egy kátyú esetén. A rúgó visszaállítja a csillapítást. A futómű egy mechanikus szabályozó. Cél ezek elektronikus, szoftveres megvalósítása minden rendszer esetén.
Autó futómű példája A futómű célja, hogy az út egyenetlenségeit csillapítsa. Szükség van a rendszer mozgásegyenleteire. Ennek alapja Newton II. axiómája. A rúgóerő arányos a rúgó összenyomódásával. A csillapítóerő arányos a sebességgel. Az autó egy helyben maradásához, (vagy egyenes vonalú egyenletes mozgásához, pl.: emelkedőn felfelé az autó kasznija is halad lassan felfelé és az utast nem zavarja, mert nem hirtelen mozgás) a gyorsulás 0 kell, hogy legyen.
Autó futómű példája A futómű célja, hogy az út egyenetlenségeit csillapítsa. A rúgóerő az összenyomódás és a rugóállandó szorzata. A csillapító erő a sebesség és a csillapítási tényező szorzata. Az erők előjeles összege megadja a tömeg és a gyorsulás szorzatát.
Autó futómű példája A futómű célja, hogy az út egyenetlenségeit csillapítsa. Az erőket előjelesen összegezve és behelyettesítve megkapjuk a mozgásegyenletet. Az erők előjeles összege megadja a tömeg és a gyorsulás szorzatát. Behelyettesítve a gyorsulásba 0 t:
Autó futómű példája PD szabályozó A P és D tagok a szabályozó súlyai. P az arányos D pedig a differenciális tag. Sok esetben hangolással állítják be. Az egyes tagok számítással is megkaphatóak. Érdekesség, a példa megértéséhez a számítás szükségtelen: A homogén megoldást kell számolnunk a szabályozás során. A differenciálegyenlet homogén megoldását az alábbi összefüggés adja: (Ez pontosan a kerékre ható erő ellenereje.)
Autó futómű példája PD szabályozó A magas erősítés azt jelenti, hogy a kimenet változása nagy lesz. Az arányos tag arányos a hibajellel. Virtuális rúgónak tekinthető. A differenciáló tag késlelteti a szabályozó kimenetének változásának a mértékét. Arányos a hibajel változási sebességével. Ezen túl a differenciáló tag szerepe, hogy csökkentse az integráló tag túllendülését (későbbiekben kerül sorra az integráló tag), valamint fokozza a szabályozási folyamat stabilitását. Virtuális csillapításnak tekinthető.
DC motoros mozgatás példája A cél hasonló. Egy motor hajt egy orsót, melynek mentén lineárisan elmozdul egy tömeg. Nem a gyorsulás minimalizálása a cél, hanem egy referencia pont megközelítése. Mérni kell a tömeg elmozdulását. Elektronikusan kell szabályozni a motort. A pontosság fontos.
DC motoros mozgatás példája A tömeg mozgatásának minőségi követelményei vannak: Kis túllendülés az elmozdulás során Kis maradó hiba (keskeny hibahatár legyen) Rövid felfutási idő Rövid lappangási idő Rövid szabályozási idő
DC motoros mozgatás példája PID szabályozó PD szabályozó esetén maradhat egy kis hiba, és előfordulhat az is, hogy a rendszer oszcillál a hibahatáron belül. A hiba (P tag) és a hiba deriváltja (D tag) ezeket nem képes kompenzálni. Szükség van a hiba integráljára is. Az integráló tag arányos a hibajel nagyságával és időtartamával is. Összegezve a pillanatnyi hibát időről időre (integrálva) megadja az offset hibát.
DC motoros mozgatás példája PID szabályozó Érdekesség: nem mindig lehetséges a hiba integrálása. Ekkor a teljes egyenlet deriválásával kapjuk a szükséges szabályozó értéket.
PID szabályozó összefoglalás
PID szabályozó a valóságban A probléma: A valós rendszerek folytonos idejűek A számítások, mintavételezések diszkrét idejűek. Órajelre működnek, milliszekundumos nagyságrendben. A számításokat, mindig az aktuális értékből számoljuk, de a beavatkozás csak a számítások végén történik meg. (Milliszekundumokkal később.) A szabályozónak késése van.
PID szabályozó a valóságban A probléma: taz idő ts a mintavételi idő és a szabályozó periódusideje tj jelen idő x a szabályozandó mennyiség Q a beavatkozó jel
PID szabályozó a valóságban A megoldás: A rendszerek időállandója nagyságrendekkel nagyobb,mint a szabályozóé. (Nem történnek nagy változások egy ciklus alatt.) Pl.: egy tömeg mozgásállapota a tehetetlenség miatt, lehet, hogy csak fél másodperc alatt változik nagyobb értéket. Ez idő alatt a szabályozó többször le tud futni. A mérés pontossága nagyságrenddel, vagy néhányszor nagyobb, mint a szükséges beállási pontosság. (A kis változások is mérhetőek, hogy lehetőleg minden ciklusban legyen használható mérési eredmény.) Szélsőséges esetekben: speciális szabályozási algoritmusok (pl. állapotbecslők) alkalmazása.
További érdekesség Átviteli függvény bevezetése Nem minden esetben triviális, vagy lineáris a kapcsolat a beavatkozó jel és a rendszer kimenet között. A DC motoros hajtás esetében feszültséggel, avatkozunk be. A kimenet lehet nyomaték, erő, elmozdulás, stb. Fel kell írni a kimenet és a bemenet közti kapcsolatot. (Az átviteli függvényt.)
További érdekesség Átviteli függvény bevezetése Egyszerű példa: fogaskerék kapcsolat és erőkar M1 a hajtótengely nyomatéka (a rendszer bemenete) M2 a hajtott tengely nyomatéka d1 a hajtótengely átmérője d2 a hajtott tengely átmérője F az erő (a rendszer kimenete) k az erőkar
További érdekesség Átviteli függvény bevezetése Egyszerű példa: fogaskerék kapcsolat és erőkar
További érdekesség Átviteli függvény bevezetése Egyszerű példa: fogaskerék kapcsolat és erőkar Az átviteli függvény a kimenet és a bemenet hányadosa. Egyegy átviteli függvény alakjából nagyon sok információ nyerhető. Ismeretlen rendszerek esetén, ahol a felírás nem lehetséges az átviteli függvény mérhető. Megkönnyíti a szabályozó tervezését. Stabilitás vizsgálat lehetséges. Fázistartalék és más adatok számolhatók.
PID alkalmazása A rendszervázlat általánosan, ahol a folyamat lehet pl.: Kefés DC motor (egyenáramú motor) Háromfázisú motor Komplex mechanikai rendszer
Egyenáramú motor elméleti háttér DC motor esetén a process
Egyenáramú motor DC motor esetén a process Laplace
Egyenáramú motor DC motor esetén a process az előző egyenletek alapján
Egyenáramú motor DC motor esetén a process átviteli függvény
Egyenáramú motor DC motor esetén a process időállandók bevezetése A súrlódást elhanyagolva Tehát egytárolós tagként modellezhető ha
PID alkalmazása DC motor áramszabályozott blokkvázlata Pozíció szabályozott blokkvázlata
PD alkalmazása Pozíció szabályozás Jelen példában PWM frekvencia nagysága 15 Khz Miért? Ha túl kicsi: nem tudunk kellő gyorsasággal beavatkozni, lüktethet a fordulat vagy a nyomaték, hallhatjuk a motor sípolását Ha túl nagy: nagyobbak a kapcsolási veszteségek, nagyobb a melegedés mind a motoron, mind a teljesítmény elektronikán PD szabályozási frekvencia 1 Khz Miért? Ha túl kicsi: nem tudunk kellő gyorsasággal beavatkozni Ha túl nagy: a pozíció nem változik mérhető értéket így feleslegesen emésztünk fel erőforrást
PD alkalmazása Pozíció szabályozás Jelen példában A PID bemenete: pozíció referencia A PID kimenete: PWM kitöltés és irány Maradó hiba: elhanyagolható a szögjeladó pontossága miatt Ki=0 PD szabályozó Tehát:
PD alkalmazása Pozíció szabályozás Hogyan épüljön fel a PD a mikrokontrollerben? Diszkrét rendszerről van szó a mikrokontroller miatt Az arányos tag (P tag) egyszerű A deriválás (D tag) definíció szerint Amely rögzített x (diszkrét idő) esetén egyszerű matematikai műveletté válik Mivel a D tagot szorozzuk annak súlyával hangoláskor, így a konstanssal való osztás elhagyható
PD alkalmazása Pozíció szabályozás Diszkrét PD szabályozó C kódja
PD alkalmazása Pozíció szabályozás Diszkrét PD szabályozó C kódja egymagában kevés Miért? Egységugrást kapunk referenciaként (pont pont irányítás) Interpoláció szükséges Nem tudjuk a 0 pontot ha a rendszer indul Kalibráció szükséges Nem érzékelünk ütközést Követési hiba detektálás szükséges
PD alkalmazása Pozíció szabályozás Interpoláció Pont pont irányításról beszélünk, ha a robothajtások tengelyei számára nincs definiálva a pálya, csak a soron következő pont. Folytonos pályairányítás a befutó pontok között interpoláció történik, amely elvégezhető csuklókoordinátákban vagy Descartes koordinátákban.
PD alkalmazása Pozíció szabályozás Interpoláció Rámpa fv. Folytonos pályairányítás Az egységugrások elkerülése miatt a sebesség idő függvény maximumát, felfutási és lefutási meredekségét (a gyorsulást) állítja be az interpolátor, amely diszkrét időben fut Az egyes referenciák között közbenső pontokat kell megadnunk a PD szabályozónak Sebesség profil Pontok sűrűsége A B távolságon diszkrét időben
PD alkalmazása Pozíció szabályozás Hogyan programozhatunk rámpa függvényt? 3 egyenes felírásával, melyeknek pontjait diszkrét időben számoljuk Minden számítás esetén vizsgáljuk a referencia és a jelenlegi pozíció közti távolságot, hogy tudjuk melyik egyenesen kell haladnunk A kapott rámpa fv. aktuális értékét (nagyságát) hozzáadjuk a pályatervező előző referenciájához, így alakul ki a kívánt sűrűség távolság fv.
PD alkalmazása Pozíció szabályozás Kalibráció Követelmények Lassú mozgás a végállásig Végálláshoz érve leállás és mozgás a szoftveres limit felé Végállás kapcsoló nélkül Megoldás Lassú mozgás esetén a PID (tehát a PWM) alacsony értékű A végálláshoz érve a PID növeli értékét az egyre nagyobb hiba miatt (le van maradva a pályatervezőtől) Bizonyos PID érték felett tudjuk, hogy a végálláshoz értünk, nullázzuk a pozíciót A megoldás során a PID értékét figyeljük
PD alkalmazása Pozíció szabályozás Követési hiba Követelmények A pályatervezőtől való nagy lemaradás esetén ütközés, vagy egyéb probléma feltételezhető (mint a végállás esetében) Ebben az esetben álljon le a rendszer Megoldás A pályatervező időről időre új pontokat definiál, a hibát a pályatervező által kiadott referencia és a jelenlegi pozíció között számoljuk A pozíció állandó értéke esetén a hiba folyamatosan nő (tehát a motor elakadt) Bizonyos hiba érték felett a rendszer leáll A pályatervező által adott referencia és a jelenleg pozíció különbségét figyeljük
Köszönöm a figyelmet