ich bin neu hier im Forum, 43 und Java Entwicker von Beruf.
Neulich hatte ich eine Idee wofür ich nen Stepper Motor brauche. Ich hab mir also mein ELEGOO UNO R3 geschnappt, den staub runter gepustet und den Motor (28byj-48) über das ULN2003 Board angeschlossen. Sketch gesucht und... nix.
Also hab ich probiert und Probiert. Eine kleine Schaltung gebaut um zu sehen ob die Ausgänge funktionieren, ja tun sie.
Nun hatte ich das Board im Verdacht - also Amazon 5 neue Boards und Motoren bestellt, ausprobiert und... nix...
Jetzt gehen mir so ein bisschen die Ideen aus wo das Problem liegen kann. Google hat mich dann hier in Forum geführt.
Nun weiß ich das Ferndiagnosen schwierig sind, mir geht's auch eher um Denkanstöße wo ich das Problem noch suchen kann.
lordariton:
ich bin [..] Java Entwicker von Beruf.
Sketch gesucht und... nix.
Also mal ehrlich. Du weisst doch wie es geht.
Was soll Dir denn geholfen werden, wenn es mit Hardware geht, mit Software nicht und Du Dich verweigerst die Software zu zeigen.
Und das Bild ist so winzig, dass man da auch nichts drauf erkennen kann.
Edit - hat Uwe auch schon gemerkt
Du musst schon ein paar bessere Info's liefern damit man dir helfen kann.
Ein ordentliches Bild und den Sketch
Den Sketch bitte in Codetags - der Button </> links oben. Oder Du kopierst den Sketch mit ctr-shift-C aus der Ide und fügst das hier rein. Dann ist schon alles richtig gemacht und die Code-Tags sind schon dabei.
lordariton:
Neulich hatte ich eine Idee wofür ich nen Stepper Motor brauche. Ich hab mir also mein ELEGOO UNO R3 geschnappt, den staub runter gepustet und den Motor (28byj-48) über das ULN2003 Board angeschlossen. Sketch gesucht und... nix.
Also hab ich probiert und Probiert. Eine kleine Schaltung gebaut um zu sehen ob die Ausgänge funktionieren, ja tun sie.
my_xy_projekt:
Na dann. Ich bin hier raus.
Gut, ich nehme mich mal zurück.
Ist das Dein Problem?
Hier folgt eine Anleitung, wie man diesen Motor problemlos mit der Arduino Stepper Library betreiben kann. An vielen Stellen im Netz liest man, dass das nicht geht und findet diverse hangestrickte Codes, umgebaute Libs etc. Der ganze Aufwand ist aber gar nicht nötig. Es langt 3 Zahlen im Code zu ändern oder zwei Kabel zu tauschen.
also ich habe auch einmal nach 28byj-48 ULN2003
gegoogelt und dann dieses Bild hier gefunden.
Schrittmotoren brauchen vergleichsweise viel Strom.
Deshalb wird das Schrittmotorboard von einem eigenen Netzteil versorgt und nicht vom Arduino.
Ja und um jetzt weitere Hinweise geben zu können müsste man wissen wie schaltet der Sketch den du hast die einzelnen Ausgänge Damit sich ein Schrittmotor dreht müssen die Spulen plus-minus und dann minus-plus in der richtigen Reihenfolge geschaltet werden.
Ich habe es ab und zu erlebt das ein downloadbares sketch so dermaßen grottenschlecht programmiert war das das beste war ihn zu löschen und etwas besseres zu suchen.
Du könntest mal die OnBoard-LED mit blinken lassen ob denn der Sketch überhaupt ausgeführt wird.
Wenn der Schrittmotor zu viel Strom zieht, dann könnte es auch sein das das Arduino-Board reset macht oder sich aufhängt.
Was man auf deinem Bild noch nicht genau sehen kann.
Es gibt ULN2003-boards die haben einen Jumper für Steppermotor ON/OFF
Du hast noch nicht viel darüner geschrieben wie du mit SChaltung gestestet hast.
Was hast du da genau gemacht?
Leuchten die LEDs auf dem ULN2003-Board auf wenn du Schritte ausgibst?
Hast du statt des ULN2003-Boards mal LEDs mit Vorwiderstand an die Ausgänge gehängt um zu testen ob die Ausgänge angesteuert werden?
Hat das ULN2003-Board Freilauf-Dioden die die Spannungspitzen abbauen?
Mein 28BYJ-48 mit ULN2003A Treiber-Board macht mit folgendem Test-Sketch immer ca. eine Vierteldrehung nach rechts und dann eine Vierteldrehung nach links (Anschlussplan siehe Sketch):
// stepper bounce
// connections for ULN2003A driver with 28BYJ-48 stepper motor
// ULN2003 Arduino UNO
// IN1 ------- 11
// IN2 ------- 10
// IN3 ------- 9
// IN4 ------- 8
#include <Stepper.h>
// change this to the number of steps on your motor
#define STEPS 24
// create an instance of the stepper class, specifying the
// number of steps of the motor and the pins it's attached to
Stepper stepper(STEPS, 8, 10, 9, 11);
void setup() {
stepper.setSpeed(350); // set the speed of the motor to xxx RPMs
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
stepper.step(512); // 90° CW
delay(2000);
digitalWrite(13, LOW);
stepper.step(-512); // 90° CCW
delay(2000);
}
Was die Stromversorgung betrifft, so geht sich das "gerade noch aus", bei Versorgung über USB.
Alles zusammen braucht ca. 350 mA (meint mein USB-Amperemeter).
Mag für erste Tests eventuell funktionieren, trotzdem wäre eine externe Stromversorgung für den Stepper ratsam.
ich versuch mal möglichst vollumfänglich zu antworten:
Ich habe alle Sketches die es auf dieser Seite gibt ausprobiert und noch einige mehr die man so findet, für mich sieht der code logisch aus also sehe ich keinen Grund am code der sketches zu zweifeln, die libs kann ich nicht bewerten weil ich da nicht reingeschaut hab.
Die Schaltung ist exakt so gebaut wie auf dem Schaltplan den du gepostet hast, mit dem Unterschied das ich den 5V und GND direkt am Arduino genommen hab, zu testen sollte das reichen.
Auf dem Treiberboard die LEDs leuchten nicht.
Ich dachte mir "schau mal ob der Arduino tut, schnell ein paar LEDs an die Ausgäne, ist ne hübsche Lichtorgel wenn man das Sketch so modifiziert das die Ausgänge langsamer geschaltet werden. Will sagen, die Ausgänge am Arduino funktionieren.
Ich hab mich auch mal mit 'nem Strommesser hingesetzt, der HIgh Pegel liegt bei knapp unter 5V, sollte also OK sein.
Ja und um jetzt weitere Hinweise geben zu können müsste man wissen wie schaltet der Sketch den du hast die einzelnen Ausgänge Damit sich ein Schrittmotor dreht müssen die Spulen plus-minus und dann minus-plus in der richtigen Reihenfolge geschaltet werden.
Der 28BYJ-48 ist ein Unipolar-Motor. Der braucht keine H-Brücke um die Spulen umzupolen. Bei Unipolarmotoren wird die Mittelanzapfung der Spulen auf Versorgungsspannung gelegt und die Spulenenden über NPN Transistoren (im ULN2003 / ULN2803) auf Masse gelegt.
lordariton:
Jetzt gehen mir so ein bisschen die Ideen aus wo das Problem liegen kann. Google hat mich dann hier in Forum geführt.
Nun weiß ich das Ferndiagnosen schwierig sind, mir geht's auch eher um Denkanstöße wo ich das Problem noch suchen kann.
Als erstes nach dem Aufbau sehen.
Deine Anschaltung könnte das Problem sein. siehe weiter unten.
Peter-CAD-HST:
das Bild kann man einfach vergrößern.
Moin Peter,
Nein, das ist nicht die Lösung.
Ich habs gerade versucht auf meinem grossen Monitor herauszubekommen, wohin die Versorgungsspannung gehjt.
Wenn Du es besser siehst, sag mal was...
Der rote Draht geht von GND zur Treiberplatine
Der schwarze Draht geht von +5V zur Treiberplatine. Ungewöhnlich allemal, aber wo gehen die hin?
Ich würde nach StefanL's Bild behaupten, das das schwarze auf GND und der rote auf + geht.
my_xy_projekt:
Deine Anschaltung könnte das Problem sein. siehe weiter unten.
Der rote Draht geht von GND zur Treiberplatine
Der schwarze Draht geht von +5V zur Treiberplatine. Ungewöhnlich allemal, aber wo gehen die hin?
Ich würde nach StefanL's Bild behaupten, das das schwarze auf GND und der rote auf + geht.
agmue:
Ein unscharfes Bild wird durch Vergrößern nicht schärfer.
Wie schon in #10 geschrieben, Du hast m. E. rot und schwarz am UNO vertauscht.
Kann mich den Vorrednern nur anschließen.
Es sieht so aus, als wären Plus und Minus vertauscht:
Das dunklere Kabel (braun oder schwarz) geht auf der Treiberplatine nach "-" und am UNO-Board auf 5V.
Das rote Kabel geht auf der Treiberplatine auf "+" und am UNO-Board auf GND.
Danke, äußerst freundlich, aber obwohl ich keine Brille trage, habe ich doch verschiedenen optische Vergrößerungsmöglichkeiten zur Verfügung, da diese bei Basteleien immer mal nützlich sind.
In meiner Fälscherwerkstatt habe ich mal Rot und Schwarz getauscht