Как настроить ток на драйверах tmc2208

Обновлено: 03.07.2024

BTT SKR 1.4(Turbo) + TMC2209(UART, Sensorless) + BLTouch(3D Touch) + PT100(с усилителем) + TFT35v2

BTT SKR 1.4(Turbo) + TMC2209(UART, Sensorless) + BLTouch(3D Touch) + PT100(с усилителем) + TFT35v2

В декабре прошлого года вышли 2 новых платы от компании Big Tree Tech - SKR 1.4 и SKR 1.4 Turbo. Обе платы являются обновлением платы SKR 1.3 и отличаются между собой только процессором. Что изменилось?

SKR 1.3 SKR 1.4 SKR 1.4.Turbo
Процессор NXP LPC1768
(100MHz)
NXP LPC1768
(100MHz)
NXP LPC1769
(120MHz)
Подключение кулеров 1 управляемый кулер,
1 неуправляемый кулер
1 управляемый кулер,
3 неуправляемых
1 управляемый кулер,
3 неуправляемых
Доп. интерфейсы - I2C, SPI, WiFi I2C, SPI, WiFi
Closed loop drive interface - + +
Разъёмы подключения моторов X, Y, Z, E0, E1 X, Y, Z0, Z1, E0, E1 X, Y, Z0, Z1, E0, E1
Разъём для подсветки - Neopixel Neopixel
Поддержка UART экранов + + +
Доп. питание 5V - Отдельный модуль Отдельный модуль

Комплект поставки

Big Tree Tech SKR 1.4 Turbo Комплект поставки

Подключение

Подклбчение

Установка драйверов

В зависимости от режима работы драйверов вам необходимо установить перемычки соотвествующим образом. Если вы не знаете в каком режиме будут работать драйвера у вас, то используйте вариант подключения Standalone.

Standalone


Для работы драйверов с Standalone режиме вам необходимо установить перемычки в соответсвии с таблицей ниже. Для удобства чтения все перемычки имеют названия MS1, MS2 и MS3, но в документации на драйверы вы можете встретить нумерацию MS0, MS1 и MS2. Минус в ячейке означает перемычку соединающую центральный пин и правый, что является более правильным способом, но допустимо и просто отсутсвие перемычки, плюс - перемычку между левым пином и центральным, как изображено на картинке выше. Если все ячейки незаполнены, то данный режим таким драйвером не поддерживается. У драйверов TMC в standalone режиме используются только первые 2 перемычки.


Для подключения драйверов по UART необходимо установить лишь одну перемычку на драйвер, все остальные перемычки должны быть удалены. Всё остальное уже разведено на плате.


Для подключения драйверов по SPI необходимо оставить все 4 перемычки на своих местах. Всё остальное уже разведено на плате.

TMC2209 и аналоги

Помимо всех предыдущих шагов у TMC2209 и некоторых аналогичных драйверах есть поддержка функции StallGuard, которая позволяет определить пропуски шагов. Этот функционал может использоваться в Marlin для парковки головы без концевиков(Sensorless Homing). На платах SKR 1.4 и SKR 1.4 Turbo вся проводка для этого режима уже разведена на плате и если вам этот функционал не нужен, то вам придётся удалять ноги у драйверов(рекомендация производителя) или отгибать их так, чтобы они не попадали в соответствующее гнездо.


TFT3.5v2


BLTouch (3DTouch)

На схеме ниже есть 2 варианта подключения пинов концевика. Вариант 1 - рекомендуется производителем, но не на всех версиях марлина он заводился, вариант 2 - подключение на место концевика Z, работает без проблем на всех версиях марлина.


Аналоговое оборудование, включая PT100 с усилителем или без

В процессорах NXP LPC176x всего 8 аналоговых пинов. На платах Big Tree Tech SKR по документации они разведены как:

Пин Аналоговый канал процессора
P0_02 7
P0_03 6
P0_23 0
P0_24 1
P0_25 2
P0_26 3
P1_30 4
P1_31 5

Расположение этих пинов на плате:


Расположение пинов P0_02 и P0_03 - неизвестно.

Для подключения датчика PT100 - подходит стандартный разъём термистора при правильном определении датчика в коде марлина.

Для подключения датчика через усилитель, нам начишает мешать подтягивающий резистор на 4.7кОм, его можно и отпаять, но можно и использовать другой пин, например P1_30_A4. Землю для подключения усилителя можно взять с верхнего правого пина того же разъёма или с центрального пина любого из концевиков, а вот с плюсом есть проблема. Если мы возьмём плюс 5V как и написано на плате усилителя, то датчик будет показывать очень завышенные показания, а вот если взять 3.3V (например с верхнего пина разъёма SWD), то показания датчика будут корректными.

Конфигурирование Marlin 2.0.x

SKR 1.4 и SKR 1.4 Turbo

Для начала определяем саму плату(для турбо версии использовать BOARD_BTT_SKR_V1_4_TURBO ):

Настраиваем диаметр филамента:

Определяем шаги на мм(сразу за этим блоком идут настройки скоростей, ускорений и рывков принтера, если вы знаете что вам надо это настраивать - настраивайте):

Включаем режим S-Curve Acceleration, чтобы снизить нагрузку на моторы:

Если у вас инвертированы пины моторов, то инвертируем их в прошивке или оставляем как есть:

Изменяем направления вращения моторов, если это необходимо:

Настраиваем расположение концевиков и размеры печатной зоны:

Для того, чтобы не перешивать принтер каждый раз включаем EEPROM для хранения настроек:

Включаем поддержку SD карты платой:

Если в принтере используется несколько моторов для оси Z и мы их подключаем к разным(!) драйверам, то изменяем настройки ниже, если мы подключили второй мотор оси Z в разъём Z1, то настройки ниже трогать не надо:

Для того, чтобы SD карта заработала, надо указать прошивке что мы будем использовать карту вставленную в саму плату(если мы хотим использовать карту вставленную в экран, то замените ONBOARD на LCD ):

Включаем Linear Advanced и настраиваем коэффициент:

Настраиваем количество G-code команд которые плата будет держать в оперативной памяти:

TMC2209

Настраиваем используемые драйвера. В примере TMC2209 в режиме работы по UART, если вам необходимо использовать их в standalone режиме, то замените TMC2209 на TMC2209_STANDALONE . Аналогичным образом можно подключить другие драйверы.

Настраиваем напряжения( _CURRENT ) и шаги( _MICROSTEPS ) для необходимых нам осей (X, Y, Z, E0, E1):

Если мы хотим использовать тихий режим работы моторов, то включаем StealthChop:

Обязательно настраиваем напряжение подающееся на драйвера(будет использоваться если мы не включили на драйверах тихий режим):

Настраиваем парковку без концевиков(Sensorless Homing). Параметр _STALL_SENSITIVITY придётся подбирать методом проб.

Если возникают проблемы и непонимания с драйверами, имеет смысл расскоментировать вывод отладочной информации:

TFT35

Прежде чем использовать экран, рекомендуется сменить прошивку экрана на более функциональную.


Для этого необходимо скачать соответсвующий вашему экрану бинарник с официального GitHub BigTreeTech и содержимое папки с названием экрана оттуда же, положить их в корень SD карточки и воткнуть в экран. Если после обновления пропали все иконки - то проверьте, в корне карты должны быть 2 папки bmp и font, а не папка с названием вашего экрана.

Для работы экрана всё что необходимо - это включить SERIAL_PORT_2 и настроить скорость его общения с экраном. Но данная операция отключит работу платы по USB, поэтому этот функционал мы перенесём на порт 1:

Power Control Relay

Для того, чтобы плата могла себя выключать посредством реле, раскомментируем следующий функционал:

PT100 с усилителем или без

Для работы PT100 без усилителя настраиваем температурный датчик как 147 и подключаем его в стандартный разъём для датчика, но в таком случае шаг измерений температуры будет 3-4 градуса. Если же мы хотим повысить точность, то нам потребуется усилитель и его мы будем настраивать как датчик с номером 20. Но если подключить усилитель в стандартный разъём, то показания температуры будут искажаться подтягивающим резистором на 4.7кОм. Конечно, резистор можно выпаять с платы, но всё-же это вандализм и можно обойтись без этого:

Для этого мы подключим усилитель в аналоговый пин 4 (см. подключение выше) и переопределим используемый пин в определении самой платы(файл Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h независимо от версии платы):

Если после этого показывается температура

180-190 градусов, то вы пропустили часть инструкции по подключению, где было сказано, что не смотря на то, что на плате усилителя написано 5V, мы подключаем его к 3.3V.

