Ещё немного про TMC2208 и Flyingbear Ghost 4

mvdenisov
Идет загрузка
Загрузка
19.09.2019
3251
18
печатает на Flyingbear Ghost
Техничка

Подпишитесь на автора

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

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

2
Статья относится к принтерам:
Flyingbear Ghost

Всем доброго времени суток! 

Приобрёл первый свой принтер: Flyingbear ghost 4. До этого принтеры видел, иногда трогал, но никогда с ними не работал. Впрочем, почему именно он - это тема для отдельной заметки.

Поначалу пение шаговикоа казалось не таким ужасным, но при увеличении скорости и рывков принтер нормально так жужжал, а при резкой смене направления движения каретки был слышен приличный такой удар. Естественно, тему с тихими драйверами TMC (в том числе TMC2208) я изучал. Естественно, решил попробовать.

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

Немного о платах драйверов и возможных проблемах на начальных этапах 

Заказал два драйвера TMC2208 BIGTREETECH v3.0, понравился "правильный" дизайн печатной платы с микросхемой на обратной стороне, теплопроводящими отверстиями под "пузом" микросхемы и теплораспределительным полигоном сверху. У продавца можно было выбрать тип платы: UART и DIY. Выбрал первую, не особо вдаваясь в суть, и немного ошибся: дело в том, что на версии UART установлена перемычка "J2", которая закидывает вход UART микросхемы драйвера на один из выводов платы Pololu-модуля (схему прикладываю). Естественно, драйвер этому был не очень рад. Перемычка была снята паяльником, так как использование драйвера с продвинутым управлением пока что не планировалось. Так же отгрыз длинные выводы, так как они мешали установке радиатора.

Позже была обнаружена некритичная неисправность, выявление которой заняло у меня целый вечер! Проблема заключалась в плохом контакте выводов модуля с контактами разъёма платы MKS GEN-L v1.0. Долго мучал принтер, переставлял драйверы местами, пока один раз не заметил, что каретка поехала в несколько раз большее расстояние, чем было положено, и с громким звуком (что указывало на неверный микрошаг при ПРАВИЛЬНО выставленных перемычках). Прозвонка мультиметром подтвердила предположение. Выводы модуля драйвера были отмыты в спиртобензине (раствор один к одному изопропилового спирта и "калоши", хорошо отмывает печатные платы и обезжиривает, при этом не растворяет лакокрасочные покрытия и пластики). После этого всё заработало как положено.

Комплектный радиатор я устанавливать не стал. Прикупил больших синих радиаторов и приклеил их на теплопроводный клей. Как-то это более интересно, чем двойной скотч..

Как я устанавливал TMC2208

1) Предварительные вычисления

На осях X и Y на моём принтере стоят разные движки, документацию и номинальные токи для них я не нашел (если кто владеет данной информацией - поделитесь в комментариях). Исходя из той логики, что выставленные производителем настройки драйверов были вполне удовлетворительными (никаких пропусков я не замечал, принтер "из коробки" работал как положено), решил замерить текущие настройки A4899. Не уверен что данный путь верный и однозначный, но у меня пока что всё отлично работает.

ОсьДвигательСопротивление обмоток, ОмНапряжение Vref на A4988, В
X42HN40-2-26B2,70,721
Y42HN47-2-24B2,20,715

В качестве токового шунта на драйверах установлены резисторы Rs номиналом 0,1 Ом, исходя из даташита и приведённой в нём формуле (стр. 9) можем рассчитать установленный ток:

Я получил значения 0,901 А и 0,894 А для осей X и Y соответственно.

Обратившись к документации драйверов TMC2208 можно увидеть формулу расчёта тока по Rref. Сразу стоит отметить, что в ней приведён расчёт среднеквадратичного значения тока, которое меньше пикового на корень из двух раз для синусоидального тока (которым, по сути, и питаются движки).

Исходя из этого, вывел примерно следующую формулу расчёта Vref (за недосокращения прошу ногами не бить, всё делалось в порыве творчества таким образом, чтобы всё было понятно):

Где 0,901 - ток двигателя, 0,11 - номинал токового шунта Rsense.

Таким образом, получил значения Vref равные 0,97 В и 0,96 В для осей X и Y соответственно. На деле я на всякий случай докинул примерно по одной сотой сверху (возможно и не стоило).

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

