Eddigi leckékben láthattuk, hogy a kontrollerrel egy kevéssé terhelhető kivezetéssel hogyan tudtunk nagy áramokat kapcsolgatni tranzisztor segítségével. Persze oldalágon láthattuk, hogy feszültségszabályzásra is használható a tranzisztor.
De mit is tehetünk, ha két kis DC motort kell vezérelni egy kis robotban? Számos érdekes megoldásról lehet cikkeket találni az internet bugyraiban, akár még vezeték nélküli távirányítással megvalósítva is. Ehhez a kis robothoz mindenképpen szükséges, hogy a motor forgásirányát szoftverből változtatni tudjuk. És ha valósághűbb eszközt készítünk, ahhoz szükséges a motor sebességének állítása.
Motorvezérlés
A fordított polaritás előállításához egy két-áramkörös váltórelé vagy más néven két-áramkörös morzerelé szükséges (Rövidítve: DPDT (double-pole double-throw)):
A költséghatékony megoldás során a relé behúzása vagy elengedése határozza meg a forgásirányt. A motor ágra pedig a 12V meghajtófeszültséget kapcsoljuk. Ez azért ez nem az igazi megoldás. Csattog-csörömpöl.
De nézzük mit lehet tenni:
A felső és alsó oldalt kapcsolhatjuk külön. Nézzünk egy példát:
Nézzük meg mi történik, ha az ABCD vezérlésekre feszültséget kapcsolunk:
- A magas szint, B alacsony: a motor bal oldalán a – tápfeszültség van.
- D magas, C alacsony: a motor jobb oldalán + feszültség van.
- A motor forog.
Nézzünk a másik esetet:
- A alacsony, B magas : a motor bal oldalán + feszültség van
- D alacsony, C magas, akkor a motor jobb oldalán – feszültség van
- A forgásirány az előzővel ellentétes.
És ha A=B=C=D = alacsony, akkor a motor természetesen áll.
A két felső tranzisztort, a középső motort és az alsó két tranzisztorokat lerajzolva egy H elrendezést kapunk, melynek a középső “hídága” a motorunk. Az elrendezésről kapta a nevét a kapcsolás: H-híd (Ángliusul: H-bridge).
Fontos! Éles (való világban való) használat esetén a C-E átmenetek védelmére a 4 védődiódát is be kell építeni!
Számos kritikus probléma áll fenn még a tervünkben:
- A és D bemenetek magas állapotba húzásához 12Vra van szükség, a 3.3V vagy 5V erre nem elegendő.
- Ha egyidőben A és B is magas állapotban van, sikerült rövidzárat gyártani. A zárlati áram tűzijáték kíséretében megöli a tranzisztorokat.
- Ugyanígy a C és D egyidejűségével is tűzijáték lesz.
- És még négy kimenetet is elfoglal a híd vezérlése.
Ötlet: felezzük meg a szükséges I/O lábak számát, hiszen az A-C és B-D tranzisztorok egyszerre úgysem nyithatnak ki! Így a következő vezérlési lehetőségeink maradnak: Előre, hátra, stop.
Azonban, ha mindkét csatornát nyitjuk, akkor tuti rövidzárunk van! Ez viszont egy egyszerű szoftverhiba miatt is lehet… És nem tűzijátékot akarunk programozni, hanem motorvezérlést!
A legnagyobb probléma, hogy a bemenő vezérlőfeszültség a felső tranzisztorokhoz nem elegendő. Erre adott egy kiskapu: 1-1 extra tranzisztorral végezzük a felső tranzisztorok kapcsolását! Ez már kezd a jó megoldás felé vezető út lenni:
Ahogy láthatod, néhány plusz alkatrész beépítésével egészen jól megoldható a feladat. De szerencsére vannak már készen, IC tokozott kivitelben is komplett áramkörök különböző feszültség és áramokra. Ilyen az L293D, melyet a motorshielden használok – illetve a TC4424A, mely a Hunveyor modell kapcsán kerül képbe.
Irányítás
Most hogy a motorunk előre-hátra kapcsolgatható, a sebességét lenne jó szabályozni.
Ez – szerencsére nem egy ördöngősség. A kulcsszó: PWM, azaz impulzusszélesség moduláció. Ez egy egyszerű koncepciót takar: magas-alacsony állapotokat váltogassunk, amikor is ezek idejének aránya határozza meg a vezérlésünket. Az egy magas-alacsony ciklus hossza legyen kellően rövid, így a DC-motor tehetetlensége miatt nem fog lüktetni. Mondjuk 100 Hz, az már több mint elég. A jelsorozatban a 0 és az 1 aránya határozza meg a sebességet. A 100% kitöltés (csak “H” szint) esetén maximális sebesség, 0% esetén (csak “L” szint) pedig megáll a motor.
A köztes sebességek egyszerűen köztes kitöltéssel beállíthatóak.
A teljességhez hozzátartozik, hogy a ki/bekapcsolgatásokhoz, egyre többször MOSFET-et használok a bipoláris tranzisztor helyett. Az egyszerű DC-motor vezérléseknél nincsen nagy különbség.
Ennyi legyen is elég már a tranzisztorokból, a következő alkatrész a MOSFET lesz…
Egyszerű elektronika – Tartalomjegyzék
- Egyszerű elektronika – Kezdőlap
- Energia
- Elem
- 3.3V vagy 5V
- Ellenállás
- Kondenzátor
- Kondenzátor, kapacitás és szuperkapacitás
- Dióda
- LED – Fénykibocsátó Dióda
- Tranzisztor I.
- Tranzisztor II.
- Tranzisztor alkalmazások I.
- Tranzisztor alkalmazások II.
- Tranzisztor alkalmazások III.
- MOSFET I. rész
- MOSFET II. rész
- Felhúzó-ellenállás
- DHT11, DHT22 hőmérséklet- és páraszenzor