BLTouch (3DTouch)

Включаем "двигающийся вверх"(PULLUP) концевик пробы оси Z:

Инвертируем его поведение:

Если вы следуя инструкции по подключению выше подключили концевик BLTouch в разъём концевика оси Z, указываем на это плате:

Включаем непосредственно BLTouch:

Настраиваем положение концевика датчика относительно сопла следуя псевдографике ниже:

Изменяем высокую скорость движения осей X и Y на что-то более скромное:

Отключаем программное ограничение перемещения оси Z в минусовую зону:

Включаем режим автоуровня стола. Для простоты и удобства рекомендуется использовать AUTO_BED_LEVELING_BILINEAR :

Настраиваем количество точек автоуровня. Вариант с 3 точками по каждой из осей - ужасен, т.к. чаще всего именно углы оказываются искаженными относительно всего стола, но плоскость стола выравнивается раньше, чем алгоритм плавного устранения искажений сделает это за вас и как итог сопло будет цепляться за стол. Вариант с 4мя точками не проверяет значение высоты в центре стола, а именно по нему устанавливается уровень оси Z - так что имеет смысл использовать если вы уверены в ровности стола в широком диапазоне его центра или при смещении точки Z_SAFE_HOMING про которую речь пойдёт на пункт ниже.

Включаем безопасное определение высоты стола. По умолчанию это происходит в его центре, но если вы решили использовать сетку 4х4 в прошлом шаге, то замените координаты на деленные на 3.

Настройка драйверов TMC2208 и TMC2209 StandAlone (без UART)

Настройка драйверов TMC2208 и TMC2209 StandAlone (без UART)

Обратите внимание, что при расчете максимального тока:

для TMC2208 - опорное напряжение надо делить на 1.4
для TMC2209 - опорное напряжение надо умножать на 0.63

Изображение

Не бойся поломать. Бойся не починить ))

Изображение

Не бойся поломать. Бойся не починить ))
То, которое подстроечником выставляется.
VRef.
Но там ещё зависимость от сопротивлений. VREF - reference voltage
если не "опорное напряжение", то как это правильно перевести?

Изображение

Не бойся поломать. Бойся не починить ))
Поставлю вопрос по другому что надо умножить на 0.63 минимальный ток или максимальный?

На 0.63 умножаете значение напряжения измеренное мультиметром и получаете максимальный ток.

Вращением переменного резистора изменяется значение напряжения, подаваемое на ножку VREF микросхемы драйвера.
Микросхема драйвера использует значение тока проходящего через VREF для расчета тока подаваемого на мотор.

VREF - Analog reference voltage for current scaling or reference current for use of internal sense resistors (optional mode).
Motor run current either is fixed, or set by the CPU using the analog input VREF.

Изображение

Не бойся поломать. Бойся не починить ))

Изображение

Я так понимаю, что значение коэффициента в формуле расчета определяется подстроечным резистором и входным сопротивлением VREF.
Драйверы 2208 и 2209 имеют разное входное сопротивление VREFT.
TMC2208 - 1,00 кОм
TMC2209 - 0,45 кОм

В итоге максимальный ток, который драйвер выдаст на мотор = 3000 х "ток через контакт VREF".
Ток на контакте VREF = 5V / (Сопротивление VREF + сопротивление подстроечного резистора)

Изображение

Не бойся поломать. Бойся не починить ))

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

Настройка тока шаговых двигателей на драйверах TMC2100/TMC2130/TMC2208

Решил написать о том, как правильно настроить ток для шаговых двигателей применительно для драйверов TMC.

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

В данной статье я постараюсь максимально подробно и с примерами описать данную процедуру.

И так, для начала определимся с терминами:

Vref - Напряжение замеряемое вольтметром между пином Vref и GND от 0 до 2,5 вольт.

Irms - Постоянный ток подаваемый на двигатели.

Imax - Пиковый ток подаваемый на двигатели.

Произведем необходимые расчеты:

Формула для расчета напряжения Vref из постоянного тока Irms кторый мы хотим задать:

Формула для расчета постоянного тока Irms который настроен на драйверах: Зная постоянный ток Irms можно рассчитать пиковый ток Imax: А так же можно произвести обратный расчет из пикового тока Imax в номинальный Irms:

Практические примеры:

Я хочу подавать постоянный ток 1А, подставим получим формулу:

