Делаем кубик тихим (драйверы TMC2208)

Подписаться на 3Dtoday
xolodny
Идет загрузка
Загрузка
24.02.18
14336
49
печатает на Kossel Kit
Техничка
41
PREVIEW
Коротко - годная штука.
Брал в FYSETC Official Store на али. С жадности сразу заказал 2 лота по 5 штук. Да и спалил я уже не один драйвер. Личный рекорд - 3 одновременных пыха дорогущих TMC2100.

Мой кубоидный H-bot на драйверах A4988 достаточно громок (резонирует и корпус, и длинный ремень), да и таскать им приходится портал из люмелевого уголка 60х20 на 12-х рельсах (я перестраховщик, да, профессиональная деформация). На пробу были заказаны тихие драйверы. По деньгам при такой партии вышло что-то около 260 целковых за шт.
Пришли упакованными в картонную коробку и в комплекте с керамической отверткой для их регулировки.

Руководство по замене:

Преамбула: у себя на кубике я заменил только на осях X и Y, работа экструдера Titan и оси Z на драйверах A4988 мне как-то больше нравится (крутящий момент вроде как поболе будет, да и то... вообще принтера не слышно станет).

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

2) Запоминаем, как установлены ваши A4988 или DRV8825 (а если у вас были другие, смысл менять их?).

3) Наклеиваем на TMC2208 комплектные радиаторы (у моих чип размещен на "пузе", а радиаторы клеются на плату с обратной стороны).

4) Снимаем ваши старые драйвера с приводов тех двигателей, которые планируем "заглушить" и убираем перемычки под ними. Совсем. На картинке ниже показано, где ставятся перемычки под каждым драйвером. На моей плате MKS GEN V1.4 перемычки находятся аналогично под драйверами.
В статье "Подключаем электронику RAMPS 1.4 к 3D принтеру на примере Mendel90" на этом же ресурсе хорошо все рассказано, для ленивых жоп - ССЫЛКА

5) Совмещая надписи на ножках, ставим TMC2208. Относительно A4988 у TMC2208 находится с противоположной стороны резистор настройки Vref, у моих TMC2208 он находится еще и на "пузе", снизу платы. А для регулировки его в плате проделано отверстие.
PREVIEW
6) Привода TMC2208 имеют обратную полярность питания двигателей, но механически менять направление их вращения (разворотом разъема) смысла нет. Об этом далее.

7) Проверяем еще раз все подключения, не отсоединили ли где чего случайно, не оставили ли перемычки под драйвером (бывает, чо уж там...)

8 ) Подаем питание на принтер.

9) Если на п.8 не появилось запаха дыма и не погорело все синим (белым, красным, зеленым - на выбор) пламенем - продолжаем. Вооружаемся мультиметром и замеряем напряжение между выводами GND (на картинке выше) и контактом подстроечного резистора, доступном через отверстие в плате. На Vref=0.8 В у меня случались пропуски шагов и тестовый кубик превратился в размазанную соплю. Через отверстие комплектной подарочной керамической отверткой подкручиваем резистор - по часовой стрелке напряжение увеличивается, против - соответственно уменьшается. Я выставил для двигателей NEMA17 с крутящим моментом 0.4 Н*м Vref=1.1 В. Двигатели не греются, радиаторы имеют температуру около 50 град.С (пальцем терпимо, но горячо), по аналогии с TMC2100 рекомендую обдув радиаторов (у меня есть).

10) Отключаем принтер от сети и подключаем к ПК, запуская Arduino IDE (у вас ведь есть комплектная прошивка для вашего принтера?). Открываем файл *.ino в папке с вашей прошивкой и в закладке "configuration_H" ищем что-то наподобие:

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false

// @section extruder

// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR false
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false

Вы запомнили, какие драйвера вы заменили? На каких осях? А на экструдере?
Строка #define INVERT_X_DIR отвечает за направление вращения шагового двигателя, подключенного к разъему X, INVERT_Y_DIR и INVERT_Z_DIR соответственно Y и Z, меняем значения у тех двигателей, драйвера которых вы заменили, с "true" на "false" или наоборот (у меня были заменены только X и Y).

