logo
+7 (495) 997-37-74
Москва, ул.Международная, 15
12.01.2019

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

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

 

В одном из наших проектов требуется управлять большим количеством шаговых двигателей типа NEMA 17 – более 30 штук. Так как это единый аппарат, то весь интерфейс управления находится на одном компьютере. Чтобы не придумывать велосипед для прототипирования, мы остановились на контроллерах 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