L298N: модул за управление на двигатели за Arduino

l298n

Има много модули за Arduino или за използване в DIY проекти от производители. В случай че L298N е модул за управление на двигатели. С тях можете да използвате прости кодове за програмирайте нашата дъска Arduino и да можете да управлявате DC двигатели по прост и контролиран начин. Като цяло този тип модул се използва повече в роботиката или в задвижващите механизми, използващи двигатели, въпреки че може да се използва за множество приложения.

Вече въведохме всичко, от което се нуждаете модулът ESP, с чип ESP8266, ООН модул, който позволява да се разширят капацитетите Платки Arduino и други проекти, така че да имат WiFi свързаност. Тези модули не могат да се използват само изолирано, хубавото е, че могат да се комбинират. Например, ESP8266 може да се използва за нашия прототип и L298N, с който бихме получили управляем двигател през интернет или безжична връзка.

Въведение в L298N и таблици с данни:

l298n пиноут

Въпреки че с Arduino можете да работите и със стъпкови двигатели, които са добре познати в роботиката, в този случай обикновено е по-често да се използва контролерът или драйвер за постояннотокови двигатели. Можете да получите информация за чипа L298 и модулите в таблиците с данни на производителите, като например STMicroelectronics от тази връзка. Ако искате да видите лист с данни за конкретния модул, а не само чипа, можете да изтеглите този друг PDF на Handsontec L298N.

Но най-общо казано, L298N е драйвер тип H-мост, който позволява да се контролират скоростта и посоката на въртене на DC двигателите. Също така може лесно да се използва със стъпкови двигатели благодарение на 2 H-мост който изпълнява. Тоест мост в Н, което означава, че той е оформен от 4 транзистора, които ще позволят да обърнат посоката на тока, така че роторът на двигателя да се върти в едната или другата посока, както искаме. Това е предимство пред контролерите, които ви позволяват само да контролирате скоростта на въртене (RPM), като контролирате само стойността на захранващото напрежение.

L298N може да работи с различни напрежения, от 3v до 35v, и с интензивност 2А. Това е, което наистина ще определи производителността или скоростта на въртене на двигателя. Трябва да се има предвид, че електрониката, която модулът консумира, обикновено консумира около 3v, така че двигателят винаги ще получава 3v по-малко от мощността, към която го захранваме. Това е донякъде висока консумация, всъщност има елемент с висока мощност, който се нуждае от радиатор, както можете да видите на изображението.

За да контролирате скоростта, можете да направите нещо, обратно на това, което направихме с LM35, в този случай, вместо да получите определено напрежение на изхода и да се наложи да го преобразувате в градуси, тук ще бъде обратното. За да захранваме драйвера с по-ниско или по-високо напрежение по-бърз или по-бавен завой. В допълнение, модулът L298N позволява също така платката Arduino да се захранва на 5v, стига да захранваме драйвера с поне 12v напрежение.

Интеграция с Arduino

електрическа схема на l298n с Arduino

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

Преди да работим с L298N трябва да вземем предвид, че входът на модула или Vin поддържа напрежения между 3v и 35v и че трябва да го свържем и със заземяване или GND, както се вижда на изображението съответно с червения и черния кабел. След като бъде свързан към захранването, следващото нещо е да свържете едновременно двигателя или двата двигателя, които той приема да управлява. Това е просто, трябва само да свържете двата извода на двигателя към раздела за свързване, който има модула от всяка страна.

И сега идва може би най-сложното и е да свържете модулните връзки или щифтове към Arduino правилно. Не забравяйте, че ако мостът на моста или моста на регулатора е затворен, т.е. включен, регулаторът на напрежението на модула се активира и има 5v изход, който можете да използвате за захранване на платката Arduino. От друга страна, ако премахнете джъмпера, деактивирате регулатора и трябва да захранвате Arduino независимо. око! Тъй като джъмперът може да бъде настроен само до 12v напрежения, за повече от това трябва да го премахнете, за да не повредите модула ...

Можете да оцените това има 3 връзки за всеки двигател. Тези, маркирани като IN1 до IN4, са тези, които управляват двигатели A и B. Ако нямате свързан един от двигателите, защото имате нужда само от един, няма да се налага да ги поставяте всички. Джамперите от всяка страна на тези връзки за всеки двигател са ENA и ENB, тоест за активиране на двигатели A и B, които трябва да присъстват, ако искаме и двата двигателя да работят.

за мотор A (Би било същото за B), трябва да имаме IN1 и IN2 свързани, които да контролират посоката на въртене. Ако IN1 е ВИСОКО, а IN2 В НИСКО, двигателят се завърта в едната посока, а ако са в НИСКА и ВИСОКА, се превръща в другата. За да контролирате скоростта на въртене, трябва да премахнете джъмперите INA или INB и да използвате щифтовете, които се появяват, за да го свържете към Arduino PWM, така че ако му придадем стойност от 0 до 255, ще получим съответно ниска или по-висока скорост.

Относно програмирането също е лесно в IDE на Arduino. Например код би бил:

<pre>// Motor A
int ENA = 10;
int IN1 = 9;
int IN2 = 8;

// Motor B
int ENB = 5;
int IN3 = 7;
int IN4 = 6;

void setup ()
{
 // Declaramos todos los pines como salidas
 pinMode (ENA, OUTPUT);
 pinMode (ENB, OUTPUT);
 pinMode (IN1, OUTPUT);
 pinMode (IN2, OUTPUT);
 pinMode (IN3, OUTPUT);
 pinMode (IN4, OUTPUT);
}
//Mover los motores a pleno rendimiento (255), si quieres bajar la velocidad puedes reducir el valor hasta la mínima que son 0 (parados)</pre>
<pre>//Para mover los motores en sentido de giro contrario, cambia IN1 a LOW e IN2 a HIGH

void Adelante ()
{
 //Direccion motor A
 digitalWrite (IN1, HIGH);
 digitalWrite (IN2, LOW);
 analogWrite (ENA, 255); //Velocidad motor A
 //Direccion motor B
 digitalWrite (IN3, HIGH);
 digitalWrite (IN4, LOW);
 analogWrite (ENB, 255); //Velocidad motor B
}</pre>

Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.