Как я упоминал ранее, видел сообщения в комментариях и статьях о том, что люди жгли драйвера. Честно говоря, не совсем понимаю как это возможно сделать, производитель в техническом руководстве заявляет о защите драйвера от короткого замыкания по выходу (при этом для защиты от ложных срабатываний драйвер автоматически отключится после третьей попытки коммутации обмоток, тем не менее, стоит учитывать существование других компонентов в системе, которые могут быть вовлечены в создание данной ситуации). Я не отключал двигатели после установки драйверов и подавал питание как есть. Читателям рисковать не рекомендую (вдруг горючесть драйверов это правда).

Если мы используем данный драйвер с дроблением шага 1/16 (с интерполяцией до 1/256), то, согласно руководствам, должны быть установлены перемычки 1 и 2 на управляющей плате. Про третью перемычку комментарии разнятся, но взглянув на схему печатной платы драйвера можно увидеть, что не будет ничего. Однако, Ваш модуль может иметь другую разводку, поэтому рекомендую вытащить от греха подальше.

Таким образом, полностью обесточиваем принтер, выдёргиваем A4988, убираем/ставим перемычки (если требуется), вставляем TMC2208. Не перепутайте сторону (найти правильную сторону можно по выводам EN и DIR, они подписаны)! Выдёргиваем провода двигателей (если требуется, опять таки). Подаём питание и на управляющую плату, и с блока питания на драйверы, после чего устанавливаем Vref. Удобно, если у Вас есть "крючки" на щупах мультиметра: на данном драйвере очень удобно сделано отверстие, за которое этот крючок можно зацепить. По часовой - уменьшаем Vref, против - увеличиваем. Потенциометр не имеет ограничения, поэтому при попытке крутить дальше минимума или максимума он переключится на максимум или минимум соответственно.

После манипуляций я подвигал осями: как и ожидалось, они инвертировались, так как у драйвера поменяны местами выводы на обмотки двигателя. Можно перетыкнуть разъём, или поправить прошивку (если у вас есть исходники под ваш принтер).

3) Правим и заливаем прошивку

Открываем проект марлина (файл с расширением .ino) в Arduino IDE (я попросил исходник прошивки у продавца - он скинул ссылку на актуальную версию).

Ищем строки с интересующими осями в файле Configuration.h , выглядят примерно так:

#define INVERT_X_DIR false

#define INVERT_Y_DIR false

Меняем на обратное значение (если стояло True, ставим false, и наоборот)

В принципе можно ограничится и этим, но я так же поменял эти строки (результата они похоже особо не приносят), по умолчанию был прописан тип A4988, заменил на TMC2208_STANDALONE:

#define X_DRIVER_TYPE TMC2208_STANDALONE

#define Y_DRIVER_TYPE TMC2208_STANDALONE

Тип TMC2208 (без standalone) предназначен для дальнейшей настройки общения с драйвером по UART (если кому интересно).

Так же заметил косяк прошивки Flyingbear Ghost 4, которая заключается в отключенной термозащите и низкой выставленной минимальной температуры работы (при обрыве термистора принтер может подумать что как то недостаточно горячо и топить на полную - не особо безопасно):

#define HEATER_0_MINTEMP 5

#define BED_MINTEMP 5

Сохраняем, выбираем плату MEGA2560. Подключаем к компьютеру принтер по USB (на Flyingbear Ghost 4 необходимо клацнуть по экрану "Offline режим", чтобы экран отключился от платы MKS Gen-L v1.0 и позволил взять управление через другой порт микроконтроллера. Нажимаем кнопку "Загрузка" в Arduino IDE. После чего можно отключить компьютер и отдать управление принтером экрану. 

Ну вот собственно и всё. С моими настройками двигатели при печати чуть тёплые. Драйвера не нагрев не пробовал, но шаги не пропускают и есть не просят. Буду изготавливать более лёгкую каретку, так что сильно ускорять печать смысла не вижу. Как доработаю - буду испытывать на максимальные скорости и ускорения, возможно донастраивать ток, если потребуется. 

Все рекомендации и замечания по данным драйверам, данному принтеру и их совокупности прошу в коменты :)

Подпишитесь на автора

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

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

2
Комментарии к статье

Комментарии

19.09.2019 в 10:49
0

Не могли бы ссылочку на исходный код прошивки скинуть?

19.09.2019 в 23:46
0

Что то я попытался найти откуда я скачал, и не нашёл. То ли я на али проссал сообщение, то ли я скачал в другом месте, например у гайвера... Уточню в ближайшее время

20.09.2019 в 04:55
1

https://drive.google.com/drive/folders/1riS4IRQ2AytFjmqHLjQu8JEqkdqc9hbY?spm=a2g0s.imconversation.0.0.13ce3e5fxTvimY

