• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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, если объяснять просто, нужен подтягивающий резистор к плюсу.
 
Сверху Снизу