Ошибка "TMC2208 или TMC2209 на Z2 требуется Z2_HARDWARE_SERIAL или Z2_SERIAL_(RX|TX)_PIN

stepper-driver mks tmc2209

Я получаю эту ошибку, когда пытаюсь включить драйвер Z2 для MKS Gen L V2.1 Кто-нибудь может помочь?

Ошибка "TMC2208 или TMC2209 на Z2 требуется Z2_HARDWARE_SERIAL или Z2_SERIAL_(RX|TX)_PIN

Спасибо

, 👍1


2 ответа


1

В вашем вопросе отсутствует важная информация, но я могу попытаться что-нибудь выяснить. Вы не сказали, что это за прошивка. Полагаю, это Марлин.

Ваша проблема заключается в том, что для Z2 нет контактов Tx Rx (потому что по умолчанию на плате MKS Gen L есть X, Y, Z, E0, E1)

Я предполагаю, что вы хотите использовать драйвер E1 для Z2 вместо второго экструдера. В этом случае вы должны сообщить прошивке, что хотите использовать этот драйвер для Z2.

Найдите исходный код файла "pins_MKS_GEN_L_V21.h" Там должны быть определены E1_SERIAL_TX_PIN и E1_SERIAL_RX_PIN. Переименуйте их в Z2_SERIAL_TX_PIN и Z2_SERIAL_RX_PIN.

driver uart pins

В файле "pins_RAMPS.h" найдите блок из нескольких строк, начинающийся с "E1_STEP_PIN", и переименуйте E1 в Z2 для всех этих строк.

driver pins

Теперь это может сработать (а может и не сработать). Если это не так, пожалуйста, каким-то образом опубликуйте эти конфигурационные файлы.


,

Кстати: вы действительно хотите иметь два независимых драйвера для Z? Вы можете просто подключить два Z-степпера к одному драйверу., @Jiří Maier

Большое вам спасибо за ваш ответ. к сожалению, я попробовал то, что вы посылаете, и двигатель все еще нагревается, и теперь он издает шум! Извините за неудобства, но я не знаю, как поделиться файлами, поэтому по следующей ссылке я загрузил файлы configuration.h, configuration_adv.h, pins_RAMPS.h и pins_MKS_GEN_L_V21.h. https://drive.google.com/drive/folders/1V8Yw628a-RnjJeKxWd4wU0pyVEelkrGe?usp=sharing, @Rayan


1

Я получал тот же код проблемы/ошибки, но для моей оси Y2:

TMC2208 или TMC2209 на Y2 требуют Y2_HARDWARE_SERIAL или Y2_SERIAL_(RX|TX)_PIN

Я использую Marlin 2.0 на MKS Gen L V2.1 с драйверами TMC2209 (BigTreeTech v1.2). У меня есть X, Y, Y2 (работает на драйвере E1) и E0 для пользовательского научного инструмента (это не 3D-принтер, но он использует ту же прошивку и G-код для перемещения, так что все то же самое). Сначала я пытался реализовать все это на MKS Gen L V1, однако он имеет только UART для 4 драйверов (см. видео от Технология обучения). Вы не можете получить 5 драйверов, управляемых UART, на этой плате V1.0. По этой причине я перешел на MKS Gen L V2.1. Если эта плата V1 - это все, что у вас есть, я думаю, вы могли бы оставить один драйвер как A4988 или DRV8825 и смириться с потерей обновления до TMC2209 для одной оси. Это была прошивка, которая не запрашивает серийные контакты, из-за чего и возникает большая часть этой проблемы.

РЕШЕНИЕ:

Приведенное выше решение от Jiří Maier в основном устранило мою проблему. Однако есть несколько вещей, которые следует отметить и изменить:

В configuration.h #define EXTRADERS 1 определяет количество экструдеров. Я думаю, это важно здесь (я на 85%). Это значение подтолкнет «экструдер» к следующему доступному драйверу шагового двигателя, который будет E0. Поэтому я переместил свой драйвер Y2 в E1, так как E0 был «занят» экструдером.

В configuration.h убедитесь, что все оси DRIVER_TYPE правильно настроены на количество имеющихся у вас драйверов. Например, я использую драйвер для X, Y, Z, Y2 и дополнительный E0 (для перекачивания жидкостей), всего 5. Здесь Y2 заменит драйвер E1, поэтому E1 закомментирован. Поэтому все используемые драйверы имеют здесь комментарии TMC2209. Все остальное следует закомментировать.

,