L298N egyenáramú motor meghajtó modul magyarázata

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Ebben a bejegyzésben megismerjük az L298N kettős H-híd egyenáramú motor meghajtó modult, amely használható szálcsiszolt egyenáramú motorok és léptető motorok mikrovezérlőkkel és IC-kkel történő meghajtására.

Áttekintés

A moduláris áramköri kártyák jelentik a legjobb időt az elektronikai tervezők számára, amelyek csökkentik a prototípus-hibákat is. Ezt leginkább azok a programozók preferálják, akik kódot írnak a mikrovezérlőkhöz, az idő nagy részét azzal töltik, hogy gépelnek kódokat a számítógép elé, és kevesebb idő jut a diszkrét elektronikus alkatrészek forrasztására.



Ezért találhatunk rengeteg különböző moduláris áramkört, amelyek csak Arduino táblákhoz készültek, könnyen kezelhető és prototípusunk megtervezésekor a legkevesebb hardverhiba van.

Az L298N modul illusztrációja:

Az L298N modul illusztrációja:



A modul az IC L298N köré épül, és általában elérhető az e-kereskedelem webhelyein.

Használjuk DC motor meghajtók mert az IC-k és a mikrovezérlők általában nem képesek 100 milliampernél nagyobb áram leadására. A mikrovezérlők okosak, de nem erősek, ez a modul hozzáad néhány izmot az Arduino-hoz, az IC-khez és más mikrovezérlőkhöz a nagy teljesítményű egyenáramú motorok meghajtásához.

Két egyenáramú motort vezérelhet egyidejűleg akár 2 amperenként, vagy egy léptetőmotort. Tudunk szabályozni a sebességet a PWM és a motorok forgásirányának felhasználásával.

Ez a modul ideális robotok építése és szárazföldi mozgó projektek, például játékautók.

Lássuk az L298N modul technikai részleteit.

az L298N modul műszaki adatai.

PIN leírás:

· A bal oldalon található OUT1 és OUT2 port, amelyek egyenáramú motor csatlakoztatására szolgálnak. Hasonlóképpen, egy másik egyenáramú motor esetén az OUT3 és az OUT4.

· Az ENA és az ENB engedélyező csapok, az ENA magas vagy + 5 V csatlakozásával engedélyezi az OUT1 és OUT2 portot. Ha az ENA csapot alacsonyra vagy földre csatlakoztatja, akkor az kikapcsolja az OUT1 és OUT2 csatlakozókat. Hasonlóképpen, az ENB és az OUT3, valamint az OUT4 esetében.

· Az IN1 – IN4 bemeneti csapok az Arduino-hoz fognak csatlakozni. Ha az IN1 + Ve és az IN2 –Ve értékeket mikrokontrollerről vagy manuálisan adja meg, az OUT1 magasra fordul, az OUT2 pedig alacsonyra fordul, így hajtani tudjuk a motort.

· Ha az IN3 értéket magasra állítja, akkor az OUT4 jelzés magasra vált, és ha az IN4 értéket alacsonyra állítja, akkor az OUT3 érték alacsonyra vált, most egy másik motort vezethetünk.

· Ha meg akarja változtatni a motor forgásirányát, fordítsa meg az IN1 és IN2 polaritást, hasonlóan IN3 és IN4 esetén.

· A PWM jelnek az ENA és az ENB felé történő alkalmazásával két különböző kimeneti porton szabályozhatja a motorok fordulatszámát.

· A testület névlegesen elfogadhat 7 és 12 V feszültséget. Bemenetet adhat + 12 V-os kapcson és földelhet 0 V-ra.

· A + 5V-os kimenet OUTPUT, amely szükség esetén használható az Arduino vagy bármely más modul áramellátására.

Szvetterek:

Három jumper csap van, amelyekkel felfelé görgethet, lásd az illusztrált képet.

Az összes jumpert csatlakoztatni kezdetben távolítsa el vagy tartsa meg az áthidalót az Ön igényeitől függően.

1. jumper (lásd az illusztrált képet):

· Ha a motornak több mint 12 V-os tápra van szüksége, akkor le kell választania az 1 jumpert, és a kívánt feszültséget (legfeljebb 35 V) be kell kapcsolnia a 12 V-os csatlakozóba. Hozzon még egyet 5V-os táp és bemenet + 5V-os kapcson. Igen, 5 V-ot kell megadnia, ha 12 V-nál nagyobb feszültségre van szüksége (amikor az 1. jumpert eltávolítják).

