Меню

andipanda.dev

Graber i3: почему я выбрал TMC2209 для старого 3D-принтера

В предыдущей статье я рассказал о замене драйверов шаговых двигателей на моём Graber i3.

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

При этом менять всю управляющую электронику принтера я не собирался.

RAMPS 1.4 вполне справлялась со своими задачами, а переход на Klipper уже позволил обойти основные ограничения старого 8-битного контроллера.

Оставалось выбрать новые драйверы.

В итоге я остановился на TMC2209.

Но почему именно они?

Какие варианты я рассматривал

Для RAMPS 1.4 существует немало драйверов шаговых двигателей.

Среди наиболее распространённых — A4988, DRV8825, TMC2208 и TMC2209.

Все они выполняют одну основную задачу: управляют шаговыми двигателями, получая от контроллера сигналы шага и направления.

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

Для меня основными критериями были уровень шума, совместимость с существующей электроникой, стабильность работы и разумная стоимость.

Максимальная скорость печати не была приоритетом.

Всё-таки речь шла о модернизации старого Graber i3, а не о постройке нового высокоскоростного принтера.

A4988 и DRV8825 — проверенные решения

A4988 и DRV8825 долгое время оставались одними из самых распространённых драйверов в любительских 3D-принтерах.

Они недорогие, хорошо изучены и поддерживаются практически всеми популярными прошивками.

A4988 поддерживает деление полного шага до 1/16, а DRV8825 — до 1/32.

Но большее количество микрошагов само по себе не означает пропорционального увеличения точности позиционирования.

При работе с такими драйверами шаговые двигатели нередко издают хорошо заметный звук, особенно на определённых скоростях.

Это не означает, что A4988 или DRV8825 плохие.

Они вполне подходят для множества задач и до сих пор используются в различных устройствах.

Но если основная цель модернизации — уменьшить шум принтера, имеет смысл рассмотреть более современные варианты.

TMC2208 — уже значительно тише

Одним из таких вариантов стал TMC2208.

Его главное преимущество для обычного 3D-принтера — поддержка технологии StealthChop2.

Этот алгоритм управления позволяет существенно уменьшить слышимый шум шагового двигателя.

Вместо характерного писка двигатель может работать значительно тише.

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

Для моего Graber i3 возможностей TMC2208 уже могло быть достаточно.

Но существовал и более интересный вариант — TMC2209.

Почему именно TMC2209

TMC2209 во многом похож на TMC2208, но предлагает дополнительные возможности.

Он также поддерживает StealthChop2, позволяющий добиться тихой работы шаговых двигателей.

При этом TMC2209 поддерживает и SpreadCycle — другой алгоритм управления током, который может обеспечивать более устойчивую работу двигателя при повышенных нагрузках и динамичных перемещениях.

Эти режимы решают несколько разные задачи.

StealthChop2 ориентирован прежде всего на снижение шума, тогда как SpreadCycle позволяет уделить больше внимания динамическим характеристикам двигателя.

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

Оптимальный вариант зависит от конкретной механики, скорости перемещений и нагрузки на двигатель.

Ещё одно отличие TMC2209 — более высокий допустимый ток по сравнению с TMC2208.

Это расширяет возможности применения драйвера, хотя фактический допустимый ток зависит от конкретного модуля и условий охлаждения.

Для моего принтера максимальный ток не был решающим параметром, но дополнительный запас не помешает.

Кроме того, TMC2209 поддерживает StallGuard4 — технологию оценки нагрузки на двигатель.

Она позволяет при определённых условиях реализовать обнаружение упора оси без отдельного концевого выключателя.

Но эта возможность требует соответствующего подключения и настройки.

В моём случае она не была причиной выбора драйвера.

Главным оставалось сочетание тихой работы, достаточного запаса по характеристикам и возможности использовать TMC2209 с существующей электроникой.

UART — нужен ли он мне?

TMC2209 поддерживает интерфейс UART, позволяющий программно изменять ток двигателя, режимы работы и другие параметры драйвера.

