Подключение шагового двигателя к ардуино
Подключение шагового двигателя 28BYJ-48 к ардуино
На этом уроке мы узнаем как подключить шаговый двигатель 28BYJ-48 к ардуино с помощью драйвера ULN2003, как управлять шаговым двигателем среде разработки Arduino IDE с помощью библиотеки Stepper.
Шаговые двигатели позволяют выполнять точные повороты и выдерживать большие нагрузки на вал, поэтому они используются в конструкциях манипуляторов и захватов, 3D принтеров и фрезерных станках с ЧПУ. Они могут передвигать тяжелые модели и выполнять высокоточные движения.
В проектах на ардуино шаговые двигатели чаще всего используют для манипуляторов. 28BYJ-48 наиболее часто используемые шаговые двигатели в проектах ардуино, упарвляются они через специальный драйвер ULN2003
Схема подключения шагового двигателя 28BYJ-48 к ардуино через драйвер ULN2003
порт vcc драйвера подключается к порту Arduino 5v.
порт gnd драйвера подключается к порту Arduino gnd.
порт pin1 драйвера подключается к порту Arduino ~11.
порт pin2 драйвера подключается к порту Arduino ~10.
порт pin3 драйвера подключается к порту Arduino ~9.
порт pin4 драйвера подключается к порту Arduino 8.
Подробнее со схемой подключения шагового двигателя 28BYJ-48 к ардуино можно ознакомится на картинке.
Программирование шагового мотора 28BYJ-48 в среде разработке IDE Arduino
Для удобного управления шаговым двигателем 28BYJ-48 через ардуино используется библиотека Stepper.h . Как установить библиотеки на уроке установка среды разработки ide arduino
Переменным присваиваются пины, к которым подключен шаговый мотор.
const int IN1 = 11;
const int IN2 = 10;
const int IN3 = 9;
const int IN4 = 8;
Данной командой задаётся количество шагов за оборот.
const int stepsPerRevolution = 32;
В проекте ардуино может использоваться несколько шаговых двиагтелей, для каждого шагового двигателя необходимо создать специальный объект через которы мы будем управлять шаговым двигателем в программе. Пример команды создания объекта для шагового двигателя с именем myStepper
Stepper myStepper(stepsPerRevolution, IN1, IN2, IN3, IN4);
Для задания скорости вращения шагового двигателя в оборотах в минуту, используется команда в
myStepper.setSpeed(5);
Для вращения шагового двигателя используется команда
myStepper.step(количество шагов вращения);
Для оборота в другую сторону используется та же команда, но значение шагов вращения указывается с минусом
myStepper.step(- количество шагов вращения);
Напомним, то выше мы указали в stepsPerRevolution количество шагов на полный поворот шагового двигателя. Поэтому если мы хотим , чтобы шаговый двигатель повернулся на полный оборот, то нужно применить команду
myStepper.step(stepsPerRevolution);
Полный код программы для управления шаговым двигателем в среде IDE arduino.
#include <Stepper.h> //подключаем переменную Stepper.h
//присваиваем переменным значение пинов
const int IN1 = 11;
const int IN2 = 10;
const int IN3 = 9;
const int IN4 = 8;
const int stepsPerRevolution = 32; // количества шагов за один оборот
Stepper myStepper(stepsPerRevolution, IN1, IN2, IN3, IN4); //создание объекта myStepper
void setup() {
myStepper.setSpeed(5); // скорость в об/мин.
}
void loop() {
// поворот на 32 шага
myStepper.step(stepsPerRevolution);
delay(500);
//поворот на 32 шага в другую сторону
myStepper.step(-stepsPerRevolution); // 32 шага в обратную сторону
delay(500);
}
Нет комментариев. Ваш будет первым!