Fórum témák
» Több friss téma |
Cikkek » WILL-I - Robot, AVR mikrovezérlővel WILL-I - Robot, AVR mikrovezérlővel
Szerző: Fizikus, idő: Dec 1, 2009, Olvasva: 61080, Oldal olvasási idő: kb. 3 perc
Motorvezérlő panel A motorokat nem köthetjük direktben a mikrovezérlőhöz, azon oknál fogva, hogy a motoroknak nagy áramra van szüksége, amit a mikrokontrollerek nem tudnak leadni. A megoldás az, hogy egy motorvezérlő IC-t használunk, ami a gyenge áramú vezérlő jeleket a motorokat meghajtó nagy áramú jelekké alakítja át. Mielőtt elkezdeném elmagyarázni hogy hogyan is kell a motorvezérlő IC-t a mikrokontrollerrel összekötni, nézzük meg, hogy mire is jó ez a motorvezérlő. Egy DC villanymotor meghajtása könnyű, elég csak a motorhoz csatlakozó két vezetéket egy elemre kötni és a motor működni fog. Ez nagyszerű, de egyetlen irányba forog csak a motorunk. Mi a teendő, ha a másik irányba szerenténk a motorunkat hajtani? A válasz most is igen egyszerű, cseréljük fel az elem pólusaira kötött vezetékeket és a motor az ellenkező irányba fog forogni. A robotunknál viszont menet közben nem tudjuk az elemre kötött vezetékeket mindíg leválasztani és fordítva visszakötni, ha irányt akarunk váltani. Ez a probléma 4 kapcsoló használatával könnyedén megoldható egy un. H-híd (H-bridge) kapcsolással.
A H-bridge működési elve: a) H-bridge áramkör, b) a K1 és K4 kapcsolók zárásakor a motor az egyik irányba forog, c) a K2 és K3 kapcsolók zárásakor a motor a másik irányba forog . Az A ábrán, amikor mind a négy kapcsoló nyitva van, egyik motorvezeték sem kapcsolódik az elemhez. A motor elindításához kapcsoljuk be a K1 és a K4 kapcsolót (B ábra). Figyeljük meg hogy a motor bal vezetéke az elem pozitív pólusához csatlakozik, a jobb oldali vezeték pedig a negatív pólushoz. Ahhoz, hogy a motor az ellenkező irányba forogjon, a K2 és K3 kapcsolókat kell zárni a K1 és K4 kapcsolókat pedig kinyitni. Figyeljük meg hogy a motor bal vezetéke most az elem negatív pólusához csatlakozik, a jobb oldali vezeték pedig a pozitív pólusához, a vezetékek bekötése az előző fordítottja Nos az L293D motorvezérlő IC pontosan az imént felvázolt H-híd kapcsolásnak felelnek meg, azzal a különbséggel, hogy elektronikus kapcsolókat használ, amelyek az IC megfelelő lábaira adott 0V-os vagy 5V-os vezérlőjelekkel nyithatók és zárhatók. Így a H-híd könnyedén vezérelhető a mikrokontrollerrel. Ez minden, amit tudunk kell a DC motorok vezérléséhez? Ha a motorokat csak két irányba akarjuk hajtani maximális sebességgel, akkor ennyi elég is. Bár néhány alkalmazás esetében (amilyen például ez a robot is), nagyon hasznos tud lenni, ha a motorot különböző sebességekkel tudjuk meghajtani. Adott feszültség esetén a motorok sebessége egy nagyon egyszerű és szellemes megoldással változtatható, ez az ún. impulzusszélesség moduláció (Pulse Width Modulation - PWM). Ha a motorra adott feszültséget a mikrokontrollerrel nagyon gyorsan (percenkent akár több ezerszer) ki/be kapcsolgatjuk és a ki/bekapcsolási idők egymáshoz viszonyított arányát változtatjuk, akkor a motor sebessége is változni fog.
Az impulzusszélesség moduláció (PWM) elve: Egy rövid impulzusokból álló jelsorozatban a ki/be kapcsolási idők egymáshoz viszonyított arányának változtatásával a jel átlagfeszültsége változtatható: a) impulzusszélesség = 2ms, Vátlag = 2,5V, b) impulzusszélesség = 3ms, Vátlag = 3,75V, c) impulzusszélesség = 1ms, Vátlag = 1,25V. Most, hogy már tudjuk, hogyan vezéreljük a DC motorunkat, megépíthetjük a robotunk motorvezérlő paneljét. Az L293D két H-hidat tartalmaz, ezért egyetlen IC elég 2 motor vezérléséhez. A bal oldali motor az IC KI1 és KI2 jelű lábához csatlakozik. Az L293D IC BE1 és BE2 lábai vezérlik az egyik H-híd kapcsolóit. A PWM jel-lel változtathatjuk a bal motor sebességét, amit az IC 1-2EN lábára kell bekötni. A bal oldali motor bekötése a fentiekhez hasonló, nem okozhat gondot a kapcsolás megértése.
L293D motorvezérlő IC kapcsolás
Így néz ki megépítve a motorvezérlő panel Az egyik DC motort a jobb oldalon lévő 1M és 2M érintkezőkre kell kötni, a másikat pedig a bal oldalon lévő 1M és 2M érintkezőkre. A +/- 5V-al jelölt érintkezőre kell a stabilizált 5V-ot kötni, a +/- 6V-al jelölt érintkezőre pedig a DC motorokat meghajtó elemeket. Ne zavarjon meg senkit sem az, hogy majdnem minden érintkező dupla tüskéből áll, csak egyet kell használni a bekötésekhez, a másikat én a próbálgatásokhoz használtam (pl. ha ellenállással együtt egy kétirányú LED-et kötünk 1M és 2M közé, akkor a motor előre/hátramenetelét különböző színnel jelzi). Az alábbi táblázatokban az látható, hogyan működik az 1-es motor az L293D IC lábaira adott feszültségtől függően. (Hasonlóan vezérelhetjük a 2-es motort az L293D M2A (2A), M2B (2B) és a 3-4 EN (2PWM) lábaira adott feszültségekkel.)
A PWM jel több százszor ki-be kapcsolja a motor tápfeszültségét, ezért zajszűrés és a motorok simább járása érdekében ajánlatos 0,22 µF-os (22nF) poliészter puffer kondenzátort kötni a motor pólusai közé, és 0,1 µF-os kerámia kondenzátort kötni a motor pólusai és a föld közé. Az L293D meghajtásához is stabilizált 5V kell. A motorvezérlő panelre érkező, nem stabilizált motorfeszültség és a föld közé is érdemes egy 100 µF /16V-os kondenzátort kötni. A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |