ArduinoForum.de - Das deutschsprachige Forum rund um den Arduino
Schrittmotor bewegt sich nicht - Druckversion

+- ArduinoForum.de - Das deutschsprachige Forum rund um den Arduino (https://www.arduinoforum.de)
+-- Forum: Arduino-Allgemein (/arduino-Forum-Arduino-Allgemein)
+--- Forum: Hardware u. Schaltungen (/arduino-Forum-Hardware-u-Schaltungen)
+--- Thema: Schrittmotor bewegt sich nicht (/arduino-Thread-Schrittmotor-bewegt-sich-nicht)

Seiten: 1 2 3 4 5 6 7 8 9 10


Schrittmotor bewegt sich nicht - DerMaschbaustudent - 12.11.2020 18:57

Guten Abend,

ich habe in vergangener Zeit schon ein bisschen mit dem Arduino Mega 2560 in Kombination mit dem Motortreiber ULN2003 und dem Schrittmotor 28BYJ-48 rumprobiert und das hat auch alles problemlos funktioniert.

Jetzt wollte ich mich auf Grund des geringen und für meine Problemstellung nicht ausreichenden Drehmoments vergrößern. Dafür habe ich mir den Motortreiber A4988 und den Hema 17-Motor 17HS4401 besorgt.

https://www.amazon.de/gp/product/B07SQNYZDY/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1

Die verlegten Anschlüsse von Arduino zum Motortreiber sind folgende:

PWM-Pin 6 auf Enable
PWM-Pin 5 auf Step
PWM-Pin 4 auf Direction
Anschluss des 5V-Pin des Mega 2560 an VDD
Anschluss des GND-Pin des Mega 2560 an GND

Die 12V Stromversorgung mit 1 Ampere Stromstärke passiert über einen Gleichstromgenerator mit einem zwischengeschalteten 100mikroF Kondensator.
(Anschluss auf VMOT und GND am A4988)

Der Motor ist am Motortreiber folgendermaßen angeschlossen:
Spule 1 (A und C an B2 und A2)
Spule 2 (B und D an B1 und A1)

Reset und Sleep wurden am Motortreiber gebrückt.

Der Code ist auch fertig geschrieben und sieht folgendermaßen aus:

Code:
int steps = 200;

void setup()
{
pinMode(6, OUTPUT); // Enable
pinMode(5, OUTPUT); // Step
pinMode(4, OUTPUT); // Richtung

digitalWrite(6,LOW);
}

void loop()
{
digitalWrite(4,HIGH); // im Uhrzeigersinn

for(stepCounter = 0; stepCounter < steps; stepCounter++)
{
digitalWrite(5,HIGH);
delayMicroseconds(500);
digitalWrite(5,LOW);
delayMicroseconds(500);
}
delay(1000);

digitalWrite(4,LOW); // gegen den Uhrzeigersinn

for(stepCounter = 0; stepCounter < steps; stepCounter++)
{
digitalWrite(5,HIGH);
delayMicroseconds(500);
digitalWrite(5,LOW);
delayMicroseconds(500);
}
delay(1000);
}

Die Referanzspannung am Poti auf dem Motortreiber wollte ich nach folgender Faustformel einstellen

Vref=8*A (Stromstärke Motor)*Widerstandwert A4988
Vref=8*1,5*0,05
Vref=0,6 V

Was auch ohne Probleme funktioniert hat.

Es ist alles angeschlossen, das Programm wird gestartet und es passiert genau NICHTS.

Es kommt vom Motor keinerlei Reaktion. Ich bin ein bisschen am verzweifeln
Leider bin ich mit meinem Latein am Ende.
Wisst ihr, woran es liegen könnte?

Mit freundlichen Grüßen,

Maxi


RE: Schrittmotor bewegt sich nicht - Franz54 - 12.11.2020 22:02

Wenn ich das richtig sehe machst du mit dem programm einen Schritt vorwärts, einen rückwärts, einen vorwärts, einen rückwärts, u.s.w.

Was sill das bringen ?

Nimm mal die Zeile "digitalWrite(4,LOW); // gegen den Uhrzeigersinn" raus.
Ausserdem kannst du mal, wenn es trotzdem nicht geht, aus den 4 Zeilen "delayMicroseconds(500);" >> "delay(500);" machen. Weil die Impulszeit für 200 Schritte je Umdrehung sonst zu kurz ist.
Ich schätze dann macht er seine 200 Schritte vorwärts.

Franz


RE: Schrittmotor bewegt sich nicht - MicroBahner - 12.11.2020 22:39

Hallo Maxi,
deine Sketch habe ich mal auf meine Test-HW gespielt ( nur die Pinnummern angepasst ). Da läuft der Motor schön immer eine Umdrehung hin- und her.

Der Sketch ist also in Ordnung. Es muss an deinem Hardware-Aufbau liegen.

Macht der Motor irgendwelche Geräusche, oder bleibt alles absolut still? Wie Franz schon vermutet hat, kann auch die Steprate so 'aus dem Stand' für deinen Motor zu hoch sein - dann dreht er nicht. Allerdings hört man das dann.

Welche Messmöglichkeiten hast Du? Kannst Du die Spulen am Motor durchmessen, dass die auch richtig angeschlossen sind?


RE: Schrittmotor bewegt sich nicht - Franz54 - 12.11.2020 22:49

Ach ja, das ist ja jeweils ne for Schleife mit 200 Schritten. OK also das mit dauernd vorwärts, rückwärts, habe ich falsch gesehen. Aber die delays sind doch zu kurz für nen Nema 17 mit großen Schritten. Die würden vielleicht mit 1600 Schrittel je Umdrehung gehen, oder mit 3200. Soweit ich das noch im Kopf habe.

Franz


RE: Schrittmotor bewegt sich nicht - MicroBahner - 12.11.2020 22:51

Ich hatte meinen auf Halfstep ( 400 Schritte/Umdrehung ) - das hat funktioniert.
'delay(1)' oder (2) dürfte dann aber auch für Fullstep vermutlich reichen damit er dreht.
Aber er müsste auf jeden Fall hören, dass er versucht zu drehen. Wenn sich absolut NICHTS tut, muss die Ursache woanders liegen.


RE: Schrittmotor bewegt sich nicht - Franz54 - 12.11.2020 23:04

Bei 400 wunderts mich dass auch noch was es läuft. Aber OK ich müßte nachschauen, was ich bei 200 Schritten pro Umdrehung beim Nema 17 benutzt habe Confused Aber klar, wenn es bei dir läuft, dann ist das wohl so an der Grenze. Ist zu lange her, wo ich alle möglichen Impulszeiten mit den verschiedenen Schrittweiten vom Motor getestet habe Blush

Bin gerade am Einpacken für nen Umzug zum Monatsende Sad Da ist schön langsam nicht mehr viel greifbar. Die Testaufbauten sind schon im Umzugskarton Big Grin

(12.11.2020 22:51)MicroBahner schrieb:  Aber er müsste auf jeden Fall hören, dass er versucht zu drehen. Wenn sich absolut NICHTS tut, muss die Ursache woanders liegen.

Ja, genau.


RE: Schrittmotor bewegt sich nicht - DerMaschbaustudent - 13.11.2020 12:13

(12.11.2020 22:39)MicroBahner schrieb:  Welche Messmöglichkeiten hast Du? Kannst Du die Spulen am Motor durchmessen, dass die auch richtig angeschlossen sind?

Die Spulen des Schrittmotors habe ich per Druchgangsmessungen gemessen und zugeordnet


Ich habe mal noch zwei Bilder des Aufbaus hinzugefügt. Ich hoffe man erkennt, was woran angeschlossen ist.

(Die drei PWM-Ausgänge habe ich mittlerweile auf 9, 10 und 11 gelegt und diese auch im Sketch angepasst)

Gibt es irgendeine Möglichkeit den Motortreiber, auch ohne Motoren, per Multimeter auf seine Funktionstüchtigkeit zu überprüfen?


Grüße,

Maxi


RE: Schrittmotor bewegt sich nicht - SpaghettiCode - 13.11.2020 12:24

Hi,

nimm für alles wo ein Strom größer 20mA (LED) fließt kein Steckbrett, kein Jumperkabel!
Löte Litze von der Rolle, oder Schraub-Klemmleisten, oder etsprechend zuverlässige Steckerleisten am Treiber.
Du wirst sehen, dann funktioniert das auch! Und wenn Du wissen willst warum, dann miss mal den Widerstand
der auf so einem Steckbrett/Kabel von Kabel zu Kabel (Kabel-Steckbrett-Kabel) wirksam sein kann ...

Gruß André