Привет, друзья! Предлагаю вам практический алгоритм, как правильно подключить обмотки шагового двигателя к драйверу. Начинающие, и не только, ардуинщики при работе с шаговыми двигателями часто сталкиваются с проблемой определения, где выводы первой обмотки, где второй, где начало первой обмотки, где второй. Так же часто возникает вопрос как проводами поменять направление вращения двигателя. Давайте в этом видео разберёмся, как с высокой степенью четкости подходить к решению этих вопросов.



Давайте подпишемся на канал, лайкнем это видео и поехали дальше.

В идеальном случае нам может попасться широко известный тип шагового двигателя, у которого имеется стандартный неизменный клеммник, схему подключения которого легко найти в гугл-картинках. Так же желательно, чтобы была и легко находимая схема подключения имеющегося драйвера. Тогда их чаще всего получается подключить с первого раза без ошибок. Хотя я умудрялся и в таких случаях напутать. Но мы будем исходить из того, что двигатель у нас с неизвестной цветовой маркировкой проводов, что часто становится проблемой и схемы подключения обмоток двигателя к имеющемуся драйверу нет.

Кстати насчет схем подключения драйверов, тут тоже есть свои факторы запутывания и непоняток. Вот к примеру обозначения выходов трёх самых популярных драйверов. Кружочками будем обозначать условное начало обмотки двигателя. Все обозначения здесь сильно отличаются у каждого драйвера. Эти отличия начинаются с самих инструкций на микросхемы драйверов. Прямо в pdf на каждую из этих популярных микросхем создатели заложили столько путанины – как тут разобраться без бокала пива!?


По возможности нужно тестировать подключение на ненагруженном шаговом двигателе. Для управления возьмем контроллер Arduino NANO. Будем использовать его просто как задающий генератор. Вы можете взять любой драйвер шагового двигателя. Только разберитесь по документации или по подписям на плате, где находятся пары выходов под каждую обмотку. Я возьму самый популярный драйвер A4988. Вот схема включения для нашего универсального алгоритма подключения обмоток двигателя. От контроллера подается прямоугольный сигнал известной частоты на вход STEP драйвера, который отвечает за запуск шагов. При этом вход DIR, отвечающий за направление вращения ротора, подключен к общему проводу – он нам не понадобится. Так же у конкретного драйвера необходимо подать питание логики (для некоторых драйверов это не нужно). А так же необходимо подать разрешающие вращение сигналы, такие как RESET, SLEEP, ENABLE. Для драйвера A4988 можно просто поставить перемычку между RESET и SLEEP – это переведёт драйвер в рабочий режим. Так же подключаем провода питания двигателя к источнику 12В. А сами катушки двигателя стараемся по имеющимся схемам и документациям подключить хотя бы к своим парам выходов драйвера. Но, если не получается разобраться сразу, не отчаивайтесь – мы здесь разберём все случаи.


Теперь по быстрому обратим внимание на программу, которая будет загружена в Arduino NANO. Я беру стандартный пример Blink, который мигает светодиодом раз в две секунды и назначаю свой выход номер 2, к которому подключен вход STEP. А так же ставлю задержку в 1 миллисекунду. Это означает, что на вход STEP драйвера пойдет прямоугольный сигнал с периодом в 2 миллисекунды или 500 Гц, что для 200-шагового двигателя соответствует 2,5 об./сек или 150 об./мин. Эта скорость и не большая и не маленькая и как по мне хорошо подходит для экспериментов по подключению обмоток двигателя. Кстати вместо контроллера Arduino, вы можете то же самое проделать и при помощи генератора прямоугольных импульсов. Выставьте на нем частоту приблизительно равную 500 Гц. Амплитуда напряжения на выходе должна быть 5В. Соединяете общий провод и выход генератора подключаете ко входу STEP драйвера.

void setup() {
  pinMode(2, OUTPUT);
}

void loop() {
  digitalWrite(2, HIGH); 
  delay(1);                
  digitalWrite(2, LOW);   
  delay(1);             
}


Итак после подключения у вас получится одна из четырех ситуаций: в первой вы правильно угадаете начала обеих катушек; во втором случае одна из катушек будет подключена началом в обратную сторону; в третьем случае вы угадаете начала катушек но перепутаете пары выходов драйвера; и в четвертом случае будет перепутано все максимально. Теперь попробуем все эти случаи на практике.

В первом идеальном случае ротор двигателя вращается с ожидаемой скоростью в ожидаемом нами направлении.

Во втором случае наблюдаем обычную скорость вращения и нормальный режим работы двигателя. Только вращение направлено в другую сторону. В большинстве случаев вам подойдет и так.

В третьем случае у нас перепутаны пары выходов драйвера и они не совпадают с выводами своей катушки. Вращение непредсказуемое, а точнее дергание ротора вперёд и обратно. 

В четвертом случае все повторяется с третьего опыта. Часто такое подключение запутывает своей работой наполовину и кажется, что все как бы подключено правильно, только направление одной обмотки нужно поменять и все. На самом деле оно так и есть, но менять надо подключение не одной обмотки, а двух проводов с разных обмоток.

И, чтобы быстро поменять направление вращения ротора при помощи проводов, я переворачиваю зеркально все 4 провода от двигателя. 


Еще раз более внимательно разберём в графическом виде, что нужно переворачивать. Здесь буквами А и В обозначены пары выходов драйвера. В первом случае нас все устраивает. Во втором случае нам не понравится направление вращения ротора по умолчанию. Для поворота в правильную сторону вам нужно поменять провода на одной из пар выходов драйвера. В третьем случае двигатель дергается на месте, что означает, что нужно поменять местами два провода из разных пар выходов драйвера. В четвертом случае все так же как и в третьем, только направление вращения ротора после замены местами двух проводов нам может не понравиться и тогда мы оказываемся на втором случае и уже знаем как развернуть ротор в другую сторону. В общем, как бы мы не подключили шаговый биполярный двигатель к исправному драйверу, получаем два варианта событий: либо ротор вращается в рабочем режиме, либо дергается на месте. И, чтобы он перестал дергаться и вращался нормально, вам нужно перекинуть два провода. Это и есть алгоритм подключения шагового двигателя.

Спасибо за внимание! Нам очень поможет ваша подписка и лайк!

17.03.2021


<< Проекты << Все товары >> Статьи, уроки >>

Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Разработка устройств на ESP32 / Arduino / STM32 под заказ

Разработка устройств на ESP32 / Arduino / STM32 под заказ

Разработка устройств на ESP32 / Arduino / STM32 под заказ Нужен прототип или готовое ..

Диммер регулятор мощности симисторный 220В 8А

Диммер регулятор мощности симисторный 220В 8А

Регулятор мощности на основе симистора BTA16-600Принцип регулирования состоит в том, что через нагру..

111.67грн.

Вентилятор для Orange PI толщиной 10мм

Вентилятор для Orange PI толщиной 10мм

Вентилятор для охлаждения процессора мини-компьютера Orange PI или Raspberry PIРаботает безшумноПита..

60.63грн.

RFID NFC модуль PN532 — считыватель карт 13.56 МГц для Arduino, ESP32, STM32

RFID NFC модуль PN532 — считыватель карт 13.56 МГц для Arduino, ESP32, STM32

PN532 NFC модуль — это универсальный RFID-считыватель/передатчик для работы с бесконтактными картами..

279.07грн.

Стойка роликовая для оси Y с крепежом

Стойка роликовая для оси Y с крепежом

Монтажная панель из МДФ для организации оси Y автоматического лазерного гравера.Отверстия под шаговы..

116.75грн.