Полученное напряжение необходимо выставить при помощи вольтметра на потенциометре шагового драйвера.

Мы не знаем какой ток подается на шаговые двигатели и хотим это выяснить.

Нам необходимо замерить Vref на шаговом драйвере, например мы получили 1,1V, подставив полученные данные в формулу получим постоянный ток на котором работают двигатели в данный момент:

Шаговые драйверы TMC, в отличии от других, умеют подавать ток в зависимости от текущей нагрузки, так например если нагрузки нет, драйвер будет подавать ток меньше номинального, если нагрузка возрастет он поднимет ток до необходимого уровня для преодоления нагрузки, при этом не превышая значения тока Imax. Допустим у меня есть двигатели с рабочим током 1.5А, я хочу что бы пиковый ток был 1,5А, а постоянный был меньше, что бы двигатели не перегревались.

Расчитаем постоянный ток Irms:

1 - Максимальный постоянный ток для данных драйверов 1.2А.

2 - Измерять Vref можно между либо между потенциометром и GND, либо между пином Vref и GND.

3 - Во время настройки Vref необходимо отключать кабель двигателя во избежании повреждения драйвера.

4 - Для настройки необходимо подавать внешнее питание на шилд, а не на USB ардуины.

Настройка Vref на драйверах:

Для удобства настройки желательно наличие две пары рук, маленькая плоская отвертка - желательно керамическая, вольтметр.

Вольтметр необходимо установить в измерение постоянного напряжения до 2 вольт.

Первая пара рук настраивает отверткой вольтаж потенциометром постоянно контролируя показания вольтметра.

Вторая пара рук удерживает красный положительный щуп на пин Vref или потенциометр и черный щуп на GND, для удобства GND можно использовать вход на плату с блока питания.


Данная статья описывает опыт установки на принтер Creality3D Ender-3 и Ender-3 Pro материнской платы BIG TREE TECH (BIQU) SKR v1.3 с драйверами Trinamic TMC2208 в режиме управления по UART с последующей настройкой и прошивкой Marlin 2.x bugfix.

Для чего это нужно?

Плата BIG TREE TECH (BIQU) SKR v1.3 оснащена 32-битным микропроцессором LPC1768 на ядре ARM Cortex-M3. Данный микропроцессор обладает на порядок более внушительными вычислительными возможностями, чем ATmega1284P, установленный на штатной плате Creality 1.1.x, которой оснащаются принтеры серии Ender. Это дает возможность одновременно задействовать нагружающие микропроцессор и занимающие много памяти функции, такие как использование Linear Advance, автоуровня типа BLTouch/3DTouch, плавных ускорений S Curve Acceleration и др. Кроме того, в целом повышается быстродействие системы и максимально достижимая скорость печати.

Помимо этого, плата BIG TREE TECH (BIQU) SKR v1.3 имеет еще несколько важных преимуществ:

  1. Колодки для драйверов в форм-факторе Polulu (SilentStepStick) - возможность установить любые поддерживаемые прошивкой драйвера без необходимости перепайки и колхозинка штатной платы
  2. Возможность установки до 5 драйверов и 2 нагревателей хотенда - можно установить дополнительный экструдер, toolchange-систему, MMU-ситему, использовать выход на второй нагреватель как дополнительный управляемый PWM-выход (подсветка/охлаждение)
  3. Наличие предохранителей на плате - меньше вероятность спалить мосфет стола или хотенда при случайном замыкании
  4. Возможность подключить цветной (сенсорный) дисплей, наличие дополнительных AUX портов
  5. Разводка под управление драйверами по UART и SPI «из коробки»

Для управления шаговыми двигателями (ШД) было решено использовать драйвера Trinamic TMC2208. Это относительно новые драйвера, пришедшие на смену хорошо зарекомендовавшему себя поколению TMC21XX. К их преимуществам можно отнести:

  1. Технология StealthChop2 – тишина работы моторов
  2. Технология SpreadCycle – оригинальный алгоритм direct current управления от Trinamic, позволяет точно управлять током в обмотках ШД для увеличения точности позиционирования и момента на высоких скоростях
  3. Возможность работы в режиме нативного дробления до 1/256 шага или с меньшим дроблением, но с интерполяцией до 1/256.
  4. Возможность управления по UART

