Авторизация
Зарегистрироваться

Драйвера TMC2100 v1.3 от фирмы Fysetc для TEVO BLACK WIDOW


Сказ о том, как я уменьшал шум работающего Tevo Black Widow. Краткий вывод: брать стоит, качество хорошее, работа моторов очень тихая.
P.S. Много информации и картинок


Являюсь счастливым обладателем 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 мм вентилятор от компьютера, который охлаждает плату управления и блок питания. Но радиатор, я бы посадил на термоклей. Что в будущем и сделаю)) Всем удачи и спасибо, что дочитали до конца!
Планирую купить +31 Добавить в избранное +46 +76
свернуть развернуть
Комментарии (53)
RSS
+
avatar
+2
Спасибо за обзор
+
avatar
0
использую эти драйвера без запайки перемычек, работают тихо, опороное напряжение 0.9В, в конфиг марлина инвертирую только и все. плата 8 бит.
+
avatar
  • ACE
  • 08 декабря 2018, 14:24
+1
У TMC'шных драйверов интересная фишка — управление настройками программно. Можно и ток программно регулировать и делать гибридный режим stealthChop на медленных + spreadCycle на повышенных скоростях. Удобно. В обычном режиме печатаешь на нормальной скорости, а на ночь можно на чуть сниженной, но практически бесшумной запускать. Ну и мониторинг перегрева и проблем с двигателями не лишнее. Хорошие драйвера.
+
avatar
  • sir0ta
  • 08 декабря 2018, 14:26
0
НО для этого надо либо SPI подключение, либо UART.
Остальное… я 50 кило пластика отмаслал и о перегревах и прочем и слышать не слышал.
+
avatar
  • ACE
  • 08 декабря 2018, 14:38
0
Подключение да, надо. На том же RAMPS по UART подключается, не сильно сложно.
Ну так я и говорю, фишка интересная, а не необходимая. Когда принтер настроен и работает, можно и не заморачиваться. А гибридный режим мне лично полезен.
+
avatar
  • u3712
  • 08 декабря 2018, 14:25
0
Вообще, это хорошая идея. Если «программа» оперирует только с шагами 1/1 или 1/2, а формирователь самостоятельно их интерполирует во много раз, то это =и= уменьшает шум (резонансы &etc), =и= обеспечивает отсутствие сползания координат. Если программа оперирует (ссылается) микрошагом больше 1/2, то положение мотора при остановке может (а так и есть) не совпадать с текущим по мнению программы. Нюанс в том, что «устойчивых» положений ротора не бесконечное число и при остановке ротор обязательно провернется в ближайшее устойчивое положение. Ошибки «округления» хоть и случайны и должны-бы скомпенсироваться в 0 при долгой работе… но в фрезерах довольно часто любят фрезеровать платы. Т.е. шпиндель опускается на одну и ту-же высоту. И вот тут микрошаг уже может начать накапливаться в одну сторону. И, как-бы, наблюдается сход по оси Z от поверхности платы. Что неприятно, уход маленький, но и надо уйти немного, чтобы фреза вышла из меди (или вошла).
Так что — спасибо, интересный «драйвер». И решение интересное.
+
avatar
  • Sanja
  • 08 декабря 2018, 15:43
0
Trinamic TMC2130 по SPI-шине умеют сообщать драйверу о факте пропуска шага…
+
avatar
  • sir0ta
  • 08 декабря 2018, 15:17
0
Кста, убери змейку на кабеле на X и если есть на Y. Станет еще тише ))) И легче ) А те 5 проводов — бл тач? Сам делал? Зачем 5, там 2 земли ))) я из земли около z-min сделал ключик и все собрал на целую пластину. теперь блтач по другому ни как не подключить )
+
avatar
  • Maxy74
  • 08 декабря 2018, 21:39
0
Да для бл тач. Мне не понравилось. Лучше один раз стол настроить на винтах и забыть;)
+
avatar
  • Sanja
  • 08 декабря 2018, 15:40
+5
Брали бы сразу TMC2130 — в них ток можно подкручивать программно, по SPI-шине, без риска коротнуть отвёрткой драйвер или спалить плату:

+
avatar
  • Maxy74
  • 08 декабря 2018, 21:41
+1
Отвёртка с керамическим наконечником. Удобство, не надо лазить в прошивке.
+
avatar
  • VlaoMao
  • 09 декабря 2018, 09:44
