MSK TMC 2209 v3.0

snikes-x

✩✩✩✩✩✩✩
4 Июн 2025
1
0
Доброго времени суток,
Нужно подключить TMC 2209 v3.0 (вероятно китайский) к ESP32C3 Super mini

На сколько я понял. ноги TX/RX уже распаяны на драйвере через резистор и их нужно только подключить к ESP32,
пробовал, по разному, TX/RX RX/TX, RX/CLK, TX/CLK, CLK/RX, CLK/TX в общем все варианты (пишут что на китайских вывод CLK далеко не CLK), и на внешней стороне драйвера идут 2 ноги, один от RX вторая от CLK

Пробовал менять пины на самом ESP32, все безуспешно
Подключал кроме RX,TX так:
ESP32 TMC2209
3.3 -> VIO
GND ->GND (рядом с VIO)
GND -> EN

ну и далее RX TX

код каким пытался прочитать хоть что-то с драйвера (скорость тоже менял от 9600 до 115200):
C++:
#include <TMCStepper.h>
#include <HardwareSerial.h>

#define R_SENSE 0.11f        
#define RX_PIN 3
#define TX_PIN 4

HardwareSerial MySerial(1);
TMC2209Stepper driver(&MySerial, R_SENSE, 0x00);

void setup() {
  Serial.begin(9600);
  delay(1000);
  Serial.println("Start");

  MySerial.begin(19200, SERIAL_8N1, RX_PIN, TX_PIN);
  delay(1000);

  driver.begin();
  driver.pdn_disable(true);        // Включить UART режим
  driver.mstep_reg_select(true);   // Микрошаги через регистры

  driver.toff(5);                  // Режим "включения" драйвера
  driver.rms_current(400);         // Установить RMS ток
  driver.microsteps(16);           // Микрошаги

  // Чтение статуса драйвера
  uint8_t status = driver.GSTAT();
  Serial.print("GSTAT: 0x");
  Serial.println(status, HEX);

  uint16_t current = driver.rms_current();
  Serial.print("Текущий RMS ток: ");
  Serial.println(current);

  uint8_t version = driver.version();
  Serial.print("Версия драйвера: 0x");
  Serial.println(version, HEX);
}
Через STEP/DIR управляется, но мне нужен UART

1749033471014.png вот эти две ноги выведены на эту сторону, логично предположить что должны они бытьTX Rx, а не RX CLK