Добавление драйвера TMC2209 на плату управления BIGTREETECH SKR mini E3 V3.0 с использованием Marlin
Я еще не начал работу над аппаратным обеспечением для этого проекта, так как все еще жду доставки, но я просто хотел бы проверить свои текущие модификации программного обеспечения и планы на аппаратное обеспечение, чтобы убедиться, что я на верном пути. . Я собираюсь взять плату BIGTREETECH SKR mini E3 V3.0 и добавить 5-й драйвер шагового двигателя, чтобы получить независимое управление осями Z на моем принтере. Изучив контакты на плате и схемы различных микросхем, я планирую подключить TMC2209 к некоторым запасным контактам на доске.
Использование версии драйвера BIGTREETECH PCB:
Я планирую подключить контакт включения к 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?
@eng_giraffe, 👍2
1 ответ
У меня есть та же идея на той же плате, но я думаю, что сначала нужно использовать режим DIR/STEP. CLK бесполезен для режима DIR/STEP, тогда я полагаю, что он полезен для режима UART. Но эта таблица данных очень странная, часто Rx и Tx UART находятся рядом с выводом STEP.
Когда я прочитал документацию Bigtreetech по вашей ссылке, для UART (Rx/Tx) используется только один провод. Это странно, или он должен быть совместим с другим драйвером, а CLK бесполезен.
Я никогда не использовал TMC2209 с uart, только в режиме STEP/DIR и непосредственно управлял Raspberry Pico. Мне интересно узнать ваш результат. Спасибо
- Шаговые двигатели внезапно отключились во время работы
- Marlin 2.0 - установить шаговые драйверы?
- Драйверы TMC2208 - Микропереходы настроены неправильно
- Как рассчитать Vref и X_CURRENT для шагового драйвера TMC2130, зная номинальный ток шагового двигателя?
- Я могу установить напряжение и ток драйвера TMC2130 вручную. Но в каких случаях некоторые компоненты могут сгореть?
- Какой порт UART использовать для выводов RPi GPIO на плате SKR v1.3
- Странное движение и не самонаведение
- Ошибка "TMC2208 или TMC2209 на Z2 требуется Z2_HARDWARE_SERIAL или Z2_SERIAL_(RX|TX)_PIN
Добро пожаловать в 3D-печать! и спасибо за ваш вклад. Когда у вас будет возможность, посетите [экскурсию], чтобы понять, как работает сайт и чем он отличается от других., @agarza