Добавление драйвера TMC2209 на плату управления BIGTREETECH SKR mini E3 V3.0 с использованием Marlin

Я еще не начал работу над аппаратным обеспечением для этого проекта, так как все еще жду доставки, но я просто хотел бы проверить свои текущие модификации программного обеспечения и планы на аппаратное обеспечение, чтобы убедиться, что я на верном пути. . Я собираюсь взять плату BIGTREETECH SKR mini E3 V3.0 и добавить 5-й драйвер шагового двигателя, чтобы получить независимое управление осями Z на моем принтере. Изучив контакты на плате и схемы различных микросхем, я планирую подключить TMC2209 к некоторым запасным контактам на доске.

Использование версии драйвера BIGTREETECH PCB:

Схема печатной платы BIGTREETECH SKR mini E3

Я планирую подключить контакт включения к PD0 на SKR, MS1 и MS2 к земле, UART Tx/Rx к первому PDN, как подробно описано в manual, VM к источнику питания, GND к источнику питания, A2/A1/B1/B2 к двигателю, VDD к контакту 3,3 В от блока контактов SPI 1 на SKR и GND к земле.

Я думаю, что это имеет смысл, так как драйвер работает в режиме UART — он устанавливается в 0x0 путем привязки MS1 и MS2 к земле — и, насколько я понимаю, в режиме UART контакты CLK, STP и DIR не нужны. Я не уверен на 100% в этом вопросе, поэтому могу ошибаться. Если мне нужно добавить его, то STP и DIR легко, CLK будет немного сложнее, но я считаю, что UART не требует тактового сигнала.

Что касается изменений программного обеспечения, основные дополнения находятся в pins.h Marlin 2.1.x, где я добавил:

#define Z2_ENABLE_PIN                       PD0  
#define Z2_STEP_PIN                         PD2 // не нужен в режиме uart?
#define Z2_DIR_PIN                          PD3 // не нужен в режиме uart?

А затем перехватить несколько аппаратных последовательных контактов:

#define X_HARDWARE_SERIAL  MSerial4 // исходный код
#define Y_HARDWARE_SERIAL  MSerial4 // исходный код
#define Z_HARDWARE_SERIAL  MSerial4 // исходный код
#define Z2_HARDWARE_SERIAL MSerial1 // мое дополнение
#define E0_HARDWARE_SERIAL MSerial4 // исходный код

Вот здесь у меня больше всего сомнений: я предполагаю, что MSerial1 соответствует контактам Rx1 и Tx1 в блоке EXP1 на плате.

Подводя итог, мои основные вопросы таковы: нужны ли мне контакты CLK, STP и DIR (может быть, только STP и DIR?) и соответствует ли использование MSerial1 контактам Rx1 и Tx1?

, 👍2


1 ответ


1

У меня есть та же идея на той же плате, но я думаю, что сначала нужно использовать режим DIR/STEP. CLK бесполезен для режима DIR/STEP, тогда я полагаю, что он полезен для режима UART. Но эта таблица данных очень странная, часто Rx и Tx UART находятся рядом с выводом STEP. Проводка STM2209

Когда я прочитал документацию Bigtreetech по вашей ссылке, для UART (Rx/Tx) используется только один провод. Это странно, или он должен быть совместим с другим драйвером, а CLK бесполезен.

Я никогда не использовал TMC2209 с uart, только в режиме STEP/DIR и непосредственно управлял Raspberry Pico. Мне интересно узнать ваш результат. Спасибо


,

Добро пожаловать в 3D-печать! и спасибо за ваш вклад. Когда у вас будет возможность, посетите [экскурсию], чтобы понять, как работает сайт и чем он отличается от других., @agarza