Існує величезна різноманітність крокових двигунів різних розмірів і характеристик. Щоб керувати ними потрібно спеціальний пристрій - драйвер.
У цій статті ми будемо використовувати:
Отже, завдання: підключити до arduino uno кроковий двигун і покриття їм.
Здавалося б, кількість проводів, що йдуть до двигуна, може ввести в ступор, навіщо так багато і куди все це встромляти? Насправді, нічого складного ні в підключенні, ні в коді. І зараз ми з вами в цьому переконаємося!
Підключаємо двигун до драйверу, а драйвер, в свою чергу до плати arduino до цифрових пінам 2, 3, 4, 5 і до харчування (5В) як показано на фото.
Настійно рекомендую в своїх проектах використовувати окреме харчування для двигуна (від іншого блоку живлення, а не від arduino), тому як якщо дати серйозне навантаження на двигун - на платі arduino може перегрітися мікросхема, що відповідає за харчування - що не є добре!
Щоб керувати двигуном, скористаємося бібліотекою Stepper, яку не потрібно ні від куди качати - вона входить в поставку Arduino IDE - середовище розробки, в якій ми пишемо код для arduino. Як параметри передаємо кількість кроків повного обороту і піни, до яких підключаємо двигун.
Методом setSpeed () можна керувати швидкістю, а step () відповідає за переміщення вала на задану кількість кроків (якщо значення негативне - вал крутиться у зворотний бік).
Повний код програми:
Можливо, вам будуть потрібні файли:
#include
// змінити кількість кроків для вашого мотора
#define STEPS 4078
Stepper_28BYJ stepper (STEPS, 2, 3, 4, 5);
int but = 0;
int butl = 8;
int butr = 9;
void setup ()
// встановимо швидкість обертання 3 об / хв
stepper.setSpeed (5);
pinMode (butl, INPUT);
pinMode (butr, INPUT);
>
void loop ()
if (digitalRead (butl) == HIGH) but = 1;
delay (100);
>
if (digitalRead (butr) == HIGH) but = 2;
delay (100);
>
switch (but) case 1:
stepper.step (STEPS);
but = 0;
break;
case 2:
stepper.step (-STEPS);
but = 0;
break;
>
>
butl - кнопка вліво (8) і butr - кнопка вправо (9)