Forum: Mikrocontroller und Digitale Elektronik Was macht ein Schrittmotor bei falscher Reihenfolge?


von Michael K. (ampfing)


Lesenswert?

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

von michael_ (Gast)


Lesenswert?

>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.

von Düsendieb (Gast)


Lesenswert?

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

von Michael K. (ampfing)


Lesenswert?

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

von MaWin (Gast)


Lesenswert?

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.

von Flow (Gast)


Lesenswert?

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.

von oszi40 (Gast)


Lesenswert?

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.

von Michael K. (ampfing)


Lesenswert?

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

von Reinhard Kern (Gast)


Lesenswert?

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

von Michael_ (Gast)


Lesenswert?

>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.

von Michael_ (Gast)


Lesenswert?

>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/

von Michael (Gast)


Lesenswert?

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.

von Pieter (Gast)


Lesenswert?

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.

von Michael K. (ampfing)


Lesenswert?

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

von MaWin (Gast)


Lesenswert?

> 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
Noch kein Account? Hier anmelden.