Строки INVERT_E0_DIR и далее отвечают, соответственно, за направление вращения двигателей экструдеров (ну вдруг вы решили и их "затихомирить";), для тех экструдеров, на которых поменял драйвера, аналогично меняем значение переменной.

11) Думали - все? Ан нет.
У моего принтера без нижеследующих манипуляций ровно в 2 раза увеличилось перемещение по осям X и Y.

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

#define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 1600, 100 }

Первая переменная в скобках отвечает за количество шагов для движения по оси X, вторая - по Y, третья - по Z, четвертая - для экструдера E0 (5-я и 6-я соответственно, если есть, для экструдеров E1 и E2).

При демонтаже перемычек запомнили, сколько их было? Нет? А зря. Чаще всего их по 3, но мало ли как бывает.

Идем снова в указанную мной выше статью и по таблицам для драйверов A4988, DRV8825 выясняем, какой микрошаг был установлен.
Для двух наиболее частых случаев, когда было установлено по 3 перемычки, получаем:

- для A4988 - микрошаг 1/16, здесь Й=16:

- для DRV8825 - микрошаг 1/32, здесь Й=32.

Пересчитываем для тех переменных из вышеприведенных скобок новое количество шагов по формуле:

ШАГ2=ШАГ1*8 /Й

У меня были драйвера A4988, было установлено под драйверами по 3 перемычки, по таблице в статье нахожу микрошаг 1/16, поменял я драйвера на осях X и Y.

Рассчитываем новую величину для оси X:

в скобках находим величину для оси X ШАГ1=80, рассчитываем ШАГ2=80*8/16=40

Аналогично проводим вычисления для оси Y.

Меняем в строчке #define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 1600, 100 } значения на
#define DEFAULT_AXIS_STEPS_PER_UNIT {40, 40, 1600, 100 } и прошиваем контроллер.

Инструкция по прошивке хорошо рассказана собратом по болезни 3D печатью AKDZG в этот статье

12) После окончания прошивки включаем принтер и наслаждаемся тишиной. У меня основным источником звука стали вентиляторы и экструдер при ретракте.

Всем успехов и качественной печати!
Подписаться на 3Dtoday
41
Комментарии к статье

Комментарии

24.02.18 в 21:09
5
У меня были драйвера A4988, было установлено под драйверами по 3 перемычки, по таблице в статье нахожу микрошаг 1/16, поменял я драйвера на осях X и Y.

Рассчитываем новую величину для оси X:

в скобках находим величину для оси X ШАГ1=80, рассчитываем ШАГ2=80*8/16=40

Аналогично проводим вычисления для оси Y.

Меняем в строчке #define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 1600, 100 } значения на
#define DEFAULT_AXIS_STEPS_PER_UNIT {40, 40, 1600, 100 } и прошиваем контроллер.
Зачем, вы пересчитывали и меняли? 2208 имеют деление 1/16, и сам драйвер интерполирует до 1/256, чтоб не было шума.Если просто вместо 4988 переставить 2208, то в прошиве ничего править не нужно.

6) Привода TMC2208 имеют обратную полярность питания двигателей, но механически менять направление их вращения (разворотом разъема) смысла нет. Об этом далее.

Ничего, не менял, ни в прошивке ни на плате. Двигатели вращаются без изменений.

Да и спалил я уже не один драйвер. Личный рекорд - 3 одновременных пыха дорогущих TMC2100.
Чтоб не палить драйвера. НЕобходимо ток настраивать, при отключенном разъеме двигателя.
24.02.18 в 21:58
1
С перемычками непонятно.


Вроде как можно задавать "дробление" перемычками.
24.02.18 в 22:10
2
Нет перемычки только задают максимум 1/16, смотрите даташит. А 1/256 ОН сам "обсчитывает" автоматом
24.02.18 в 22:25
1
Пытаюсь понять.
Если нет перемычек, то для настройки количества шагов используем формулу, где дробление шага равно "1".
Но сам драйвер на выходе дробит на 256 этот полный шаг?
24.02.18 в 22:58
1
9cb5de74ba33e943e8c2a463ec82e7b4.PNG
24.02.18 в 23:09
1
Моя интерполяция - перемычки только мозги принтера загружают.
24.02.18 в 23:12
1
1/16 какие проблемы, для процессора? вы что-то "переинтерполировали" в своих размышлениях.:D
24.02.18 в 23:30
1
Я ленивый местами. Вот и за мегу тоже так подумал :D:D:D
Меньше дробление шага - меньше считать :D:D:D
Понял.
24.02.18 в 23:10
3
Если вы устанавливаете вместо 4988 - 2208, то ничего не нужно ни на плате, ни в прошиве менять. если вместо 8825 - 2208, то нужно в прошиве менять количества шагов на "мм" у 8825 1/32 и соответственно в прошиве на 1мм 160 шагов (шпуля 20зуб, ремень 2мм), нам нужно исправить на 80,
25.02.18 в 02:44
0
Ответил выше - на моих экземплярах это пришлось проделать. У Вас другие?
25.02.18 в 01:49
1
Чтоб не палить драйвера. НЕобходимо ток настраивать, при отключенном разъеме двигателя.
Вот спасибо за информацию. Ни в одном мануале про это не пишут. А gnd разве надо с драйвера щупать? Или нет разницы?
Сам такие жду - ашки все же громко поют...
25.02.18 в 04:44
1
gnd можно с разъема питания платы или БП брать
25.02.18 в 02:38
1
Зачем, вы пересчитывали и меняли? 2208 имеют деление 1/16, и сам драйвер интерполирует до 1/256, чтоб не было шума.Если просто вместо 4988 переставить 2208, то в прошиве ничего править не нужно.
Значит, у Вас или у меня "неправильные" драйвера пчелы, и они крутят и шагают по другому делают неправильный мед..
На конкретно моих экземплярах пришлось поменять полярность и уменьшить кол-во шагов в прошивке. Для того, чтобы оставить микростеппинг 1/16, необходимо оставить две перемычки
25.02.18 в 02:41
0
Чтоб не палить драйвера. НЕобходимо ток настраивать, при отключенном разъеме двигателя.
Спалил не по этому. Это был мой первый вопрос в этом сообществе, как оказалось - при подключении одновременно USB кабеля к плате и внешнего питания принтера напряжения сложились (на корпусе БП было +12 В) и пффффф....
25.02.18 в 04:58
0
Зачем, вы пересчитывали и меняли? 2208 имеют деление 1/16
без перемычек у него микростеппинг 1/8, потому и менял. Впрочем - я пока ухудшения качества печати не заметил.
27.02.18 в 08:00
0
Пока я не спалил ничего, скажите как ток настроить без подключения двигателя
27.02.18 в 16:06
2
На выключенном принтере, Устанавливаете драйвера. Отключаете разъемы двигателей . Включаете принтер.Один щуп мультика устанавливаете на "-" второй щуп на контрольную точку , обычно это средний контакт подстроечника, но на некоторых есть и отдельный пятак(отверстие) на плате драйвера. Смотрите какое напряжение показал мультик. И далее регулируетеподстроечник до получения нужного значения. Это нужное значение предварительно расчитываете, по формуле.В интернетах полно статей где указаны формулы к каждому типу драйвера. После настройки, выключаете принтер, подключаете разъемы двигателей. Включайте и пользуйтесь.Удачи.
27.02.18 в 21:19
1
Спасибо. Я просто подумал действительно ток регулировать, а Вы напряжение настраиваете.
28.02.18 в 13:27
1
Вам известен иной способ, настройки тока в драйверах о которых идет речь?

19b3485ef366c2cf2557a6a06d9bd2f5.JPG

Вот блок схема драйвера а4988. Проанализируйте и дайте ответ на вопросы: 1.Почему настройка тока через двигатели, выполняется настройкой напряжения в контрольной точке? 2. Почему при операции настройки тока, когда подключен двигатель, драйвер может сгореть?
З.Ы. Для понимания неважно что блок схема не от тмс2208, принцип одинаков.
19.03.18 в 19:47
0
del
20.03.18 в 13:21
0
Предполагаю, удаление комента связано с тем, что вы нашли ответ? Смогли понять что и как в блок схеме?
21.03.18 в 20:22
0
Нет, вопрос был задан ранее другими. Но Вы так и не дали ответа. Эмпирическая связь между измеряемым напряжением и током существует, Однако без нагрузки показания будут разниться.

