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
Lapozás: OK   5 / 12

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.)

FORGÁSIRÁNY:

M1A (1A)

M1B (1B)

STOP

Alacsony (0 V)

Alacsony (0 V)

ELŐRE

Magas (5 V)

Alacsony (0 V)

HÁTRA

Alacsony (0 V)

Magas (5 V)

STOP

Magas (5 V)

Magas (5 V)

PWM:

1-2 EN (1PWM)

Motor1 bekapcsolva

Magas (5 V)

Motor1 kikapcsolva

Alacsony (0 V)

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!
Következő: »»   5 / 12
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem