Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Mitmót motorvezérlő driver és API

Hasonló előadás


Az előadások a következő témára: "Mitmót motorvezérlő driver és API"— Előadás másolata:

1 Mitmót motorvezérlő driver és API
Önálló laboratórium Kiss Gergely Mitmót motorvezérlő driver és API Konzulens: Bódis-Szomorú András

2 Feladat a világban elhelyezve
Segway PUMA Napjainkban kezdenek egyre divatosabbá válni kis helyen elférő, alternatív, környezetkímélő járművek. Bár a kerékpárnak is két kereke van, és képes mozgó helyzetben a felhasználóját oldalirányban egyensúlyozni, a technika és az ember leleményessége oda vezetett, hogy a két kereket egymás elől inkább egymás mellé téve próbáljunk meg haladási irányban egyensúlyozni. Egyre több helyen használnak ilyen elven működő egy vagy két személyes járműveket, ilyen a Segway Personal Transporter és a Personal Urban Mobility & Accessibility. Nagy vasútállomások dolgozói ilyen kis helyen elférő, könnyen használható járgánnyal végzik teendőiket (pl. a párizsi Austerlitz pályaudvar). Pl. Budapesten is szerveznek turistáknak városnézést Segway-jel. Segway PT Kiss Gergely

3 Előzmények Tanszéki robot
2005 – Motorvezérlő elkészítése (Bódis-Szomorú András) 2009 – Egyensúlyozó robot (Dr. Dabóczi Tamás, Bódis-Szomorú András, Nemes Csaba, Simon Gábor) 2010 – Motorvezérlő (Szabó Tamás) A mitmót, a BME MIT-en kifejlesztett moduláris hardver, amely egymásra helyezhető, különféle funkciókat megvalósító, kis méretű kártyákból (uC kártya, rádiókommunikációs kártya, soros porti kártya stb.) építhet össze. A modulkészlet 2005-ben egy motorvezérlő modullal, és egy szenzor modullal bővült, amit Bódis-Szomorú András, diplomamunkája keretében tervezett- és épített meg. Ezekből Baur György, MIT munkatárs összeépített 6 db általunk csak szekérnek hívott, háromkerekű kocsit. Ezek két első kereke külön-külön DC motorokkal hajtott, míg a harmadik kitámasztó kerék a bevásárlókocsik kerekéhez hasonlóan szabadon elforduló típusú. Ezzel megoldott mind a hajtás, mind a kanyarodás. Később Dr. Dabóczi Tamás, Bódis-Szomorú András, MIT munkatársak és Nemes Csaba, Simon Gábor hallgatók két kerékre állították a robotot így létrehozva, egy inverz inga típusú, egyensúlyozó robotot, melyen szimulációkat és egyéb elméleti vizsgálatokat végeztek. Ennek során több problémára derült fény és ezért igény jelentkezett egy teljesen új motorvezérlő kifejlesztésére, illetve a célnak megfelelőbb motorok beszerzésére, így növelve a robot stabilitását és dinamikáját. Ezt a munkát Nemes Csaba kezdte el, és Szabó Tamás fejezte be. Kiss Gergely

4 Előtörténet 2010.12.08. Kiss Gergely Eredeti megvalósítás
Szabó Tamás megvalósítása Motor Módosított modell szervo, nagy tapadási súrlódás, nagy rövidzárási áram (800 mA), nagy indulási holtzóna (0,4 V) Profi precíziós mikro motorok, kis tapadási súrlódás, kis rövidzárási áram (444 mA), kis indulási holtzóna (<0,1 V) Áttétel Műanyag fogaskerekes (max. 66 rpm) Fém bolygóműves (max. 179 rpm) Szenzor Kihajtott tengelyen, optikai felbontás 6° nincs fordulatszám-mérés csak elmozdulás-mérés Motor tengelyen, mágneses felbontás 0,7° Áram szabályozás Nincs (bonyolult modell), feszültség (fordulatszám) beavatkozás L6207 FET (0.6 ), dupla teljes H-híd + áramszabályozás Kommunikáció lassú (I2C, 10 kHz, maximum 100 kHz) SPI, holtidő μs Mikrokontroller ATmega32L, 8MHz ATxmega32, 32MHz Fém bolygómű nagyobb kopásállóságot biztosít. ### Két Hall-elem állítja elő a szenzor kvadratúra jeleit 6° : 3mm (6cm-es keréken) Kiss Gergely

5 Lehetőségek 2010.12.08. Kiss Gergely Központi mitmót
Motorvezérlő mitmót ATMega128 ATXmega32 Vezérlőjelek Motorvezérlő ST L6207 SPI SPI PWM UREF DAC U = IMOT/R ADC AC PMIC, DMA, EventSystem + - R ATXMEGA32: Event System: Perifériák közötti kommunikáció processzoridő nélkül SPI SS event  AD konverziók DMA: tehermentesíti a processzort, nem kell ISR erre az esetre, párhuzamosítja a műveletvégzést feltéve, hogy a processzor nem használja a memóriabuszt AD konverziók vége  DMA  memória PMIC: ### Áram Kvadratúra jelek QDec QEnc Motor Kiss Gergely

6 Magasszintű parancsok adatstruktúrába tárolás
Szoftverterv (API) Magasszintű parancsok adatstruktúrába tárolás parancsértelmezés adatkonverzió adatkonverzió adatértelmezés parancsküldés ### SPI felület Kiss Gergely

7 Szoftverterv (driver)
SPI felület Parancsértelmezés, adatkinyerés IT Event DMA adatértelmezés, konverzió adatkonverzió kiolvasás parancsvégrehajtás nyers adatok struktúrája alacsonyszintű parancsok ### Perifériák Ref. Vez. QEnc Motor Kiss Gergely

8 Felvetődött problémák
Egyidejű parancsküldés és adatkérés Árammérés Sebességmérés parancsküldéssel azonos időben az éppen aktuális kvadratúra dekóder számláló érték, AD érték, számított sebességérték lekérhető legyen a híd kikapcsolásakor nem folyik áram az áramérzékelő ellenálláson, mivel az alsó hídág ki van ekkor kapcsolva az alsó PMOS bekapcsolásakor viszont nagy ampl. áramtüske keletkezik Rsense-en: a felső ág szabadonfutó (null)diódák záróirányú feléledési idejéig (300ns) folyik ez az áram. A motorvezérlő IC belső logikája ezt a vezérlésnél figyelembe veszi egy 1us-os késleltetéssel. Áramméréskor ezt is figyelembe kell venni: Megoldás: komparátor + időzítő ### Kiss Gergely

9 Kommunikációs protokoll 10 bites szám felső tetrádja
SPI sebessége: 2MHz Kért visszatérési értékek beállítása Motorvezérlő parancsok 1 ID S E T VB TC ΔφL ΔφR φL φR IL IR vL vR VCC S M D 10 bites szám felső tetrádja 10 bites szám alsó 6 bitje 1 ID, S, E, T, VB, VCC Δφ 4MHz-en a hibaarány 70% volt ### Kiss Gergely

10 Elvégzett munka Irodalom megismerése (előző félévek munkái, adatlapok, kefés motor modellje) Driver Perifériák inicializálása, konfigurálása, tesztelése SPI felület, nyers adat tárolási struktúra Parancsértelmező Motorvezérlő parancsok, minden funkció tesztelve adatlekérések perifériáktól interruptokkal API SPI felület adatsorrend beállító és adatlekérő parancs API, Driver tesztelés kezdetleges parancsértelmezés Dokumentáció Ezen kívül még megnéztem egyes perifériák (DAC-ok, ADC-k, QDEC Counterek) működését úgy, hogy kezdetleges parancsot küldtem SPI-on (példának betettem a 00--backup.c -t, ebben a feszültségvezérelt PWM frekvenciáját akartam vizsgálni, csak nem tudtam bemenni a múlt héten a laborba, hogy lemérjem, mely frekvencián optimális a motoráram) Kiss Gergely

11 Továbbfejlesztési lehetőségek
Hátralévő részek lekódolása parancsértelmezők véglegesítése adatkonverziók megírása Felhasználói dokumentáció készítése Optimalizálás Multilevel interruptok optimális kihasználása EventSystem és DMA alkalmazása Hibakezelés ### Kiss Gergely

12 Köszönöm a figyelmet ! Kiss Gergely


Letölteni ppt "Mitmót motorvezérlő driver és API"

Hasonló előadás


Google Hirdetések