Называйте вещи своим именами: - когда подстраиваете напряжение, не называйте это регулировкой тока.
22.03.18 в 12:49
0
ОТвет был дан как раз, выше. Вы по ходу не в теме. Для чего я привел блок схему драйвера? Посмотрите схему и если сможете понять её, то вам станет ясно. Зачем регулируют напряжение. Почему отсутствие двигателя(нагрузки) не влияет на эту регулировку. А также возможно поймете отчего у пользователей, которые выполняют регулировку с подключенными двигателями драйвера горят.Не 100% случаев так происходит, но очень часто, что называется как повезет.
Называйте вещи своим именами:
Именно так я и делаю. где я писал
регулировкой тока.
??
Задача установить, максимальный ток через двигатель.
Эта операция осуществляется с помощью подстроечного резистора, установкой напряжения в контрольной точке.(необходимое значение напряжения рассчитывается по формуле)
Это я и описал. Что в этом непонятного??? Это все придумал производитель, а не я. Читайте даташит производителя.
22.03.18 в 20:59
0
Именно по этой причине я и удалил свой комментарий. Кроме себя Вы никого не слышите.
- Эмпирическая связь = расчёт по формуле.
- Двигатели бывают разные.
- Максимальный ток не равнозначен требуемому для эффективной работы конкретного двигателя и его можно спалить.

Тема закрыта.
24.02.18 в 21:55
0
Большая и серьёзная работа, жаль что капли разбросанной грубости подпортили впечатление.
25.02.18 в 00:03
4
В этом гадюшнике водятся персонажи и похуже :)
25.02.18 в 02:45
2
Благодарствую за сравнение :D
25.02.18 в 04:52
2
капли разбросанной грубости
это про ленивую жо...? ну дык это... если ленивые... чо уж там :D
25.02.18 в 11:12
1
ну дык это.
Доходчивость изложения темы и уважение к чужому времени - не есть толкование сего как лености.

Повторюсь - Материал статьи - толковый.

Совет по стилистике:
Либо - не цитируйте вообще и оставляйте все ссылки на ответы на - очевидные вопросы в комментариях,
либо - указывайте все ресурсы, на который ссылаетесь, в конце статьи.

Поймите,
умолчание чего-то - вызывает недоумение и/или вопрос,
что - разрешимо,
а вот высказанное самонеуважение - влечёт тапки "самого-на-себя".

Вам это надо?
Если Вы не очень понимаете разницы - значит - Вы либо "мазохист", либо - "артиллерист"...
... вызывающий огонь на себя.
25.02.18 в 11:50
2
Вариант 3 - "пофигист".
25.02.18 в 15:01
1
Вариант 3 - "пофигист".
Сам - такой ;) . Поэтому и не указал.
24.02.18 в 22:57
0
Здесь все коротко и толково описано про подключение TMC2208
Никаких танцев не нужно с пересчетом шагов. Для A4988 нужно было снять только одну перемычку MC3
25.02.18 в 02:48
1
Конечно все коротко и толково для прожженного технаря. Снизьте планку, снизойдите для простых смертных, которые умеют крутить гайки и хотят печатать, и которые на схему в Вашей ссылке смотрят как баран на те самые ворота. Ну вот объясните человеку, который может только разъемы подключать, что такое перемычка МС3?

Для A4988 нужно было снять только одну перемычку MC3
По поводу оставить микростеппинг 16 - да, можно, но я разницы в качестве печати между микростеппингом 1/16 и 1/8 пока не заметил.
25.02.18 в 20:03
0
На двух принтерах стоят 2208, очень доволен ими, для получения шага 1/16 нужно установить перемычку 1 и 2, можно и 3 - она не влияет ни на что.
Далее сам драйвер интерполирует в 1/256.
25.02.18 в 20:10
3
к слову - по ощущениям, 2208 более "тяговитые", чем 2100, двигатель удержать пальцами сложнее, сами дрыгатели после 12 ч пробега имеют температуру поверхности 40-45 градусов С.
25.02.18 в 22:04
0
40-45 градусов С
Это хорошая рабочая температура.
26.02.18 в 10:09
0
Про UART настройки снова ни слова) Совсем никто не морочится этим чтоли?
26.02.18 в 10:14
0
Пока нет. А нужно?
Работает тихо, я впервые услышал, что одна из шпулей поскрипывает по ремню (перетянута оказывается) при нагреве.

