L298N DC-motordrivermodul forklart

Prøv Instrumentet Vårt For Å Eliminere Problemer





I dette innlegget skal vi lære om L298N dual H-bridge DC motor driver module som kan brukes til å kjøre børstede DC motorer og trinnmotorer med mikrokontrollere og ICer.

Oversikt

Modulære kretskort er den beste tidsredderen for elektronikkdesignere som også reduserer prototypefeilene. Dette er mest foretrukket av programmerere som skriver kode for mikrokontrollere bruker mesteparten av tiden ved å skrive koder foran datamaskinen og har mindre tid til å lodde de diskrete elektroniske komponentene.



Derfor kan vi finne tonnevis av forskjellige modulære kretser som er laget bare for Arduino-kort, det er enkelt å grensesnitt og har fordel av minst maskinvarefeil mens vi designer prototypen vår.

Illustrasjon av L298N-modul:

Illustrasjon av L298N-modul:



Modulen er bygget rundt IC L298N, den er ofte tilgjengelig på e-handelsnettsteder.

Vi bruker DC-motorsjåfører fordi IC-er og mikrokontrollere ikke er i stand til å levere strøm ikke mer enn 100 milliampere generelt. Mikrokontrollerne er smarte, men ikke sterke. Denne modulen vil legge til noen muskler i Arduino, IC og andre mikrokontrollere for å drive DC-motorer med høy effekt.

Den kan kontrollere 2 likestrømsmotorer samtidig opp til 2 ampere hver eller en trinnmotor. Vi kan kontroller hastigheten ved hjelp av PWM og også motorens rotasjonsretning.

Denne modulen er ideell for bygge roboter og landflytteprosjekter som lekebiler.

La oss se de tekniske detaljene til L298N-modulen.

tekniske detaljer for L298N-modulen.

Pin beskrivelse:

· På venstre side er det OUT1- og OUT2-port, som er for tilkobling av DC-motor. Tilsvarende OUT3 og OUT4 for en annen DC-motor.

· ENA og ENB er aktiveringspinner, ved å koble ENA til høy eller + 5V aktiverer port OUT1 og OUT2. Hvis du kobler ENA-pinnen til lav eller jord, deaktiverer den OUT1 og OUT2. Tilsvarende for ENB og OUT3 og OUT4.

· IN1 til IN4 er inngangspinnene som skal kobles til Arduino. Hvis du legger inn IN1 + Ve og IN2 –Ve fra mikrokontroller eller manuelt, blir OUT1 høyt og OUT2 blir lavt, slik at vi kan kjøre motor.

· Hvis du taster IN3 høyt, blir OUT4 høyt og hvis du taster IN4 lavt OUT3 blir lavt, kan vi nå kjøre en annen motor.

· Hvis du vil reversere motorens rotasjonsretning, snur du bare IN1 og IN2 polaritet, tilsvarende for IN3 og IN4.

· Ved å bruke PWM-signal til ENA og ENB kan du kontrollere motorens hastighet på to forskjellige utgangsporter.

· Styret kan akseptere fra 7 til 12V nominelt. Du kan legge inn strøm på + 12V terminal og jorde til 0V.

· Terminalen + 5V er OUTPUT, som kan brukes til å drive Arduino eller en hvilken som helst annen modul om nødvendig.

Gensere:

Det er tre hoppepinner du kan bla oppover se det illustrerte bildet.

Alle hoppene kobles til først, fjern eller hold genseren avhengig av ditt behov.

Hopper 1 (se illustrert bilde):

· Hvis du trenger mer enn 12V strøm, må du koble fra jumperen 1 og bruke ønsket spenning (maks. 35V) ved 12V terminal. Ta med en til 5V forsyning og inngang på + 5V terminal. Ja, du må legge inn 5V hvis du trenger å bruke mer enn 12V (når jumper 1 er fjernet).

· 5V-inngangen er for korrekt bruk av IC, siden fjerning av jumperen vil deaktivere den innebygde 5v-regulatoren og beskytte mot høyere inngangsspenning fra 12V-terminalen.

· + 5V-terminalen fungerer som utgang hvis strømforsyningen er mellom 7 og 12V, og fungerer som inngang hvis du bruker mer enn 12V og jumperen er fjernet.

· De fleste prosjektene trenger bare motorspenning under 12V, så hold jumperen som den er og bruk + 5V terminal som utgang.

Jumper 2 og Jumper 3 (se illustrert bilde):

· Hvis du fjerner disse to hopperne, må du legge inn aktiverings- og deaktiveringssignalet fra mikrokontrolleren. De fleste brukerne foretrekker å fjerne de to hopperne og bruke signalet fra mikrokontrolleren.

· Hvis du beholder de to hopperne, vil OUT1 til OUT4 alltid være aktivert. Husk ENA-genser for OUT1 og OUT2. ENB-genser for OUT3 og OUT4.

La oss nå se en praktisk krets, hvordan kan vi grensesnittmotorer, Arduino og forsyning til førermodulen.

Skjematisk:

skjematisk diagram over L298N-modulen.

Ovennevnte krets kan brukes til lekebiler, hvis du endrer koden på riktig måte og legger til en joystick.

Du trenger bare å drive L289N-modulen, og modulen vil drive Arduino via Vin-terminalen.

Ovennevnte krets vil rotere begge motorene med klokken i 3 sekunder og stoppe i 3 sekunder. Deretter vil motoren rotere mot klokken i 3 sekunder og stoppe i 3 sekunder. Dette demonstrerer H-broen i aksjon.

Etter det vil begge motorene begynne å rotere sakte mot urviseren og øke hastigheten gradvis til maksimum og redusere hastigheten gradvis til null. Dette demonstrerer hastighetskontroll av motorer fra PWM.

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 av motor driver krets ved bruk av L298N modul.

Hvis du har spørsmål angående dette L298N DC-motordriverprosjektet, uttrykk gjerne i kommentarseksjonen, du kan få et raskt svar.




Forrige: Flere batteriladerkretser ved hjelp av dumpekondensator Neste: Styrespakstyrt 2,4 GHz RC-bil ved hjelp av Arduino