logo
+7 (951) 999-89-94
428003, г. Чебоксары, ул. Федора Гладкова, д.9, оф.319
12.01.2019

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

12.01.2019

 

В одном из наших проектов требуется управлять большим (более 30-и штук) количеством шаговых двигателей типа NEMA 17. Система реализована на контроллерах Arduino и мини-компьютерах Raspberry Pi.

Общая концепция

Центр управления будет находится на Raspberry Pi или любом другом мини-компьютере. На Ардуино будет реализован драйвер для управления шаговыми двигателями. Взаимодействие между устройствами будет происходить по TCP/IP протоколу. Так как инициатором связи является мини-компьютер, то он будет клиентом, а драйвер на Ардуино – сервером.

Драйвер

Мы рассматривали несколько вариантов реализации, но остановились на следующем:

• NANO CNC Shield (Contr01 by GRBL)
• NANO ENC28J60 Ethernet Shield
• Клон платы Arduino NANO CH340G;
• DRV8825.

СNC Shield представляет собой плату расширения для Arduino NANO. Разработчики создали эту плату для ЧПУ станков. На нее можно установить 3 драйвера шагового двигателя DRV8825, подключить датчики положения, кулер и прочее оборудование. Ниже приведена таблица по подключению:

Особого внимания требует драйвер DRV8825. Надо настроить его максимальный ток. Настройка производится с помощью подстроечного резистора. Правильная настройка тока драйвера позволяет:

1. Снизить шум от работы принтера при завышенном токе
2. Избавиться от пропуска шагов при низком токе
3. Снизить нагрев шагового двигателя и его драйвера

Мы используем двигатели 17HS401 с током потребления до 1,7 А. Драйвер DRV8825 способен выдавать ток до 2,2 А.


Процедура настройки

Для начала нужно подключить питание платы и питание моторов VMOT. Щуп «минус» мультиметра подсоединить к контакту GND (минус, общий) и щупом «плюс» прикоснуться к корпусу подстроечного резистора на драйвере. Вращаем подстроечный резистор и замеряем расчётное напряжение Vref. Таким образом мы выставляем правильный ток для драйвера шагового двигателя. Для каждого вида драйвера существует своя формула расчета Vref.

Vref – пин замера напряжения для установки тока по формуле
Current Limit – ток шагового двигателя
Current Limit = Vref * 2
Vref = Current Limit / 2

Например, для 17HS4401: Vref = 1,7 / 2 = 0,85В

Программное обеспечение драйвера было написано на основе библиотеки UIPEthernet для Ардуино.

Программное обеспечение мини-компьютера

Для тестирования собранного драйвера была написана клиентская часть для компьютера на C#.
Более подробно мы расскажем о работе этого программного обеспечения в следующей статье.

 

Цикл статей

  1. Подготовка оборудования для системы управления шаговыми двигателями
  2. Тестовое программное обеспечение для системы управления шаговыми двигателями

 

Во время подготовки статьи были использованы материалы:

  1. Библиотека UIPEthernet для работы с Ethernet ENC28J60
  2. Библиотека для работы с DRV8825
  3. Информация об UNO CNC Shield
  4. Правильная настройка тока драйвера
  5. Информация о DRV8825
  6. Программа GRB