На последнем пункте остановимся подробнее. В данной статье рассматривается именно способ установки драйверов c управлением по UART. Это позволяет из прошивки конфигурировать ток, дробление шага, интерполяцию, режим чоппера и другие параметры работы драйвера. Кроме того, в прошивке Marlin (и, возможно, в других) реализован так называемый гибридный режим, суть которого в автоматическом переключении драйвера из тихого режима StealthChop2 в более «мощный» SpreadCycle при достижении определенной скорости (hybrid mode threshold). Это позволяет «поддать жару», когда это нужно, наслаждаясь тишиной в остальное время. Помимо этого, используя управление по UART, можно настроить фазы чоппера SpeadCycle для достижения меньшего уровня шума в этом режиме (я пока этого не делал и это тема для отдельной статьи).

Что нам понадобится

  1. Принтер Creality3DEnder-3/Ender-3 Pro (Ваш К.О.)
  2. Плата BIG TREE TECH (BIQU) SKR v1.3
  3. Драйвера Trinamic TMC2208v2.1 или v3.0
  4. Паяльник
  5. Набор шестигранных ключей
  6. Надстройка PlatformIO для IDE VS Code
  7. Прошивка Marlin версии bugfix-2.0.x (самая свежая)
  8. Вольтметр
  9. Мелкая отвертка под плоский шлиц (лучше диэлектрическая)

ПАААААЕХАЛИ!

Электроника


Расположение потенциометров Vref на стандартной плате

Важно: считаем ток ШД!

Насколько я успел заметить, на принтеры Creality3D устанавливается широкий спектр ШД, отличающихся своими характеристиками, в первую очередь – максимальным током обмоток. Некоторые моторы практически невозможно «нагуглить» по маркировке и узнать требуемый им ток. Поэтому для того, чтобы действовать наверняка, я советую перед заменой платы выяснить, какой ток установлен для Ваших конкретных ШД.

На дефолтной плате Creality 1.1.x установлено четыре драйвера A4988, распаянных непосредственно на плате. Рядом с каждым драйвером установлен потенциометр (turnpot), который задает опорное напряжение Vref.

Внимание! Настройка (и измерение) Vref должна производиться с отключенными проводами ШД, но подключенным основным питанием платы.

  • Отключите от платы провода ШД.
  • Включите питание.
  • Аккуратно измерьте напряжение между центром «крутилки» потенциометра и землей (за землю можно взять черный провод, приходящий в винтовую колодку на плате с блока питания) для каждого из драйверов, запишите.

Теперь посчитаем ток, который нужно установить для наших конкретных ШД на новых драйверах.
Дело в том, что Vref для драйвера A4988 задает максимальный ток Imax, в то время как для TMC2208 мы задаем среднеквадратичное значение тока Irms

Приступим к расчетам:

Это и есть нужное нам значение тока новых драйверов. При управлении по UART данного расчета достаточно. Тем, кто не хочет управлять по UART, то есть устанавливает драйвера в standalone-режиме, необходимо посчитать Vref для TMC2208 по следующей формуле:

Указанная выше формула справедлива только для наиболее распространенных вариантов исполнения драйверов TMC2208 с референсным резистором Rsense = 0.11 Ом.

Подготовка драйверов


Перымычка J2, которую нужно запаять на драйвере для управления по UART. Также не лишним будет проверить номинал резисторов R6 и R7

Для того, чтобы использовать UART-режим для управления драйверами, необходимо АККУРАТНО запаять на них перемычку J2 (см. фото).
Здесь и далее показаны драйвера от BIGTREETECH версии 2.1, но для драйверов от других производителей, например Fysetc, действия будут аналогичными.
Для драйверов версии 3.0 инструкции аналогичны.

Модификация разъемов концевиков


Переделка дефолтных двухконтактных разъемов концевиков в трехконтактные под SKR

Для подключения родных двухконтактных разъемов концевиков в трехконтактные разъемы на плате SKR нужно модифицировать провода одним из способов (чтобы провода подключались к двум нижним пинам разъема, см. рисунок):

  1. «Переобуваем» провод в трехпиновый корпус – самый лучший вариант, если есть такие корпуса
  2. Подрезаем один из двух ключевых выступов корпуса разъема на проводе так, чтобы он правильно вошел в разъем на плате (в два нижних пина на соответствующем разъеме)

Извлечение штатной платы