+1
Зато можно программно переключать режимы и ток. Прошить то там тоже надо по сути один раз, потом все через gcode
+
avatar
  • Sanja
  • 09 декабря 2018, 13:57
+1
В прошивке «лазить» не требуется, драйвер сам регулирует режимы, например, при высоком jerk.
Стартовое значение тока выставляется командой через g-code. Другой командой по SPI-шине можно получить подробный отчёт.

Самое вкусное в TMC2130 — это то, что они могут ловить факт перегрузки по току и выдавать сигнал на выходе.Можно выкидывать механические концевики.
+
avatar
-8
+
avatar
-3
10 каментов и 6 минусов, видать реально люди знают зачем им все это и покупают…
+
avatar
  • sir0ta
  • 08 декабря 2018, 17:10
+5
Просто кому-то было в падлу прочитать и немного подумать, а он просто написал. все вроде закономерно.
+
avatar
  • mst12
  • 08 декабря 2018, 21:16
+1
Я тоже по заголовку топика ничего не понял.Пришлось нырять в обзор чтоб понять что речь о термопринтере.
Вполне можно было в заголовок пару слов добавить.Это же не профильный форум.
+
avatar
-1
забей… я все прочитал, но я не гуру!!! а все остальные знают что и по чем… это муська мэн)))
+
avatar
0
Тема хорошая, и 2130 и 2208.
+
avatar
+2
У меня 4 клиента — станочники. Правда станки фрезерные по дереву (мощности там поболее).
Все 4 клиента в компах «ни в зуб — ногой». У всех 4-х станки и программы, разные, поперву они мне кровь попили.
У первого была одна проблема, когда-как начинал доску «запиливать», в разнобой, то с начала, то с середины… Заставил клиента сделать нормальное заземление в огороде. Потом сам подключил каждое устройство на точку земли. Всё устаканилось.
Эту тему надо учитывать, особенно тем у кого розетки 2хпроводные (старый фонд).
После этого с остальными тремя станками уже было проще. Но, каждый раз как приезжаешь на какой-нибудь станок, так начинаешь вспоминать его «больные места» и особенности…
+
avatar
  • WHALE
  • 08 декабря 2018, 19:21
+1
Какой смысл в дроблении шагов и каким образом это влияет на шум?
+
avatar
0
Если у перфоратора увеличить кол-во ударов за единицу времени, то получится ударная дрель. И она будет не стучать, а жужжать.
+
avatar
  • WHALE
  • 08 декабря 2018, 20:08
0
жужать громче? )
+
avatar
  • Maxy74
  • 08 декабря 2018, 21:43
0
Почитайте, что такое интерполяция. Надеюсь поймёте, а то тут долго расписывать)))
+
avatar
  • WHALE
  • 08 декабря 2018, 22:42
+1
интерполяция тут каким боком? вы хоть знаете что это слово обозначает?
+
avatar
  • DimaDSP
  • 08 декабря 2018, 23:04
+2
Самым непосредственным
+
avatar
  • ACE
  • 08 декабря 2018, 21:07
+2
Во-первых, изначально смысл дробления шагов — повышение точности. При ременном приводе один оборот двигателя перемещает сопло на 3-4 сантиметра. При 200 шагов/оборот двигателях получится дискретность позиционирования 0.2мм, что многовато.
Во-вторых, мелкие шаги производят меньше шума. Хоть они и чаще, в сумме шума меньше. Ротор двигателя имеет инерцию. На мелких шагах это немного сглаживает каждый шаг. Всё равно как человеку перемещаться большими прыжками или шагать ровно.
В-третьих, при делении оборота двигателя на 102400 шагов, частота шагов уже уходит из слышимого диапазона.
А в stealthChop режиме питание на обмотки двигателя идёт, судя по презентациям разработчиков, в виде очень близком к синусоиде, получается фактически плавное равномерное вращение, не создающее шума.
+
avatar
  • WHALE
  • 08 декабря 2018, 22:46
-3
+++Во-первых, изначально смысл дробления шагов — повышение точности
Это если прога поддерживает такие шаги если нет — пофигу дробит он или нет или еще чего делает (мож за пивом бегает? )

+++Во-вторых, мелкие шаги производят меньше шума. Хоть они и чаще, в сумме шума меньше.

С какого перепугу то меньше? Что значит шаги? Те вместо 1 шага делает 100 шагов со стоянкой между ними?

+++ На мелких шагах это немного сглаживает каждый шаг

Что это за бред? кто чего сглаживает?

Единственное объяснение уменьшения шума (если такое было) у топикастера — увеличение частоты шима и выхода за звуковой диапазон.
+
avatar
  • ACE
  • 08 декабря 2018, 23:37
+3
С какого перепугу то меньше?
Что это за бред? кто чего сглаживает?
Те вместо 1 шага делает 100 шагов со стоянкой между ними?
Момент инерции ротора сглаживает дерганье. Да, вместо одного делает 100. Но чем чаще идут шаги, чем на меньший угол поворачивается магнитное поле на каждый шаг, тем меньшее ускорение и торможение ротор получает. Если на полном шаге поле поворачивается резко, статор набирает скорость, потом пролетает нужное положение, тормозится, возвращается назад, получаются затухающие колебания. Потом следующий шаг. При микрошаге поле поворачивает ротор на небольшой угол, ускорение меньше, путь одного микрошага составляет 1/100 от обычного, ротор не успевает набрать высокую скорость и сильно перелететь следующее положение. Движения сглаживаются.
Если и такое объяснение не устраивает, то я сдаюсь.
+
avatar
  • WHALE
  • 09 декабря 2018, 00:38
-1
В этом случае драйвер должен генерировать синусоиду или что то подобное но синхронно с частотой основного шага, вы уверены что он так может делать? те скорость поворота поля должна быть синхронно с частотой шага а он я так понимаю разный бывает те драйвер должен предсказывать длительность следующего шага.
+
avatar
  • ACE
  • 09 декабря 2018, 04:26
+1
До 1/16 (иногда 1/32) шаги разбивает софт принтера, даже при использовании сабжевого драйвера. Это уже неплохо аппроксимированная синусоида, а далее проще. Соседние шаги на равномерной скорости вращения одинаковые. Разгон-торможение двигателя тоже ограничивают программно (максимальное ускорение), так что длительность шага меняется не слишком резко. Если ошибку предсказания прошедшего шага компенсировать на следующем, то внешне это и не заметить, подумаешь двигатель на какие-то десятые или сотые доли градуса временно отставать или опережать будет. Ошибка всё равно будет меньше, чем если дергать двигатель на программный шаг разом.
+
avatar
  • WHALE
  • 09 декабря 2018, 09:00
0
скорее всего у драйвера есть память на один шаг те он управляет мотором с задержкой на 1 шаг тогда да можно разбить все внутри драйвера
+
avatar
  • Brendon
  • 08 декабря 2018, 19:52
0
Интересные драйверЫ, надо будет и себе прикупить, спасибо.
+
avatar
  • Maxy74
  • 08 декабря 2018, 21:45
0
Они того стоят)) Тишина, советую, я не сколько не пожалел!
+
avatar
  • vovbel
  • 08 декабря 2018, 20:18
0
Спецы, посоветуйте хороший ресурс по самодельным принтерам и фрезерам… никак не пойму, почему нельзя сделать железо универсальное для принтера и фрезера и только голову перевешивать… и почему нет стандартизации по управлению железом?..
+
avatar
+2
Вы ещё все страны заставьте электророзетки свести к одному стандарту.
А всех станочников к одному размеру — станка ;)
+
avatar
+1
Дык учитывая новости про гибкие смартфоны, то почему и нет:))
А так, подумаешь что у 3д принтера и у фрезера совершенно разные требование к жескости, это пофиг:))
+
avatar
  • vovbel
  • 08 декабря 2018, 20:51
0
Я изначально говорю о домашнем настольном агрегате… Что дешевле 2 конструкции или одна качественная и жёсткая?.. Хотя бы железо станины и управление можно сделать универсальным?

Вот именно- использовать, что лучше, более жёсткую конструкцию… Идея моя состоит в том, что бы иметь дома 1 универсальное устройство, ведь у них есть общее?..

Поставлю вопрос по-другому-можно на фрезере сделать 3Д принтер?..
+
avatar
  • ACE
  • 08 декабря 2018, 21:10
+1
Основная проблема — требуемая скорость перемещения. Фрезер на ременной передаче не сможет приложить достаточное усилие. А принтер на винтовой передаче будет печально медленным. Сделать быструю и сильную платформу, наверное, можно, но будет очень дорого.
+
avatar
  • vovbel
  • 08 декабря 2018, 21:14
0
А где можно об этом почитать поподробнее?..
+
avatar
  • ACE
  • 08 декабря 2018, 21:36
