• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Подключение драйвера серводвигателя с общим анодом.

kotovasia

New member
Подключал к ESP32-S3 двигатель mks servo42d и еще драйвер dm542.
В коде написал для проверки
C++:
// Define pin connections
const int stepPin = 3;   // Pin for Step signal
const int dirPin = 4;    // Pin for Direction signal
const int enPin = 5;     // Pin for Enable signal
#define RGB_BRIGHTNESS 40 // Change white brightness (max 255)

void setup() {
    // Set pin modes
    pinMode(stepPin, OUTPUT_OPEN_DRAIN);
    pinMode(dirPin, OUTPUT_OPEN_DRAIN);
    pinMode(enPin, OUTPUT_OPEN_DRAIN);
    
    // Enable the driver (set LOW to enable)
    digitalWrite(enPin, LOW);
    
    // Set direction (LOW for one direction, HIGH for the other)
    digitalWrite(dirPin, LOW); // Change to HIGH for reverse direction
}

void loop() {
    // Send step pulses
    for (int i = 0; i < 400; i++) { // Number of steps
        digitalWrite(stepPin, HIGH);
        digitalWrite(RGB_BUILTIN, HIGH);  // Turn the RGB LED white
        delayMicroseconds(1000);     // Pulse width

          // Turn the RGB LED white
        digitalWrite(stepPin, LOW);
        delayMicroseconds(1000);     // Time between steps
    }

    digitalWrite(RGB_BUILTIN, LOW);
    // Optionally, add a delay before changing direction or stopping
    delay(1000); // Wait for a second before next movement
    
    // Change direction if needed
    digitalWrite(dirPin, !digitalRead(dirPin)); // Toggle direction
}
В начале вроде завелось но у меня плохие dupon соединения и пока шевелил иногда дёргалось но когда вынул разъём общий была искра и сгорела esp.

Вопрос в том правильно ли я подключал выводы?
И у servo42d и у dm542 по схеме есть внутренние подтягивающие резисторы.
1730270590241.png1730271326575.png1730271398587.png
 

kotovasia

New member
Как понимаю я то должно работать и режимом OUTPUT и с OUTPUT_OPEN_DRAIN только сигнал инвертируется.
 

kotovasia

New member
Добыл другую esp.
Режим пина OUTPUT_OPEN_DRAIN был правильным. На драйверах настройки неправильные были поэтому не завелось в первый раз.
 

nikolz

Well-known member
Добыл другую esp.
Режим пина OUTPUT_OPEN_DRAIN был правильным. На драйверах настройки неправильные были поэтому не завелось в первый раз.
 

CodeNameHawk

Moderator
Команда форума
Как понимаю я то должно работать и режимом OUTPUT и с OUTPUT_OPEN_DRAIN только сигнал инвертируется.
Не должно, будет ли работать зависит от схемы.
Сигнал инветироваться не будет.
Для open drain, если объяснять просто, нужен подтягивающий резистор к плюсу.
 
Сверху Снизу