Управление драйвером шагового двигателя ардуино

Порывшись на любимом мной сайте китайских товаров выбрал, как мне кажется самый бюджетный и подходящий вариант: гибридные шаговые двигатели 17HS3404N в корпусе Nema 17 с четырьмя управляющими проводами и драйвера ШД DM420A.
С доставкой такой комплект обошелся в 88 долларов, что более чем в полтора раза увеличило стоимость простого станка с ЧПУ на базе Arduino. Теперь самодельный станок с числовым программным управлением стоит около 170 долларов или 5000 рублей.

Гибридные шаговые двигатели 17HS3404N в корпусе Nema 17 с четырьмя проводами

С шаговыми двигателями всё более или менее понятно. Четыре проводка: черный, зелёный, красный, синий. Обратите внимание, что имеет место следующее соответствие между цветом провода ШД 17HS3404N и выходами драйвера шагового двигателя DM420A:

Цвет провода двигателя 17HS3404N Метка пина драйвера DM420A черный A+ зелёный A- красный B+ синий B-

Драйвер управления гибридными шаговыми двигателями DM420A. Подключение к Ардуино.

Драйвер крайне умный и умеет работать в двух режимах. Переключение между режимами автоматическое и никакие переключатели трогать не надо.
  - режим управления отрицательным сигналом;
  - режим управления положительным сигналом типа LOW (0, Сток) и HIGH (5 В), который используется для цифровых Pin’ов Arduino в режиме OUTPUT.

Драйвер DM420A. Управление отрицательным сигналом

Этот режим в чистом виде не подходит для подключения к Ардуино: необходимо использовать дополнительные электронные компоненты. Подключение DM420A в режиме управления отрицательными сигналами:
- на вход +5 драйвера ШД DM420A подаём +5;
- по умолчанию, без подключения сигнала, драйвер находится в состоянии Enable (включен). Если на ENBL подвести -5 В, то драйвер перестанет управлять ШД.
- направление вращения задаётся подачей -5 В (в драйвером одну сторону) или размыканием (в другую);
- на вход PUL подаём -5В и размыкаем цепь, это соответствует перемещению ШД на один шаг.

Драйвер DM420A. Подключение к Arduino и управление сигналами LOW-HIGH цифровых пинов в режиме OUTPUT.

Этот режим подходит для работы с Ардуино. Схема подключения представлена ниже:

Схема подключения шагового двигателя 17HS3404N, драйвера ШД DM420A и Arduino.

Обратите внимание, что земля (Gnd) Ардуино НЕ идёт на DC- драйвера DM420A, как это иногда советуют сделать. Дело в том, что при установке значения LOW на цифровом пине Ардуино, находящемся в режиме OUTPUT, этот пин работает как "0", то есть "приёмник" тока.
Это подтверждается документацией по Ардуино, а также примером подключения диода к двум цифровым пинам, находящимся в режиме OUTPUT: на одном пине выставлено значение LOW, на другом HIGH.
Итак:
  - на вход +5 драйвера шагового двигателя DM420A подаём +5В;
  - если на ENBL подаётся значение LOW (0), то драйвер не управляет ШД, если HIGH, то переходит в состояние Enable (включен);
  - направление вращения ШД определяется сигналом, поданным на DIR: LOW или HIGH;
  - подача на PUL значения HIGH, а затем LOW определяет перемещение ротора ШД на один шаг;

Замечания по работе шагового двигателя 17HS3404N и драйвера ШД DM420A, подключенного к Ардуино в режиме управления значениями LOW-HIGH.

  - Время переключения драйвера из режима Disabled в режим Enabled составляет 15 миллисекунд. Таким образом, если вы планируете программно управлять включением и отключением ШД, то после подачи на вход ENBL драйвера DM420A сигнала, включающего управление, необходимо сделать паузу 20 миллисекунд, и только после этого посылать управляющие сигналы на PUL.
  - Если вы не собираетесь контролировать включение-выключение управления шаговым двигателем, то на вход ENBL драйвера DM420A можно подать +5В от выхода Ардуино. Также, если вообще ничего не подключать к входу ENBL драйвера DM420A, то он будет в состоянии включен (Enable).
  - В режиме 200 шагов на оборот между пульсациями на входе PUL необходимо сделать паузу 2 миллисекунды, чтобы дать шаговому двигателю отреагировать на команду перемещения ротора. То есть, если на PUL передать следующие сигналы:
HIGH - LOW - [пауза 2мс] – HIGH – LOW - [пауза 2мс] – HIGH – LOW - [пауза 2мс],
то ротор ШД сделает 3 шага за 6 миллисекунд.
  - Для выставления режима работы 200 шагов на оборот и подключения шагового двигателя 17HS3404N на драйвере ШД DM420A необходимо установить переключатели в следующее положение:

Обозначение переключателя Положение переключателя SW1 ON SW2 ON SW3 ON SW4 OFF SW5 ON SW6 ON SW7 ON

  - Находясь в состоянии удержания шаговые двигатели 17HS3404N греются гораздо сильнее, чем во время вращения.

По аналогичной схеме подключаем ещё два комплекта драйвер ШД DM420A - шаговый двигатель 17HS3404N. Питание для ШД 17HS3404N я сделал общее из блока питания для роутера (12В, 2А).
Драйверы поставил стопочкой с небольшим смещением, чтобы иметь лёгкий доступ к входам. Всё собрал на листе фанеры.

Фото сборки подсистемы управления шаговыми двигателями для станка с ЧПУ

На фото: 3 драйвера шаговых двигателей DM420A, установленные друг на друга, нижний прикручен к листу фанеры саморезами. За драйверами общий блок питания, приклеен двухсторонним скотчем. Справа плата Ардуино, прикручена саморезами. Пины 13,12,11,10,9,8 Arduino подключены к пинам DIR, PUL трёх драйверов ШД DM420A. Выход +5 Ардуино подключен ко входам +5 и ENBL драйверов. То есть, при включении схемы включается управление шаговыми двигателями 17HS3404N. Программное управление включением-выключением ШД не используется. Схема рабочая.
Прошивку для Ардуино для работы с драйверами шаговых двигателей DM420A можно скачать в разделе Прошивка.

 


Источник: http://www.ecnc.ru/upgrade/17HS3404N_DM420A



Рекомендуем посмотреть ещё:


Закрыть ... [X]

Драйвер шагового двигателя и двигателя постоянного. - Arduino-diy Детские нарядные платья для девочек с выкройками

Управление драйвером шагового двигателя ардуино Управление драйвером шагового двигателя ардуино Управление драйвером шагового двигателя ардуино Управление драйвером шагового двигателя ардуино Управление драйвером шагового двигателя ардуино Управление драйвером шагового двигателя ардуино Управление драйвером шагового двигателя ардуино Управление драйвером шагового двигателя ардуино