24V Motor am Arduino Mega

Hallo,
ich stoße bei der Steuerung von 24V Motoren gerade an meine Grenzen und hoffe auf eure Hilfe. Der Code stimmt aus meiner Sicht und ich kann auch kleine Motoren ansteuern.(Code und Aufbau am Ende).

Jedoch kann ich keine Motoren mit 24V ansteuern, obwohl ich ein L293D nutze. Ich verwende als Motoren 3 unterschiedliche und alle funktionieren nicht. 2 Stück brummen, aber anscheinend reicht der Strom nicht damit sie starten...

Motor 1

Motor 2

Als Spannungsquelle habe ich einmal den Arduino über USB am Laptop angeschlossen, dann per USB an USB-Netzteil und zu guter letzt auch ein Panasonic-Netzteil mit DC 15,6V und 7,05A und alles ohne Erfolg außer ein Brummen beim starten über den Button.
Ich habe auch die Geschwindigkeit (Variable "speed") erhöht, ohne Erfolg, außer das es lauter brummt, aber sich nix dreht.

Ich vermute das halt immer nur maximal 1A Strom fließt und die beiden Motoren ja 1,5A benötigen und deswegen nicht anlaufen oder was sagt ihr?

Falls dem so sein sollte, kann ich ja die Spannungsquelle direkt am Motor anschließen, aber wie steuere ich dann den Motor mittels Arduino?

  int enablePin = 6;
    int in1Pin = 7;
    int in2Pin = 8;      
    int speed = 0;              // Speed Motor, bei Programmstart somit aus !
    const int ButtonEin = 2;  // Pin Button Einschalten
    const int ButtonAus = 3;  // Pin Button Ausschalten
    const int ButtonMotorLinks = 4;  // Pin Button Motor dreht sich links
    const int ledPin = 13;    // die Nummer vom LED Pin welches am Arduino leuchtet
    int StatusButtonEin = 0;  // variable for reading the pushbutton status
    int StatusButtonAus = 0;
    int StatusButtonMotorLinks = 0;
  
    void setup()
    {
      pinMode(ledPin, OUTPUT);
      Serial.begin(9600);
      pinMode(in1Pin, OUTPUT);
      pinMode(in2Pin, OUTPUT);
      pinMode(enablePin, OUTPUT);
    }
     
    void loop()
    {
      StatusButtonEin = digitalRead(ButtonEin);
      StatusButtonAus = digitalRead(ButtonAus);
      StatusButtonMotorLinks = digitalRead(ButtonMotorLinks);

      if (StatusButtonEin == HIGH) {
        // turn LED on:
        digitalWrite(ledPin, HIGH); //Lampe am Arduino geht an und zeigt das der Motor sich dreht
        speed=160;            //Geschwindigkeit vom Motor
        setMotor(speed);      // ruft die Funktion zum Motor starten auf
        delay(3000);          // Laufzeit vom Motor       
        setMotor(0);          // Motor wird gestoppt
        digitalWrite(ledPin, LOW);
      } 

      if (StatusButtonAus == HIGH) {
        // turn LED on:
        digitalWrite(ledPin, LOW);
        speed=0;
        setMotor(speed);
      }    

      if (StatusButtonMotorLinks == HIGH) {
        // turn LED on:
        digitalWrite(ledPin, HIGH); //Lampe am Arduino geht an und zeigt das der Motor sich dreht
        speed=160;            //Geschwindigkeit vom Motor
        setMotorLinks(speed);      // ruft die Funktion zum Motor starten auf
        delay(3000);          // Laufzeit vom Motor       
        setMotor(0);          // Motor wird gestoppt
        digitalWrite(ledPin, LOW);
      }

    }

        
    void setMotor(int speed)
    {
      analogWrite(enablePin, abs(speed));
      if(speed>0)
      {
        //Motor dreht rechts 2 true, 1 false
        digitalWrite(in2Pin,true);
        digitalWrite(in1Pin,false);       
      }  
    }
  
    void setMotorLinks(int speed)
    {
      analogWrite(enablePin, abs(speed));
      if(speed>0)
      {Serial.print(" Motor Links");
        //Motor dreht rechts 2 true, 1 false
        Serial.print(" Motor links");
        digitalWrite(in1Pin,true);
        digitalWrite(in2Pin,false);       
      }  
    }


     

wie alt sind diese Motoren? waren sie schon mal überhitzt?

alle Motoren sind nagelneu

wen du sie einfach an 5V anschließt, drehen sie gut?

Nein sie drehen sich gar nicht, das ist ja das Problem. Ein einfacher Motor aus dem Starterset funktioniert.

vielleicht probierst du mit einem 24V Netzteil?

Kann ich das 24V Netzteil am Arduino anschließen?

arduino braucht 24V nicht


und vergiss nicht alle GND am L293D zusammen zu verbinden

Motor 1 ist "Normaler" DC Motor = sollte ab 9V laufen
Motor 2 ist ein Schrittmotor (Stepper) wird nach deinem Plan nicht funktionieren

Ich habe ja den Motor #3 und #6 angeschlossen laut Skizze und real auch angeschlossen. Was muss ich denn verändern?

Sketch und Diagram

okay stecke ich mal nach und probiere es gleich aus...

benutze für Motorversorgung keine 5V vom Arduino

Kannst du ein Netzteil empfehlen?

ich empfehle 24V Netzteil, 2A mindestens.

okay, vielen Dank, das besorge ich mir.
Müssten die Motoren mit einen L293D und USB-Versorgung nicht trotzdem starten?

hängt von der Leistung, je niedriger Spannung desto mehr Strom ist nötig, USB kann nur 500mA geben d.h. 2,5W,

braucht 30W

a48c8abab546e2a7d0d7ab2ffa5abdbaea99fa68_2_637x500
R2 - 220-1000 Ohm

Das Bild kann ich nicht lesen ...
Würde es nicht reichen die Spannungsquelle (sagen wir 24 V Netzteil, 2 A =48 Watt) an #8 beim L293D anzuschließen und den Ground am Board vom Arduino, so wie es die Skizze im Post#11 zeigt?

eigentlich schon, aber für Zukunft und wenn Motor nur in eine Richtung drehen soll, dann weisst du Bescheid - MOSFET ist die beste Lösung.