Как настроить ток на драйверах tmc2208
. прошил марлин(в котором есть управление драйверами)выключил тихие режимы все гоняет до 150 мм\сек(9000мм\мин).
Sergey89765
Sergey89765
МЕСТНЫЙ
Sergey89765, post: 63969,
Ваша плата умеет включать драйвера в тихий режим и обратно(по уарту)?
как я понял, плата отрабатывает подачи 1000 и более нормально, а драйвера не тянут?
Если да, то собственно у меня здесь, последние страницы, описывалась таже беда, только с тмс2209, до скоростей 50мм\сек все хорошо, выше рывок и остановка с жужжанием, прошил марлин(в котором есть управление драйверами)выключил тихие режимы все гоняет до 150 мм\сек(9000мм\мин).
Есть плата, на которой можно попробовать с марлином, в том числе и с uart-ом. Тихий режим, вы имеете ввиду переключение StealthChop и SpreadCycle? Я поэкспериментирую. Но на 3д принтере отлично работают такие драйвера и без управления по uart, в "тихом" режиме.
Собственно я спрашивал, вдруг кто-то уже разобрался в сути проблемы.
extrimus
extrimus
МЕСТНЫЙ СТАРОЖИЛА
Дык и на фрезере работает, вопрос - с какой подачей?
Мои шаговики без нагрузки с отсоединенным винтом и на 5000 см/сек спокойно крутятся, выше не пробовал. Не забывайте про вес оси Z вместе со шпинделем. У меня это около трех кг.
d007q
d007q
ЗНАЕТ ЧТО ГОВОРИТ
выложу свои метания еще раз. Сначала поставил драйвера тмс2209 на МЕГу+РАМПС, на первом марлине(без управления по уарт), скорости не более 60мм\сек(на а4988 спокойно идет до 180мм\сек). То-же на прошивках Репитер. Поставил плату SKR1.3, прошивка Смузи, прошивка уарт не умеет, тоже самое. Накатил Марлин2 на SKR1,3, пока не включая управление - более 60мм\сек подача срываеться и трещит. Включил УАРТ, настроил движки(ток 1,5а), выключил STEALTHCHOP_XY, поставил CHOPPER_TIMING CHOPPER_DEFAULT_24V(не понял, что это..), выключил HYBRID_THRESHOLD. моторы стали вертеться до 180мм\сек..
Sergey89765
Sergey89765
МЕСТНЫЙ
выложу свои метания еще раз. Сначала поставил драйвера тмс2209 на МЕГу+РАМПС, на первом марлине(без управления по уарт), скорости не более 60мм\сек(на а4988 спокойно идет до 180мм\сек). То-же на прошивках Репитер. Поставил плату SKR1.3, прошивка Смузи, прошивка уарт не умеет, тоже самое. Накатил Марлин2 на SKR1,3, пока не включая управление - более 60мм\сек подача срываеться и трещит. Включил УАРТ, настроил движки(ток 1,5а), выключил STEALTHCHOP_XY, поставил CHOPPER_TIMING CHOPPER_DEFAULT_24V(не понял, что это..), выключил HYBRID_THRESHOLD. моторы стали вертеться до 180мм\сек..
Сейчас проверил у себя. Драйвер 2209, плата mks robin nano (stm32f103), драйвер подключен по uart для изменения режима работы. Marlin 2.0.6.1
Настройки шагов такие же, как на фрезере - деление 1/16, 800 шагов на мм. Ток установлен в 800мА. К плате подключен один мотор, без всякой нагрузки.
Двигаю командой G1 X300 F1000
Режимы переключаю принудительно командой M569
Драйвер в режиме Stealthchop (тихий режим) - на скорости 1200 работает, на скорости 1500 начинает "затыкаться", на 2000 уже не работает.
Драйвер в режиме SpreadCycle (громкий режим) - работает на скорости 5000.
Вообще говоря, драйвер можно принудительно переключить в режим SpreadCycle, но это необратимая операция. Можно подключить его через usb-uart и прописать эту настройку в OTP (один раз программируемую) память.
Все это конечно здорово и интересно, но я не нашел в даташите конкретного указания, что Stealthchop работает до какой-то конкретной частоты, а дальше переключайте в SpreadCycle.
Добавлю: в Marlin похоже знают про такое поведение этих драйверов, потому что там есть режим HYBRID, когда ниже заданной скорости драйвер работает в Stealthchop, а выше в SpreadCycle.
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил написать о том, как правильно настроить ток для шаговых двигателей применительно для драйверов TMC.
Так как не нашел внятного описания как правильно настроить токи на данных драйверах, нашел всю необходимую информацию и решил написать о том как это сделать.
В данной статье я постараюсь максимально подробно и с примерами описать данную процедуру.
И так, для начала определимся с терминами:
Vref - Напряжение замеряемое вольтметром между пином Vref и GND от 0 до 2,5 вольт.
Irms - Постоянный ток подаваемый на двигатели.
Imax - Пиковый ток подаваемый на двигатели.
Произведем необходимые расчеты:
Формула для расчета напряжения Vref из постоянного тока 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 можно использовать вход на плату с блока питания.
Пины на TMC2100:
Пины на TMC2130:
Пины на TMC2208:
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
При замене драйверов необходимо выставлять правильное опорное напряжение, оно же Vref. Драйверы шаговых двигателей — это небольшие чипы, отвечающие за управление приводами на 3D-принтерах, лазерных граверах и других станках с ЧПУ. По сути, они контролируют подачу тока на двигатели.
A4988, TMC2208 и TMC2209 — распространенные драйверы, устанавливаемые на сменные модули или распаянные непосредственно на платах управления. Сменные модули разнятся от производителя к производителю, но, как правило, имеют схожую форму и совместимую распиновку. Отдельно отметим, что ряд управляющих плат поддерживает программное управление током, для них эта статья неприменима.
В этой статье мы разберемся шаг за шагом с расчетом важной настройки в шаговых двигателях — опорного напряжения или Vref. Инструкции затронут широко распространенные драйверы A4988, а также более продвинутые TMC2208 и TMC2209.
Что такое Vref
Vref означает «опорное напряжение» и измеряется в вольтах. На практике Vref определяет максимальный ток двигателя, точная настройка этого параметра важна для обеспечения правильного функционирования и длительной эксплуатации как драйверов, так и моторов.
У каждого шагового двигателя есть оптимальный диапазон тока. Слишком низкое значение может привести к пропуску шагов и возникновению дефектов в виде сдвига слоёв или пропусков подачи (для экструдера). С другой стороны, слишком высокое может привести к перегреву драйверов, это тоже приводит к пропуску шагов; также превышение допустимого тока может вывести из строя двигатель.
Что понадобится
Чтобы рассчитать правильное значение Vref для конкретного драйвера, первым делом необходимо выяснить значение номинального тока двигателей. Эта информация обычно предоставляется производителем, хотя для некоторых двигателей ее может быть сложно найти.
Сообщество RepRap поддерживает детализированную базу данных по наиболее распространенным двигателям NEMA 17. Здесь можно найти необходимую информацию по маркировке на корпусе мотора. В качестве примера мы будем использовать NEMA 17 42SHDC3025-24B, согласно базе данных рассчитанный на ток силой 0,9 A.
Для настройки значения Vref непосредственно на плате потребуются насколько инструментов:
• материнская плата 3D-принтера или ЧПУ-станка с источником питания;
• пластиковая или керамическая отвертка, обычно на 1,5 мм.
Драйверы A4988
A4988 — один из наиболее распространенных типов драйверов в настольном оборудовании, включая 3D-принтеры. Эти чипы разработаны компанией Allegro MicroSystems и пользуются популярностью ввиду дешевизны.
Как рассчитать Vref
Опорное напряжение рассчитывается по простой формуле:
Vref = I x 8 x Rsense
I — это номинальный ток мотора, а Rsense означает сопротивление токоизмерительного резистора. Rsense — постоянное значение, которое можно определить по маркировке на плате.
Сопротивление токоизмерительных резисторов варьируется от производителя к производителю, обычно в пределах 0,05-0.2 Ом. Найдите два резистора, как показано на иллюстрации выше. В нашем случае это резисторы R100 с сопротивлением 0,1 Ом.
Хотя мы будем использовать шаговый двигатель с номинальным током 0,9 A, выставлять максимальное значение не следует. Желательно понизить силу тока хотя бы на 10%, что в нашем случае означает примерно 0,8 А.
Vref = 0,81 х 8 х 0,1 = 0,64 В
Как настроить Vref с помощью потенциометра
Значение Vref мы рассчитали, осталось выставить его на драйвере. Платы драйверов A4988 оснащаются потенциометрами специально для этой цели.
Как это делается:
1. Установите драйвер на плату контроллера, не подключая питание. Если вы имеете дело с Ramps 1.4, не забудьте заодно подсоединить Arduino Mega.
2. Подайте питание на плату через VDD и GND, но не USB.
3. Выставите на мультиметре напряжение постоянного тока и правильную шкалу — в районе 2 В.
4. Коснитесь черным щупом GND, как показано на иллюстрации выше.
5. Красным щупом осторожно коснитесь потенциометра драйвера, чтобы измерить Vref.
Будьте аккуратны при работе с красным щупом: касание не в том месте потенциально может закоротить драйвер или контроллер.
Настройка тока драйверов осуществляется при отключенных моторах.
Теперь мы знаем текущее значение Vref и можем подогнать его под рассчитанное ранее с помощью отвертки. Это операцию может потребоваться провести несколько раз, внося изменения и проверяя результаты, пока не будет получено необходимое значение.
Если вы используете отвертку с пластиковым или керамическим кончиком, можно подкручивать потенциометр при подключенном питании без риска повреждения платы. Если же кончик металлический, лучше не рисковать и отключать питание во время настройки, а затем снова подключать питание для замера нового значения.
Направление вращения потенциометра зависит от производителя, поэтому в первой попытке ограничьтесь лишь небольшой корректировкой в ту или иную сторону и проверьте результат, чтобы понять в какую сторону крутить до необходимого значения.
Повторите операцию, пока не получите значение, максимально близкое к расчетному. Имейте в виду, что выставить абсолютно точное значение может быть трудной задачей, но чем ближе, тем лучше.
Дальше остается только проделать то же самое с остальными драйверами.
Драйверы TMC2208 и 2209
Драйверы с обозначениями TMC разработаны компанией Trinamic Motion Control. TMC2208 и TMC2209 — очень тихие варианты, поддерживающие дробление шагов до 1:256. Будучи современными драйверами они могут функционировать как самостоятельно, так и в режиме UART.
В режиме UART ток двигателя можно настроить через прошивку, а в самостоятельном режиме изменения необходимо вносить вручную. Процесс довольно схож с настройкой драйверов A4988.
Как рассчитать Vref
Процедура расчета Vref одинакова для TMC2208 и TMC2209. Формула выглядит вот так:
Irms — среднее квадратичное значение тока, а Rsense — сопротивление токоизмерительного резистора.
Значение Rsense можно выяснить по маркировке, точно так же как с A4988, только на этот раз ищите резисторы на нижней стороне платы. Чтобы рассчитать Irms просто поделите ток шагового двигателя на 1.4 (квадратный корень из двух).
Для иллюстрации процесса давайте рассчитаем Vref драйвера TMC2209 от BigTreeTech в связке с шаговым двигателем на 0,9 А. Имейте в виду, что максимальное значение тока для TMC2208 не должно превышать 1,2 A.
Rsense для этого драйвера — 0,11 Ом, так как используются резисторы R110. В нашей формуле используются миллиомы, так что берем 110 мОм. Ради безопасности силу тока вновь снижаем примерно на 10% от максимальной и получаем 0,8 А.
Дальше считаем по формуле и получаем значение Vref равное 0,8 В.
Как настроить Vref с помощью потенциометра
Ручная настройка Vref для TMC2208 и TMC2209 выполняется таким же образом, как для A4988, с той лишь разницей, что красным щупом необходимо замерять в другом месте. Где щупать — показано на иллюстрации выше, на всякий случай все же сначала проверьте документацию от производителя.
Все остальные шаги и рекомендации по настройке Vref на TMC2208 и TMC2209 точно такие же, как для A4988.
Перевод статьи Vref Calculator: How to Tune Your Stepper Driver. Оригинал размещен на сайте All3DP по этой ссылке.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Являюсь счастливым обладателем Tevo Black Widow с драйверами DRV8825 и управляющей платой MKS Gen v1,4. Из коробки, принтер печатает хорошо на скорости 60 мм/с. Но был у принтера один изъян, звук работающего принтера был слышен в соседней комнате. Источником самого большого шума, были шаговые двигатели. И вот солнечным днём, я сел за выбор новых драйверов. Я выбирал из трех моделей TMC2100, TMC2130 и TMC2208. В профильной группе в контакте, пользователи советовали устанавливать TMC2100, так как они не видели большую разницу в качестве печати между этими моделями. При том TMC2100 устанавливаются и настраиваются очень даже легко.
Драйвера куплены за свои кровные. Продавец отправил заказ быстро, 17 дней в пути. Упаковка надёжная. И вот уже бегу с Почты России, счастливый домой.
Посылка пришла в пакете. Внутри коробка, а там пластиковый футляр с драйверами, отвёрткой и радиаторами. Фото распаковки, потерялось((
Немножко теорий. Прошивка знает, что на единицу расстояния нужно какое-то количество шагов. А драйвер эти шаги делит в основном на 16 или 32. Просто для примера, у шагового двигателя 1 шаг это 0,9 градусов, т.е. на один полный оборот 400 шагов. Но эти шаги весьма крупные. Поэтому драйвера поддерживают микрошаги и получается, что при настройке 1/16, на один шаг двигателя, прошивка должна сгенерировать 16 шагов, в этом случае на полный оборот двигателя нужно сгенерировать 400*16 = 6400 шагов.
А с TMC2100 немногая другая ситуация, если сравнивать с DRV8825. TMC2100 интересен самостоятельным дроблением микрошага 1/16 до 1/255. Драйвер умеет шаги от прошивки ещё дробить на более мелкие шаги, тем самым снижая шум и снимая нагрузку на контроллер платы. Т.е. плата при 1/16 на полный оборот двигателя генерирует 6400 шагов. А в реальности драйвер превратит это в 102 400 шагов. Для платы это очень много и требует кучу ресурсов, а так драйвер берёт эту работу на себя.
Начнём установку. Прежде всего, вынимаем старые драйвер. Убираем все перемычки. Эти перемычки по сути просто замыкают определённые выводы драйвера и меняют режим его работы.
Старые драйвера DRV8825 работали в режиме 1/32 шага.
Режим работы на TMC2100 меняется на самом драйвере, то на плате перемычки просто не нужны.
Драйвер имеет две технологии. stealthChop – очень тихое и плавное управление, но могут возникать пропуски микрошагов, слои могут смешаться относительно друг друга. spreadCycle движение чуть громче, но нет пропусков. Берём паяльник и соединяем GND и CFG1.
Подключаем принтер к компьютеру и открываем прошивку. Скачиваем самую свежую прошивку Marlin 1.1.8. Закомментируем строчку со старым драйвером, и раскомментируем с новым в разделе Configuration.h.
Конфигурация автоматически инвертирует направление шаговых двигателей под драйвер.
И делит в два раза шаги.
Тут же, чуть ниже меняем язык на родной.
Клеем сверху радиатор и устанавливаем на плату. При настройке напряжения, рекомендуется отсоединить двигатель от драйвера. Т.к. мы не знаем с каким напряжением нам его выслали.
Расчехляем мультиметр и ставим его в режим измерения напряжения. Подсоединяем щупы: минусовой к GND, а плюсовой в специальное отверстие.
Держим одной рукой как китайские палочки щупы мультиметра, второй рукой берём отвёртку (которая шла в комплекте с керамическим наконечником) и крутим подстрочный резистор (потенциометр). Выставляю нужное нам напряжение Vref. Лучше попросить помощи, ещё одна пара рук не помещает!
Напряжение Vref рассчитывается по формулам в зависимости от шагового двигателя, который вы используете. Но в основном подбирается опытным путём.
Irms = (Vref * 1.77A) / 2.5V = Vref * 0.71
Vref = (Irms * 2.5V) / 1.77A = Irms * 1.41 = Imax
Vref = Напряжение на Vref контакте
Irms = RMS (Root Mean Square) ток на фазе (Irms = Imax / 1.41)
Imax = Максимальный ток на фазу (Imax = Irms * 1.41)
Идеально было поставить 1,2 В. Но меня устраивает и 1 В.
Видео работы:
Вывод: драйвера хорошего качества. Все так, как заявляет продавец. Шаговые двигатели стали работать так тихо, что сейчас слышно, как работает 120 мм вентилятор от компьютера, который охлаждает плату управления и блок питания. Но радиатор, я бы посадил на термоклей. Что в будущем и сделаю)) Всем удачи и спасибо, что дочитали до конца!
На форуме периодически всплывают вопросы о драйверах шаговых двигателей и их настройке. Решил разобраться с этим делом для себя, возможно кому-нибудь также пригодится.
Для начала разновидности двигателей Nema17.
17HS4401 ток 1,7A – обычные
17HS8401 ток 1,8А – более мощные
17HS4402 ток 1,3A – по некоторым сведениям менее шумные, чем 17HS4401
Nema17BH 42BHM(42BYG) - в архиве: Nema17 - (описание и параметры разновидностей ШД)
(здесь важен ток двигателя, для дальнейших расчетов).
А4988
Встречаются варианты разного цвета.
Поэтому нужно обращать внимание не на цвет, а на микросхему драйвера.
Схема и распиновка:
Назначение контактов драйвера 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 А на обмотку способен работать без радиаторов и дополнительного охлаждения.
Регулировку тока двигателя следует производить выставив переменным резистором опорное наряжение (на выводах 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А с обдувом), это может повредить, как двигатель, так и драйвер."
Читайте также: