Управляем шаговым двигателем с телефона. Двигатель 28byj 48.

Управляем шаговым двигателем с телефона. Двигатель 28byj 48.

Сегодня я расскажу как управлять шаговым двигателем 28byj 48 5v. Для управления двигателем мы будем использовать драйвер на микросхеме ULN2003. Так как управлять работой двигателя мы будем по WIFI то и подключать будем к плате ESP8266. Кому интересно подключение к Ардуино, то советую посмотреть вот это видео. Та подробно рассказано про шаги и про библиотеку для управления. Я в том примере использовал библиотеку AccelStepper.
 
Вот небольшой пример сегодняшнего урока. Слева – это как выглядит на телефоне наше приложение, а справа я управляю шаговым двигателем. Что бы не заслонять сам мотор мне пришлось держать телефон под наклоном. Но думаю, что и так всё видно. Теперь про работу. Управление мотором происходит при нажатии на кнопку. У вас есть выбор, движение по часовой стрелке или против неё. Остановить двигатель можно ещё раз нажав на туже, активную, кнопку или нажав на кнопку Стоп. Текущее состояние мотора можно узнать по изменению цвета кнопки с зелёного на красный, а также сверху дублируется состояние работы.
Давайте рассмотрим схему подключения шагового двигателя.
 к плате ESP.

Подключение очень простое. Сначала вставляем разъём идущий от шагового двигателя к драйверу ULN2003, а контакты с драйвера соединяем с платой ESP. Что бы было проще, я соединил так.

  • IN1 – D1,
  • IN2 – D2,
  • IN3 – D3,
  • IN4 – D4

Питание.
контакт – соединил с землёй на плате, а + с контактом VIN.
Это уже 4 видео из серии - Управляем устройствами с телефона. Посмотреть их, можно здесь.
А теперь пробежимся по скетчу.

Это установленные библиотеки. Вам ничего дополнительно устанавливать не придётся. Все они входят в комплект ARDUINO IDE.

  • Сюда вставляем имя WIFI сети и пароль.
  • Создаём переменные для хранения значений к каким контактам на плате ESP подключен драйвер двигателя, для  удобного обращения к ним.
  • Так как мы не используем никаких библиотек для работы с шаговым двигателем, то нам придётся самим управлять шагами, Вот здесь мы и указываем, что делать при об обращении к этим массивам.
  • Это переменная для обращения к команде стоп. Если она равна 3, то остановить двигатель.
  • Здесь я создал переменную отвечающую за скорость вращения.
  • 1 это максимальная скорость. А 70 это очень медленное вращение. Эти цифра – это просто delay в цикле между шагами.
  • А это названия которые будут выведены на кнопках.

 

Следующий код

  • Весь этот HTML код отвечает за вывод на экран кнопок при включенном состоянии и выключенном.
  • Это кодировка для распознавания русского шрифта.
  • Это title страницы.
  • Здесь все основные настройки. Такие как ширина и высота, размер шрифта и цвет шрифта. И другие. Всё это будет работать, если дальше в тексте не будут внесены изменения.
  • Это вывод на экран заголовка. Заголовок 3 уровня и выравнивание по центру.
  • Здесь мы показываем каким  шрифтом, цветом фона и выравниванием по центру будет выведено состояние двигателя. Крутится ли он по часовой или против, или вообще остановлен. Этот код отвечает за состояние и цвет кнопок, во включенном или выключенном состоянии. Ширину кнопок я указал 310 пикселей.

Такой setup мы уже рассматривали десятки раз. Указываем, что выводы ESP работают на выход. Подключаемся у WIFI сети и получаем IP адрес по которому будем заходить на web страницу и запускаем сервер.

В цикле loop обрабатываем значение нажатой кнопки.
Если статус 1, то поворачиваем двигатель по часовой, а если 2, то против часовой. А это тот delay который мы установили в начале кода, и который отвечает за скорость вращения.

Этот код устанавливает значения статуса двигателя в зависимости от полученных сервером значений.
Если на сервер пришёл ON, установить статус 1 и крутить мотор в одну сторону, если 2, то в другую, а если 3, то остановить двигатель.
А это сама команда на вращение или остановку.

Теперь давайте ещё раз посмотрим как работает наша схема.
При нажатии на кнопку, например по часовой, двигатель начинает вращаться по часовой стрелке. Если нажать против часовой, то двигатель сразу начнёт вращаться в другую сторону. Так, что остановка двигателя, пред сменой направления не обязательна.
Остановку можно произвести с помощью специальной кнопки или ещё раз нажав на активную в данный момент кнопку.
Состояние двигателя можно увидеть сверху или по красному фону кнопки.
Переключения происходят практически без задержек.

Если вам интересна эта тема, то я могу снять продолжение этого видео. Можно вывести на экран не только смену направления движения, но и скорость или количество градусов на которое повернётся двигатель.
Объём вашего интереса, я буду оценивать по количеству лайков и комментариев. Чем их будет больше, тем быстрее выйдет новое видео.
Ну, а если вам нравятся мои уроки, то ставьте лайк и делитесь моими видео, с другими. Это очень поможет мне в продвижении канала, а меня будет стимулировать выпускать уроки чаще и интереснее.
Вы видите ссылки на видео, которые, я думаю будут вам интересны. Перейдя на любое из этих видео вы узнаете что-то новое, а ещё поможете мне. Ведь любой ваш просмотр - это знак YOUTUBE, что это кому-то интересно и что его надо показывать чаще.
Спасибо.
А пока на этом всё.


Примеры использования шаговых двигателей 28BYJ-48-5V
Управляем шаговым двигателем с телефона. Двигатель 28BYJ-48-5V
Шаговый двигатель 28BYJ-48-5V с драйвером на ULN2003
Солнечный трекер на Ардуино Очень Простой способ Solar Tracker
Шаговой Двигатель 28BYJ-48-5V: Основы управления и практическое применение.

Скетчи