При использовании Klipper это довольно удобно: многие настройки можно задавать непосредственно в конфигурационном файле printer.cfg.

Однако RAMPS 1.4 изначально не предусматривает штатного UART-подключения к каждому разъёму драйвера.

Для его реализации потребовалась бы дополнительная проводка.

Для меня это не представляло особой сложности, но необходимости в таком подключении я не видел.

Основной задачей было уменьшить шум шаговых двигателей, а для этого TMC2209 вполне могут работать в автономном режиме STEP/DIR.

Поэтому я решил не использовать UART и не планирую добавлять его в дальнейшем.

Конечно, без UART часть возможностей программной настройки недоступна.

Но в моём случае они не давали преимуществ, ради которых стоило усложнять подключение.

В результате я смог использовать современные драйверы, сохранив простую схему подключения на RAMPS 1.4.

А что насчёт микрошагов?

При сравнении драйверов часто обращают внимание на максимальное количество микрошагов.

A4988 поддерживает деление полного шага до 1/16, DRV8825 — до 1/32.

TMC2209 также поддерживает различные режимы микрошагов и внутреннюю интерполяцию до 256 микрошагов.

Но здесь важно не путать плавность движения с точностью позиционирования.

Интерполяция позволяет сделать работу двигателя более плавной, однако не превращает механическую систему в устройство с абсолютной точностью 1/256 полного шага.

На итоговое качество печати продолжают влиять люфты, жёсткость конструкции, состояние направляющих, ремней и другие механические факторы.

Поэтому количество микрошагов я не рассматривал как главный критерий выбора.

Гораздо важнее было получить стабильную и более тихую работу двигателей.

Есть ли смысл устанавливать TMC2209 на RAMPS 1.4?

На первый взгляд сочетание старой RAMPS 1.4 и современных драйверов может показаться странным.

Сегодня существуют платы с 32-битными микроконтроллерами, встроенной поддержкой UART и множеством дополнительных функций.

Но в моём случае замена всей электроники не имела особого смысла.

Принтер уже работал под управлением Klipper, а основные вычисления выполнялись на TV Box с Linux.

Arduino Mega 2560 продолжала выполнять задачи микроконтроллера, а RAMPS 1.4 обеспечивала подключение двигателей, нагревателей и датчиков.

Установка TMC2209 позволяла улучшить управление шаговыми двигателями без необходимости переделывать всю систему.

При этом важно помнить, что совместимость зависит не только от названия драйвера.

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

Не все платы с TMC2209 имеют совершенно одинаковую разводку.

Стоило ли выбирать более дорогие драйверы?

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

Можно последовательно заменить почти все компоненты, но в какой-то момент от первоначального Graber i3 останется только название.

Именно этого мне хотелось избежать.

TMC2209 представляли собой разумный компромисс между возможностями, стоимостью и совместимостью с существующей электроникой.

Они позволяли решить основную задачу — уменьшить шум шаговых двигателей — и при этом оставляли определённый запас возможностей.

Мне не требовались рекордные скорости или сложная новая управляющая плата.

Я хотел сделать уже имеющийся принтер удобнее в эксплуатации.

Итоги

Выбор TMC2209 не был попыткой установить в старый Graber i3 самые современные компоненты любой ценой.

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

A4988 и DRV8825 по-прежнему подходят для многих задач, а TMC2208 также способны обеспечить тихую работу.

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

При этом для моей задачи не потребовалось использовать UART или переделывать подключение драйверов.

Конечно, установка TMC2209 не исправляет недостатки механики и не превращает старый принтер в современную высокоскоростную машину.

Зато позволяет сделать ещё один шаг в его модернизации без полной перестройки конструкции.

Что дальше

В следующей статье я вернусь к другой доработке Graber i3 — установке датчика стола.

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

Но тогда мы не разбирали, почему я выбрал именно индукционный датчик, а не популярный 3DTouch.

У обоих решений есть свои преимущества и ограничения.

Именно их я и хочу рассмотреть в следующей статье.