Если после установки драйверов TMC2208 или TMC2209 принтер стал тише, но на быстрых перемещениях появились смещения слоёв — почти наверняка дело в режиме StealthChop, который теряет крутящий момент на высоких скоростях. Это классический симптом неправильного выбора между двумя режимами работы драйверов Trinamic: тихим StealthChop и мощным SpreadCycle.

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

Что такое StealthChop и SpreadCycle

Оба режима — это алгоритмы управления током в обмотках шагового двигателя, разработанные компанией Trinamic. Они встроены в популярные драйверы серии TMC: TMC2208, TMC2209, TMC2225, TMC2130 и другие. Разница между ними — в способе регулирования тока (chopper-режима), что напрямую влияет на шум, момент и нагрев.

StealthChop — режим «тихого шоппера» на основе широтно-импульсной модуляции напряжения. Двигатель работает практически бесшумно на низких и средних скоростях, характерный «писк» шаговиков исчезает полностью. Платой за тишину становится снижение доступного момента и более слабая реакция на резкие изменения нагрузки.

SpreadCycle — классический высокочастотный chopper-режим с точным регулированием тока. Двигатель слышно (хотя и заметно тише, чем на старых драйверах A4988 или DRV8825), зато момент стабилен во всём диапазоне скоростей, а драйвер корректно отрабатывает резкие ускорения и точную микрошаговую позицию.

💡

StealthChop — это тишина ценой момента, SpreadCycle — стабильный момент ценой умеренного шума. Выбор зависит от скоростей печати и нагрузки на ось.

Сравнение режимов по ключевым параметрам

Чтобы выбор был предметным, сведём основные различия в таблицу. Оценки качественные: точные значения зависят от конкретного двигателя, тока и механики принтера.

ПараметрStealthChopSpreadCycle
Шум на низких скоростяхПочти бесшумноТихо, слышно «шипение»
Шум на высоких скоростяхРастёт, возможны вибрацииУмеренный, предсказуемый
Крутящий моментСнижен, особенно на скоростиМаксимальный и стабильный
Точность удержания позицииНиже при ударах и рывкахВысокая
Поддержка StallGuard (сенсорless homing)НетДа
Подходящий сценарийМедленная печать, ночная работаБыстрая печать, тяжёлые оси, экструдер

Обратите внимание на последнюю строку про StallGuard: диагностика нагрузки, позволяющая парковаться без концевиков, работает только в режиме SpreadCycle. Если вы используете sensorless homing на TMC2209 или TMC2130, соответствующие оси обязаны работать в SpreadCycle — это жёсткое ограничение, а не рекомендация.

Когда выбирать StealthChop

Режим оправдан, когда приоритет — акустический комфорт, а скорости печати умеренные. Типичный сценарий: принтер стоит в жилой комнате, печать идёт ночью на скоростях до 50–60 мм/с, ускорения небольшие. В таких условиях разница в качестве деталей между режимами обычно незаметна, а тишина — реальное преимущество.

  • 🌙 Ночная печать в квартире, когда шум механики мешает спать.
  • 🐌 Медленная печать мелких деталей с низкими ускорениями.
  • 🖨️ Лёгкие оси картезианских принтеров без больших инерционных масс.
  • 🔇 Случаи, когда принтер и так механически шумный и любое снижение шума важно.

Однако у режима есть подводный камень: пропуски шагов в StealthChop происходят бесшумно. Двигатель не «трещит», как на старых драйверах — он просто молча теряет позицию, и вы обнаруживаете смещение слоёв уже на готовой детали. Поэтому при любых необъяснимых сдвигах первым делом стоит переключить оси в SpreadCycle и проверить, исчезла ли проблема.

⚠️ Внимание: StealthChop плохо переносит резкие ускорения. Если в слайсере выставлены высокие значения acceleration и jerk (или junction deviation), режим может терять шаги даже на средних скоростях. Снизьте ускорения или перейдите на SpreadCycle.

Когда нужен SpreadCycle

Для экструдера SpreadCycle — выбор почти всегда. Подача филамента требует стабильного момента и точной позиции, а ретракты — это постоянные резкие реверсы направления, с которыми StealthChop справляется хуже. Шум экструдера при этом обычно теряется на фоне вентиляторов и движения осей.

Также SpreadCycle необходим на осях, если вы печатаете быстро, используете тяжёлую кинематику (например, массивный стол с стеклом), либо настроили sensorless homing. На высоких скоростях перемещения (travel moves 150–300 мм/с и выше) StealthChop часто становится источником вибраций и звенящих резонансов, которые отпечатываются на поверхности детали.

📊 В каком режиме работают драйверы на вашем принтере?
StealthChop на всех осях
SpreadCycle на всех осях
Гибрид: StealthChop на осях, SpreadCycle на экструдере
Не знаю, стоят заводские настройки

Гибридный подход: лучшее из двух миров

Многие драйверы Trinamic умеют автоматически переключаться между режимами по порогу скорости — функция называется Hybrid Threshold. Ниже порога работает тихий StealthChop, выше — мощный SpreadCycle. Так принтер остаётся бесшумным при печати периметров и получает полный момент на быстрых холостых перемещениях.

