Привет, друзья!
Продолжаем знакомится с визуальным программированием контроллера Arduino в программе XOD IDE.
Шаговый двигатель 28BYJ-48
Шаговые электродвигатели применяются для точного позиционирования в принтерах, сканерах, роботах - манипуляторах. Преобразуют электрический импульс в механическое вращение вала. С помощью увеличения скорости импульсов увеличивается скорость вращения вала. Номинальная скорость вращения 15 об/мин.
Двигатель 28BYJ-48 относится к бюджетным четырёх фазным шаговым двигателям и работает с драйвером на микросхеме ULN2003.
Я не буду вдаваться в подробности и принцип работы шагового двигателя, так как всё это можно найти в интернете, причём в статьях, очень похожих друг на друга.
Здесь хорошо описано: Обзор шагового двигателя 28BYJ-48
Хочется уже подключить и опробовать.
Подключил по такой схеме.
Вам потребуются компоненты:
- Три кнопки
- Три резистора 10 кОм
- Три светодиода
- Три резистора 220 Ом
- Провода
Светодиоды и резисторы на 220 Ом можно не использовать, но я их установил для индикации состояния кнопок.
Питание на плату драйвера необходимо подавать не с платы Arduino +5V (на схеме обозначено) .
Ток шагового двигателя 28BYJ-48, каждая обмотка 160 мА (в 4-шаговом режиме 320 мА, при быстром вращении 200 мА), не стоит рисковать.
Максимальный выходной ток пина 5V: 800 мА.
Теперь сам алгоритм подключения в программе XOD IDE, но сначала нужно скачать библиотеку шагового двигателя 28BYJ-48.
Библиотека: txgruppi/stepper-28byj48
Как установить подобную библиотеку описано здесь...
Хочется добавить кое что по поводу узла stepper-28byj48.
Правильнее было назвать пины не по цветам, а как обозначено на драйвере.
Это будет в таком порядке:
- IN1- голубой BLU
- IN2 - розовый PNK
- IN3 - жёлтый YLL
- IN4 - оранжевый ORG
Так было бы на много удобнее.
Ну а теперь сам алгоритм для управления шаговым двигателем 28BYJ-48
Скачать готовый скетч можно здесь.
Теперь стоит описать как работает алгоритм.
Работа алгоритма шагового двигателя 28BYJ-48
При включении контроллера Arduino загорается красный и жёлтый светодиоды.
Это означает, что драйвер двигателя отключен (о чём информирует красный светодиод), но при включении драйвера (после нажатия на кнопку button 3), красный светодиод погаснет, а шаговый двигатель при нажатии на кнопки button 1 будет вращаться против часовой стрелки.
Кнопка button 2 переключает триггер flip-flop меняя значение правда-ложь, соответственно меняет направление вращения шагового двигателя.
Если проще управление такое:
- Button 1 - при удержании кнопки вращается двигатель;
- Button 2 - переключает направление вращения двигателя, включает и отключает поочередно желтый и зеленый светодиоды, которые сигнализируют о направлении вращения;
- Button 3 - Включает и отключает драйвер управления двигателем.
По сути управление отключения драйвера не нужно, тогда освобождается целых 2 пина на плате Ардуино. Схема упрощается до двух кнопок и двух светодиодов, алгоритм соответственно тоже.
Скачать скетч можно здесь ...
Немного надо сказать об узле clock
В строке IVAL инспектора узла clock по умолчанию установлено значение 1, что соответствует 1 секунде. Такое значение дает оооочень медленное вращение, нужно устанавливать значение не выше 0,1 сек.
Вот такая получилась прошивка для управления двигателем 28BYJ-48 и уже есть куда применить, но об этом в следующий раз. Подписывайтесь.
Для прочтения статей о программировании в XOD IDE рекомендую перейти по ссылке в меню канала:
А на этом сегодня всё.
Экспериментируйте!!!
Спасибо, что дочитали статью до конца.
Надеюсь статья была вам полезна и интересна.
Понравилась статья, ставьте палец вверх.
Хотите следить за новостями, подписывайтесь на наш канал.
Впереди ещё много интересного!
Вы можете помочь проекту в развитии: