Модуль L298N H-bridge можна використовувати для двигунів, напруга живлення яких знаходиться в діапазоні від 5 до 35 вольт. Крім того, на багатьох подібних платах є вбудований 5В регулятор, який дає можливість живити ваші пристрої.
Підключення модуля L298N
Перш ніж перейти до управління двигуном постійного струму і кроковим двигуном, розберемося з підключенням модуля L298N (даташит, технічна інформація від виробника).
Нижче наведені роз'яснення до малюнка.
- Для двигуна постійного струму 1 "+" або для крокової двигуна A +
- Для двигуна постійного струму 1 "-" або для крокової двигуна A-
- Конектор на 12 вольт. Зніміть його, якщо використовуєте напруга живлення більше 12 вольт.
- Харчування вашого двигуна забезпечується за цього виходу. Максимальна напруга живлення постійним струмом 35 вольт. Якщо напруга більше 12 вольт, розімкніть контакти на 3 коннекторе.
- GND - земля.
- Харчування 5 вольт, якщо коннектор на 12 вольт замкнутий. Ідеально для харчування Arduino і т.п.
- Конектор для двигуна постійного струму 1. Можна підключити до ШІМ-виходу для управління швидкістю двигуна постійного струму.
- IN1.
- IN2.
- IN3.
- IN4.
- Конектор для двигуна постійного струму 2. У разі використання крокової двигуна, підключати сюди нічого не треба. Можна підключити до ШІМ-виходу для управління швидкістю двигуна постійного струму.
- Двигун постійного струму 2 "+" або кроковий двигун B +.
- Двигун постійного струму 2 "-" або кроковий двигун B-.
L298N, Arduino і двигун постійного струму
Даний модуль дає можливість управляти одним або двома двигунами постійного струму. Для початку, підключіть двигуни до пінам A і B на контролері L298N.
Якщо ви використовуєте в проекті кілька двигунів, переконайтеся, що у них витримана однакова полярність при підключенні. Інакше, при завданні руху, наприклад, за годинниковою стрілкою, один з них буде обертатися в протилежному напрямку. Повірте, з точки зору програмування Arduino це незручно.
Після цього підключіть джерело живлення. Плюс - до четвертого піну на L298N, мінус (GND) - до 5 піну. Якщо ваш джерело живлення до 12 вольт, коннектор, зазначений 3 на малюнку вище, можна залишити. При цьому буде можливість використовувати 5 вольта пін 6 з модуля.
Даний пін можна використовувати для харчування Arduino. При цьому не забудьте підключити пін GND з мікроконтролера до 5 піну на L298N для замикання ланцюга. Тепер вам знадобиться 6 цифрових пинов на Arduino. Причому деякі Піни повинні підтримувати ШІМ-модуляцію.
ШІМ-піни позначені знаком "
"Поруч з порядковим номером. На малюнку нижче наведені ШІМ-піни на платі Arduino Uno.
Тепер підключіть цифрові Піни Arduino до драйверу. У нашому прикладі два двигуна постійного струму, так що цифрові Піни D9, D8, D7 і D6 будуть підключені до пінам IN1, IN2, IN3 і IN4 відповідно. Після цього підключіть пін D10 до піну 7 на L298N (попередньо забравши коннектор) і D5 до піну 12 (знову таки, прибравши коннектор).
Напрямок обертання ротора двигуна управляється сигналами HIGH або LOW на кожен привід (або канал). Наприклад, для першого мотора, HIGH на IN1 і LOW на IN2 забезпечить обертання в одному напрямку, а LOW і HIGH змусить обертатися в протилежну сторону.
При цьому двигуни не будуть обертатися, поки не буде сигналу HIGH на піне 7 для першого двигуна або на 12 піне для другого. Зупинити їх обертання можна подачею сигналу LOW на ті ж зазначені вище Піни. Для керування швидкістю обертання використовується ШІМ-сигнал.
Скетч наведений нижче, спрацьовує у відповідності зі схемою підключення, яку ми розглядали вище. Двигуни постійного струму і Arduino живляться від зовнішнього джерела живлення.
// підключіть Піни контролера до цифрових пінам Arduino
Пояснення до скетчу для управління двигунами постійного струму
Отже, що у нас відбувається в програмі? У тілі функції demoOne () ми включаємо двигуни і починаємо з ними працювати при ШІМ- значенні 200.
Через деякий час двигуни починають обертатися в протилежному напрямку (завдяки зміні HIGH і LOW в тілі функції digitalWrite ()). Для демонстрації можливостей зміни швидкості обертання, використовуємо доступний ШІМ-діапазон в тілі функції demoTwo (). Сигнал на піне змінюється від нуля до 255 і знову до нуля.
В результаті все це може крутитися приблизно так:
L298N, Arduino і кроковий двигун
Для нашого прикладу ми використовуємо кроковий двигун Nema 17, у якого чотири кабелі для підключення.
Цей двигун має 200 кроків на оборот і може працювати з частотою обертання 60 об / хв. Якщо ви використовуєте інший кроковий двигун, уточніть крок його крок і максимальну частоту обертання. Ці параметри знадобляться вам при програмуванні Arduino.
Ще один важливий момент - визначити які саме кабелі відповідають A +, A-, B + і B-. У нашому прикладі відповідні кольори кабелів: червоний, зелений, жовтий і блакитний. Переходимо до підключення.
Кабелі A +, A-, B + і B- від крокової двигуна підключаємо до пінам 1, 2, 13 і 14 відповідно. Контакти на коннекторах 7 і 12 на контролері L298N залиште замкнутими. Після цього підключіть джерело живлення до піну 4 (плюс) і 5 (мінус) на контролері.
Знову таки, якщо джерело живлення менше 12 вольт, контакт, зазначений 3 на малюнку модуля, можна залишити замкнутим. Після цього, підключіть Піни модуля L298N IN1, IN2, IN3 і IN4 до відповідних цифровим пінам D8, D9, D10 і D11 на Arduino.
Тепер підключаємо GND пін з Arduino до піну 5 на контролері, а 5V до 6 піну на модулі. З управлінням крокової двигуна проблем бути не повинно завдяки вбудованій в Arduino IDE бібліотеці Stepper Library.
Для перевірки працездатності просто завантажте скетч stepper_oneRevolution, який входить до складу бібліотеки. Даний приклад знаходиться в меню
File> Examples> Stepper в Arduino IDE.
Пояснення до скетчу для управління кроковим двигуном
const int stepsPerRevolution = 200;
в скетчі та змініть значення 200 на ваше кількість кроків за один поворот двигуна валу і швидкість обертання в рядку
Тепер можете зберегти і завантажити скетч, який реалізує обертання один оборот валу, а потім в протилежну сторону. Це реалізується за допомогою функції
myStepper.step (stepsPerRevolution); // обертання за годинниковою стрілкою
myStepper.step (-stepsPerRevolution); // обертання проти годинникової стрілки
ARDUINO-DIY.COM - це інформаційний ресурс з кращими інструкціями і туторіали по використанню контролерів Arduino.
Завжди раді конструктивної співпраці. З усіма питаннями, побажаннями і пропозиціями звертайтеся на пошту [email protected].