Hallo an Alle :) ich habe mich etwas in die Welt der Schrittmotoren eingelesen und die Ansteuerung funktioniert anscheinend hauptsächlich über Zeitschleifen -> Pin Zeit Pin .. Gibt es auch eine Möglichkeit zur Schrittweisen Ansteuerung? In meinem Fall hat mein Schrittmotor eine Schrittweite von 1,8° (nur zu Info) Freue mich auf jede Antwort :) LG Dave
Einen Schrittmotor kann man auch rein hardware-mäßig ansteuern. Ringregister. Takt kann man jederzeit anhalten oder jeden Takt einzeln weiterschalten. Geht natürlich auch per Software.
OH Ok Danke ! Ich verwende einen Schrittmotor Nema und habe dafür einen Arduino mit einem Schrittmotorshield. Gibt es vielleicht nette Seiten, von wo ich mir den Code "klauen" bzw. Beispielcodes nutzen kann?
Flo Norbert schrieb: > Arduino Flo Norbert schrieb: > Gibt es vielleicht nette Seiten, von wo ich > mir den Code "klauen" […] kann? Den Beitrag hast du aber jetzt nur geschrieben, um Vorurteile Arduinonutzern gegenüber voll zu bestätigen, oder? Anscheinend hast du schon Code. Wenn du da nicht auf Zeit, sondern auf ein anderes Ereignis wartest, hast du deinen Schrittbetrieb. Also nimm 'Zeit' raus, baue einen anderen 'Trigger' ein und schon hast du es.
Im Prinzip geht es ja darum dem Schrittmotor einzelne Pulse zu geben. Sinnvollerweise sind die Pulse aequidistant, sonst bekommt der Motor Muehe zu folgen. Wenn die Aenderung des Schrittabstandes zu abrupt ist kann der Motor nicht mehr folgen.
Also Vorurteile habe ich keine, ich finde es sehr hilfreich. Ja stimmt, ich habe bereits einen Code von Sprinter (Reprap). Da wird über Zeitschleifen gesteuert, nur ist es für mich persönlich besser Schritte zu definieren um auf meine Position zu kommen, weil ich die Positionen "exakt" anfahren soll. Ich probiere das einmal mit dem Trigger und ich hoffe es klappt :X. Danke!
:
Bearbeitet durch User
Jetzt Nicht schrieb: > Wenn die Aenderung des Schrittabstandes zu abrupt ist > kann der Motor nicht mehr folgen. An so etwas habe ich auch schon gedacht. Ich denke es kann passieren, dass der Schrittmotor nicht so eine flüssige Bewegung hinbekommt (vielleicht)
:
Bearbeitet durch User
Wir verwenden diese Bibliothek: http://www.airspayce.com/mikem/arduino/AccelStepper/index.html Du kannst die Zielposition des Motors über die Methode targetPosition() setzen und dann jeweils mit run() einen Schritt weiter fahren.
Flo Norbert schrieb: > nur ist es für mich persönlich besser > Schritte zu definieren um auf meine Position zu kommen, weil ich die > Positionen "exakt" anfahren soll. Dann mach nur eine gewissen Anzahl an Schleifendurchläufen. Meine Antwort bezieht sich darauf, nur einzelne Schritte zu machen. Flo Norbert schrieb: > An so etwas habe ich auch schon gedacht. Ich denke es kann passieren, > dass der Schrittmotor nicht so eine flüssige Bewegung hinbekommt Mit flüssig hat das nicht viel zu tun. Aber wenn das geforderte Drehmoment zu hoch ist, kann der Motor der Ansteuerung nicht mehr folgen und verliert Schritte. Deshalb muss man manchmal mit einer Geschwindigkeitsrampe anfahren und bremsen.
Flo Norbert schrieb: > ist es für mich persönlich besser > Schritte zu definieren um auf meine Position zu kommen, weil ich die > Positionen "exakt" anfahren soll. Hast du schon mal daran gedacht, dass man mit einem Prozessor die Schritte auch ZÄHLEN kann? Georg
Flo Norbert schrieb: > ich habe mich etwas in die Welt der Schrittmotoren eingelesen und die > Ansteuerung funktioniert anscheinend hauptsächlich über Zeitschleifen -> > Pin > Zeit > Pin > .. Das ist Unsinn. Nur Anfänger verwenden Zeitschleifen. Tatsächlich braucht man eine Art Zeitsteuerung, nur eben nicht mit Zeitschleifen. > Gibt es auch eine Möglichkeit zur Schrittweisen Ansteuerung? In meinem > Fall hat mein Schrittmotor eine Schrittweite von 1,8° (nur zu Info) Jeder Schrittmotor wird schrittweise angesteuert. Deswegen heißt er so. Außerdem hat jeder Schrittmotor eine mechanische Trägheit und kann nicht nur nicht beliebig schnell drehen, sondern auch nicht beliebig schnell beschleunigen. Was er dafür kann, ist eine bestimmte Position auf den Schritt genau anfahren.
:
Bearbeitet durch User
Jetzt Nicht schrieb: > Sinnvollerweise sind die Pulse aequidistant, sonst bekommt der Motor > Muehe zu folgen. Um Gottes Willen NEIN !!! Sinnvollerweise sind diese Pulse in keinster Weise von gleicher Frequenz (aka. äquidistant) sondern bilden eine Frequenzrampe. Die ist mindestens dreieck- bzw. trapezförmig oder sogar sin/cos förmig. Nur so kann man der Tendenz der Schrittverluste auf Grund der Massenträgheit des Rotors/zu bewegenden Systems entgegenwirken. Ein Schrittmotor ohne Rampe ist schlicht und ergreifend falsch impelmentiert. Das kann man nur machen, wenn man den Schrittmotor überdimensioniert. z.B. www.atmel.com/images/doc8017.pdf oder http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=slyt482&fileType=pdf
Hi >Ein Schrittmotor ohne Rampe >ist schlicht und ergreifend falsch impelmentiert. Unsinn. Innerhalb der Start-/Stopfrequenz braucht man kein Rampe. MfG Spess
Was so alles an Unsinn in kürzester Zeit geschrieben wird ist schon bemerkenswert. Ein schrittmotor ist ein Motor der definierte Schritte macht. Ein schrittmotor darf nicht sofort mit der Höchstgeschwindigkeit getaktet werden. Ein schrittmotor muss auf seine Geschwindigkeit beschleunigt werden.
spess53 schrieb: >>Ein Schrittmotor ohne Rampe >>ist schlicht und ergreifend falsch impelmentiert. > > Unsinn. Innerhalb der Start-/Stopfrequenz braucht man kein Rampe. Das ist ungefähr so sinnvoll, wie einen Ferrari nur im ersten Gang zu fahren. Wenn man einen Schrittmotor nicht mit einer Rampe beschleunigt, dann kann man auch nur vollkommen lächerliche Verfahrgeschwindigkeiten erreichen.
Eigentlicht sollte doch die Geschichte mit den Rampen zur Begrenzung der Beschleunigungswerte inzwischen hinreichend bekannt sein. Die Rampenberechnung findet man z.B. in der Atmel AppNote AVR446 - Linear speed control of stepper motor http://www.atmel.com/dyn/resources/prod_documents/doc8017.pdf
Es kommt halt auf den Einsatzzweck an. Wenn man nur geringe Geschwindigkeiten braucht, vielleicht für eine Dosierpumpe (ob da ein Schrittmotor sinnvoll ist, ist eine andere Frage) oder sowas, braucht man keine Rampe.
Leute, die länger als ein Semester gebraucht haben um zu verstehen, was eine Rampe ist, können darauf nicht mehr verzichten und brauchen es auch nicht.
Hi >Das ist ungefähr so sinnvoll, wie einen Ferrari nur im ersten Gang zu >fahren. Wenn man einen Schrittmotor nicht mit einer Rampe beschleunigt, >dann kann man auch nur vollkommen lächerliche Verfahrgeschwindigkeiten >erreichen. Ob du das für sinnvoll hältst oder nicht ist deine Sache. Ändert aber nichts an der Tatsache, das eine Rampe nicht in jedem Fall erforderlich ist. Zitat aus http://www.microstep-motoren.de/index.php/de/glossar/47-d/drehmoment-frequenz-kennlinie "Innerhalb des Startbereiches kann der Schrittmotor mit jeder beliebigen MLi - fSi - Kombination starten ohne eine Schritt zu verlieren." MfG Spess
Axel Schwenke schrieb: > Das ist ungefähr so sinnvoll, wie einen Ferrari nur im ersten Gang zu > fahren. Um den Vergleich mal anzupassen: Das ist ungefähr so sinnvoll, wie ein Fahrzeug mit 500PS nur mit 50 fahren zu lassen. Für einen Ferrari mag das sinnlos sein, für eine Pistenraupe wäre es aber genauso sinnlos, diese auf 300km/h auszulegen.
Um den Thread zu beenden und die eigentliche Frage zu beantworten "Wie kann man einen Schrittmotor schrittweise ansteuern". In meinem Fall steuere ich den Schrittmotor (200 Schritte a 1,8 Grad) über einen uC. Mein Fehler war, dass alle Jumper gesetzt waren und ich deshalb in einer Schleife (<200) keine volle Umdrehung zusammengebracht habe. Jumper richtig setzen um einen voll Schritt und keinen halb, viertel,.. zu erzeugen.
Flo Norbert schrieb: > Mein Fehler war, dass alle Jumper gesetzt waren Gut, das kann hier ja niemand wissen. Schrittmotoren haben mit Jumpern nichts zu tun. Trotzdem schön, dass es funktioniert.
Flo Norbert schrieb: > Um den Thread zu beenden und die eigentliche Frage zu beantworten "Wie > kann man einen Schrittmotor schrittweise ansteuern". Falls der Motor sich schon gedreht hat, als du den Thread eröffnet hast, bist du wohl mit der falschen Erwartungshaltung an das Ergebnis rangetreten und hast die falsche Frage gestellt. Wie soll dann hier jemand ahnen, welche Steuerung du besitzt, welche Jumper die besitzt und was du am Manual nicht verstanden hast (wenn du es dann überhaupt gelesen hast). So gesehen hat m.n. deine Frage schon gleich so vollständig, wie es auf Grund der Informationslage möglich war, beantwortet und alles andere war Nebelstocherei.
Ja absolut, also ich hätte mich vorher genauer einlesen müssen und bin durch Zufall auf dieses Ergebnis gestoßen, trotzdem an alle vielen Dank! Die "Nebelstocherei" tut mir leid, aber zumindest habe ich dazulernen können weil ich von anfahren mit Rampen überhaupt nicht gedacht habe und das gut als theoretischen Hintergrund für die Semesterarbeit einbauen kann. Bin noch sehr neu auf diesem Gebiet und danke für eure Hilfe !
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.