Обзор драйверов управления шаговыми двигателями

В подавляющем большинстве современных 3D принтеров и любительских ЧПУ станков для обеспечения движения составных частей устройств (портал, шпиндель, hotend) используются шаговые двигатели. Применение шаговых двигателей обусловлено, прежде всего, их распространённостью, низкой стоимостью, а также они позволяют получать точное позиционирование без использования обратной связи от датчиков углового положения.

Управление шаговым двигателем происходит несколько сложнее, чем управление обычным двигателем постоянного тока. Чтобы получить направленное упорядоченное движение, требуется использование контроллера, передающего импульсы на фазные катушки в строго определенной последовательности. Однако, для эффективного преобразования электрической энергии в энергию кинетическую, требуется отдельное устройство, способное обеспечивать шаговый двигатель более высокими мощностями от отдельного источника питания. Таким устройством и является драйвер шагового двигателя.

Простейшим примером драйвера биполярного шагового двигателя является схема с использованием чипа L293D (рис. 1).

Рис. 1

На диаграмме изображены два диодных H-моста, по одному на каждую фазу. Получая команды с контроллера, драйвер замыкает мосты в определенной последовательности и полярности. На этом, увы, функционал данной системы заканчивается и в дело вступают более продвинутые драйверы, содержащие в себе элементы управляющей логики. Ниже мы рассмотрим наиболее популярные представители драйверов шаговых двигателей на отдельных носителях, используемые в сфере 3D печати и других легких устройств с числовым программным управлением.

Pololu A4988

Спецификация:

 Размеры:  1.524*2.032 см
 Вес:  1.3 г
 Диапазон рабочих напряжений:  8 – 35 V
 Максимальный ток без охлаждения:  1 A
 Максимальный ток с активным охлаждением:  2 A
 Диапазон напряжений питания логики:  3.3 – 5 V
 Режимы микростеппинга:  полный, 1/2, 1/4, 1/8, 1/16
 Защита от обратной полярности:  Нет

Разработан американской компанией Pololu на базе микросхемы Allegro A4988 под плату расширения RAMPS их же авторства. Огромная популярность RAMPS, как простой и дешевой платформы для 3D печати, привела к тому, что A4988 стал стандартизированным форм-фактором для других драйверов на отдельном носителе.

Несмотря на тот факт, что это самый простой и дешевый драйвер среди всех, приведенных в этой статье, он является одним из самых стабильных драйверов в термическом и прецизионном аспектах.

Особенностями, которые выделяют этот драйвер по сравнению с абсолютно простыми схемами являются:

  • Управление двумя фазами одновременно, благодаря чему удалось повысить крутящий момент шагового двигателя и имплементировать микростеппинг.
  • Простой контрольный интерфейс – по одному выводу на шаг и направление соответственно.
  • Возможность регулировать фазный ток через встроенный потенциометр.
  • Защита от перегрева, замыкания на землю и нагрузку. Блокировка при недостаточном напряжении питания.
  • Пять режимов микростеппинга от полного шага до 1/16, что позволило избежать резонансы и вибрации в механической системе, а также повысило точность позиционирования.
  • Автоматическое переключение между режимами быстрого и медленного затухания тока.

Настройка:

Есть два способа определения и настройки рабочего тока драйвера:

  • Первым делом убедитесь, что всё оборудование выключено. Отсоедините шаговый двигатель от платы управления. Включите плату управления. Рабочий ток драйвера определяется путем измерения референсного напряжения на пине Vref (или самом потенциометре) и умножения его на определённый коэффициент, зависящий от номинала токочувствительных резисторов (Rcs) (см. рис.2). Сопротивление данных резисторов может быть 0.05 Ω или 0.1 Ω на китайских драйверах, и 0.05 Ω или 0.068 Ω на оригинальных. Выяснив, при помощи мультиметра, сопротивление конкретно вашего резистора, подставляем полученные данные в формулу



    Рис.2.


    В итоге выясняем, что референсное напряжение, эквивалентное 1А максимального тока, будет 0.400 mV, 0.540 mV и 0.800 mV для Rcs 0.05 Ω, 0.068 Ω и 0.1 Ω соответственно. После выставления желаемой силы тока, отключите питание и подсоедините шаговый двигатель.
  • Второй способ применим для всех, перечисленных в этой статье, драйверов.

    Если вы хотите убедиться в корректности, выставленного с помощью первого способа, максимального тока, то вам потребуется настроить драйвер на режим полного шага, последовательно подключить, выставленный на измерение силы постоянного тока, мультиметр к одной из фаз и поставить шаговый двигатель на удержание позиции. Показания мультиметра будут равны 0,7 от максимального тока драйвера. Все, что останется сделать, так это откорректировать потенциометром желаемый уровень тока.

Замечания:

A4988, как и некоторые его аналоги, плохо работает в режиме микростеппинга на предельных токах, однако, в комбинации с низкоиндуктивными шаговыми двигателями, негативный эффект можно в некоторой степени нивелировать без прибегания к мерам, вроде снижения максимального тока и, соответственно, ускорений.

DRV8825



 Размеры:  1.524*2.032 см
 Вес:  1.6 г
 Диапазон рабочих напряжений:  8.2 – 45 V
 Максимальный ток без охлаждения:  1.5 A
 Максимальный ток с активным охлаждением:  2.2 A
 Диапазон напряжений питания логики:  2.5 – 5.25 V
 Режимы микростеппинга:  полный, 1/2, 1/4, 1/8, 1/16, 1/32
 Защита от обратной полярности:  Нет

Данный носитель на основе чипа Texas Instruments DRV8825 также был разработан компанией Pololu в качестве более мощной альтернативы A4988. За исключением пары мест, он совпадает по распиновке, на 50% мощнее A4988 и обладает всё теми же функциями, но, сверх того, имеет несколько дополнительных качеств. Из них четырехслойная медная подложка, позволяющая лучше отводить тепло от чипа, микростеппинг в 1/32 шага и вывод FAULT, который разъединяется в случае перегрева.

Настройка

Настройка с использованием замера референсного напряжения на DRV8825 происходит значительно проще, чем на A4988.

1 A максимального тока эквивалентен 0.500 mA референсного напряжения.

Замечания

DRV8825 плохо переносит микростеппинг на предельно выставленном токе, однако демонстрирует высокие характеристики крутящего момента на относительно повышенных напряжениях питания и соответствующих модификациях. Соответственно в паре с этим драйвером рекомендуется использовать высокоиндуктивные шаговые двигатели. Не рекомендуется использовать микростеппинг 1/32 на плате RAMPS c Arduino mega 2560, поскольку высокая частота контрольных импульсов в таком режиме требует больше вычислительных ресурсов, чем данный микроконтроллер может предоставить. Также есть определенные нюансы, связанные со слишком длинным минимальным временем фазного импульса, но речь о них и устранении артефактов, с ними связанных, пойдет в отдельной статье.