Egyszerű elektronika: Tranzisztor alkalmazások III.

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ékné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, amikoris 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...

TavIR-Facebook