Vysvětlen modul ovladače motoru L298N DC

Vysvětlen modul ovladače motoru L298N DC

V tomto příspěvku se budeme učit o L298N duálním H-můstku s ovladačem stejnosměrného motoru, který lze použít k pohonu kartáčovaných stejnosměrných motorů a krokových motorů s mikrokontroléry a integrovanými obvody.

Přehled

Modulární desky s obvody jsou nejlepším šetřičem času pro návrháře elektroniky, což také snižuje chyby prototypování. To je většinou preferováno programátory, kteří píší kód pro mikroprocesory tráví většinu času psaním kódů před počítačem a mají méně času na pájení diskrétních elektronických součástek.



Proto můžeme najít spoustu a spoustu různých modulárních obvodů vyrobených právě pro desky Arduino, je snadné rozhraní a při navrhování našeho prototypu mají výhodu nejméně hardwarových chyb.



Ilustrace modulu L298N:

Ilustrace modulu L298N:

Modul je postaven na IC L298N a je běžně dostupný na webových stránkách elektronického obchodu.



Používáme Ovladače stejnosměrného motoru protože integrované obvody a mikrokontroléry nejsou schopny dodávat proud obecně ne více než 100 miliampérů. Mikrokontroléry jsou chytré, ale nejsou silné. Tento modul přidá Arduinu, integrovaným obvodům a dalším mikrokontrolérům nějaké svaly k řízení vysoce výkonných stejnosměrných motorů.

Může řídit 2 stejnosměrné motory současně až do 2 A každý nebo jeden krokový motor. Můžeme ovládat rychlost pomocí PWM a také jeho směru otáčení motorů.

Tento modul je ideální pro stavební roboty a pozemní projekty, jako jsou autíčka.



Podívejme se na technické podrobnosti modulu L298N.

technické podrobnosti modulu L298N.

Popis kolíku:

· Na levé straně jsou porty OUT1 a OUT2, které slouží k připojení stejnosměrného motoru. Podobně OUT3 a OUT4 pro jiný stejnosměrný motor.

· ENA a ENB jsou aktivační piny, připojením ENA k vysoké nebo + 5V umožňuje porty OUT1 a OUT2. Pokud připojíte kolík ENA k nízkému nebo uzemnění, deaktivuje se OUT1 a OUT2. Podobně pro ENB a OUT3 a OUT4.

· IN1 až IN4 jsou vstupní piny, které budou připojeny k Arduinu. Pokud zadáte IN1 + Ve a IN2 –Ve z mikrokontroléru nebo ručně, OUT1 se zvýší a OUT2 se sníží, takže můžeme řídit motor.

· Pokud zadáte IN3 high, OUT4 se změní na vysokou a pokud zadáte IN4 low, OUT3 se změní na nízkou, nyní můžeme řídit jiný motor.

· Pokud chcete obrátit směr otáčení motoru, stačí změnit polaritu IN1 a IN2, obdobně pro IN3 a IN4.

· Použitím signálu PWM na ENA a ENB můžete ovládat rychlost motorů na dvou různých výstupních portech.

· Deska může přijímat nominálně od 7 do 12V. Můžete dodávat energii na +12 V terminálu a uzemnit na 0 V.

· Terminál + 5V je VÝSTUP, který lze v případě potřeby použít k napájení Arduina nebo jiného modulu.

Propojky:

Existují tři propojovací kolíky, které můžete posouvat nahoru, viz ilustrovaný obrázek.

Všechny propojky budou nejprve spojeny, podle potřeby je odpojte nebo ponechejte.

Jumper 1 (viz obrázek):

· Pokud potřebujete motor napájet více než 12V, musíte odpojit propojku 1 a přivést požadované napětí (maximálně 35V) na svorku 12v. Přineste další 5V napájení a vstup na svorce + 5V. Ano, musíte zadat 5V, pokud potřebujete použít více než 12V (když je odstraněna propojka 1).

· 5V vstup je pro správnou funkci IC, protože odpojení můstku deaktivuje vestavěný 5V regulátor a chrání před vyšším vstupním napětím ze svorky 12v.

· Svorka + 5V funguje jako výstup, pokud je váš zdroj mezi 7 až 12V a funguje jako vstup, pokud použijete více než 12V a propojka je odstraněna.

· Většina projektů potřebuje pouze napětí motoru pod 12 V, takže ponechejte propojku tak, jak je, a jako výstup použijte svorku + 5 V.

Jumper 2 a Jumper 3 (viz obrázek):

· Pokud odstraníte tyto dvě propojky, musíte zadat signál povolení a zakázání z mikrokontroléru, většina uživatelů dává přednost odstranění těchto dvou propojek a použití signálu z mikrokontroléru.

· Ponecháte-li tyto dva propojky, výstupy OUT1 až OUT4 budou vždy povoleny. Pamatujte na propojku ENA pro OUT1 a OUT2. Propojka ENB pro OUT3 a OUT4.

Nyní se podívejme na praktický obvod, jak můžeme motory rozhraní, Arduino a napájení modulu ovladače.

Schéma:

schematické znázornění modulu L298N.

Výše uvedený okruh lze použít pro autíčka, pokud odpovídajícím způsobem změníte kód a přidáte joystick.

Musíte pouze napájet modul L289N a modul napájí Arduino přes terminál Vin.

Výše uvedený obvod bude otáčet oba motory po dobu 3 sekund ve směru hodinových ručiček a zastaví se na 3 sekundy. Poté se motor bude otáčet po dobu 3 sekund proti směru hodinových ručiček a po dobu 3 sekund se zastaví. To ukazuje H-můstek v akci.

Poté se oba motory začnou pomalu točit proti směru hodinových ručiček a postupně zvyšují rychlost na maximum a postupně snižují otáčky na nulu. To ukazuje řízení otáček motorů pomocí 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--------------//

Autorův prototyp:

Arduino prototyp obvodu budiče motoru využívající modul L298N.

Máte-li jakékoli dotazy týkající se tohoto projektu budiče stejnosměrného motoru L298N, neváhejte vyjádřit v sekci komentáře, můžete obdržet rychlou odpověď.




Předchozí: Více obvodů nabíječky baterií pomocí kondenzátoru Dump Další: Joystickem řízené 2,4 GHz RC auto pomocí Arduina