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
A feladat ‐ mérnöki szemmel • H‐híd
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: – t az 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. Egy‐ egy á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