Підключення крокового двигуна до "Ардуїнов"
Опубликованно 07.09.2018 04:57
При роботі з Arduino багато радіоаматори користуються кроковими двигунами. Але що ж це таке? Як його підключати? А як працювати з ним? І взагалі, де вони використовуються? Відповіді на всі ці питання будуть представлені в цій статті. Про крокових двигунах
Можна сказати, що крокові двигуни є основою точної робототехніки. Вони застосовуються скрізь завдяки їх точності. Справа в тому, що крокові двигуни при повороті вала використовують маленькі кроки, це дозволяє їм бути точними при роботі. Саме завдяки "кроків" їх і почали називати кроковими двигунами. Взяти, наприклад, принтер. Там теж використовується кроковий двигун. Або який-небудь маніпулятор, де точність дуже важлива, адже якщо навіть робот зробить помилку на половину градуси - вже все піде не так. Аналогом крокових двигунів можна вважати сервоприводи, так як при їх програмуванні також вказується градус повороту, однак серво поступаються кроковим двигунів в точності. Але є безліч ситуацій, де використання сервоприводів доцільно, ніж використання "шаговиков".
Кроковий двигун 28BYJ-48
Серед безлічі вибору крокових двигунів слід звернути увагу саме на кроковий двигун моделі 28BYJ-48. Коштує вона досить дешево, всього лише 100-150 рублів за штуку. Як виглядає кроковий двигун для "Ардуїнов", можна побачити на фото нижче.
Багато радіоаматори віддають перевагу саме цієї моделі з-за низької ціни і гарної точності. Тип мотора - уніполярний, число фаз - 4. Споживає кроковий двигун для "Ардуїнов" від 5 до 12V. Однак рекомендується використовувати 6-7V. Двигуни можуть працювати в двох режимах: полношаговый і полушаговый. Рекомендується для використання в полушаговом режимі. Це 5.625 градуси на крок. При полношаговом на крок дається 11.25 градуси. Вага двигуна - 30 грам. Драйвер ULN2003
Для підключення крокового двигуна до "Ардуїнов" використовується спеціальний драйвер. Одним з таких є ULN2003. Пов'язано це з тим, що при роботі крокового двигуна досить потужна сила струму, яку контакти Arduino просто не можуть витримати. Для цього і використовується драйвер. Сам двигун підключається до драйвера, переплутати все майже неможливо, так як є ключ, який показує, як саме треба підключити. Ну, і далі вже сам драйвер підключається до Arduino для подальшої роботи. Найчастіше у магазинах драйвер вже йде в комплекті з кроковим двигуном. Однак є випадки, коли двигуни продаються без драйвера, на це треба звертати увагу. Якщо купувати на Aliexpress, то краще працювати тільки з перевіреними продавцями, у яких багато відгуків.
Підключення
Як вже говорилося вище, для роботи крокового двигуна з "Ардуїнов" використовується драйвер. Для живлення двигуна слід використовувати інший джерело, щоб не перевантажувати плату Arduino. А інші висновки, починаючи з IN1 до IN4, підключаємо до будь-яким цифровим контактів на "Ардуїнов". Як можна помітити, підключення крокового двигуна до "Ардуїнов" досить просте. На фотографії можна побачити приклад підключення.
Управління
Для управління кроковим двигунів з "Ардуїнов" у складі середовища розробки вже є готова бібліотека, яка дозволяє управляти двигуном, використовуючи маленький програмний код. Якщо б його не було, довелося б при допомозі спеціальної таблиці складати і розраховувати рух двигуна, що зайняло б дуже багато часу. Проте є і мінус цієї бібліотеки. Справа в тому, що вона дає можливість використання двигуна лише в полношаговом режимі. Хоча спочатку рекомендується використання "шаговика" в полушаговом. Але для простих проектів з використанням одного крокового двигуна ця бібліотека підійде. Називається вона Stepper. Можна написати код для управління кроковим двигуном з "Ардуїнов". Скетч виглядає так, як на прикладі нижче.
#include <Stepper.h> const int stepsPerRevolution = 200; Stepper myStepper(stepsPerRevolution, 8,9,10,11); //підключення до пинам 8...11 на Ардуїнов void setup() { myStepper.setSpeed(60); //установка швидкості обертання ротора Serial.begin(9600); } void loop() { //Функція чекає, поки надійде команда перетворює текст і подає сигнал на двигун для його обертання на вказану кількість кроків. Serial.println("Move right"); //за годинниковою стрілкою myStepper.step(stepsPerRevolution); delay(1000); Serial.println("Move left"); //проти годинникової стрілки myStepper.step(-stepsPerRevolution); delay(1000); }
Це приклад із самої бібліотеки для керування кроковими двигунами. Ви можете самі вказати, яку кількість кроків потрібно виконати, а також з якою швидкістю. Розглянемо код більш детально. На самому початку підключається бібліотека Stepper, про яку вже було сказано вище. Після чого створюється масив з кількістю кроків, які повинен виконати кроковий двигун. Далі створюється змінна типу Stepper з даними, використовуючи які контакти підключений кроковий двигун до "Ардуїнов". Встановлюється швидкість і вже сам процес руху крокового двигуна. Але якщо ж ви бажаєте використовувати більше одного двигуна в своєму проекті і працювати в полушаговом режимі, то можна застосовувати сторонні бібліотеки. Одним з таких є Accel Stepper. Ця бібліотека дуже добре показала себе в роботі, має багато можливостей. При роботі з нею кроки точні, двигуни не гріються. Загалом, рекомендовано до використання. Для установки бібліотеки її необхідно скачати і перенести вміст архіву в папку Libraries в кореневій папці Arduino.
У цій статті було розглянуто приклад підключення крокового двигуна до "Ардуїнов", а також його управління за допомогою програмного коду. Кожен радіоаматор повинен хоч раз у своїх проектах спробувати працювати з ним! Автор: Инсаф Галієв 6 Серпня, 2018
Категория: Техника