PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotor schnell genug?



Tristn2
29.11.2006, 14:55
Das Thema hat zwr nicht mit Roboter zu tun, aber mit einem Schrittmotor.

In einem Projekt für die FH muss ich eine Metallplatte von einem Sensor entfernen und wieder ran bringen.
Ich möchte an der Achse des Schrittmotors diese Metallplatte befestigen (ca. 100g). Ich benötige für diese Aufgabe nur einen Drehwinkel von ca. 40°.
Das Problem hierbei ist, dass die Achse mit der Platte, bei einem bestimmten Zeitpunkt, sofort stoppt und ihre Drehrichtung ändern muss.
Die Achse muss an einem bestimmten Winkel sofort stoppen und darf nicht weiterlaufen.
Der Motor mit der Platte sollte 40° in 0,5s schaffen, aus dem Stillstand und dann genau so schnell wieder zurück laufen.

Er sollte verschiedenste Positionen anlaufen können und dann sofort wieder umkehren.

Ist dies mit einem Schrittmotor möglich oder gibt es eine andere Motorart die dies ermöglicht?

Würde mich über eine Rückantwort freuen.

ranke
29.11.2006, 15:36
Ein Schrittmotor würde gehen. Wenn man einen anderen Motortyp verwenden will, braucht man (soweit ich die Aufgabe verstehe) zusätzlich noch eine Positionsmessung (Winkelstellung) der angetriebenen Achse.

Eine Spezifikation der maximal zu erreichenden Winkelgeschwindigkeit ist vorhanden (40° in 0,5s = 0,222 Hz oder 13,33 1/min).

Die Spezifikation der erwünschten Winkelbeschleunigung ("sofort") ist etwas dürr.

Man sollte unbedingt auch die Möglichkeit eines Getriebes zwischen Antrieb und Metallplatte erwägen.

Tristn2
29.11.2006, 15:54
Danke für die schnelle Antwort.

Ok, das mit der Drehzahl verstehe ich. Aber, wie gesagt, ist dies auch möglich aus dem Stillstand?

Also der Motor sollt max. 0,02 für die Umkehr der Richtung brauchen.

Würde ein Getriebe die Drehrichtungsumkehr nicht noch verlängern?

Mr.T
29.11.2006, 20:06
zwischenfrage:ich meine mir wäre aufgefallen, das manche schrittmotoren einen schlupf, von etwa 1-2% aufweisen. ist diese beobachtung richtig?

könnte von bedeutung für deine aufgabe sein tristin

mfg

soeren

Manf
29.11.2006, 21:47
zwischenfrage:ich meine mir wäre aufgefallen, das manche schrittmotoren einen schlupf, von etwa 1-2% aufweisen. ist diese beobachtung richtig?
Könntest Du das ein wenig genauer beschreiben, in einer selbst gebauten Schaltung?
Manfred

sprotte24
30.11.2006, 00:38
Eine Spezifikation der maximal zu erreichenden Winkelgeschwindigkeit ist vorhanden (40° in 0,5s = 0,222 Hz oder 13,33 1/min).

Die Spezifikation der erwünschten Winkelbeschleunigung ("sofort") ist etwas dürr.

Man sollte unbedingt auch die Möglichkeit eines Getriebes zwischen Antrieb und Metallplatte erwägen.

M. E. ist es wichtig, das Trägheitsmoment des zu drehenden Körpers zu kennen. Das Drehmoment der Motorache (ggf. mit Getriebe) muß dann eine ausreichende Winkelbeschleutingung zulassen.

Ich könnte mir vorstellen, daß ein zwischengeschaltetes elastisches Torsionselement die Drehmomentspitze entschärfen könnte.

Gruß
Sprotte24

ranke
30.11.2006, 07:57
Analog zur Kraft, die man bei einer linearen Bewegung braucht, um eine Masse zu beschleunigen, braucht man bei einer Rotation ein Drehmoment, um einem Trägheitsmoment eine Winkelbeschleunigung zu vermitteln. Wie sprotte24 richtig bemerkt, ist es also gut, das Trägheitsmoment aller rotierenden Teile zu kennen.
Aus dem Datenblatt eines Motors kann man das Trägheitsmoment seines Läufers und das maximale Drehmoment entnehmen. Damit kann man schon einmal die maximale Winkelbeschleunigung unbelasteten Rotors abschätzen. Das ist zum Vergleich verschiedener Motoren vielleicht sinnvoll.



Also der Motor sollt max. 0,02 für die Umkehr der Richtung brauchen.


Da haben wir bereits eine Zahl, zusammen mit einer Einheit hätten wir dann eine verwertbare Angabe.



Würde ein Getriebe die Drehrichtungsumkehr nicht noch verlängern?


Nicht unbedingt. Die meisten Motoren haben - im Verhältnis zur hier gestellten Aufgabe - ein höheres Drehzahlpotential, bei eher geringen Drehmoment. Ein Getriebe kann da anpassen, besonders wenn das Trägheitsmoment des Rotors klein gegenüber dem Trägheitsmoment der Metallplatte ist.



Ich könnte mir vorstellen, daß ein zwischengeschaltetes elastisches Torsionselement die Drehmomentspitze entschärfen könnte.


Das wäre im Sinne der Aufgabenstellung eher schädlich, da die "Entschärfung" der Drehmomentspitze auf Kosten einer zusätzlichen Bewegung in die unerwünschte Richtung geht. Hier sollen hohe Beschleunigungen auftreten, das geht nur mit hohen Drehmomenten, die Frage ist, wie die aufgebracht werden können.

Vielleicht noch ein Gedankengang zur elektrischen Seite des Motors. Der besteht aus Spulen, also Induktivitäten, bei denen die Richtung des elektrischen Stroms bei Drehrichtungsumkehr umgekehrt werden muß. Obwohl in den meisten Fällen die mechanische Trägheit der zeitbestimmende Faktor für die Beschleunigung ist, sollte man im Hinterkopf behalten, daß man den Strom in Induktivitäten nicht beliebig schnell ändern kann. Es könnte also nützlich sein, einen Motor mit niedrigen Spuleninduktivitäten zu wählen. Das sind meistens die Motoren, die für eine relativ niedrige Nennspannung, bei relativ hohen Strömen ausgelegt sind.

Tristn2
30.11.2006, 12:50
Analog zur Kraft, die man bei einer linearen Bewegung braucht, um eine Masse zu beschleunigen, braucht man bei einer Rotation ein Drehmoment, um einem Trägheitsmoment eine Winkelbeschleunigung zu vermitteln. Wie sprotte24 richtig bemerkt, ist es also gut, das Trägheitsmoment aller rotierenden Teile zu kennen.
Aus dem Datenblatt eines Motors kann man das Trägheitsmoment seines Läufers und das maximale Drehmoment entnehmen. Damit kann man schon einmal die maximale Winkelbeschleunigung unbelasteten Rotors abschätzen. Das ist zum Vergleich verschiedener Motoren vielleicht sinnvoll.



Also der Motor sollt max. 0,02 für die Umkehr der Richtung brauchen.


Da haben wir bereits eine Zahl, zusammen mit einer Einheit hätten wir dann eine verwertbare Angabe.



Würde ein Getriebe die Drehrichtungsumkehr nicht noch verlängern?


Nicht unbedingt. Die meisten Motoren haben - im Verhältnis zur hier gestellten Aufgabe - ein höheres Drehzahlpotential, bei eher geringen Drehmoment. Ein Getriebe kann da anpassen, besonders wenn das Trägheitsmoment des Rotors klein gegenüber dem Trägheitsmoment der Metallplatte ist.



Ich könnte mir vorstellen, daß ein zwischengeschaltetes elastisches Torsionselement die Drehmomentspitze entschärfen könnte.


Das wäre im Sinne der Aufgabenstellung eher schädlich, da die "Entschärfung" der Drehmomentspitze auf Kosten einer zusätzlichen Bewegung in die unerwünschte Richtung geht. Hier sollen hohe Beschleunigungen auftreten, das geht nur mit hohen Drehmomenten, die Frage ist, wie die aufgebracht werden können.

Vielleicht noch ein Gedankengang zur elektrischen Seite des Motors. Der besteht aus Spulen, also Induktivitäten, bei denen die Richtung des elektrischen Stroms bei Drehrichtungsumkehr umgekehrt werden muß. Obwohl in den meisten Fällen die mechanische Trägheit der zeitbestimmende Faktor für die Beschleunigung ist, sollte man im Hinterkopf behalten, daß man den Strom in Induktivitäten nicht beliebig schnell ändern kann. Es könnte also nützlich sein, einen Motor mit niedrigen Spuleninduktivitäten zu wählen. Das sind meistens die Motoren, die für eine relativ niedrige Nennspannung, bei relativ hohen Strömen ausgelegt sind.

Danke für die schnellen Anworten.

Die Winkelbeschleunigung ist, wenn man aus dem Stillstand 40° in 0,4s schaffen will, folgende:

v=winkel/zeit=40°/0,4s=100°/s
a=delta v/delta t=(100°/s)/0,4s=250°/s^2
entspricht 4,4rad/s^2

Der Motor müsste seine Drehrichtung innnerhalb 20ms ändern. Ist dies überhaubt möglich?

Manf
30.11.2006, 14:24
Man will Dir sicher helfen, aber es fehlt wohl an ein paar technischen Daten. (ranke, sprotte24)

Vorgegeben ist wie es aussieht eine Komfiguration mit einem Trägheitsmoment, die über der Zeit bestimmte Drehwinkel erreichen soll.
Damit kann man Berechnungen anstellen, Momente, Leistungen lassen sich damit bestimmen.

Eine Forderung nach der Drehrichtungsumkehr innerhalb einer kurzen Zeit läßt sich schwer beurteilen. In einem Drehwinkel-Zeitverlauf ist die Zeitdauer für eine Ríchtungsumkehr immer gerade null.
Manfred

sprotte24
02.12.2006, 19:54
Die Winkelbeschleunigung ist, wenn man aus dem Stillstand 40° in 0,4s schaffen will, folgende:

v=winkel/zeit=40°/0,4s=100°/s
a=delta v/delta t=(100°/s)/0,4s=250°/s^2
entspricht 4,4rad/s^2

Der Motor müsste seine Drehrichtung innnerhalb 20ms ändern. Ist dies überhaubt möglich?[/quote]

Wenn wir eine Translations- und eine Rotationsbewegung vergleichen:

Translation Rotation
----------- --------
Kraft Drehmoment
Masse Massenträgheitsmoment
Geschwindigkeit Winkelgeschwindigkeit
Beschleunigung Winkelbeschleunigung

Für eine Umkehr der Drehrichtung ist eine Änderung von omega nach -omega zuberücksichtigen, also um 2 omega,
mit omega=Winkelgeschwindigkeit.
Dazu müßte die Taktfrequenz des Schrittmotors unter möglichst guter Ausnutzung der zulässigen Zeitspanne linear auf 0 abgesenkt werden, dann wieder linear hoch in Gegenrichtung.

Gruß
Sprotte24

Nachtrag:
Übrigens beträgt die Rotationsenergie analog zu
m*v^2/2 theta*omega^2/2.
Dies muß ja 2x aufgebracht werden. Im Idealfall, bei 100% Motorwirkungsgrad wäre dies mindestens U*I*t (Spannung*Strom*Zeit)

Tristn2
04.12.2006, 19:36
Sorry, da habe ich mich wohl etwas vermacht.

Also ich will ja 40° in 0,2s schaffen. Ich muss 20° in 0,1s beschleunigen und 20° in 0,1s abbremsen.

w1=0, weil aus dem stillstand und w2=20°/0,1s=200°/s

alpha=delta w/delta t=(200°/s)/0,1s=2000°/s^2

ist dies formel richtig?

oder muss ich mit w^2=w0^2+2*alpha*phi rechnen?
da komme ich dan aber auf w^2/2*phi=((200°/s)^2)2*phi=800°/s

Wo liegt mein fehler?
welches alpha brauche ich zur berechnung meines erforderlichen drehmomentes zur auslegung des motors?

zumgwadrad
04.12.2006, 19:58
Hi!
Ich kenne ja nicht das Haltemoment deines Motors! Aber vor allem bei einem Schrittmotor sollte es Groß genug sein eine kleine Platte Innerhalb eines Schrittes abzubremsen ohne das der Motor sich überdreht.
Schau dazu mal in dein Datenblatt. Das Trägheitsmoment müsstest du halt ausrechnen. Google dazu mal nach "Satz von Steiner". Wenn du jetzt eine Schrittweite von 1,8° haben bräuchtest du ja ca. 22 Schritte für die 40°. Sollte dein Motor Stark genug sein innerhalb eines Schrittes zu beschleunigen und zu bremsen musst du eigentlich nur noch Geschwindigkeit einstellen und gut ist. Also 22,72ms pro schritt. Ausser du willst unbedingt gleichmäßig Anfahren und bremsen, da wäre aber dann ein DC mit entsprechender Sensorik besser geeignet.
Viel Erfolg noch

ranke
05.12.2006, 06:53
Also ich will ja 40° in 0,2s schaffen. Ich muss 20° in 0,1s beschleunigen und 20° in 0,1s abbremsen.

w1=0, weil aus dem stillstand und w2=20°/0,1s=200°/s


So wird das nix.
Wenn Du 20° in 0,1s aus dem Stillstand schaffen willst, reicht es nicht am Ende nur 200°/s schnell zu sein. Die Durchschnittsgeschwindigkeit des Vorgangs muß ja 200°/s sein und nicht die Endgeschwindigkeit!
Für alpha = konst. muß die Endgeschwindigkeit also 400°/s sein.



alpha=delta w/delta t


Das sollte so richtig sein, wenn alpha = konst.

Hessibaby
05.12.2006, 07:35
Diese Aufgabe ist sicherlich mit einem Stepper lösbar, eine vernünftige Rampensteuerung mit Start-, Velocity-, Positioningmode vorausgesetzt.
Wenn der Verstellweg immer gleich ist biete sich, meiner Meinung nach, aber eher ein Bogenlinearmotor an wie z.B. beim Kopfantrieb in Plattenlaufwerken, dieser nimmt die Position in Abhängigkeit vom anliegenden Strom ein, wenn Du dann noch zwei gegenläufige Spiralfedern (wie z.B. bei Drehspulinstrumenten) zur Beruhigung einsetzt dann erfüllst Du auch alle Zeitkriterien problemlos.
Gruß Hartmut

Manf
05.12.2006, 07:46
dieser nimmt die Position in Abhängigkeit vom anliegenden Strom ein
So einer?

http://www.computerhope.com/help/hdd0.gif

Hessibaby
05.12.2006, 08:46
Genau so einer !
Ist sehr schnell und Präzise.
Hartmut

Manf
05.12.2006, 09:02
Er ist in der Anwendung gut auf Plattenspuren zu positioniern.
Der elektromechanische Teil kann schnell eine Kraft ausüben nach innen, oder nach außen, die Position muss aber auf anderem Weg gefunden werden.
Manfred

Hessibaby
05.12.2006, 09:21
In den "alten" Plattenlaufwerken (1975/1976) waren optische Encoder zur Positionierung eingebaut, da wurde ein Zähler für den Track gesetzt und über die Encoderpulse runtergezählt, wenn Bit 3 (logisch4) nur noch alleine anstand wurde vom Velocity in den Positioningmode umgeschaltet, also der Strom reduziert. Bei den ballistischen Kopfantrieben wurde ein C definiert geladen und dann auf die Spule geschaltet, wenn der dann entladen war (optimalerweise auf der gewünschten Spur) wurde ein konstanter Strom auf die Spule gelegt um die Spur zu halten. Der Vorteil war die hohe Anfangsbeschleunigung und die "automatische" Auslauframpe weil dem C die Energie ausging. In den aktuellen Laufwerken wird die Postion über eine Treppenspannung mit 16 Bit auflösung angefahren und die Spur über das Auslesen der Blocknummer nach dem nächsten Indexpuls veryfiziert.
Bei der hier geforderten Auflösung reicht aber "fast" ein Spannung Ein/Aus bzw, einmal umpolen bitte ;-)
Gruß Hartmut

zumgwadrad
05.12.2006, 18:25
Hi,
um nochmal auf den Schrittmotor zurückzukommen, es ist doch einfacher nen Schrittmotor zu nehmen, der Positioniert doch automatisch! Da brauch ich keinen Encoder und nix! Der kriegt dann einfach nen Rechtecksignal mit von mir aus 100 Pulsen, und macht dann 180° bei schrittweite 1,8°. Fertig ist die Geschichte! Das Umpolen geht genauso fix!
Und los gehts!

Tristn2
06.12.2006, 12:30
Also ich will ja 40° in 0,2s schaffen. Ich muss 20° in 0,1s beschleunigen und 20° in 0,1s abbremsen.

w1=0, weil aus dem stillstand und w2=20°/0,1s=200°/s


So wird das nix.
Wenn Du 20° in 0,1s aus dem Stillstand schaffen willst, reicht es nicht am Ende nur 200°/s schnell zu sein. Die Durchschnittsgeschwindigkeit des Vorgangs muß ja 200°/s sein und nicht die Endgeschwindigkeit!
Für alpha = konst. muß die Endgeschwindigkeit also 400°/s sein.



alpha=delta w/delta t


Das sollte so richtig sein, wenn alpha = konst.

Hallo,

bist du dir wirklich sicher? Also bei einer gleichmäßig linearen Beschleunigung ist alpha=omega/t.

Oder?

tauruz
06.12.2006, 15:29
...ist doch einfacher nen Schrittmotor zu nehmen, der Positioniert doch automatisch! Da brauch ich keinen Encoder und nix!... das ist nur so weit richtig wie du aufgrund keiner/wenig last realtiv sicher sein kannst, daß der motor die bewegung auch ausführt.

zumgwadrad
06.12.2006, 16:05
Hi,
ja deswegen steht ja weiter oben bei mir "bei geigneter Wahl des Motors".
Also wie gesagt Massenträgheit rausfinden und Schrittmotor dementsprechend Dimensionieren!
Ist auf jeden Fall eine sehr elegante Lösung wenn man ne bestimmte Gradzahl verfahren will!
Naja und das mit wenig bis keiner Last möchte ich auch nur ungern so stehen lassen, da z.B. in CNC-Werkzeugmaschinen Schrittmotoren verwendet werden und da treten doch erhebliche Kräfte auf!
Aber sollte man für diese Aufgabe tatsächlich irgendeinen kleinen Motor benutzen das wird er doch den ein oder anderen Schritt verschlucken

tauruz
06.12.2006, 17:11
klar ist das bei jedem motor so, aber mit einem dreh oder sogar winkelschrittencoder (je nacht yp) kann man feststellen ob er sich soweit gedreht hat wie man möchte. ;)

basteling a servomotor :D

Hessibaby
07.12.2006, 08:05
In CNC-Maschinen mit Stepperantrieb wird über eine Trapezgewindespindel gefahren und die ist selbsthemmend, soll heißen wenn der Motor stoppt bleibt die Spindel stehen und die kinetische Energie der bewegten Masse wird von den Wellenlagern aufgenommen.
Wenn Du aber eine Masse von 100g direkt, mit der Motorachse, bewegst dann sieht das Verhalten aber ganz anders aus weil die nach dem Abschalten des Strangstroms weiter dreht.
Du kannst natürlich auch die Schwenkbewegung mit einer, kardanisch augehängten, Spindel ausführen.
Gruß Hartmut