Шаговый двигатель является функциональным и популярным устройством, оно осуществляет точное позиционирование или перемещение объектов в соответствии с установленным количеством шагов. И для управления можно использовать платформу Arduino, для это потребуется драйвер и библиотеки stepper.h или accelstepper.h. Но вот чтобы все нормально работало и производило требуемые функции необходимо провести подключение. Ниже можно изучить процесс подсоединения шагового мотора к Arduino Uno / Nano, а также можно рассмотреть скетч для управления устройством.
Как работает
В соответствии с видом прибора на данный момент используются три варианта шаговых мотора – с постоянным магнитным элементом, с переменными магнитами и устройства гибридного вида.
У устройств с постоянными магнитными компонентами число шагов в течение одного оборота вала может быть в пределах 48, а именно один шаг может соответствовать повороту вала на 7,5°. А вот устройства гибридного вида способны в течение одного поворота производить не менее 400 шагов, а показатель угла шага составляет 0,9°.
При подсчете числа выполненных шагов можно установить показатель угла поворота роторного элемента. Их этого следует, что шаговые моторы в настоящее время являются отличными составляющими компонентами для 3D принтеров, также они могут применяться для оборудования ЧПУ и для другой аппаратуры.
И управление данным устройством может осуществляться при помощи платформы Ардуино. А вот как это можно сделать стоит рассмотреть подробнее.
Драйвер для управления шаговым двигателем
Драйвер применяется для связывания контролера и шагового мотора. Чтобы управлять рабочим процессом биполярного двигателя часто применяются драйверы двух видов – L298N и ULN2003.
Функционирование двигателя в биполярном режиме имеет несколько преимуществ:
- Повышение показателей крутящего момента на 40 % по сравнению с устройствами униполярного вида;
- Имеется возможность использования двигателей с любой конфигурацией фазной обмотки.
Однако у биполярного режима имеется существенный недостаток – сложность драйвера. Драйвер для униполярного привода требует применения всего 4 транзисторных ключа, а вот для поддержания биполярных драйверов требуется более усложненная схема. С каждой обмоткой необходимо осуществлять определенные действия – подключение к источнику питания, отключение. Обычно для данной коммутации применяется схема-мост из четырех ключей.
Драйвер вида L298N
Данный драйвер может использоваться для управления двигателем с показателем тока до 2 А и питанием до 46 В. В основе модуля имеются следующие компоненты:
- Микросхема L298N;
- Система охлаждения;
- Клеммные колодки;
- Разъемы для подключения сигналов;
- Стабилизаторы напряжения;
- Защитные диоды.
Драйвер вида ULN2003
Для модулей платформы Arduino драйверы ULN2003 применяются достаточно часто. Это связано с их низкой ценой и доступностью. Но они имеют не очень высокую надежность и плохие показатели точности.
Как подключить
Чтобы провести подсоединение шагового прибора к Arduino требуется подготовить:
- Arduino Uno / Arduino Nano / Arduino Mega;
- Драйвер, можно применять дешевый вариант ULN2003;
- Шаговый двигатель 28BYJ-48;
- Провода.
Процесс контролирования шаговых устройств через платформу Ардуино проводится за счет подачи импульсов на область обмоток мотора с соблюдением основных этапов.
Для облегчения процесса часто применяются библиотеки stepper.h и accelstepper.h. Но можно производить вращение вала без библиотек, в этом случае шаговое устройство подсоединяется к микроконтроллеру, а также проводится загрузка подходящего скетча.
Скетч для управления
Ниже указан код скетча, который подходит для подключения:
|
Пояснительная информация:
- Порты 8, 9, 10, 11 можно заменить на разные числовые порты;
- Длительность задерживания выражается в миллисекундах int dl = 5;
- Показатели продолжительности могут быть изменены.
Особенности управления
Контролирование шаговых устройств может проводиться с применением популярных библиотек – stepper.h и accelstepper.h (в ней имеется широкий функционал, больше возможностей). И чтобы все выполнить правильно нужно использовать команды и скетчи.
Скетч для stepper.h
Если для настройки применяется библиотека stepper.h, то можно применять скетч, который указан ниже:
|
Но стоит учитывать, что библиотека stepper.h имеет небольшой набор функций. Ее рекомендуется использовать для проведения проверочных мероприятий.
Скетч для AccelStepper.h
Ниже указан скетч для данной библиотеки:
|
Данная библиотека часто используется для контролирования и подсоединения шаговых приборов к Motor Shield L293D вместе с AFMotor.h. В ней также можно увеличивать скоростные показатели до предельных, а также ускорять и замедлять вал.