Подробный гайд: Как установить аппаратно-программный режим StealthChop серии Trinamic

Полный гайд по настройке бесшумного режима StealthChop для драйверов TMC. Подключение UART, настройка Klipper и Marlin, расчет тока и устранение сдвигов.

2026.07.04                  


Подробный гайд: Как установить аппаратно-программный режим StealthChop серии TrinamicПодробный гайд: Как установить аппаратно-программный режим StealthChop серии Trinamic StealthChop — это не отдельная программа, плагин или приложение, которое нужно «скачать и установить». Это аппаратно-программный режим работы шаговых драйверов серии Trinamic (TMC2208, TMC2209, TMC5160 и др.), который использует ШИМ-управление напряжением вместо классического токового широтно-импульсного модулирования (SpreadCycle). Это делает работу моторов практически бесшумной.

Чтобы «включить» StealthChop, вам нужно правильно подготовить «железо» (подключить драйверы) и настроить прошивку вашего 3D-принтера (Klipper или Marlin).

Ниже представлен подробный гайд, как это сделать.


Шаг 1. Аппаратная часть (Подготовка железа)

Для работы StealthChop вам нужны драйверы Trinamic с поддержкой UART/SPI (чаще всего это TMC2209 или TMC2208).

1. Если у вас плата с готовыми разъемами (например, SKR Mini E3, BTT Octopus):

Вам нужно просто купить драйверы в формате «Plug & Play» (например, BigTreeTech TMC2209 V1.2 для MKS/SKR). Они просто вставляются в разъемы, и линия UART уже разведена на плате.


2. Если у вас стандартная плата (например, MKS Gen L, Creality 4.2.7) и обычные драйверы в корпусах DIP:

Вам нужно организовать связь по UART.

* Вариант А:

Использовать специальные переходники или платы-переходники.

* Вариант Б (Популярный):

Сделать модификацию на один провод (Single-wire UART). На самом драйвере нужно замкнуть контакт TX с контактом PDN_UART (или просто использовать площадку UART), а на материнской плате соединить пин TX соответствующего мотора с RX через резистор 1кОм (схема легко гуглится по запросу "TMC2208 single wire UART mod").


Шаг 2. Настройка прошивки Klipper

Если ваш принтер работает на Klipper, настройка делается в файле printer.cfg.

Найдите секции для ваших драйверов (они выглядят как [tmc2209 stepper_x], [tmc2209 stepper_y] и т.д.) и добавьте/измените параметр stealthchop_threshold.


Пример настройки:

[tmc2209 stepper_x]
uart_pin: PD7          # Пин UART для оси X (укажите ваш пин из схемы платы!)
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999  # Включает StealthChop на всех скоростях

[tmc2209 stepper_y]
uart_pin: PD8
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999

[tmc2209 stepper_z]
uart_pin: PD9
run_current: 0.650
hold_current: 0.400
stealthchop_threshold: 999999  # Для оси Z StealthChop идеален

[tmc2209 extruder]
uart_pin: PD10
run_current: 0.600
hold_current: 0.300
stealthchop_threshold: 999999  # Для экструдера StealthChop идеален

Важный нюанс для осей X и Y:

Режим StealthChop имеет меньший крутящий момент на высоких скоростях по сравнению с режимом SpreadCycle. Если вы печатаете быстро, на осях X и Y могут начаться пропуски шагов (сдвиги слоев).

Решение:

Для осей X и Y лучше задать порог скорости. Например, stealthchop_threshold: 30 (означает, что StealthChop включается только при скоростях ниже 30 мм/с, а при быстрых перемещениях драйвер сам переключится в шумный, но мощный SpreadCycle). Для осей Z и экструдера смело ставьте 999999.


Шаг 3. Настройка прошивки Marlin

Если вы используете Marlin, настройка производится в файлах конфигурации.

1. Откройте Configuration.h:

Убедитесь, что для ваших осей выбраны правильные драйверы:

#define X_DRIVER_TYPE  TMC2209
#define Y_DRIVER_TYPE  TMC2209
#define Z_DRIVER_TYPE  TMC2209
#define E0_DRIVER_TYPE TMC2209

2. Откройте Configuration_adv.h:

Найдите секцию TMC2208/TMC2209 stepper drivers и раскомментируйте (уберите //) нужные строки:

#define HAVE_TMC220x

// Включаем StealthChop для нужных осей:
#define STEALTHCHOP_XY
#define STEALTHCHOP_Z
#define STEALTHCHOP_E

// Указываем пины UART (обязательно посмотрите в схему вашей платы!)
#define X_SERIAL_TX_PIN  PD7
#define X_SERIAL_RX_PIN  PD7 // Если используете single-wire, пины TX и RX должны совпадать

#define Y_SERIAL_TX_PIN  PD8
#define Y_SERIAL_RX_PIN  PD8

#define Z_SERIAL_TX_PIN  PD9
#define Z_SERIAL_RX_PIN  PD9

#define E0_SERIAL_TX_PIN PD10
#define E0_SERIAL_RX_PIN PD10

// Опционально: настройка режима SpreadCycle при высоких скоростях (аналог threshold в Klipper)
// Если хотите StealthChop только на малых скоростях, используйте M913 в стартовом G-code, 
// но проще оставить чистый STEALTHCHOP_XY, если принтер не быстрый.

После внесения изменений скомпилируйте прошивку и прошейте плату принтера.


Шаг 4. Проверка и устранение проблем

После включения принтера:

1. Проверка связи:

* В Klipper:

Введите в консоль DUMP_TMC STEPPER=stepper_x. Если вы видите кучу значений регистров, а не ошибку Unable to read/write TMC register, значит UART работает.

* В Marlin:

Отправьте через терминал команду M122. Она покажет статус драйверов. Ошибок UART быть не должно.


2. Пропуски шагов (Сдвиг слоев):

Если на осях X/Y появились сдвиги слоев, значит, StealthChop не справляется с ускорениями.

* Решение 1:

Снизьте ускорения (Acceleration) и джерк (Junction deviation) в слайсере.

* Решение 2:

Отключите StealthChop для X/Y (в Klipper уберите stealthchop_threshold или поставьте 0, в Marlin закомментируйте #define STEALTHCHOP_XY). Оставив его только для Z и E, вы уберете 80% шума, но сохраните надежность печати.


3. Драйверы отключаются (Thermal Protection):

StealthChop, наоборот, меньше греет драйверы, чем SpreadCycle. Если драйверы греются и отключаются, проверьте, не выставлен ли у вас слишком высокий run_current (ток). Для большинства моторов NEMA 17 достаточно 0.6 - 0.8 А.


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


Статью подготовил: Денис Аверко @Nymexis г. Омск

Комментарии

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