Перед отсоединением разъемов от платы, не забудьте пометить удобным способом провода, на которых нет заводских меток.

  • Отключаем питание принтера
  • Снимаем крышку с корпуса электроники
  • Отключаем вентилятор охлаждения от платы
  • Аккуратно удаляем термоклей со всех разъемов
  • Отключаем все провода от платы
  • Откручиваем плату от корпуса электроники
  • Откручиваем корпус электроники от рамы принтера (один из винтов находится снизу, под принтером).

Установка Джамперов в режим UART


  • Убираем с платы все джамперы
  • Устанавливаем пять джамперов возле площадок драйверов (включает управление по UART)
  • Устанавливаем один джампер в центре платы на два левых контакта (INT +5V отвечает за режим питания контроллера – от внешнего БП). Правая пара контактов отвечает за питание по USB.

Подключение SKR 1.3


Схема подключения проводов и установки джамперов на плате SKR 1.3. В дефолтной конфигурации Ender-3 с одним экструдером. Щелкните, чтобы посмотреть в полном размере.
  • Устанавливаем драйвера: черные ножки в черные разъемы, цветные ножки (они могут быть синими или красными) в красные разъемы. Если дрова поставить вверх ногами – дровам кирдык.
  • Хотя сама плата запускается от 5 V по USB, драйвера не будут работать без подключенного основного питания 24 V, и на дисплее будет отображаться TMC connection error.
  • Теперь подключаем все провода в соответствующие разъемы платы (внимание на полярность!), для этого может потребоваться немного распотрошить жгут проводов.
  • Вентилятор обдува детали подключаем в разъем FAN,
  • Вентилятор охлаждения электроники – в разъем 12/24 V (в самом углу платы, возле разъема ШД оси X)
  • Вентилятор охлаждения радиатора печатной головы – в разъем нагревателя второго хотенда HT1 (винтовая колодка) если у нас только 1 хотенд, иначе параллельно вентилятору охлаждения электроники.
  • Экран подключаем в разъем EXP1,
  • Провода концевиков – в трехпиновые разъемы Xmin, Ymin, Zmin на плате,
  • Остальное подключается очевидным образом

Прошивка

Дисклеймер

Данный раздел предполагает, что Вы знаете, как конфигурировать прошивку Marlin.
Здесь будут описаны только специфические настройки для платы SKR 1.3 и драйверов TMC2208 с управлением по UART, а также несколько других полезных твиков.
Если Вы не знаете как конфигурируется прошивка, как устанавливаются размеры области печати, шаги по осям, ускорения и прочие основные параметры принтера – для начала обязательно изучите эту информацию, например по видео Дмитрия Соркина, и только после этого продолжайте.

В качестве отправной точки крайне советую использовать конфигурационные файлы для Ender-3 из папки с примерами, это избавит от необходимости конфигурирования концевиков, направлений моторов, зоны печати и прочих важных вещей – там это уже сделано. Здесь эти настройки рассматриваться не будут.

Главный смутьян

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

17HS4401.jpg

Для начала разновидности двигателей Nema17.

17HS4401 ток 1,7A – обычные
17HS8401 ток 1,8А – более мощные
17HS4402 ток 1,3A – по некоторым сведениям менее шумные, чем 17HS4401

nema17.jpg

Nema17BH 42BHM(42BYG) - в архиве: Nema17 - (описание и параметры разновидностей ШД)

(здесь важен ток двигателя, для дальнейших расчетов).


А4988
Встречаются варианты разного цвета.

Поэтому нужно обращать внимание не на цвет, а на микросхему драйвера.

Drv-A4988.jpg

Схема и распиновка:

Назначение контактов драйвера A4988
ENABLE – включение/выключение драйвера
MS1, MS2, MS3 – контакты для установки микрошага
RESET - cброс микросхемы
STEP - генерация импульсов для движения двигателей (каждый импульс – шаг), можно регулировать скорость двигателя
DIR – установка направление вращения
VMOT – питание для двигателя (8 – 35 В)
GND – общий
2B, 2A, 1A, 1B – для подключения обмоток двигателя
VDD – питание микросхемы (3.5 –5В)

Значение микрошага устанавливается комбинацией сигналов на входах MS1, MS2, и MS3. Есть пять вариантов дробления шага.
MS1 MS1 MS1 Дробление шага
0 0 0 1
1 0 0 1/2
0 1 0 1/4
1 1 0 1/8
1 1 1 1/16

