Schrittmotor und L298N

hallo leute,

ich fange gerade an …

zz. habe ich das problem das wenn “mein” programm durchgelaufen ist offensichtlich noch spannung am motor anliegt, er wird heiß obwohl er steht.

hat jemand ne idee ?

das programm:

#include <Stepper.h>
int i = 0;
int SPMU = 32;  

Stepper myStepper(SPMU, 2,3,4,5);          



void setup()
{
myStepper.setSpeed(400);
pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
//  digitalWrite(STMU, LOW);
while(i >= 2);{
  i ++;
  digitalWrite(LED_BUILTIN, HIGH); 
  myStepper.step(512);
  delay(500);
  digitalWrite(LED_BUILTIN, LOW);
  myStepper.step(-512);
  delay(500); 
}
}

hat eine(r) ne idee ?
vielen dank im vorraus :slight_smile:

Code bitte in Code Tags </> einschließen.

Das “while” macht garnichts, weil die Bedinung nie erfüllt ist, und danach ein “;” steht. Dein Programm läuft also ständig durch.

Wenn der Motor stehen bleibt, dann vielleicht weil Du nicht wartest, bis eine Bewegung abgeschlossen ist.

Schrittmotoren ziehen immer Strom, vor allem im Stand. Wie viel, das hängt vom Motor, Treiber-Modul und Stromversorgung ab.

Es ist normal daß Schrittmotore auch wenn sie Stehen mit Spannung versorgt werden da sie ansonsten kaum Kraft (Haltemoment) haben. Wenn es das nicht braucht bzw nicht erwünscht wird mußt Du den L298 mit den beiden EN Eingängen (ENA und ENB) abschalten.

Grüße Uwe

Die meisten einfachen Schrittmotor-Treiber liefern ständig den maximal eingestellten Strom durch die Wicklungen des Motors und die Bewegung findet nur statt, wenn der Treiber Stepsignale vom Arduino erhält. So wie Uwe bereits ausgeführt hat, ist es, um den Motoren im Stillstand Haltekraft zu geben.

Stelle dir vor, dass du eine CNC-Maschine hast, wo die Z-Achse das Gewicht der Spindel über dem Werkstück halten muss, wenn der Fräser oberhalb des Werkstücks zur neuen Frässtelle transportiert wird. Ohne Haltekraft gäbe das ein kleines Disaster ..

Nachteil: im "Stall-Betrieb" fließt der maximal eingestellte Strom und heizt Motor und Treiber ziemlich auf, während im laufenden Betrieb die Induktivität den Strom mit zunehmender Geschwindigkeit verringert.

Es gibt aber auch Fälle, wo eine Haltekraft im Stillstand eines Motors nicht oder nicht im vollen Umfang notwendig ist. Dann macht es Sinn, entweder den Strom komplett auf Null zu stellen (die meisten modernen Treiber incl. der preiswerten DRV8825/A4988 können das) oder - eine automatische Begrenzung auf z.B. ein Drittel des im normalen Betrieb eingestellten Stroms (haben die meisten größeren Treiber-Module, z.B. DM542 o.ä., aber auch die zu den o.a. DRV8825/A4988 pin-kompatiblen Silent-Step-Sticks (suche nach: Trinamics TMC21..).