Моторният контролер L298N Това е много популярна опция в проекти за роботика и електроника като цяло, благодарение на ниската си цена и лекотата на използване. С този модул можем да управляваме както двигатели с постоянен ток, така и стъпкови двигатели, като регулираме тяхната скорост и посока на въртене. В тази статия ще разбием всичко, което трябва да знаете за L298N, от основните връзки до това как да го използвате с Arduino за управление на двигателя. Прочетете, за да извлечете максимума от този многофункционален контролер.
Ако някога сте работили с проекти за роботика или превозни средства, управлявани от микроконтролер като Arduino, вероятно сте се озовали в ситуация на нужда от повече мощност за задвижване на двигатели с определен размер. Това е мястото, където Модул L298N, контролер, който ви позволява да управлявате тази допълнителна мощност за електрически двигатели по лесен начин. Нека се задълбочим във всичките му подробности.
Какво представлява L298N и как работи?
L298N е a моторен контролер който използва система H-Bridge за обръщане на полярността на тока и следователно контролира посоката на въртене на двигателя. Този модул може да управлява два DC мотора или стъпков двигател. Максималният ток, който може да осигури, е 2A на изход, с максимален пик от 3A и поддържа диапазон на мощност между 3V и 35V. Важно е да се отбележи, че този модул има относително ниска ефективност, което означава, че двигателите ще получат напрежение с приблизително 3V по-ниско от това, приложено към модула. Тези загуби се разсейват като топлина.
Вътрешната структура на модула включва два H моста, технология, широко използвана в електрониката за управление на посоката на тока. Всеки мост е съставен от четири транзистора, подредени в конфигурация, която позволява контролиране както на полярността, така и на изключването на двигателя. Освен това L298N включва защитни диоди и други мерки за избягване на възможни повреди при работа с тези двигатели.
Основни компоненти и връзки
El Модул L298N Характеризира се с лекота на използване и гъвкавост за адаптиране към различни видове проекти. По-долу обясняваме най-важните връзки на контролера:
- Vin и GND: Тези щифтове се използват за свързване на захранването на модула. Може да поддържа 3V до 35V входно напрежение.
- логическо V: Този щифт има две функции в зависимост от това дали регулаторът на напрежението е активиран чрез джъмпер. Ако джъмперът е свързан, този щифт ще осигури 5V изход, който можем да използваме за захранване на устройства като Arduino. Ако джъмперът е премахнат, трябва да захранваме логическия компонент с 5V източник.
- IN1, IN2, IN3, IN4: Тези щифтове контролират посоката на двигателите. Например, за мотор A, ако IN1 е на HIGH и IN2 е на LOW, моторът ще се върти в една посока. Ако IN1 е на LOW и IN2 е на HIGH, той ще се върти в обратна посока.
- ENA и ENB: Те контролират скоростта на двигателите с помощта на PWM (широчинно-импулсна модулация) сигнали. Ако джъмперите са поставени, двигателите ще работят с постоянна скорост; Ако не, можем да регулираме скоростта със стойности от 0 до 255.
Работа и захранване на L298N
Има два основни начина за хранене на a L298N:
- С едно захранване: В този случай използваме източник до 12V, свързваме джъмпера, за да активираме 5V регулатора и не свързваме нищо към 5V щифта, тъй като това ще действа като изход.
- С два източника на енергия: Друга алтернатива е да захранвате модула с два различни източника, единият от които ще осигури необходимите 5V за логическата част на модула, а другият 12V или повече за двигателя, като в този случай разкачете джъмпера на регулатора, за да избегнете повреда на модул.
Независимо дали използвате едно или две захранвания, винаги не забравяйте да обърнете внимание на входни и изходни щифтове за да избегнете късо съединение или възможна повреда.
Програмиране с Arduino
Едно от големите предимства на L298N е неговата лесна интеграция с базирани на Arduino проекти. Това е така, защото само чрез свързване на няколко щифта можем да контролираме както скоростта, така и посоката на един или повече мотори. Тук ви показваме как да програмирате L298N с Arduino:
Първо задаваме щифтовете, които ще използваме за управление на двигателите:
int ENA = 10; // Habilita motor A
int IN1 = 9; // Dirección Motor A
int IN2 = 8; // Dirección Motor A
int ENB = 5; // Habilita motor B
int IN3 = 7; // Dirección Motor B
int IN4 = 6; // Dirección Motor B
Започваме с конфигуриране на щифтовете като изходи на setup()
и деклариране на функциите, необходими за задвижване на двигателите в двете посоки:
void Adelante() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 255);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENB, 255);
}
void Atras() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
analogWrite(ENA, 128);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(ENB, 128);
}
Можем да регулираме скоростта на двигателите, като променяме стойностите във функцията analogWrite()
, който приема стойности между 0 и 255, където 255 е максималната скорост.
L298N Защити
Забележителна характеристика на L298N е, че включва няколко защити за предотвратяване на повреда както на контролера, така и на двигателите. Тези защити включват:
- Защита от свръхток: Ако модулът открие ток, по-голям от този, който може да издържи, той ще активира защита, за да предотврати повреда.
- Защита от прегряване: L298N е проектиран да разсейва топлината, генерирана по време на работа, но ако температурата надхвърли определени граници, модулът ще активира термичната си защита.
- Защитни диоди: Тези диоди предотвратяват пикове на напрежението, предизвикани от инерцията на двигателите, от повреда на модула.
Практически пример: Управление на роботизирана кола
Използването на контролера L298N Това е много често срещано в проекти за роботика, като роботизирани автомобили, управлявани с Arduino. При тази настройка, като монтираме L298N на шасито и го свържем към Arduino, можем да контролираме както посоката, така и скоростта на колелата на автомобила.
Обичайната схема на свързване е както следва: Захранвате модула L298N с външна батерия за двигателите (обикновено 6V или 12V) и свързвате изходния щифт 5V към Arduino. От Arduino вие контролирате щифтовете IN1, IN2, IN3 и IN4, за да управлявате двигателите. Тази настройка ви позволява да завъртите колата напред, назад и да правите завои в различни посоки.
Ако искате да опростите програмирането и контрола, можете да използвате библиотеки като LEANTEC_ControlMotor.h. Тази библиотека ви позволява да програмирате двигателите с по-прости команди като: control.Motor(velocidad, direccion)
.
L298N е отлично решение за управление на двигатели в малки и средни проекти и използването му е широко разпространено в общността на производителите. Въпреки че има други по-усъвършенствани и ефективни контролери, комбинацията от гъвкавост, цена и простота на L298N го прави една от най-добрите опции за проекти „Направи си сам“.