Для работы в режиме микрошага необходим слабый ток. На модуле A4988 поддерживает тока можно ограничить находящимся на плате потенциометром. Драйвер очень чувствителен к скачкам напряжения по питанию двигателя, поэтому производитель рекомендует устанавливать электролитический конденсатор большой емкости по питанию VMOT для сглаживания скачков. Внимание ! - Подключение или отключение шагового двигателя при включённом драйвере может вывести двигателя и драйвер из строя.

Настройка Vref для A4988

Формула Vref для A4988 изменяется от номинала токочувствительных резисторов(Rs). Это два черных прямоугольника на плате драйвера. Обычно подписаны R050(номинал - 0.05 Ом) или R100 (номинал - 0.1 Ом).

Vref = Imax * 8 * (Rs)
Imax — ток двигателя;
Rs — сопротивление резистора. В моем случае Rs = 0,100.

Для 17HS4401 Vref = 1,7 * 8 * 0,100 = 1,36 В.

В связи с тем что рабочий ток двигателя равен 70% от тока удержания. Полученное значение нам нужно умножить на 0,7. В противном случае двигателя в режиме удержания будут сильно греться.

Для 17HS4401 Vref ист. = 1,36*0,7 = 0,952 В.
Обычно Vref ставят ниже, для снижения температуры нагрева шагового двигателя.
Исходя из этого, при длительной работе, на практике можно использовать коэффициент 0,6
Получается для Для 17HS4401, с током 1,7А Vref = 1,7 * 8 * 0,100*0,6=0,816 (0,82)

DRV8825
Плата создана на базе микросхемы компании TI (Texas Instruments Inc.) DRV8825 - биполярном шаговом драйвере двигателя. Расположение выводов и интерфейс модуля почти совпадает с драйвером шагового двигателя Pololu на микросхеме A4988, поэтому DRV8825 может стать высокопроизводительной заменой этой платы во многих приложениях.

Схема:

Характеристики:
шаг:1, 1/2, 1/4, 1/8, 1/16, 1/32.
Регулировка тока на обмотках двигателя, переменным резистором опорного напряжения.
Источника питания для двигателей от 8,2 В до 45 В.
Встроенный регулятор напряжения для логических цепей. Возможность подключения к логике как 3,3 В, так и 5 В.
Защита от перегрева (отключение при нагреве драйвера 150 градусов).
Защита по превышению тока обмоток.
Защита по пониженному напряжению.
Защита от короткого замыкания на землю.
При токе до 1,5 А на обмотку способен работать без радиаторов и дополнительного охлаждения.

Drv8825_vref.jpg

Регулировку тока двигателя следует производить выставив переменным резистором опорное наряжение (на выводах 12,13 микросхемы или на "среднем контакте резистора") из расчета 1 к 2, т.е 0,5В соответствует 1А, напряжению 1В соответствует 2А.
Обратите внимание, что переходное отверстие (золотистое) на плате, возле выводов 12,13 не является контактом для проверки опорного напряжения, это линия питания двигателей.

Режим микрошага устанавливается путем подачи "1" на контакты MODE0, MODE1, MODE2. (В случае установки драйвера на RAMPS это перемычки MS1, MS2, MS3)

M0 M1 M2 Режим микрошага
не стоит не стоит не стоит полный
стоит не стоит не стоит 1/2
не стоит стоит не стоит 1/4
стоит стоит не стоит 1/8
не стоит не стоит стоит 1/16
стоит не стоит стоит 1/32
не стоит стоит стоит 1/32
стоит стоит стоит 1/32

DRV8825 расчет Vref
Current Limit = Vref * 2
Vref = Current Limit / 2

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

Обычно Vref ставят ниже, для снижения температуры нагрева шагового двигателя.

Детальное описание драйверов А4988 и DRV8825 в архиве А4988_DRV8825.rar

Встречалась информация ,что по умолчанию на драйверах DRV8825 выставлен максимальный ток, поэтому регулировка перед началом работы обязательна:
"По умолчанию у красных A4988 опора стоит в 0.8V это 1A ничего плохого не случится, но у DRV8825 опора выставлена в 1.6V -это максимальный ток, в теории 3.2А, по документации DRV8825 рассчитан максимум на 2.5A(2.2А с обдувом), это может повредить, как двигатель, так и драйвер."

Читайте также: