
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04

Вы когда-нибудь хотели заставить робота поворачиваться под определенным углом, используя только несколько выходов вашего Arduino или micro: bit? Все это дешево? Это инструкция для вас! В этом руководстве мы увидим, как управлять очень дешевым шаговым двигателем, используя только 2 выхода нашего контроллера и требуя только источника питания 5 В!
Я сделал это поучительным после того, как немного постарался собрать информацию, иногда натыкаясь на дезинформацию, и я хотел спасти других от того, чтобы пройти через тот же процесс.
Но прежде чем начать, почему такое ограничение?
- Почему 5V: потому что я хочу интегрировать это в мобильный робот, который будет работать только с литиевой батареей 3,7, которую я могу получить с помощью усилителя 5V.
- Почему использовать A4988, а не ULN2003, который часто поставляется с двигателем 28BYJ? Потому что, во-первых, требуется 4 входа. Поэтому использование A4988 позволяет нам сэкономить 2 из наших драгоценных выходов контроллера (и если вам нравится работать с micro: bit, как и мне, то эти выходы очень полезны …)! Но это еще не все! Возможность управлять двигателем, просто подавая шаги в виде высоких импульсов, дает нам возможность управлять двигателем с помощью простой ШИМ. Установив рабочий цикл на 50%, изменение частоты ШИМ изменит скорость вращения двигателя. Почему это здорово? Потому что, если вы хотите установить скорость моего двигателя, а затем продолжать управлять другими вещами с помощью моего Arduino или micro: bit, вы можете просто установить мой ШИМ и забыть об этом, что сделает ваш код намного более читаемым, а вашу жизнь - намного проще (например, если вы хотите построить такого робота).
Итак, приступим!
Запасы
Вот что вам понадобится для этого руководства:
- 1x 28BYJ шаговый двигатель
- 1x драйвер A4988
- 1x макетная плата или макетная плата, конденсатор и несколько проводов
- Микро: бит и плата расширения или Arduino
- Источник питания 5 В (+ 3,3 В при использовании Micro: bit). Для этого я использовал литиевый аккумулятор 18650 и аккумуляторный щиток.
- 1x мультиметр
Шаг 1. Знакомство с нашей системой
Первое, с чего я бы порекомендовал начать, - это узнать больше о шаговых двигателях и драйвере A4988. Эй, а зачем нам этот драйвер? Сможем ли мы управлять шаговым двигателем без водителя? Ответ - нет. Такие платы, как Micro: bit и Arduino, хороши для обработки информации, но не для выдачи большого тока, и вам нужен ток, чтобы заставить работать шаговый двигатель. Чтобы узнать больше о том, как работают двигатель и драйвер, я бы порекомендовал эту ссылку. Он синтетический, но также содержит большую часть информации, которая вам понадобится для подключения.
Но подождите, прежде чем пытаться что-либо подключить! Адаптирован ли 28BYJ к A4988? Если вы выполните быстрый поиск, вы увидите, что этот мотор редко поставляется с A4988 в качестве драйвера. Если вы внимательно прочитаете предыдущий справочник, вы можете понять, почему: наш шаговый двигатель - это униполярный двигатель, в то время как A4988 предназначен для управления биполярными двигателями, поэтому нам придется немного взломать наш двигатель!
Шаг 2: Взлом мотора



Чтобы ваши моторы были совместимы с драйвером мотора, просто выньте красный провод из белого разъема. Для этого перережьте разъем, снимите красный провод и перережьте красный провод мотора. Затем поменяйте местами желтый и розовый кабель на разъеме. Оставьте красный провод и разъем для следующего шага!
Чтобы вытащить кабель из разъема, вставьте провод, который вы хотите удалить, в разъем, а затем вставьте видимый металлический наконечник на разъеме с помощью острого инструмента (выше это изображение, на котором я делаю это своим любимым ножом, opinel!), и, наконец, потяните, и в конечном итоге все должно получиться, как на картинке выше. На последнем рисунке показано, как должен выглядеть разъем в конце этих модификаций: порядок кабелей на разъеме должен быть оранжевым / розовым / желтым / синим.
(PS: в Интернете вы найдете несколько руководств, в которых указано, что вам нужно отсоединить красный провод от двигателя, а затем поцарапать печатную плату, забудьте об этом, это не обязательно. Бесполезно?)
Шаг 3: Установка драйвера

А теперь … пора поехать с водителем на этот мотор? Еще не жаль! Видите винт на плате A4988? Что ж, нам придется повозиться с этим. Этот винт в основном позволяет вам установить, сколько тока будет проходить через катушки вашего двигателя. В нашем случае, хотя наш источник питания выдает 5 В, а наши катушки в двигателе имеют сопротивление 50 Ом, наш ток не будет превышать 100 мА, который должен поддерживаться двигателем, чтобы вы могли в конечном итоге пропустить этот шаг. Однако, если вы похожи на меня и хотите, чтобы ваш двигатель потреблял столько тока, сколько ему нужно, следуйте за ним.
Итак, чтобы установить драйвер, следуйте методу 2 этой статьи с этими адаптациями (как показано на рисунке выше).
- Используйте 5 В от экрана аккумулятора как для логики, так и для входа питания двигателя (говорят, что для VMOT требуется более 8 В, но 5 В работает!). 2 контакта GND на плате подключены, поэтому нет необходимости подключать их оба к заземлению аккумулятора.
- Подключите контакты STEP и DIR также к 5V (не к Arduino, как показано в упомянутой статье).
- При настройке мультиметра я установил ток 50 мА, которого было достаточно, чтобы двигать мои двигатели с полушагами (подробнее об этом в следующем шаге). Чтобы подключить мультиметр для измерения тока в катушке двигателя, как вы можете видеть на изображении выше, я отсоединил желтый провод от разъема и вставил красный провод, чтобы я мог перевести свой мультиметр с красного на желтый провод для измерения силы тока.
Шаг 4: Управление двигателем