· Az 5 V-os bemenet az IC megfelelő működéséhez szolgál, mivel az áthidaló eltávolítása kikapcsolja a beépített 5 V-os szabályozót, és megvédi a 12 V-os csatlakozó nagyobb bemenő feszültségétől.

· A + 5V kapocs kimenetként működik, ha a tápellátása 7 és 12 V között van, és bemenetként működik, ha 12 V-nál nagyobb feszültséget alkalmaz, és az áthidalót eltávolítja.

· A legtöbb projektnek csak 12 V alatti motorfeszültségre van szüksége, ezért tartsa az áthidalót a jelenlegi állapotában, és használja az + 5 V csatlakozót kimenetként.

Jumper 2 és Jumper 3 (lásd az ábrát):

· Ha eltávolítja ezt a két jumpert, akkor be kell adnia az engedélyező és a tiltó jelet a mikrovezérlőről, a felhasználók többsége inkább eltávolítja a két jumpert és alkalmazza a jelet a mikrokontrollerről.

· Ha megtartja a két jumpert, akkor az OUT1 - OUT4 mindig engedélyezve lesz. Ne feledje az ENA jumpert az OUT1 és OUT2 esetén. ENB jumper az OUT3 és OUT4 számára.

Most nézzünk meg egy gyakorlati kört, hogyan tehetnénk interfész motorok, Arduino és a meghajtó modul ellátása.

Vázlatos:

az L298N modul vázlatos rajza.

A fenti áramkör használható játékautókhoz, ha megfelelően megváltoztatja a kódot és hozzáad egy joystickot.

Csak be kell táplálni az L289N modult, és a modul az Arduino-t a Vin terminálon keresztül táplálja.

A fenti áramkör mindkét motort óramutató járásával 3 másodpercig forgatja és 3 másodpercig leáll. Ezt követően a motor 3 másodpercig az óramutató járásával ellentétes irányban forog és 3 másodpercre leáll. Ez demonstrálja a H-hidat működés közben.

Ezt követően mindkét motor lassan forogni kezd az óramutató járásával ellentétes irányban, fokozatosan a maximumig, és fokozatosan nullára csökkenti a fordulatszámot. Ez demonstrálja a motorok PWM általi sebességszabályozását.

Program:

//----------------Program developed by R.GIRISH--------------//
const int Enable_A = 9
const int Enable_B = 10
const int inputA1 = 2
const int inputA2 = 3
const int inputB1 = 4
const int inputB2 = 5
void setup()
{
pinMode(Enable_A, OUTPUT)
pinMode(Enable_B, OUTPUT)
pinMode(inputA1, OUTPUT)
pinMode(inputA2, OUTPUT)
pinMode(inputB1, OUTPUT)
pinMode(inputB2, OUTPUT)
}
void loop()
{
//----Enable output A and B------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
//----------Run motors-----------//
digitalWrite(inputA1, HIGH)
digitalWrite(inputA2, LOW)
digitalWrite(inputB1 , HIGH)
digitalWrite(inputB2, LOW)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//-------Reverse Motors----------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
digitalWrite(inputA1, LOW)
digitalWrite(inputA2, HIGH)
digitalWrite(inputB1 , LOW)
digitalWrite(inputB2, HIGH)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//----------Speed rise----------//
for(int i = 0 i < 256 i++)
{
analogWrite(Enable_A, i)
analogWrite(Enable_B, i)
delay(40)
}
//----------Speed fall----------//
for(int j = 256 j > 0 j--)
{
analogWrite(Enable_A, j)
analogWrite(Enable_B, j)
delay(40)
}
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
}
//----------------Program developed by R.GIRISH--------------//

A szerző prototípusa:

Arduino motor meghajtó áramkör prototípusa az L298N modul segítségével.

Ha bármilyen kérdése van ezzel az L298N egyenáramú motorvezérlő projekttel kapcsolatban, nyugodtan fejtse ki a megjegyzés részben, akkor gyors választ kaphat.




Előző: Többszörös akkumulátortöltő áramkör Dump kondenzátor használatával Következő: Joystick által vezérelt 2,4 GHz-es RC autó Arduino használatával