Если после установки драйверов TMC2208 или TMC2209 принтер стал тише, но на быстрых перемещениях появились смещения слоёв — почти наверняка дело в режиме StealthChop, который теряет крутящий момент на высоких скоростях. Это классический симптом неправильного выбора между двумя режимами работы драйверов Trinamic: тихим StealthChop и мощным SpreadCycle.
В этой статье разберём, чем режимы отличаются на практике, какой выбрать для осей и экструдера, как переключаться между ними в прошивке Marlin и что проверить, если после смены режима появились проблемы с печатью.
Что такое StealthChop и SpreadCycle
Оба режима — это алгоритмы управления током в обмотках шагового двигателя, разработанные компанией Trinamic. Они встроены в популярные драйверы серии TMC: TMC2208, TMC2209, TMC2225, TMC2130 и другие. Разница между ними — в способе регулирования тока (chopper-режима), что напрямую влияет на шум, момент и нагрев.
StealthChop — режим «тихого шоппера» на основе широтно-импульсной модуляции напряжения. Двигатель работает практически бесшумно на низких и средних скоростях, характерный «писк» шаговиков исчезает полностью. Платой за тишину становится снижение доступного момента и более слабая реакция на резкие изменения нагрузки.
SpreadCycle — классический высокочастотный chopper-режим с точным регулированием тока. Двигатель слышно (хотя и заметно тише, чем на старых драйверах A4988 или DRV8825), зато момент стабилен во всём диапазоне скоростей, а драйвер корректно отрабатывает резкие ускорения и точную микрошаговую позицию.
StealthChop — это тишина ценой момента, SpreadCycle — стабильный момент ценой умеренного шума. Выбор зависит от скоростей печати и нагрузки на ось.
Сравнение режимов по ключевым параметрам
Чтобы выбор был предметным, сведём основные различия в таблицу. Оценки качественные: точные значения зависят от конкретного двигателя, тока и механики принтера.
| Параметр | StealthChop | SpreadCycle |
|---|---|---|
| Шум на низких скоростях | Почти бесшумно | Тихо, слышно «шипение» |
| Шум на высоких скоростях | Растёт, возможны вибрации | Умеренный, предсказуемый |
| Крутящий момент | Снижен, особенно на скорости | Максимальный и стабильный |
| Точность удержания позиции | Ниже при ударах и рывках | Высокая |
| Поддержка 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 часто становится источником вибраций и звенящих резонансов, которые отпечатываются на поверхности детали.
Гибридный подход: лучшее из двух миров
Многие драйверы 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
Диагностику состояния драйверов удобно выполнять командой:
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 на платах, где оно не предусмотрено изначально. Схему подключения смотрите в документации вашей материнской платы.