В прошивке Marlin порог задаётся параметром HYBRID_THRESHOLD в файле Configuration_adv.h для каждой оси отдельно. Значение указывается в импульсах (steps) в секунду — точную конвертацию в мм/с нужно считать исходя из микрошага и шагов на миллиметр вашей механики. В самой прошивке есть подсказки по пересчёту рядом с параметром.

Как примерно оценить порог Hybrid Threshold

Определите скорость, выше которой StealthChop начинает терять момент (обычно это зона быстрых travel-перемещений). Переведите её из мм/с в шаги/с: умножьте скорость на число шагов на миллиметр оси (steps/mm из конфигурации). Полученное значение и укажите в HYBRID_THRESHOLD. Начните с консервативного значения и проверяйте на тестовых печатях — слишком низкий порог лишит вас тишины, слишком высокий не даст выигрыша в моменте.

Даже без Hybrid Threshold популярна схема: оси X/Y/Z в StealthChop, экструдер — принудительно в SpreadCycle. В Marlin это настраивается отключением опции STEALTHCHOP_E при включённых STEALTHCHOP_XY и STEALTHCHOP_Z.

💡

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

Как переключить режим в прошивке Marlin

На драйверах с UART-управлением (TMC2208, TMC2209, TMC2225) режим задаётся программно, без перемычек. Ниже — общий порядок действий; точные имена параметров сверяйте с вашей версией Marlin, так как конфигурация периодически меняется между релизами.

☑️ Переключение режима драйверов в Marlin

Выполнено: 0 / 6

Диагностику состояния драйверов удобно выполнять командой:

M122

В ответе для каждого драйвера будет указан активный режим: stealthChop со значением true/false. Это надёжный способ убедиться, что настройки из прошивки реально применились, а не сброшены из-за ошибок конфигурации.

⚠️ Внимание: если драйверы стоят в режиме standalone (без подключения UART), переключение StealthChop/SpreadCycle через прошивку работать не будет — драйвер останется в режиме по умолчанию. Проверьте распайку перемычек под драйвером по схеме вашей платы.

Типичные проблемы и их диагностика

Самая частая жалоба — смещение слоёв после перехода на драйверы TMC с включённым StealthChop. Диагностика проста: отключите StealthChop на проблемной оси (или снизьте ускорения вдвое) и повторите печать той же модели. Если смещения исчезли — причина в недостатке момента в тихом режиме.

Вторая типичная ситуация — принтер стал громче после прошивки, хотя драйверы те же. Возможная причина: обновлённая прошивка по умолчанию отключила StealthChop или изменился Hybrid Threshold. Проверьте вывод M122 и сравните с ожидаемой конфигурацией.

  • 🔍 Смещение слоёв на быстрых перемещениях — проверьте режим осей и ускорения.
  • 🔊 Звон и вибрации на travel moves — вероятно, StealthChop работает выше комфортной скорости; настройте Hybrid Threshold.
  • 🏠 Sensorless homing бьётся об раму или не срабатывает — убедитесь, что оси в SpreadCycle и порог StallGuard откалиброван.
  • 🌡️ Перегрев драйверов — чаще связан с завышенным током, а не с выбором режима; проверьте rms current в конфигурации.
💡

Пропуски шагов в StealthChop не слышны — только видны на детали. Любое необъяснимое смещение слоёв на TMC-драйверах начинайте диагностировать с перевода осей в SpreadCycle.

Что в итоге выбрать

Универсального ответа нет, но рабочая логика выбора выглядит так. Для тихой печати на умеренных скоростях подойдёт StealthChop на всех осях кроме экструдера. Для быстрой печати, тяжёлой механики и sensorless homing — SpreadCycle. А Hybrid Threshold позволяет совместить оба варианта, переключаясь автоматически по скорости.

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

Частые вопросы

Можно ли использовать StealthChop на экструдере?

Технически можно, но нежелательно. Экструдер требует точного момента и частых резких реверсов при ретрактах, с чем StealthChop справляется хуже. Шум экструдера в SpreadCycle обычно незаметен на фоне остальной механики.

Почему sensorless homing не работает в StealthChop?

Функция StallGuard, измеряющая нагрузку двигателя для определения упора, аппаратно работает только в режиме SpreadCycle. Это ограничение самих драйверов Trinamic, а не прошивки.

Как проверить, в каком режиме сейчас работают драйверы?

Отправьте принтеру команду M122 через терминал (например, через хост-программу на ПК). В отчёте по каждому драйверу будет строка с состоянием stealthChop — true означает активный тихий режим.

StealthChop снижает качество печати?

Сам по себе — нет, на низких скоростях качество обычно идентично. Проблемы возникают косвенно: из-за потери момента на быстрых перемещениях появляются смещения и вибрации. Если печатаете медленно, разницы в деталях, скорее всего, не будет.

Нужно ли перепаивать драйверы для смены режима?

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