L298N DC Motor Driver Module forklaret

L298N DC Motor Driver Module forklaret

I dette indlæg vil vi lære om L298N dual H-bridge DC-motormodul, som kan bruges til at køre børstede DC-motorer og stepmotorer med mikrocontrollere og IC'er.



Oversigt

Modulære kredsløb er den bedste tidsredder for elektronikdesignere, som også reducerer prototypefejlene. Dette foretrækkes for det meste af programmører, der skriver kode til mikrocontrollere, bruger mesteparten af ​​tiden ved at skrive koder foran computeren og har mindre tid til at lodde de diskrete elektroniske komponenter.

Derfor kan vi finde tonsvis af forskellige modulære kredsløb, der er lavet kun til Arduino-kort, det er let at grænseflade og har fordel af mindst hardwarefejl, mens vi designer vores prototype.





Illustration af L298N-modul:

Illustration af L298N-modul:

Modulet er bygget op omkring IC L298N, det er almindeligt tilgængeligt på e-handelswebsteder.



Vi bruger Jævnstrømsmotordrivere fordi IC'erne og mikrokontrollerne ikke er i stand til at levere strøm, der ikke mere end 100 milliampere generelt. Mikrocontrollerne er smarte, men ikke stærke, dette modul vil tilføje nogle muskler til Arduino, IC'er og andre mikrokontroller til at køre DC-motorer med høj effekt.

Det kan styre 2 jævnstrømsmotorer samtidigt op til 2 ampere hver eller en trinmotor. Vi kan kontrollere hastigheden ved hjælp af PWM og også motorernes rotationsretning.

Dette modul er ideelt til bygger robotter og landflytteprojekter såsom legetøjsbiler.

Lad os se de tekniske detaljer i L298N-modulet.

tekniske detaljer for L298N-modulet.

Pin beskrivelse:

· På venstre side er der OUT1- og OUT2-port, som er til tilslutning af jævnstrømsmotor. Tilsvarende OUT3 og OUT4 for en anden DC-motor.

· ENA og ENB er aktiveringsstifter, ved at forbinde ENA til høj eller + 5V aktiverer det porten OUT1 og OUT2. Hvis du slutter ENA-stiften til lav eller jord, deaktiverer den OUT1 og OUT2. Tilsvarende for ENB og OUT3 og OUT4.

· IN1 til IN4 er de indgangsstifter, der skal tilsluttes Arduino. Hvis du indtaster IN1 + Ve og IN2 –Ve fra mikrokontroller eller manuelt, bliver OUT1 høj og OUT2 lav, så vi kan køre motor.

· Hvis du indtaster IN3 højt, bliver OUT4 højt, og hvis du indtaster IN4 lavt OUT3 bliver lavt, kan vi nu køre en anden motor.

· Hvis du vil vende motorens rotationsretning, skal du blot vende IN1- og IN2-polariteten på samme måde som IN3 og IN4.

· Ved at anvende PWM-signal til ENA og ENB kan du kontrollere motorens hastighed på to forskellige udgangsporter.

· Bestyrelsen kan acceptere nominelt fra 7 til 12V. Du kan indtaste strøm ved + 12V terminal og jord til 0V.

· + 5V terminalen er OUTPUT, som kan bruges til at drive Arduino eller ethvert andet modul, hvis det er nødvendigt.

Jumpere:

Der er tre springstifter, du kan rulle op, se det illustrerede billede.

Alle jumpere tilsluttes oprindeligt fjern eller opbevar jumperen afhængigt af dit behov.

Jumper 1 (se illustreret billede):

· Hvis din motor har brug for mere end 12V forsyning, skal du afbryde jumper 1 og anvende den ønskede spænding (maks. 35V) ved 12V terminal. Medbring en anden 5V forsyning og input ved + 5V terminal. Ja, du skal indtaste 5V, hvis du skal bruge mere end 12V (når jumper 1 fjernes).

· 5V-indgangen er til korrekt funktion af IC, da fjernelse af jumperen vil deaktivere den indbyggede 5v-regulator og beskytte mod højere indgangsspænding fra 12v-terminal.

· + 5V terminalen fungerer som output, hvis din forsyning er mellem 7 og 12V og fungerer som input, hvis du anvender mere end 12V, og jumper fjernes.

· De fleste af projekterne har kun brug for motorspænding under 12V, så hold jumperen, som den er, og brug + 5V terminal som output.

Jumper 2 og Jumper 3 (se illustreret billede):

· Hvis du fjerner disse to jumpere, skal du indtaste aktiverings- og deaktiveringssignalet fra mikrokontrolleren, de fleste af brugerne foretrækker at fjerne de to springere og anvende signalet fra mikrokontrolleren.

· Hvis du holder de to springere, vil OUT1 til OUT4 altid være aktiveret. Husk ENA-jumper til OUT1 og OUT2. ENB-jumper til OUT3 og OUT4.

Lad os nu se et praktisk kredsløb, hvordan kan vi interface motorer, Arduino og forsyning til førermodulet.

Skematisk:

skematisk diagram over L298N-modulet.

Ovenstående kredsløb kan bruges til legetøjsbiler, hvis du ændrer koden korrekt og tilføjer et joystick.

Du skal bare tænde for L289N-modulet, og modulet får Arduino via Vin-terminal.

Ovenstående kredsløb vil rotere begge motorer med uret i 3 sekunder og stoppe i 3 sekunder. Derefter roterer motoren mod uret i 3 sekunder og stopper i 3 sekunder. Dette demonstrerer H-broen i aktion.

Derefter vil begge motorer begynde at rotere langsomt mod uret og få hastighed gradvist til maksimum og gradvist reducere hastigheden til nul. Dette demonstrerer PWM's hastighedskontrol af motorer.

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--------------//

Forfatterens prototype:

Arduino prototype af motor driver kredsløb ved hjælp af L298N modul.

Hvis du har spørgsmål vedrørende dette L298N DC-motordriverprojekt, er du velkommen til at udtrykke i kommentarsektionen, du kan muligvis få et hurtigt svar.




Forrige: Flere batteriopladekredsløb ved hjælp af dumpekondensator Næste: Joystick-styret 2,4 GHz RC-bil ved hjælp af Arduino