Вот ссылка) тоже недавно совсем переписывался с продавцом на али. 

19.09.2019 в 11:09
0

У меня на экструдере TMC2208 вообще не заработал, драйверы менял местами, Vref крутил в большую и меньшую стороны. При Vref=1.25 пытается дергаться и всё. Вернул пока A4988.

Драйверы точно такие, V3.0.

19.09.2019 в 11:35
0

Удержание у них реально ощутимо меньше чем у A4988. Если проблема в контактах - попробуйте их помыть, как я описал, протрите хорошо выводы, на них то ли окислы, то ли остатки флюса (из двух драйверов у меня не работал нормально ни один из за данной проблемы). Если с экструдером эти драйвера действительно плохи - думаю можно будет попробовать поставить TMC2209, когда они не будут дефицитными и станут подешевле (да и на другие оси их тоже можно будет ставить, они покруче 2208, и по току и по другим фичам).

19.09.2019 в 21:55
0

Честно говоря, не совсем понимаю как это возможно сделать

да легко. ставите "как стояли 4988" и наблюдаете волшебный дым. для такой ошибки достаточно простой невнимательности, не говоря уже о неумении читать инструкции.

20.09.2019 в 07:36
0

а еще крутите подстроечный резистор металлической отверткой и убиваете его как знаменитый покемон - разрядом статики

20.09.2019 в 11:13
0

Возможно, но я думаю, что там на самом деле не такая уж большая вероятность его статикой убить...  

20.09.2019 в 07:07
0

Бла бла бла, одно и то же...

20.09.2019 в 11:02
0

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

20.09.2019 в 14:12
1

Статья полезна тем, что подробно всё расписано именно про Flyingbear Ghost 4 с его нюансами, мне очень помогла, спасибо.

28.09.2019 в 03:24
0

Жду статью про SKR 1.3, чтоб сразу всё установить,  железо(плата  и дравера) уже есть, но опыта в конфигурации чистой прошивки маловато, а на SKR  насколько я понимаю надо ставить  32-х битный Marlin 2.0 и конфигурировать из стока. Вполне возможно,что можно  по аналогии с  первой версией всё настроить, но боюсь экспрементами убить железо.

30.09.2019 в 10:57
0

Железо не так просто убить, если быть внимательным и понимать что делаешь и куда лезешь 😅

Я пока с переходами и на другие платы, в том числе на 32 битные, не заморачивался. На FB Ghost 4 довольно удобный дисплей, который имеет свой микроконтроллер и подключается к основной плате через UART. Таким образом восьмибитная MKS gen-L v1.0 занимается только выполнением команд, полученных от дисплея, который, в свою очередь парсит gcode с SD-карты, коннектится к WiFi и тд. 

30.09.2019 в 13:30
0

На своем принтере поставил SKR1.1 (когда заказывал 1.3 еще не продавался). Прошивку брал с github от производителя. Перенес все основные значения из марлина 1.1.9. Если ничего не менять, то никаких сложностей не будет.

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

Также сделал автоотключение через твердотельное реле, управляемое прямо с экрана  (там есть выход для этого), принтер отключается после остывания экструдера до 60 градусов. Но при родном блоке питания автоотключение нормально не работало, заменил блок питания на Meanwell 350Вт и все стало хорошо.       

13.11.2019 в 06:54
0

Друг мой, не мог бы ты написать как устанавливал эту плату на принтер. У меня 4 призрак и я очень хочу поставить skr 32 битный, с сохранением функций экрана и wi-fi. Во всем интернете информации нет, народ в группе в телеге ничего не знает про это. Все очкуют и ждут, когда кто-то сделает это. Реально дофига народу ждут инструкцию, а такие титаны как ты молчат))) Помоги)  

14.10.2019 в 23:15
0

Я написал продавцу по вольтажу. Он мне ответил 1в. Я поставил и мозг себе не делал. Ещё раз убедился что китаец не соврал. 

15.10.2019 в 12:49
0

Лёгких путей не ищу 😅

16.10.2019 в 02:27
0

0,96 0,98 Совпало :)

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

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

Печать ULTEM (PEI) и материалом PEEK на одном устройстве: новый 3DGence INDUSTRY F420

Причесываем TEVO Little Monster для использования дома.

3D печать пластиком PEEK и ULTEM. Обзор 3D принтера Intamsys Funmat HT от 3Dtool.

DL-44. Видео по сборке и окраске.

ОПАЛУБКА ДЛЯ ЛИТЬЯ – ПРОСТОЙ КОНСТРУКТОР

Моя первая законченная миниатюра :)