Подключение шагового двигателя к ардуино

29 апреля 2019 - Администратор

Подключение шагового двигателя 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); 
}

Вернуться к содержанию

Комментарии (0)

Нет комментариев. Ваш будет первым!