#21. Подключаем к Arduino Шаговый двигатель 28BYJ-48 на драйвере ULN2003
Сегодня в урокеподключим шаговый двигатель 28BYJ-48 к Arduino и научимся вращать вал двигателя в разные стороны и изменять скорость вращения с помощью потенциометра и энкодераKY-040.
Кратко, что такое шаговый двигатель (ШД) - это двигатель, который способен осуществлять вращение на 1 шаг. Шаг — это угол, который обусловлен устройством каждого конкретного шагового двигателя.
Характеристики шагового двигателя 28BYJ-48:
Размера шагового двигателя 28BYJ-48. Необходимы при проектировании деталей для 3D печати.
Вот так выглядит схема шагового двигателя 28BYJ-48
Подавая сигналы в определённом порядке на выводы двигателя, двигатель можно вращать по часовой стрелке.
Плата макетная беспаечная 55х82х8.5 мм. Купить можно на AliExpress или в России.
Прямое подключение шагового двигателя 28BYJ-48 к Arduino.
В связи с тем, что двигатель 28BYJ-48 работает от 5в и при небольших токах, его можно подключить на прямую к Arduino.
Схема подключения к Arduino UNO будет следующая.
Для вращения ШД достаточно подавать сигналы по схеме, которую мы рассмотрели выше.
Для этого можно сделать массив подачи сигнала на пины микроконтроллера.
И в цикле выполнять каждую строчку массива. Но есть решение с более компактным кодом. Нашел я данный пример на канале Дмитрия Осипова. За что ему отельное спасибо!
Код для вращения в одну и в другую сторону будет вот таким.
ВНИМАНИЕ! Материалы для скачивания находятся внизу статьи!
Пример подключения шагового двигателя 28BYJ-48 (5V)с использованием драйвер ULN2003.
Также у Дмитрия Осипова есть код для изменения скорости вращения с помощью потенциометра. Я его немного доработал, сделал обработку нажатия кнопки без задержки в 500 мс. Сейчас двигатель стал вращаться в обратную сторону без видимой задержки.
Для подключения буду использовать модуль SBT0811 на драйвере ULN2003.
Драйвер
устроен вот таким образом.
Соответственно, наш код будет работать и с данным драйвером.
Подключим все по схеме и загрузим код в Arduino NANO.
Схема подключения для Arduino UNO будет аналогичной.
Как видим, двигатель без проблем вращается по часовой стрелке и против часовой, при нажатии на кнопку вращается в противоположном направлении. При вращении потенциометра в одну сторону - скорость уменьшается, при вращении в противоположном направлении скорость увеличивается.
ВНИМАНИЕ! Материалы для скачивания находятся внизу статьи!
Пример управления шаговым двигателем 28BYJ-48 с помощью Энкодера.
Для уменьшения количества элементов в схеме решил заменить потенциометр и тактовую кнопку на энкодер вращения KY-040. Как подключить энкодер вращения к Arduino рассказывал в предыдущем уроке.
Подключаем шаговый двигатель 28BYJ-48 и энкодер к Arduino по схеме.
Проводим небольшую доработку кода и получим вот такой результат.
Если нажать на энкодер, меняется направление вращения. А при вращении энкодера по часовой стрелке - скорость увеличивается. Если вращать против часовой стрелки - скорость снижается.
ВНИМАНИЕ! Материалы для скачивания находятся внизу статьи!
Вы также можете без проблем воспользоваться примером из стандартной библиотеки Stepper, которая позволит сделать тоже самое и при меньшем объёме кода. Но библиотека не даст вам понять, как это все устроено.
А вот сам пример вращения в одну сторону, а затем в другую с использованием библиотеки Stepper.
На основе данного примера можно реализовать управление не только одним шаговым двигателем, а несколькими. Причем, каждый двигатель будет выполнять свои действия не зависимо от других. В планах сделать пару проектов с использованием данного шагового двигателя.
Пишите в комментариях, что бы вы хотели сделать на шаговых двигателях, и какие примеры вас интересуют. Чем больше будет откликов, тем чаше будут выходить проекты и уроки на сайте.
Добрый день. Весьма требуется собрать схему управления шаговым двигателем с помощью энкодера. двигатель с драйвером sbt0811, хочу сделать так, чтобы при вращении энкодера в одну сторону двигатель вращался влево, при вращении энкодера в другую сторону- двигатель вращался вправо. Сломал всю голову, уже сил нет никаких)) помогайте)
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.