0
Увы, ничего посоветовать не могу. Не уверен что кто-то где-то вообще что-то базово-теоретическое пишет. Многие вещи проще понять на практике, стоит только собрать (или даже купить) принтер или небольшой ЧПУ станочек. Либо читать тематические форумы, но там со структурированностью информации проблемы. Можно отдельно найти скорость перемещения при печати, при обработке, к примеру, древесины, поискать максимальную скорость вращения для популярных шаговых двигателей, посчитать коэффициенты передачи для винтовых и ременных передач. Прикинуть всё вместе…
+
avatar
0
Попадался мне во время учебы замечательный трехтомник «Электроприводы металлорежущих станков». Там и механика, и ЧПУ и все на свете.
+
avatar
0
Тут не все однозначно, все фрезеры перемещают оси либо винтами, либо рейками через редукторы. Там скорости не нужны, но нужна сила, двигать всю конструкцию при фрезеровке.

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

Сделать на одной раме фрезер\принтер\лазер — ноль проблем, по сути одно и тоже все, меняй навеску, но вопрос в жертвах скорости. Шаговые движки сильно ограничены в скорости вращения, момент падает при увеличении скорости.
+
avatar
  • vovbel
  • 08 декабря 2018, 21:30
0
А кто то реально пробовал скрестить, может есть нестандартные решения механики?
Как обозвать то такое устройство при поиске?..
+
avatar
  • ACE
  • 08 декабря 2018, 21:42
+1
Нестандартно можно попытаться сделать не на шаговых двигателях, а на сервоприводах. У них в теории и скорость и сила может быть. И, может быть, можно будет использовать переключаемый редуктор. Но дорого, наверняка шумно и ещё проблемы вылезут. Дешевле отдельно принтер, отдельно CNC под конкретные задачи. Можно одно на другое поставить, если проблема в месте.
Можно поискать «3d принтер и чпу в одном» «3d printer cnc» «cnc 3-in-1»
+
avatar
+1
С языка снял. На сервачах в принципе задача решаема, но готовь кошелек. У меня дома валялось 2 комплекта яскав, один на 700Вт, продал за 100к. р., второй 100 ваттных, ушел за 30. Это только моторы и сервоконтроллеры, 3шт. Я покупал для своих задачь, очпушить большой промышленный фрезер по металлу, но потом собрал по дереву на больших шаговиках и винтах и на сервах перегорело (желание отпало), долго валялись без дела. Гораздо бюджетнее, как отписался автор выше иметь каждый станок под свои задачи, как не прискорбно.

Да, сервы очень тихие, на заметку. Главное разгон делать плавный, а то 700 ватт с места если тысяч на 5 раскрутить, он сантиметров на 30 подпрыгнуть может :-D Я когда первый раз их включил для проверки, чуть по зубам не словил )
+
avatar
  • ACE
  • 08 декабря 2018, 22:12
+1
Круто, завидую, я о таком только читал, у меня сильно любительский уровень.
Под шумом я имел ввиду не столько серву (тут не знал), сколько механику итоговую. Винтовые передачи (да и рейки с редукторами) наверняка будут громче, чем ремень, при принтерных скоростях.
+
avatar
0
А таки назовите нам тип электродвигателя, у которого не падает ;)
Векторное управление (которое реализовано в ТМС2130) — и шаговик спокойно крутится до n+1 тыс. об/мин. Вопрос в том, что нельзя резко его тормозить — будут пропуски. Но это вопрос настройки прошивки.
+
avatar
0
+
avatar
  • DimaDSP
  • 08 декабря 2018, 22:42
0
Управлял парой таких по SPI на X и Y. Периодически (очень похоже, что при смене направления движения головы) раздавался нехилый короткий «скрежет» и происходил сдвиг. Когда стоял только один драйвер, то звуков и сдвигов не было. Приехал третий для тестов по выявлению виновника и я лоханулся при пересборке. Сейчас пока гоняю на A4988, но очень хочется тишины опять. Такой был кайф, когда он тихо-тихо печатал. Чуть работа «отпустит», буду мучать дальше.
+
avatar
+1
Надо было 2130 покупать. Один раз по SPI запрограммировать — и забыть. 2100 более дубовые, но, по-моему, можно через UART достучаться. Но настроек точно меньше. И датчика тока нет, только компаратор.
+
avatar
  • Reaper5
  • 10 декабря 2018, 08:56
+1
Тоже такие купил, буду на НГ свой принтер апгрейдить.
Спасибо за обзор.

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.