Vysvetlený modul ovládača jednosmerného motora L298N

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





V tomto príspevku sa dozvieme o duálnom budiacom module jednosmerného motora L-298N, ktorý je možné použiť na pohon kartáčovaných jednosmerných motorov a krokových motorov s mikrokontrolérmi a integrovanými obvodmi.

Prehľad

Dosky modulárnych obvodov sú najlepším šetričom času pre návrhárov elektroniky, čo tiež znižuje chyby prototypov. Toto väčšinou uprednostňujú programátori, ktorí píšu kód pre mikrokontroléry, trávia väčšinu času zadávaním kódov pred počítačom a majú menej času na spájkovanie jednotlivých elektronických súčiastok.



Preto môžeme nájsť tony a tony rôznych modulárnych obvodov vyrobených práve pre dosky Arduino, ktoré sú ľahko prepojiteľné a pri navrhovaní nášho prototypu majú výhodu najmenších hardvérových chýb.

Ilustrácia modulu L298N:

Ilustrácia modulu L298N:



Modul je postavený na IC L298N a je bežne dostupný na webových stránkach elektronického obchodu.

Používame Ovládače jednosmerných motorov pretože integrované obvody a mikrokontroléry nie sú schopné dodávať prúd všeobecne nie viac ako 100 miliampérov. Mikrokontroléry sú inteligentné, ale nie silné. Tento modul pridá Arduinu, integrovaným obvodom a iným mikrokontrolérom nejaké svaly na pohon vysokovýkonných jednosmerných motorov.

Môže ovládať 2 jednosmerné motory súčasne s prúdom do 2 A alebo s jedným krokovým motorom. Môžeme ovládať rýchlosť pomocou PWM a tiež jeho smeru otáčania motorov.

Tento modul je ideálny pre stavebných robotov a pozemné projekty, ako sú autíčka.

Pozrime sa na technické podrobnosti modulu L298N.

technické podrobnosti modulu L298N.

Popis kolíka:

· Na ľavej strane sú porty OUT1 a OUT2, ktoré slúžia na pripojenie jednosmerného motora. Podobne OUT3 a OUT4 pre iný jednosmerný motor.

· ENA a ENB sú aktivačné piny, pripojením ENA na vysoké alebo + 5 V umožňuje porty OUT1 a OUT2. Ak pripojíte kolík ENA na zem alebo na zem, deaktivuje sa OUT1 a OUT2. Podobne pre ENB a OUT3 a OUT4.

· IN1 až IN4 sú vstupné piny, ktoré budú pripojené k Arduinu. Ak zadáte IN1 + Ve a IN2 –Ve z mikrokontroléra alebo manuálne, výstup OUT1 sa zmení na vysoký a OUT2 na nízku, takže môžeme riadiť motor.

· Ak zadáte vysoký IN3, vysoký OUT4, vysoký IN4 a nízky OUT4, teraz môžeme riadiť iný motor.

· Ak chcete obrátiť smer otáčania motora, stačí obrátiť polaritu IN1 a IN2, obdobne pre IN3 a IN4.

· Aplikáciou signálu PWM na ENA a ENB môžete riadiť rýchlosť motorov na dvoch rôznych výstupných portoch.

· Doska môže nominálne prijímať od 7 do 12V. Môžete napájať na svorke + 12V a uzemniť na 0V.

· Terminál + 5V je VÝSTUP, ktorý je možné v prípade potreby použiť na napájanie Arduina alebo iného modulu.

Prepojky:

K dispozícii sú tri prepojovacie piny, ktoré môžete posunúť nahor, a to na ilustrovanom obrázku.

Všetky prepojky budú najskôr spojené alebo odpojené, podľa potreby.

Jumper 1 (pozri ilustrovaný obrázok):

· Ak potrebujete motor s napájaním vyšším ako 12 V, musíte odpojiť prepojku 1 a na svorku 12 V použiť požadované napätie (maximálne 35 V). Prineste ďalšie Napájanie 5V a vstup na svorke + 5V. Áno, musíte vložiť 5V, ak potrebujete použiť viac ako 12V (keď je odstránená prepojka 1).

· Vstup 5V slúži na správne fungovanie integrovaného obvodu, pretože odstránením prepojky sa deaktivuje zabudovaný regulátor 5v a ochráni sa pred vyšším vstupným napätím zo svorky 12v.

· Terminál + 5V funguje ako výstup, ak je vaše napájanie medzi 7 a 12V a ako vstup funguje, ak použijete viac ako 12V a prepojka je odstránená.

· Väčšina projektov potrebuje iba napätie motora pod 12V, takže ponechajte prepojku tak, ako je, a ako výstup použite svorku + 5V.

Jumper 2 a Jumper 3 (pozri ilustrovaný obrázok):

· Ak odstránite tieto dva prepojky, musíte vložiť signál povolenia a zakázania z mikrokontroléra, väčšina používateľov dáva prednosť odstráneniu týchto dvoch prepojok a použitiu signálu z mikrokontroléra.

· Ak ponecháte dva prepojky, výstupy OUT1 až OUT4 budú vždy povolené. Pamätajte na prepojku ENA pre OUT1 a OUT2. Prepojka ENB pre OUT3 a OUT4.

Teraz sa pozrime na praktický okruh, ako môžeme motory rozhrania, Arduino a napájanie modulu vodiča.

Schéma:

schematický diagram modulu L298N.

Vyššie uvedený okruh je možné použiť pre autíčka, ak zodpovedajúcim spôsobom zmeníte kód a pridáte joystick.

Musíte len napájať modul L289N a modul bude napájať Arduino cez terminál Vin.

Vyššie uvedený obvod bude točiť obidva motory po dobu 3 sekúnd v smere hodinových ručičiek a na 3 sekundy sa zastaví. Potom sa motor bude 3 sekundy točiť proti smeru hodinových ručičiek a na 3 sekundy sa zastaví. To demonštruje H-most v akcii.

Potom sa obidva motory začnú pomaly točiť v protismere hodinových ručičiek a postupne zvyšujú rýchlosť na maximum a postupne znižujú otáčky na nulu. To demonštruje reguláciu otáčok motorov pomocou 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--------------//

Autorský prototyp:

Arduino prototyp obvodu budiča motora využívajúci modul L298N.

Ak máte akékoľvek otázky týkajúce sa tohto projektu budiča jednosmerného motora L298N, neváhajte a vyjadrite sa v sekcii komentárov, môžete dostať rýchlu odpoveď.




Dvojica: Obvod nabíjačky viacerých batérií využívajúci kondenzátor na vybíjanie Ďalej: Joystick riadený 2,4 GHz RC autom pomocou Arduina