Ich habe, wie hier vorgeschlagen, meine Programm zur Stepper-Ansteuerung auf die AccelStepper.H umgeschrieben. Dabei habe ich folgendes Phänomen: Wenn ich den Motorlauf vor Erreichen des Ziels abbreche, so dass er nicht langsam ausläuft, bleibt in der AccelStpper.H irgend etwas stecken, dass dazu führt, dass der Motor beim nächsten Anlauf erst mal in der falschen Richtung losläuft bevor das Dir_Pin nach 2 bis 150 Schritten richtig gesetzt wird. Das PIN vor Aufrufen der move-Funktion manuell zu setzen hilft leider nicht weiter. Wie löscht man alle noch verbliebenen Fragmente voriger Befehle in der Accelstepper.H?
Tex A. schrieb: > Wenn ich den Motorlauf vor Erreichen des Ziels abbreche, Wie tust du das? Tex A. schrieb: > Ich habe, wie hier vorgeschlagen, Sehe keinen Vorschlag. Es ist immer toll, wenn Fragen zu einem geheimen Programm gestellt werden.
:
Bearbeitet durch User
Arduino F. schrieb: > Tex A. schrieb: >> Wenn ich den Motorlauf vor Erreichen des Ziels abbreche, > Wie tust du das? stepperStop(); motorEnable(false); //Enable-Bit löschen Gibt es einen anderen Weg? > Tex A. schrieb: >> Ich habe, wie hier vorgeschlagen, > Sehe keinen Vorschlag. war in einem früheren Post
Tex A. schrieb: > stepperStop(); Die Library keine keine Methode namens: stepperStop() Tex A. schrieb: > war in einem früheren Post Sehe keinen anderen Post.
> > Es ist immer toll, wenn Fragen zu einem geheimen Programm gestellt > werden. Ich hätte jetzt stepper.moveTo(stepper.curentPosition() + (dir > 0 ? steps : -steps)); nicht für ein so unheimliches Geheimnis gehalten, als dass es unvorstellbar gewesen wäre. Die möglichen Abweichungen wären noch stepper.move(.... aber das Ergebnis ist das Selbe.
Tex A. schrieb: > Ich hätte jetzt .... > nicht für ein so unheimliches Geheimnis gehalten, als dass es > unvorstellbar gewesen wäre. OK, du hast einen Fehler in deinem Code, aber willst ihn geheim halten und wir/ich sollen ihn trotzdem finden. Oder mich gar für blöd erklären. In beiden Fällen endet es jetzt für mich hier.
:
Bearbeitet durch User
Nein, ich habe keinen Fehler in meinem Code, ich habe einen Fehler in meiner Benutzung der AccelStepper.H und du hast kein Interesse zu helfen, sondern nur am stänkern, denn weder der alte Beitrag Beitrag "Welche Fehler bei Schrittmotor-Ansteuerung?" noch der vergessene in stepper.Stop(); tun dabei irgendetwas zur Sache. Und für alle die nach der Lösung suchen: stepper.setCurrentPosition(0); löst das Problem. 🐺
Ich mache zwar nichts damit und habe das auch noch nicht, aber ich habe mir gerade auf Git die Keyword angesehen. # Methods and Functions (KEYWORD2) ####################################### moveTo KEYWORD2 move KEYWORD2 run KEYWORD2 runSpeed KEYWORD2 setMaxSpeed KEYWORD2 setAcceleration KEYWORD2 setSpeed KEYWORD2 speed KEYWORD2 distanceToGo KEYWORD2 targetPosition KEYWORD2 currentPosition KEYWORD2 setCurrentPosition KEYWORD2 runToPosition KEYWORD2 runSpeedToPosition KEYWORD2 runToNewPosition KEYWORD2 // Vielleicht klappt das hiermit? stop KEYWORD2 disableOutputs KEYWORD2 enableOutputs KEYWORD2 setMinPulseWidth KEYWORD2 setEnablePin KEYWORD2 setPinsInverted KEYWORD2 maxSpeed KEYWORD2 ####################################### # Constants (LITERAL1) #######################################
Tex A. schrieb: > stepper.Stop(); Die Library kennt keine Methode namens: Stop() Tex A. schrieb: > Nein, ich habe keinen Fehler in meinem Code, ich habe einen Fehler in > meiner Benutzung der AccelStepper.H Fällt dir der Widerspruch in deiner Aussage nicht auf? Der schreit doch! Tex A. schrieb: > und du hast kein Interesse zu > helfen, sondern nur am stänkern, Ist das so? Tex A. schrieb: > noch der vergessene in stepper.Stop(); Es ist nicht nur der Punkt, sondern auch das große S Das alles sagt mir: Du arbeitest schlampig und widerwillig. Du kannst versuchen mir dafür die Schuld in die Schuhe zu schieben. Macht nur keinen Sinn.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.