Hallo zusammen, ich soll eine Simulation eines Schrittmotors - incl. Treiber-IC - erstellen. Grundsätzlicher Gedanke von mir war, dass der Motor 'weiß' an welcher Stelle er gerade steht und weiß, welches Bitmuster er als nächstes erwartet. Wenn dann das richtige Bitmuster angelegt wird (also die richtigen Wicklungen bestromt werden) bewegt sich der Motor in die eine oder andere Richtung. Jetzt stellt sich mir aber die Frage, was ein realer Schrittmotor tun würde, wenn ein falsches Bitmuster angelegt wird. Zieht es den Anker dann 'ein Stück' weiter, oder bleibt der wirklich stehen? Im konkreten Fall - falls das entscheidend ist - habe ich einen Schrittmotor mit 8 Schritten pro 60 ° (danach geht's wieder von vorne los). Danke vorab für Eure Antworten und viele Grüße
>rundsätzlicher Gedanke von mir war, dass der Motor 'weiß' an welcher >Stelle er gerade steht Falsch! Der Motor ist absolut dumm, denn die Ansteuerung merkt sich, wo er steht. Aus diesem Grund gibt es keine falschen Befehle. Die Steuerung wäre sonst defekt.
Je nach Drehmoment wird er irgendwohin bewegen oder stehenbleiben. Im Leerlauf kann er vieleicht einen Schritt überspringen und 2 Schritte vor- oder rückwärts machen Axel
michael_ schrieb: > Falsch! Der Motor ist absolut dumm, denn die Ansteuerung merkt sich, wo > er steht. > Aus diesem Grund gibt es keine falschen Befehle. Die Steuerung wäre > sonst defekt. Und wie schaut das dann ganz am Anfang aus? Da weiß die Steuerung nicht, wie der Motor steht und welches der nächste Schritt ist. Der Motor muss ja nicht immer auf 0 ° stehen. Mit Motor meinte ich natürlich mein Motor-Objekt in der Simulation (das eben auch schon am Anfang nicht zwangsweise bei 0 ° stehen muss, wie halt ein realer Motor auch). Deswegen eben die Frage, was der Motor tut, wenn er z.B. am Anfang bei 52,5 ° steht und eine Schrittfolge für den Übergang 0° -> 7,5 ° angelegt wird (weil eben die Steuerung noch nicht weiß, wie der Motor steht). An dem Motor ist ein Geberrad angebracht, über das die Steuerung letztendlich ermitteln kann, wie der Motor am Anfang stand... Düsendieb schrieb: > Je nach Drehmoment wird er irgendwohin bewegen oder stehenbleiben. Wenn ich in einer ersten Näherung davon ausgehe, dass das Haltemoment groß genug ist um keinen Schritt zu überspringen, dann kann ich also davon ausgehen, dass er wirklich stehen bleibt, oder? Danke für die Antworten und viele Grüße
Er ruckelt. Dabei sind falsche Impulse tragischer als fehlende Impulse. > > dass der Motor 'weiß' an welcher Stelle er gerade steht > Falsch! Der Motor ist absolut dumm Unsinn, der Motor hat einen Anker und der steht sehr wohl an einer der hunderten möglichen Stellen, das muss man simulieren. Aber wohin er sich bewegen wird, sollte man auf nedriger physikalischer Ebene simulieren, sein Anker läuft halt meistens hin zu geschlossenen Feldlinien, einzige Ausnahme: Er hat schon so viel Schwung, daß er über diesen einen oder anderen falschen Impuls glatt drüberhüpft.
Schalte eine elektronische Schreibmaschine ein und merke dir deren Reaktion. Der Typenträger macht eine GRUNDEINSTELLUNG, er hat an einer Stelle eine Markierung auf die er positioniert. Der Wagen macht das auch, er fährt an den äußersten linken Rand und dann nach rechts an den Schreibbeginn. Diese Bewegungen werden gleichzeitig ausgeführt. Wenn du nun anfängst zu tippen, wird das Typenrad sofort auf die eingegebene Position gedreht. Wird eine längere Schreibpause eingelegt, macht das Typenrad sicherheitshalber wieder eine Grundeinstellung. Ohne gravierende Macken am Gerät sieht der Ausdruck auch 100%ig aus. Hier passt also das jeweilige Anfahren der Sollposition gut, obwohl die Kiste die Informationen bis zum Druckende dauernd mitschleppt. > Schrittmotor mit 8 Schritten pro 60 ° Er macht also 7,5° pro step, sehr grob, das Typenrad ist besser. Mit falschem Bitmuster verharrt er, das große Step-Moment für eine Bewegung ÜBER die normalerweise folgende Stelle HINAUS kann nicht überwunden werden. Das entspräche nicht dem Gedanken seines Erfinders und der Anwender.
Male Dir zum besseren Verständnis ein Impulsdiagramm auf. Solange der Reihe nach immer nur eine Wicklung angesteuert wird, ist die Sache noch einfach. Dann holpert es höchstens. Schlimmer wäre der Fall: wenn die Stromreglung defekt wäre und mehrere Wicklungen gleichzeitig vollen Strom bekommen. Dann brummt er böse und Dein Netzteil, die Wicklungen oder die Endstufen riechen nach Strom. Daher ist eine Sicherung am rechten Ort gelentlich nützlich.
oszi40 schrieb: > Schlimmer wäre der Fall: wenn die Stromreglung defekt wäre und mehrere > Wicklungen gleichzeitig vollen Strom bekommen. Dann brummt er böse und > Dein Netzteil, die Wicklungen oder die Endstufen riechen nach Strom. > Daher ist eine Sicherung am rechten Ort gelentlich nützlich. Die Gefahr ist zwar in der Realität u.U. durchaus gegeben, aber für meine Simulation - ein DLL auf dem PC - wohl eher nicht nötig :-) Habe jetzt für das erste Modell mal angenommen, dass keine Schritte übersprungen werden können und warte immer auf das richtige Nachfolgemuster. Ansonsten steht der Motor - und auch die Geberscheibe - still. Danke für die Kommentare und viele Grüße
Michael Klose schrieb: > Habe jetzt für das erste Modell mal angenommen, dass keine Schritte > übersprungen werden können und warte immer auf das richtige > Nachfolgemuster. Ansonsten steht der Motor - und auch die Geberscheibe - > still. Hallo, kann tatsächlich so ablaufen: wenn der Motor oberhalb der maximalen In-Tritt-Fall-Frequenz betrieben wird, kann eine falsche Sequenz oder auch zu starke Belastung dazu führen, dass der Motor schlagartig stehen bleibt, nur noch etwas hin und her zittert und deutlich hörbar knarrt (must du halt noch Audio-Ausgang anschliessen in der Simulation). Gruss Reinhard
>Und wie schaut das dann ganz am Anfang aus? Da weiß die Steuerung nicht, >wie der Motor steht und welches der nächste Schritt ist. Der Motor muss >ja nicht immer auf 0 ° stehen. Jede CNC (Schreibmaschine, Drucker, Werkzeugmaschine, Platinenfräse) muß am Anfang eine Nullfahrt machen. Dazu werden die Endschalter angefahren (X, Y, Z-Achse) und dann eine bestimmte Anzahl Schritte gemacht, die vorher festgelegt sind und den Nullpunkt des Jobs darstellen. Von da an werden die geplanten Schritte ausgegeben und vom Motor ausgeführt. Bei normalen Steuerungen merkt die Steuerung nicht, wenn Schritte ausfallen. Dies kann durch Überlastung oder Resonanzen des Motors passieren. Für präzise Anwendungen werden deshalb Servos mit Drehgebern eingesetzt. Diese fahren genau die geforderte Position an. Übrigens auch bei einigen Tintenstrahlern, wo Drehgeberscheiben oder eine lange Plastefolie eingebaut ist, an der der Druckkopf entlangfährt.
>An dem Motor ist ein Geberrad angebracht, über das die Steuerung >letztendlich ermitteln kann, wie der Motor am Anfang stand... Entschuldigung, hab ich überlesen. Diese Kombination ist möglich, wird aber nur in seltenen Einzelfällen angewendet. Üblicherweise wird dann mit Servos gearbeitet. Die Ansteuerung ist aber wesentlich komplizierter (Rampe, Drehmoment, ...) als bei Schrittmotoren. Schau mal hier rein, da gibt es Demos und Erklärungen. http://www.lewetz.de/
Michael_ schrieb: >Jede CNC (Schreibmaschine... Ne Schreibmaschine als CNC zu bezeichnen halte ich für mehr als gewagt aber egal, die Grundsätzliche Aussage ist schon richtig. Wenn der Resolver am Motor nur relativ misst ist es nur durch einen Referenzpunkt zu ermitteln wo der Motor grade steht und die Referenzpunkte werden nicht selten durch Schalter/Schranken dargestellt, die der Motor dann anfahren muss. MaWin schrieb: >Aber wohin er sich bewegen wird, sollte man auf nedriger physikalischer >Ebene simulieren, sein Anker läuft halt meistens hin zu geschlossenen >Feldlinien, einzige Ausnahme: Er hat schon so viel Schwung, daß er über >diesen einen oder anderen falschen Impuls glatt drüberhüpft. Er also weiter fährt als er soll? Hm, ich kenns bei Schrittmotoren eigentlich nur, dass die, bei zu hoher Last, Schritte verschlucken aber nicht, dass sie mehr Schritte machen als sie sollen. Ausschließen will ichs natürlich nicht aber ich denke mal diese Richtung (also mehr Schritte als sie sollen) kommt doch sehr selten vor. Michael Klose schrieb: >ich soll eine Simulation eines Schrittmotors - incl. Treiber-IC - >erstellen Wie genau soll denn die Simulation sein und in welcher Tiefe? Einen Motor zu Simulieren mit seinen Feldern und Co ist alles andere als einfach oder genügt es ihn als Tiefpass 2. Ordnung zu simulieren (die einfachste Variante einen Motor zu simulieren)? Das wäre zumindest gut zu wissen.
moin moin,
>>ich denke mal diese Richtung (also mehr
Schritte als sie sollen) kommt doch sehr selten vor.
nö, kann bei jedem zu dollen bremse/anhalten passieren. Die bewegte
Masse dreht den Schrittmotor einfach weiter, daher ist auch beim stoppen
oft eine Rampenfunktion notwendig.
Guten Morgen, Michael schrieb: > Wie genau soll denn die Simulation sein und in welcher Tiefe? Einen > Motor zu Simulieren mit seinen Feldern und Co ist alles andere als > einfach oder genügt es ihn als Tiefpass 2. Ordnung zu simulieren (die > einfachste Variante einen Motor zu simulieren)? Das wäre zumindest gut > zu wissen. Wie schon gesagt, im ersten Modell wartet der Motor jetzt einfach mal auf die Schrittmuster direkt neben dem aktuellen. Wenn eines der Beiden anliegt bewegt er sich, ansonsten bleibt er stehen. Das funktioniert schonmal ganzg gut. Bei Bedarf kann man das Ganze noch verfeinern - wobei mir klar ist, dass die wirklich realitätsnahe Simulation alles andere als trivial ist. Wir hatten eben die Diskussion hier, wie der Motor reagiert, wenn ein 'falsches' Muster angelegt wird - schließlich habe ich mich aber durchgesetzt und das einfache Modell implementiert. Michael_ schrieb: > Entschuldigung, hab ich überlesen. > Diese Kombination ist möglich, wird aber nur in seltenen Einzelfällen > angewendet. Üblicherweise wird dann mit Servos gearbeitet. Die zu simulierende Hardware steht fest, daran kann ich nichts ändern. Und da wurde genau dieser Ansatz gewählt. Danke für Eure Beiträge und viele Grüße
> Er also weiter fährt als er soll? Hm, ich kenns bei Schrittmotoren > eigentlich nur, dass die, bei zu hoher Last, Schritte verschlucken aber > nicht, dass sie mehr Schritte machen als sie sollen. Ausschließen will > ichs natürlich nicht aber ich denke mal diese Richtung (also mehr > Schritte als sie sollen) kommt doch sehr selten vor. Es hängt natürlich davon ab, was dein Schrittmotor bewegt, aber wenn er eine Rampe braucht um beim Anfahren keine Schritte zu verlieren, braucht er auch eine Rampe um beim Bremsen nicht über's Ziel hinauszuschiessen. Fehlt ein Schritt, z.B. wird eine Spule in einer Umdrehung mal nicht bestromt (eine Situation bei der bei zu niedriger Geschwindigkeit der Motor nicht wüsste, wo er hindrehen soll, weil der nächste Schritt symmetrisch genau von gegenüber kommt), dann wird er bei voller Fahrt von dem fehlenden Impuls wenig merken.
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.