Драйвер шагового двигателя DRV8825. Подключение к Arduino.
В предыдущей статье уже рассмотрели самый распространённый драйвер шагового двигателя A4988. В данной статье рассмотрим еще одни, не менее популярный, драйвер шагового двигателя DRV8825 и подключим его к Arduino, а также научимся управлять шаговым двигателем. Не смотря на то, что драйвер шагового двигателя DRV8825 полностью взаимозаменяем с драйвером A4988, драйвер DRV8825 имеет ряд преимуществ: рабочее напряжение до 45В, ток до 2,5 А и деление микрошага до 1/32.
Технические характеристики драйвер DRV8825.
- Напряжение питания: от 8.2 до 45 В.
- Установка шага: 1; 1/2; 1/4; 1/8; 1/16; 1/32.
- Напряжение логики: 3,3 В.
- Защита от перегрева: Есть.
- Максимальный ток на фазу: 1,5 А без радиатора, 2,5 А с радиатором.
- Габариты модуля: 20 мм х 15 мм х 10 мм.
- Габариты радиатора: 9 мм х 5 мм х 9 мм.
Общая информация о драйвере DRV8825.
Основная микросхема модуля — это драйвер от TI (Texas Instruments Inc.) DRV8825, который способен управлять одним биполярным шаговым двигателем. Данный драйвер полностью взаимозаменяемый с драйвером A4988. Микросхема DRV8825 может работать с выходным напряжением до 45 В. и током до 1,5 на катушку без радиатора и до 2,5 А. с радиатором (дополнительным охлаждением). Так же, модуль имеет внутренний стабилизатор напряжения, который напитывает логическую часть модуля напряжением 3,3 В от источника шагового питания двигателя.
Драйвер позволяет использовать шесть вариантов шага: 1; 1/2; 1/4; 1/8; 1/16; 1/32.
Распиновка драйвера DRV8825.
На драйвере DRV8825 расположено 16 контактов:
- EN — включение и выключение модуля (0 — включен, 5 В. — выключен).
- M0, M1 и M2— выбор режима микрошаг (смотрите таблицу ниже).
- RST — сброс драйвера.
- SLP — вывод включения спящего режима, если подтянуть его к низкому состоянию драйвер перейдет в спящий режим.
- STEP — управляющий вывод, при каждом положительном импульсе, двигатель делает шаг (в зависимости от настройки микрошага), чем быстрее импульсы, тем быстрее вращается двигатель.
- DIR — управляющий вывод, если подать +5 В. двигатель будет вращаться по часовой стрелке, а если подать 0 В. против часовой стрелки.
- VMOT&GND MOT — питание шагового двигателя от 8,2 до 45 В. (обязательное наличие конденсатора на 100 мкФ.).
- B2, B1, A1, и A2 — подключение обмоток двигателя.
- FAULT — Выход включения защиты, если состояние «0», значит, полевые транзисторы H-моста отключены в результате защиты от перегрузки по току, или был перегрев.
- GND LOGIC — заземление микроконтроллера.
Подключение питания.
Модуль может питаться от источника постоянного тока до 45 В. и до 2,5 Ампер при 24 В. А при 45 В. номинального тока до 2,2 А. В общем случае напряжение может быть между 8 и 45 Вольт постоянного тока.
Пожалуйста, смотрите, что ваш блок питания рассчитан, по крайней мере, на 30% больше, чем максимальный ток, который может быть подан в ваш шаговый двигатель. Обратитесь к техническому паспорту производителя для того, чтобы узнать это значение.
Выводы для подключения шагового двигателя.
Выходные контакты: 1B, 1A, 2A ,2B.
Выводы управления.
STEP — управляет микрошагом мотора. Каждый высокий импульс, отправляемый на этот вывод, приводит двигатель в действие на количество микрошагов, заданное выводами Microstep Selection (MS1, MS2 и MS3). Чем быстрее импульсы, тем быстрее будет вращаться двигатель.
DIR — управляет направлением вращения двигателя. Если на него подать высокий уровень, то двигатель будет вращаться по часовой стрелке, а если низкий — против часовой стрелки.
Если вы просто хотите, чтобы двигатель вращался только в одном направлении, то вы можете соединить вывод DIR непосредственно с VCC или GND соответственно.
Настройка микрошага драйвера DRV8825.
Драйвер DRV8825 может работать в микрошаговом режиме, то есть может подавать питание на катушки с промежуточным уровнем. Например, если взять двигатель NEMA17 с шагом 1.8 градусов или 200 шагов на оборот, в режиме 1/4, двигатель будет выдавать 800 шагов за оборот.
Дня настройки микрошага на драйвере DRV предусмотрены три выхода, а именно M0, M1 и M2. Установив соответствующие логические уровни для этих выводов, можно выбрать режим микрошага.
Выводы M0, M1 и M2 в микросхеме DRV8825 подтянуты резистором к земле, поэтому, если не подключать их, двигатель будет работать в режиме полного шага.
Система охлаждения DRV8825.
При интенсивной работе микросхемы драйвер DRV8825 начинает сильно греться и если температура превысит предельное значение, то он может сгореть. По документации DRV8825 может работать с током до 2,5 А. на катушку, но на практике микросхема не греется, если ток не превышает 1,2 А. на катушку. Поэтому если ток выше 1,2 А. необходимо устанавливать радиатор охлаждения, который идет в комплекте.
Настройка тока DRV8825.
Перед использованием мотора нужно сделать небольшую настройку, необходимо ограничить максимальную величину тока, протекающего через катушки шагового двигателя, и ограничить его превышение номинального тока двигателя, регулировка осуществляется с помощью небольшого потенциометра.
Для настройки необходимо рассчитать значение напряжения Vref.
Vref = Current Limit / 2
Current Limit — номинальный ток двигателя.
Для примера рассмотрим двигатель NEMA 17 17HS4401 с током 1,7 А.
Vref = 1,7 / 2 = 0,85 В.
Осталось только настроить, берем отвертку и вольтметр, плюсовый щуп вольтметра устанавливаем на потенциометр, а щуп заземления на вывод GND и выставляем нужное значение.
Подключение драйвера шагового двигателя DRV8825 к Arduino UNO.
Подключим двигатель DRV8825 к Arduino UNO по схеме.
Для этого подключаем GND LOGIC к GND на Arduino. Контакты DIR и STEP подключим к цифровым контактам 2 и 3 на Arduino. Подключение шагового двигателя к контактам B2, B1, A2 и A1.
Предупреждение: Подключение или отключение шагового двигателя при включенном приводе может привести к его повреждению.
Затем необходимо подключить контакт RST к соседнему контакту SLP к 5В на Arduino, чтобы включить драйвер. А контакты выбора микрошага необходимо оставить не подключенными, чтобы работал режим полный микрошаг. Теперь осталось подключить питание двигателя к контактам VMOT и GND MOT, главное не забудьте подключить электролитический конденсатор на 100 мкФ к контактам питания двигателя. В противном случае, при скачке напряжения модуль может выйти из строя.
Скетч вращения шагового двигателя NEMA 17, драйвер DRV8825.
Как уже было упомянуто выше, драйвер DRV8825 заменим драйвером A4988, поэтому и код вращения двигателем можно взять из предыдущей статьи: Драйвер шагового двигателя A4988. Но для увеличения кругозора сегодня будем использовать код вращения двигателя nema 17 без использования библиотеки.
Описание скетча:
Для работы данного скетча, не требуется никаких библиотек. Программа начинается с определения выводов Arduino, к которым подключены выводы STEP и DIR. Так же указываем stepsPerRevolution количество шагов на оборот.
В функции void setup() указываем управляющие контакты как выход.
В основной функции void loop(), вращаем двигатель по часовой стрелке, затем против, с разной скоростью.
Подробнее о подключении шаговых двигателей к Ardiono смотрите на сайте Ардуино технологии.
Для более простого подключения шагового двигателя к Arduino или другому микроконтроллеру существуют модули. Модули бывают разные, на фото ниже приведен пример двух различных модулей.
Распиновку и как подключать модуль драйвера DRV8825 будем рассматривать в следующей статье.
Использование драйвера DRV8825 с CNC shield v3.
Драйвер DRV8825 можно установить на CNC shield v3. CNC shield используются для управления ЧПУ станками и облегчают сборку электроники.
Данный набор позволяет без пайки собрать электронику для двух осевых, трех осевых, четырех осевых ЧПУ станков, а также для самостоятельной сборки 3D принтеров. При реализации ЧПУ станков данные шилды используются достаточно часто благодаря своей низкой цене и простоте сборки. Более подробно CNC shield v3 будем рассматривать в следующих статьях.
Вывод можно сделать следующий. Драйвер DRV8825 обладает рядом преимуществ перед драйвером A4988. А также, при использовании драйвера шагового двигателя DRV8825, меньше шума от шаговых двигателей. Это актуально при сборке лазерного гравера, 3D принтера. Когда при работе главный источник шума — это механика и гул шаговых двигателей.
Понравился статья Драйвер шагового двигателя DRV8825? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!
Выбор и настройка драйвера шагового двигателя
Данный цикл статей относится к настройке шаговых двигателей — с данной задаче сталкивается любой ЧПУ-шник. Для базы мы будем брать настройку драйверов для 3D-принтера, но по факту правила подойдут к любому станку. Итак, поехали.
- Часть 1 — Вводная статья, выбор драйвера шагового двигателя
- Часть 2 — Подключения драйверов к различным платам:
- Часть 2.1 Установка перемычек на платы RAMPS и MKS GEN L в режиме DIR STEP
- Часть 2.2 Установка перемычек на платы MKS SGEN L, BIGTREETECH SKR в режиме DIR STEP
- Часть 2.3 Режимы SPI и UART (в процессе написания)
- Часть 3 — Настройка VRef (в процессе написания)
- Часть 4 — UART (в процессе написания)
- Часть 5 — обзор самых популярных драйверов (в процессе написания)
1. ВЫБОР ДРАЙВЕРА ШАГОВОГО ДВИГАТЕЛЯ
На что необходимо обратить внимание при выборе шагового двигателя:
- Режим его работы. Например, для осей X и Y степень вовлеченности шаговика будет максимальной (т.к. это основные координаты перемещений), а для оси Z — минимальной (в 3D принтерах единица движения по этой оси происходит только при смене слоя)
- Место использования. Тут всё просто — каковы ваши требования в части тишины. Если вы находитесь в производственном помещении, то требования к шуму будут небольшие. Если дома в отдельной комнате, то средние. Если в спальной — максимальные.
- Используемые двигатели. Данный пункт предполагает прямую зависимость по потреблению тока в ШД. Для мощных двигателей не подойдут слабые драйвера. И, конечно, слабым движкам нет никакой необходимости ставить «взрослые» драйвера.
- Точность позиционирования (или микрошаг). С одной стороны этот параметр показывает сколько необходимо сделать микрошагов на один полный шаг (1.8 градусов поворота вала или, иногда, 0.9) и по сути определяет точность. Кроме того, это понижает шум, снижает резонансы и увеличивает плавность движения. Но тут палка о двух концах — чем больше микрошагов, тем слабее момент удержания. Чтобы представить себе этот процесс, попробуйте зажать пальцами движок с режимом 1/16 и 1/256. В первом случае это сделать невозможно. Во втором достаточно легко (момент приблизительно = 1% от номинала). Кроме того, повышение микрошагов дает существенное повышение температуры, а значит мы постепенно приходим к необходимости усиления охлаждения драйверов. Ещё один интересный момент — увеличение количества микрошагов иногда является бессмысленным занятием. Для вала М6 при дроблении 1/16 мы получаем теоретическую точность позиционирования 300нм, что и так является некоторым маразмом для FDM принтеров. Т.е. на точность при выборе микрошага смотреть смысла нет.
Итак, наши варианты:
Ось Z: это самая редко используемая ось в части количества перемещений. А значит шума от неё в любом случае будет мало. Для этой оси всегда подойдет самый простой A4988. Более того, этот драйвер имеет достаточно большой запас по току — стабильные 2А, а значит подойдет не только для стандартного движка 17HS4401 (1.7А), но и для более мощного 17HS8401. Не переплачивайте за драйвера на эту ось! В крайнем случае возьмите DRV8825 в режиме 1/32.
Ось X и Y: Если вам не принципиальны шумы, то берите A4988 (1/16) или DRV8825 в режиме 1/32. Для остальных случаев наша рекомендация TMC2208 или TCM2209 (1/32). Оба движка с запасом по току, но отличаются удивительной тишиной.
Экструдер: самая сложная часть. С одной стороны двигатель по экструдеру используется очень часто, а с другой стороны в основном эти движения крайне плавные. Исключение — ретракты. Если у вас боуден, то ретракты происходят не только часто, но и на большие расстояния (4-7мм). Если директ — на меньшие расстояния. Наш выбор — либо A4988, либо TMC2208/TMC2209 в зависимости от доступного вам бюджета.
2. ПОДКЛЮЧЕНИЕ И НАСТРОЙКА
В вводной статье мы просто опишем основные этапы того, что необходимо сделать. В рамках одной статьи физически не собрать всю информацию. В дальнейшем мы будем описывать правила установки для каждой платы (или серии плат) отдельно.
ВАЖНО: соблюдайте правила подключения, т.к. в противном случае вы спалите управляющую плату!
Перед подключением для начала правильно установите джамперы для установки микрошага. Обратите внимание, что для каждого вида драйвера свой порядок установки джамперов. Например, для драйвера DRV8825 и платы BIGTREETECH SKR 1.3 необходимо использовать следующую таблицу:
Следующим пунктом после установки джамперов является собственно установка самих драйверов. Правило очень простое — необходимо совместить пины драйвера с пинами платы. Как узнать какие пины где находятся? Элементарно — наберите в гугле «НАЗВАНИЕ_ПЛАТЫ PINOUT», выпишите на листке распиновку (достаточно будет выписать пины DIR и EN). Потом наберите «НАЗВАНИЕ_ДРАЙВЕРА PINOUT» и совместите на плате эти пины. Кроме того, можно ориентироваться по направлению подстроечного резистора (расположен на драйвере, похож на головку винта), с помощью которого мы дальше будем регулировать VRef.
ВАЖНО: Не забудьте поставить на драйвер радиатор, т.к. драйвер — один из самых горячих модулей, а перегрев чреват пропусками шагов.
После установки драйвера необходимо правильно отрегулировать VRef. Это число зависит как от самого драйвера, так и от используемого мотора. Опять же — это отдельная статья. Мы также сделаем таблицу для различных драйверов и моторов. Ну, и последнее, что осталось сделать — при необходимости прописать выбранный драйвер в прошивке.
На сегодня всё, следите за обновлениями нашего блога.
С Уважением, Мастерская робототехники Human & Gears