Hallo zusammen,
mache meine ersten Veruche mit den Moba Tools und steuere meine Stepper über einen TB6600 Treiber an. Die IDE (2.3.4) kompiliert meinen sketch (für den Arduino UNO) fehlerfrei. Sofort nach dem Hochladen startet der Motor für ca. 1 sec. , bleibt dann stehen und startet erneut das geladene sketch. Betätige ich den Reset am Arduino läuft "nur" das Programm so wie es soll, ohne die anfängliche Drehbewegung. Woran kann das liegen?
Das sollte nicht so sein - der Motor sollte dauerhaft laufen. Woran erkennst Du, dass der Sketch neu gestartet wird?
Wie soll es denn sein? Die Drehbewegung sofort nach dem Start ist ja so programmiert.
Das ganze sieht mir eher nach einem HW-Problem aus. Zeig mal einen Schaltplan und ein Bild von deinem Aufbau. Vor allem auch wie Du das mit Strom versorgst, und was das für ein Stepper ist.
Hey StefanL38,
Du hast Recht, ich will, dass der Motor sich dreht, so steht es in meinem sketch. Es ist nur unschön, dass der Motor sich schon für kurze Zeit dreht direkt nach dem Hochladen, dann stehenbleibt, und dann erst das tut, was im sketch steht. Dieses anfänliche Drehen (nur für kurze Zeit) stört mich. Wie gesagt, der sketch läuft problemlos nach einem Hardware-Reset.
Das hört sich nach Reset durch Spannungseinbruch an.
Wie wird der Schrittmotor mit Spannung versorgt?
Um herauszufinden ob das wirklich ein Reset ist lade mal diesen Sketch hoch
Wenn alles funktioniert wie es programmiert ist dann passiert folgendes
Arduino startet
noch bevor der sich der Schrittmotor zu drehen anfängt blinkt die onboardLED 5x mittelschnell
Dann fängt der Motor an zu drehen und die LED blinkt 20x sehr schnell
dabei dreht der Motor die ganze Zeit.
3.nach dem 20x schnell blinken
blinkt die LED koninuierlich. Der Schrittmotor dreht sich ohne Unterbrechnung
3x schnell
3x langsam
3x schnell
2 Sekunden Pause
Hallo StefanL38,
dein sketch funktioniert bei mir genau so wie Du ihn beschrieben hast. Wenn Du aber folgende Änderung machst, tritt der von mir beschiebene Effekt auch ein:
blinkLed(1, 300); // 1x mittelschnell blinken
Also, nur 1 mal mittelschnell Blinken reicht nicht als Verzögerung vor der ersten Drehbewegung aus. Nach jedem reset läuft mein und dein sketch fehlerfrei.
Nein. Auf meiner Test-HW passiert das auch nicht. Und auch in der WOKWI-Simulation von @ec2021 passiert es ja nicht. Es muss also mit der HW zusammenhängen - denn die ist der einzige Unterschied.
Naja, da sind meine Erfahrungen anders - nichts ist so einfach, dass man nicht was falsch machen könnte . Was ist das für ein Netzteil, und wie ist es eingestellt. Wie sind die Dip-Schalter des Treibers gesetzt?
Und hast Du einen Link zu deinem Motor, aus dem auch der Anschluß hervorgeht? Da gibt es durchaus Unterschiede.
Ein Bild von DEINEM Aufbau, auf dem alle Kabelverbindungen ersichtlich sind, wäre nicht schlecht.
Hallo ec2021,
genau wie Du sagst tritt das Phänomen NUR nach dem Hochladen auf, danach nie wieder. Der sketch ist ja geladen und ich kann den UNO spannungslos machen oder resetten, spielt alles keine Rolle - es läuft!
Das heißt, dass Du das Problem nur bei einem Firmware-Update hast ...
Falls kein akademisches Interesse an der Ursachenfindung besteht, wäre es das einfachste,
die Spannungsversorgung zum Stepper bei einem Umprogrammieren zu unterbrechen.
Alternativ ein delay() anstelle der ersten Blinkroutine einsetzen, das kostet nur nach einem Neustart etwas Zeit. Die erforderliche Verzögerungszeit müsste man durch Testen herausfinden.
Besten Dank für deine Antwort. Den Versuch mit der Spannungsversorgung habe ich schon erfolglos hinter mir. Dein 2. Tip, mit dem delay(), brachte eine Verzögerung von 1 sec. Ich möchte aber nicht, dass dieses delay() immer mitläuft, wenn ich die Anlage normal betreibe.
Hallo MicroBahner,
ich schätze deine Antworten sehr. Ein Satz von dir: "Auf meiner Test-HW passiert das nicht" hat mich zum Nachdenken gebracht. Also habe ich meinen Fundus an HW durchforstet und noch einige ander UNO-Boards gefunden. Für meinen Test hatte ich das Original (Made in Italy) benutzt, bei dem das o.g. Phänomen auftrat. Ein anderes Board (Made in China) angeschlossen, und siehe da, der Effekt war weg! Als nächstes habe ich die Prozessoren getauscht und der Fehler wanderte mit. Ergebnis: der ATMEGA 328 hat offensichtlich einen Knacks. Werde noch mal ein paar ander Klone (alles Chinaware) ausprobieren und danach hoffentlich Erfolg melden können.