MKS TMC2209 V2.0
StepStick · StealthChop2 · настройка по UART
MKS TMC2209 V2.0 — драйвер одного биполярного шагового двигателя для 3D-принтера со сменными модулями StepStick. StealthChop2 помогает уменьшить шум двигателя, а UART позволяет настраивать ток и режим работы из прошивки. TMC2209 поддерживает StallGuard4 для поиска упора без концевика; у платы V2.0 вывод DIAG адаптирован к совместимым контроллерам Makerbase.
Модуль принимает импульсы от контроллера и поддерживает заданный ток в двух обмотках мотора. Для замены старого драйвера важны не только габариты: должны совпадать питание, распиновка и способ настройки. После установки проверяют ток, направление вращения и масштаб перемещения оси.

StealthChop2 снижает характерный звук работающего двигателя. Работу оценивают под нагрузкой: механика и вентиляторы сохраняют свой шум.
UART даёт возможность менять ток и читать состояние драйвера без доступа к потенциометру внутри корпуса.
StallGuard4 оценивает нагрузку. На совместимой оси DIAG позволяет выполнить homing по механическому упору.
Когда этот драйвер подходит
Модуль полезен при модернизации принтера с исправной механикой, если основным источником шума стали двигатели. Он подходит для одной оси или экструдера, когда ток мотора укладывается в возможности компактной платы и организовано охлаждение. При ремонте принтера с уже установленным TMC2209 проще сохранить исходную схему подключения и заново проверить настройки.
TMC2209 стоит выбирать, если нужен UART с диагностикой или планируется sensorless homing на поддерживаемой оси. Для вертикальной оси и точного поиска поверхности стола решение о sensorless принимают отдельно: упор и режим движения должны позволять надёжно распознать остановку.
Название NEMA 17 описывает крепление двигателя. До покупки проверьте ток фазы, две раздельные обмотки, напряжение основной платы и место для радиатора. Для мощного привода, которому нужен большой длительный ток, лучше рассмотреть внешний драйвер с подходящим диапазоном регулировки.
Standalone и UART: что меняется
Standalone — аппаратная настройка. Плата посылает STEP и DIR, а драйвер работает с заданным Vref и состояниями MS1/MS2. Это удобно для контроллера без разведённого UART или при простой замене модуля. Прошивка должна знать выбранное входное деление шага, но не может прочитать регистры драйвера или назначить ему ток через M906.
UART — настройка и диагностика по линии PDN_UART. Ток, микрошаг и режим регулирования задаёт прошивка. Можно читать сообщения о перегреве и проверять связь командами диагностики. STEP/DIR при этом продолжают управлять движением: UART не заменяет импульсы шага.
Для перехода на UART выбирают соответствующие перемычки основной платы, проверяют соединение PDN_UART и предусмотренную схемой V2.0 цепь R8, затем включают тип драйвера в прошивке. Пайка «как на соседней модели» не подходит: у ревизий плат различается разводка UART. У TMC2209 состояния MS1/MS2 в UART могут задавать адрес устройства; не смешивайте адресные перемычки с аппаратной таблицей микрошагов.
Электрические характеристики
| Параметр | Значение и условия |
|---|---|
| Исполнение | MKS TMC2209 V2.0; сменный модуль StepStick |
| Питание двигателя VM | 4,75–29 В DC; совместимые системы 12/24 В с запасом до предела |
| Питание логики VIO | 3,3 или 5 В; для sensorless Makerbase требует 3,3 В |
| Ток микросхемы | До 2 А RMS / 2,8 А peak при оговорённом отводе тепла; длительный ток модуля зависит от охлаждения |
| Токовые шунты | R6 и R7 — по 0,11 Ом, схема V2.0_001 |
| Управление | STEP/DIR; настройка аппаратно или по однопроводному UART |
| Микрошаг без UART | 1/8, 1/16, 1/32, 1/64 |
| Интерполяция | MicroPlyer до 256 микрошагов; входное деление задаётся отдельно |
| Охлаждение | Радиатор, свободный поток воздуха и контроль нагрева при длительной нагрузке |
VM питает двигатель, VIO задаёт уровень логики. Эти цепи нельзя объединять. Предел системы определяется также основной платой, разъёмами и источником питания; напряжение на шильдике блока проверяют с учётом допуска и переходных процессов.
Настройка тока: Vref и программный режим
Начните с паспорта двигателя и определите, какой ток допустим в вашей механике. Значения RMS и peak не одинаковы: для синусоидального тока Ipeak = IRMS × √2. Номинал мотора без пояснения изготовителя нельзя автоматически считать током RMS для прошивки.
На схеме MKS V2.0_001 установлены два шунта R110 — по 0,11 Ом, по одному на фазу. Их сопротивления не складывают. При внешних шунтах, стандартном пороге 0,325 В и аналоговом масштабировании тока:
Vref ≈ IRMS / 0,707; ток в амперах, Vref в вольтах.
Если выбран допустимый рабочий ток 0,8 А RMS, расчёт даёт Vref ≈ 1,13 В, а пиковый ток синусоиды — 1,13 А. Это пример для указанных шунтов и режима, а не готовая рекомендация каждому двигателю.