Вот и все, мы почти готовы запустить мотор. Единственное, что нужно сделать:
- чтобы удалить мультиметр из нашей системы, если это еще не сделано,
- подключите MS1 к 5V, что заставит драйвер использовать полушаги (у меня были проблемы с тем, чтобы робот поворачивался с полными шагами на 5V. Но поскольку часть моей цели состояла в том, чтобы все работало на 5V, я согласился немного пожертвовать скоростью и для большей точности),
- обеспечить выводы STEP и DIR тем, что мы хотим от нашего контроллера.
Затем: если вы хотите управлять двигателем с помощью Arduino, просто прочтите статью здесь, где вы найдете образец кода. Если вы хотите контролировать это с помощью micro: bit, оставайтесь со мной еще немного.
Micro: bit, как и Arduino, поставляется с GPIO. Поэтому, как только мы запитаем его (3,3 В!), Мы можем запрограммировать его на вывод STEP и DIR. Хотя кажется, что существует множество входов и выходов, имейте в виду, что на самом деле многие из них уже зарезервированы для некоторых других целей. Вы можете узнать об этом больше в этой статье. В этой статье вы увидите, что на самом деле многие входы / выходы используются совместно с дисплеем, и поэтому, если вы хотите их использовать, вам придется отключить дисплей. Но не будем выключать дисплей! Итак, какие булавки мы можем использовать? Я буду использовать контакты 2 и 8, так как контактные площадки (контакт 2) использовать не буду.
Подключите контакт 2 micro: bit к STEP, контакт 8 к DIR, загрузите прикрепленную программу с помощью вашего любимого редактора micro: python (я использовал mu-editor). Эта программа в основном устанавливает ШИМ на выводе 2 с периодом 1 миллисекунда (и рабочим циклом 50%), и ваш двигатель должен вращаться. Установите контакт 8 на 0 или 1, чтобы он поворачивался в ту или иную сторону, и измените период, чтобы заставить его вращать нужную скорость (если вы не хотите, чтобы он шел слишком быстро … для меня импульс в каждую миллисекунду был близок до максимальной скорости, которую я мог достичь).
Чтобы сделать вещи немного компактнее и легче переносить их на мобильном роботе, я сделал небольшую доску. Плата изображена на картинке выше. На изображении есть фиолетовый провод, идущий от VMOT к VDD, который прячется в тени. Кроме того, желтый провод, идущий от SLP к RST, на самом деле не припаян, я просто поместил его туда, чтобы представить припой, который я положил на заднюю часть платы для соединения этих 2 контактов. Замечание: радиатор обычно не требуется с такой системой, так как мы потребляем намного, намного меньше 1А.
Вот и все, я надеюсь, что это руководство поможет многим из вас насладиться мощностью шагового двигателя в своих проектах.
Рекомендуемые:
Управляемый по MIDI шаговый двигатель с микросхемой прямого цифрового синтеза (DDS): 3 шага

Управляемый по MIDI шаговый двигатель с микросхемой прямого цифрового синтеза (DDS): Вы когда-нибудь задумывались о том, что вам ПРОСТО нужно было превратить в мини-проект? Ну, я играл с наброском, который я сделал для Arduino Due, предназначенным для создания музыки с модулем прямого цифрового синтеза (DDS) AD9833 … и в какой-то момент я подумал & q
Шаговый двигатель с платой ESP32: 4 шага

Шаговый двигатель с платой ESP32: Шаговые двигатели - это двигатели постоянного тока, которые двигаются дискретными шагами. У них есть несколько катушек, которые организованы в группы, называемые «фазами». Последовательно запитывая каждую фазу, двигатель будет вращаться шаг за шагом. Шаговые двигатели очень полезны
Шаговый двигатель с Arduino UNO: 3 шага

Шаговый двигатель с Arduino UNO: Шаговые двигатели - это двигатели постоянного тока, которые двигаются дискретными шагами. У них есть несколько катушек, которые организованы в группы, называемые «фазами». Последовательно запитывая каждую фазу, двигатель будет вращаться шаг за шагом. Шаговые двигатели очень полезны
Как использовать шаговый двигатель 28BYJ-48 с 3 кнопками: 5 шагов

Как использовать шаговый двигатель 28BYJ-48 с 3 кнопками: вы хотите управлять своим шаговым двигателем с помощью кнопок? Что может сделать по часовой стрелке, против часовой стрелки и затем остановить функцию? Тогда это видео для вас
Шаговый двигатель, управляемый шаговым двигателем - Шаговый двигатель как поворотный энкодер: 11 шагов (с изображениями)

Шаговый двигатель, управляемый шаговым двигателем | Шаговый двигатель как поворотный энкодер: у вас есть пара шаговых двигателей, и вы хотите что-то сделать? В этом руководстве давайте использовать шаговый двигатель в качестве поворотного энкодера для управления положением другого шагового двигателя с помощью микроконтроллера Arduino. Итак, без лишних слов, давайте