Найти в Дзене

Шаговый мотор 28BYJ-48-5V_ULN2003. Скетч и подключение к Ардуино

В ютубе есть подходящий ролик на эту тему. Его вставлю в конце публикации. Мне он был полезен при написании своего скетча. Думаю, вам тоже пригодится, раз уж вы попали сюда. Мой скетч отличается от скетча по ссылкам ролика тем, что мне нужно было управлять потенциометром. Я кручу потенциометром, вижу через COM-порт угол, а движок выполняет. На данный момент это недоработанный до конца скетч. Нюансы его недоработки увидят те, кто попробует. Но в качестве теста движка и понимания того, что и как работает, этот скетч - то, что нужно. Это основа, а "допил" до чистового варианта зависит от конкретной задачи. Сначала подключение Движок IN1, IN2, IN3, IN4 с драйвера ULN2003 уходят на DI8, DI9, DI10 и DI11 на Ардуино соответственно. И питание + и - драйвера ULN2003 , я думаю, объяснять никому не надо))) Ну ок: оно такое же, как на Ардуинке, а можно взять с неё же (пины 5V и GND), но только на время теста (на постоянку лучше не грузить Ардуинку токами до 0,5А движка!!!) Потенциометр У него 3
Оглавление

В ютубе есть подходящий ролик на эту тему. Его вставлю в конце публикации. Мне он был полезен при написании своего скетча. Думаю, вам тоже пригодится, раз уж вы попали сюда.

Подключение на брэдборде для теста 28BYJ-48-5V
Подключение на брэдборде для теста 28BYJ-48-5V

Мой скетч отличается от скетча по ссылкам ролика тем, что мне нужно было управлять потенциометром. Я кручу потенциометром, вижу через COM-порт угол, а движок выполняет.

На данный момент это недоработанный до конца скетч. Нюансы его недоработки увидят те, кто попробует. Но в качестве теста движка и понимания того, что и как работает, этот скетч - то, что нужно. Это основа, а "допил" до чистового варианта зависит от конкретной задачи.

Сначала подключение

Движок

IN1, IN2, IN3, IN4 с драйвера ULN2003 уходят на DI8, DI9, DI10 и DI11 на Ардуино соответственно. И питание + и - драйвера ULN2003 , я думаю, объяснять никому не надо))) Ну ок: оно такое же, как на Ардуинке, а можно взять с неё же (пины 5V и GND), но только на время теста (на постоянку лучше не грузить Ардуинку токами до 0,5А движка!!!)

Потенциометр

У него 3 пина, 2 крайних садим на питание 5 вольт (те же пины 5V и GND) в Ардуино. А средний пин - на аналоговый пин A0.

Скетч

Для работы нужна библиотека CustomStepper.h . Качаем тут.

Как подключить библиотеку - смотри здесь. В скетче символы "решетка" превратились в звездочки (Дзен так отображает), но при копировании в Arduino IDE всё будет ок.

#include <CustomStepper.h> // Подключаем библиотеку управления шаговым двигателем 28BYJ-48-5V
CustomStepper stepper(8, 9, 10, 11); // Указываем пины, к которым подключены IN1, IN2, IN3, IN4 драйвера ULN2003
#define potent_pin A0 // сюда подключена средняя нога потенциометра.
int val;
void setup()
{
stepper.setRPM(15); // Устанавливаем кол-во оборотов в минуту
stepper.setSPR(4075.7728395); // Устанавливаем кол-во шагов на полный оборот. Максимальное значение 4075.7728395
Serial.begin(9600);
}
void loop()
{
val = analogRead(potent_pin); // запомнить показания с потенциометра
val = map(val, 0, 1023, 0, 180); // перевести в диапазон 0.. 180
val = constrain(val, 0, 180); // ограничить диапазон 0.. 180
Serial.println(val);
delay(10);
stepper.setDirection(CW); // Устанавливает направление вращения. Может принимать 3 значения: CW - по часовой, CCW - против часовой, STOP
stepper.rotateDegrees(val); // Поворачивает вал на заданное кол-во градусов.
stepper.run();
}

Подробнее

В этом ролике можно познакомиться с некоторыми техническими характеристиками движка.

... Ну и большинству нравится смотреть видео, а не читать. Что ж, тут 2 в 1. Пока!