В полном виде расчёт: IRMS = 0,325 / ((0,11 + 0,02) × √2) × Vref / 2,5. При других шунтах или изменённом режиме регистров упрощённая формула неприменима. В UART прошивка обычно использует внутреннее масштабирование: задайте ток RMS и правильный Rsense, а не подгоняйте потенциометр по этой формуле одновременно.
Vref измеряют относительно GND на подтверждённой точке Vref/движке потенциометра. Для установки щупов и изменения положения подстроечника снимайте питание; включайте его для контрольного измерения. Штатное питание основной платы должно присутствовать — одного USB может быть недостаточно.
StealthChop2, SpreadCycle и микрошаг
StealthChop2 выбирают ради тихого движения в подходящем диапазоне скоростей. SpreadCycle регулирует ток другим способом и часто удобен при динамичной нагрузке. При высоких ускорениях, рывках экструдера или пропусках шагов сравните оба режима на своей механике; переключение режима само по себе не исправляет заедание оси и недостаточный ток.
Интерполяция MicroPlyer позволяет, например, принимать 16 микрошагов на полный шаг и формировать внутри более плавную последовательность до 256. Для двигателя 1,8° при входном делении 1/16 контроллер выдаёт 200 × 16 = 3200 импульсов на оборот. Включение интерполяции не превращает это значение в 51 200 импульсов и не требует менять steps/mm.
| MS1 | MS2 | Входной микрошаг в standalone |
|---|---|---|
| 0 | 0 | 1/8 |
| 1 | 0 | 1/32 |
| 0 | 1 | 1/64 |
| 1 | 1 | 1/16 |
0 — GND, 1 — высокий уровень логики. Таблица задаёт состояния сигналов, а не расположение джамперов контроллера. При реальной смене входного деления с 1/16 на 1/32 число импульсов на ту же дистанцию удваивается: в Marlin пересчитывают steps/mm, в Klipper согласуют microsteps, сохраняя корректный rotation_distance.
Подключение без путаницы с питанием

Сравните VM, GND и VIO модуля с документацией разъёма основной платы. Потенциометр не служит универсальным ориентиром: у другого StepStick он может находиться с иной стороны. Выводы 1A/1B и 2A/2B подключают к двум раздельным обмоткам двигателя, найденным омметром при отключённом питании.
Платы RAMPS, SKR и MKS существуют в разных версиях. Совпадение формата StepStick подтверждает лишь механическую сторону установки; UART, дополнительные контакты и доступность DIAG проверяют отдельно. Кабели мотора и сам модуль переставляют только после отключения и разряда силовой части.
Что даёт V2.0 для sensorless homing
У MKS TMC2209 V2.0 изменено положение DIAG относительно V1.0. На поддерживаемых MKS SGEN_L, Gen_L V2.1 и Robin E3D это позволяет использовать предусмотренный платой путь сигнала для SENSORLESS_HOMING. Для иной ревизии контроллера совместимость проверяют по схеме, даже если драйвер физически вставляется.
StallGuard4 оценивает нагрузку двигателя в StealthChop. Прошивка использует DIAG как сигнал виртуального концевика, а чувствительность подбирается под ток, скорость homing и механику. Ось должна свободно двигаться и иметь допустимый механический упор; физический концевик не должен конфликтовать с DIAG на том же входе.
Настройка Marlin и Klipper
В Marlin для оси с UART выберите TMC2209, для аппаратного режима — TMC2209_STANDALONE. В конфигурации UART согласуйте вывод связи, ток в миллиамперах RMS и сопротивление шунта. В рассмотренном примере для оси X это X_CURRENT 800 и X_RSENSE 0.11; реальные ток и выводы зависят от двигателя и платы.
В Klipper драйверу с UART соответствует секция [tmc2209 stepper_x]. Параметр run_current: 0.8 задаёт 0,8 А RMS, sense_resistor: 0.110 — шунт 0,11 Ом. Имя и вывод UART берут из конфигурации своего контроллера. Параметр microsteps находится в секции оси; в standalone секция UART-драйвера не нужна.
Режим StealthChop выбирают осознанно: в Klipper его разрешает соответствующий stealthchop_threshold, а в Marlin используются настройки StealthChop и, при необходимости, hybrid threshold. Значения из чужого принтера не являются универсальной настройкой скорости перехода.
После включения UART проверьте M122 при включённой диагностике Marlin или DUMP_TMC STEPPER=stepper_x в Klipper. Корректный ответ подтверждает связь; затем проверяйте движение и нагрев. Временное изменение тока командой не заменяет сохранение рабочего значения в конфигурации.
Первый запуск и проверка покупки
- До установки: сравните V2.0, распиновку, питание и способ подключения UART. Проверьте наличие нужных перемычек и радиатора.
- При выключенном питании: установите модуль, подключите двигатель, закрепите радиатор без касания контактов. Оставьте место для циркуляции воздуха.
- До движения: задайте допустимый ток и входной микрошаг. В UART сначала проверьте связь.
- Короткий тест: выполните малое перемещение, проверьте направление, дистанцию и концевики. Не начинайте с длинного быстрого хода.
- Рабочая проверка: постепенно испытайте реальные скорость, ускорение и нагрузку. Оцените нагрев после длительной работы, сообщения драйвера и отсутствие пропусков шагов.
Если модуль перегревается, улучшите обдув или снизьте ток до достаточного для механики уровня. Тепловое отключение не является нормальным режимом; увеличение тока при заедании оси только усиливает нагрев.
В комплекте этой позиции заявлены модуль MKS TMC2209 V2.0 и радиатор. Управляющая плата, двигатель и кабели для переделки подключения приобретаются отдельно.
