Драйвер крокової двигуна і двигуна постійного струму l298n і arduino

Модуль L298N H-bridge можна використовувати для двигунів, напруга живлення яких знаходиться в діапазоні від 5 до 35 вольт. Крім того, на багатьох подібних платах є вбудований 5В регулятор, який дає можливість живити ваші пристрої.

Підключення модуля L298N

Перш ніж перейти до управління двигуном постійного струму і кроковим двигуном, розберемося з підключенням модуля L298N (даташит, технічна інформація від виробника).

Драйвер крокової двигуна і двигуна постійного струму l298n і arduino

Нижче наведені роз'яснення до малюнка.

  1. Для двигуна постійного струму 1 "+" або для крокової двигуна A +
  2. Для двигуна постійного струму 1 "-" або для крокової двигуна A-
  3. Конектор на 12 вольт. Зніміть його, якщо використовуєте напруга живлення більше 12 вольт.
  4. Харчування вашого двигуна забезпечується за цього виходу. Максимальна напруга живлення постійним струмом 35 вольт. Якщо напруга більше 12 вольт, розімкніть контакти на 3 коннекторе.
  5. GND - земля.
  6. Харчування 5 вольт, якщо коннектор на 12 вольт замкнутий. Ідеально для харчування Arduino і т.п.
  7. Конектор для двигуна постійного струму 1. Можна підключити до ШІМ-виходу для управління швидкістю двигуна постійного струму.
  8. IN1.
  9. IN2.
  10. IN3.
  11. IN4.
  12. Конектор для двигуна постійного струму 2. У разі використання крокової двигуна, підключати сюди нічого не треба. Можна підключити до ШІМ-виходу для управління швидкістю двигуна постійного струму.
  13. Двигун постійного струму 2 "+" або кроковий двигун B +.
  14. Двигун постійного струму 2 "-" або кроковий двигун B-.
Драйвер крокової двигуна і двигуна постійного струму l298n і arduino

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, у якого чотири кабелі для підключення.

Драйвер крокової двигуна і двигуна постійного струму l298n і arduino

Цей двигун має 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.

Драйвер крокової двигуна і двигуна постійного струму l298n і arduino

Для перевірки працездатності просто завантажте скетч stepper_oneRevolution, який входить до складу бібліотеки. Даний приклад знаходиться в меню

File> Examples> Stepper в Arduino IDE.

Пояснення до скетчу для управління кроковим двигуном

const int stepsPerRevolution = 200;

в скетчі та змініть значення 200 на ваше кількість кроків за один поворот двигуна валу і швидкість обертання в рядку

Тепер можете зберегти і завантажити скетч, який реалізує обертання один оборот валу, а потім в протилежну сторону. Це реалізується за допомогою функції

myStepper.step (stepsPerRevolution); // обертання за годинниковою стрілкою

myStepper.step (-stepsPerRevolution); // обертання проти годинникової стрілки

ARDUINO-DIY.COM - це інформаційний ресурс з кращими інструкціями і туторіали по використанню контролерів Arduino.

Завжди раді конструктивної співпраці. З усіма питаннями, побажаннями і пропозиціями звертайтеся на пошту [email protected].

Схожі статті

Copyright © 2024