Пробег печати в 15 часов ABS-пластиком выполнен успешно, дрыгатели не перегревались, пропусков шагов нет. Задумался о смене вентиляторов охлаждения на бОльший диаметр (теперь слышно их).
26.02.18 в 10:32
2
ну полумеры - это ж не очень интересно) 2100 или 2130 тогда уж дешевле взять, чем 2208 просто так гонять.

У самого лежат 2208 5шт. вот дойдут руки, постараюсь пост запилить с настройкой из марлина...
05.04.18 в 16:32
0
Ну дык нужно всего-то прочитать внимательно комментарий в Configuration_adv и сделать как там написано. :)

/**
* Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers.
* Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin.
* To use the reading capabilities, also connect #_SERIAL_RX_PIN
* to #_SERIAL_TX_PIN with a 1K resistor.
* The drivers can also be used with hardware serial.
*
* You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper).
*/
Ну и не забыть подтянуть библиотеки в Адуино. :)
02.04.18 в 19:41
0
После прочтения вашей статьи купил себе таки парочку 2208 на Y и X.. Вчера поставил) Даа, принтера вообще не слышно.. и как же я столько времени до этого мучился ) Спасибо большое за информацию! Кстати, перемычки оставил на месте, но в прошивке всё-таки пришлось сменить направления движения моторов.
05.04.18 в 02:07
0
Похоже у меня одного 2208 не дали эффекта в плане уменьшения шума. Как выли движки на 4988 и 8825 так и воют. Ну может чуть тише стало.
При этом я знаю как должно быть тихо. У меня на прюше стоят 2100 и вот там действительно тихо. Ставил 2100 на ЗАВ. Воют так же как все остальные.
05.04.18 в 16:39
0
Похоже у меня одного 2208 не дали эффекта в плане уменьшения шума. Как выли движки на 4988 и 8825 так и воют.
А может что-то с настройками намучено? Может ток самих двигателей отличается от того на который настраиваешь Vref драйвера? Тогда они и будут петь, хрипеть и пропускать :)
На прюше, если не ошибаюсь, двигатели 0.9А, а на заве, скорее всего, 1,7А. Соответственно и настройки будут разными, да еще и учитывать резонанс фанерного "бубена" нужно. :)
06.04.18 в 12:33
0
Движки абсолютно одинаковые. Даже из одной партии. Пропусков нет. Вреф крутил по всякому, разницы в звуке нет. Другие ЗАВоводы, кто на 2208 сидит, говорят что тихо у них. Да и видосы с фанерных кубов на ютубе есть с намного более тихой работой. Я уже не знаю на что думать. Хочу попробовать Марлин 2.0 залить. Ну и останется только плату поменять.
06.04.18 в 12:48
0
Может не активирован режим стелс, а вьібран спреад? Второй режим шумньій.
09.04.18 в 21:35
0
Я даже заморочился, нашел программатор, подключил что бы это проверить. Стоит режим стелс чоп.
Надежда на прояснение ситуации есть. В течении пары недель дособираю Дельту и попробую эти драйвера воткнуть в нее.
Плюс я заказал пятеру 2130. Три пойдут на дельту,а два пущу на ЗАВ. Может с ними станет лучше.
05.04.18 в 16:37
0
Почитал статью и коменты и тоже немного прокомментирую.
Уже писали про перемычки :) но 4988 стоял с дилителем в 1/16, а вынув перемычки - перевел драйвер в режим 1/8 вот и пришлось редактировать кол-во шагов в прошивке. Спишем это на спешку и промах, собственно за что и поплатился спаленными драйверами. :)
В общем статья нормальная, есть полезная информация, но и есть путаница.
П.С. пора бы уже разрешить правку первого поста через зачеркивание ненужного и вставку правильного!
01.06.18 в 08:35
0
а какое должно быть напряжение на драйвере с моторами 4401 на 1.7А?
18.06.18 в 00:31
0
Зависит от Rsens установленных на драйверах.

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

Читайте в блогах

Голова кабана. Литье

Моя версия Lego technic

машина для перевозки баллонов газа

Портал на базе камаза 5320 3D печать

Еще одна разборная катушка для лески, пластика в мотках и так далее.

Сделал плутоний из пластика BestFilament :)