Обяснен модул на драйвера за постоянен ток L298N

Опитайте Нашия Инструмент За Премахване На Проблемите





В тази публикация ще научим за двойния модул за задвижване с постоянен ток на мотора с двоен H-мост L298N, който може да се използва за задвижване на четки DC двигатели и стъпкови двигатели с микроконтролери и интегрални схеми.

Общ преглед

Модулните платки са най-добрият спестител на време за дизайнерите на електроника, които също намаляват грешките при прототипирането. Това е най-предпочитано от програмистите, които пишат код за микроконтролери, прекарват по-голямата част от времето, като въвеждат кодове пред компютъра и имат по-малко време за запояване на дискретните електронни компоненти.



Ето защо можем да открием, че тонове и тонове различни модулни схеми са направени само за платки Arduino, лесно е да се свързва и да се възползват от най-малко хардуерни грешки при проектирането на нашия прототип.

Илюстрация на модул L298N:

Илюстрация на модул L298N:



Модулът е изграден около IC L298N и е често достъпен в уебсайтове за електронна търговия.

Ние използваме Двигатели с постоянен ток тъй като интегралните схеми и микроконтролерите не могат да доставят ток като цяло не повече от 100 милиампера. Микроконтролерите са интелигентни, но не са силни, този модул ще добави някои мускули към Arduino, интегрални схеми и други микроконтролери, за да задвижва постояннотокови двигатели с висока мощност.

Той може да управлява 2 DC мотора едновременно до 2 ампера всеки или един стъпков двигател. Ние можем контролирайте скоростта като се използва ШИМ, а също и неговата посока на въртене на двигателите.

Този модул е ​​идеален за изграждане на роботи и проекти за наземни превози, като коли за играчки

Нека да видим техническите подробности за модула L298N.

технически подробности за модул L298N.

Описание на щифта:

· От лявата страна има OUT1 и OUT2 порт, който е за свързване на DC мотор. По същия начин OUT3 и OUT4 за друг двигател с постоянен ток.

· ENA и ENB са активиращи щифтове, като свържете ENA към висок или + 5V, той позволява портовете OUT1 и OUT2. Ако свържете щифта ENA към ниско или към земята, той деактивира OUT1 и OUT2. По същия начин, за ENB и OUT3 и OUT4.

· IN1 до IN4 са входните щифтове, които ще бъдат свързани към Arduino. Ако въведете IN1 + Ve и IN2 –Ve от микроконтролер или ръчно, OUT1 се превръща високо и OUT2 се понижава, като по този начин можем да задвижваме мотора.

· Ако въведете IN3 високо, OUT4 се превръща високо и ако въведете IN4 ниско, OUT3 става ниско, сега можем да задвижваме друг двигател.

· Ако искате да обърнете посоката на въртене на двигателя, просто обърнете полярността IN1 и IN2, подобно на IN3 и IN4.

· Чрез прилагане на ШИМ сигнал към ENA и ENB можете да контролирате скоростта на двигателите на два различни изходни порта.

· Платката може да приема номинално от 7 до 12V. Можете да въведете мощност на терминал + 12V и земя до 0V.

· Терминалът + 5V е ИЗХОД, който може да се използва за захранване на Arduino или друг модул, ако е необходимо.

Джъмпери:

Има три щифта, които можете да превъртите нагоре, за да видите илюстрираното изображение.

Всички джъмпери ще бъдат свързани първоначално, премахнете или задръжте джъмпера в зависимост от вашите нужди.

Джъмпер 1 (вижте илюстрираното изображение):

· Ако двигателят ви се нуждае от повече от 12V захранване, трябва да изключите джъмпера 1 и да подадете желаното напрежение (максимум 35V) на 12v терминал. Донеси още една 5V захранване и вход на + 5V терминал. Да, трябва да въведете 5V, ако трябва да приложите повече от 12V (когато джъмпер 1 е премахнат).

· Входът 5V е за правилното функциониране на интегралната схема, тъй като премахването на джъмпера ще деактивира вградения 5v регулатор и ще предпази от по-високо входно напрежение от 12v терминал.

· Терминалът + 5V действа като изход, ако захранването ви е между 7 до 12V и действа като вход, ако приложите повече от 12V и джъмперът е премахнат.

· Повечето от проектите просто се нуждаят от напрежение на двигателя под 12V, така че поддържайте джъмпера такъв, какъвто е и използвайте + 5V терминал като изход.

Jumper 2 и Jumper 3 (вижте илюстрираното изображение):

· Ако премахнете тези два джъмпера, трябва да въведете сигнала за активиране и деактивиране от микроконтролера, повечето потребители предпочитат да премахнат двата джъмпера и да приложат сигнала от микроконтролера.

· Ако запазите двата джъмпера, OUT1 до OUT4 винаги ще бъдат активирани. Не забравяйте ENA джъмпер за OUT1 и OUT2. ENB джъмпер за OUT3 и OUT4.

Сега да видим практическа схема, как можем интерфейсни двигатели, Arduino и захранване към модула на драйвера.

Схема:

схематична схема на модул L298N.

Горната схема може да се използва за колички-играчки, ако промените кода по подходящ начин и добавите джойстик.

Трябва само да захранвате модула L289N и модулът ще захранва Arduino чрез терминал Vin.

Горната схема ще завърти двата двигателя по посока на часовниковата стрелка за 3 секунди и ще спре за 3 секунди. След това двигателят ще се завърти обратно на часовниковата стрелка за 3 секунди и ще спре за 3 секунди. Това показва H-моста в действие.

След това и двата двигателя ще започнат да се въртят бавно в посока обратна на часовниковата стрелка, набирайки скорост постепенно до максимум и постепенно намалявайки скоростта до нула. Това демонстрира контрол на скоростта на двигателите чрез ШИМ.

Програма:

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

Прототип на автора:

Прототип на Arduino на верига на двигател, използващ модул L298N.

Ако имате някакви въпроси относно този проект за двигател за постоянен ток L298N, не се колебайте да изразите в раздела за коментари, може да получите бърз отговор.




Предишна: Верига на зарядно устройство с няколко батерии, използваща кондензатор за изхвърляне Напред: Джойстик с контролиран 2.4 GHz RC автомобил, използващ Arduino