PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotorregelung



touristguy
30.09.2010, 14:27
Hallo, ich hätte eine Frage zur Regelung eines Schrittmotors. Ich habe im Anhang den prinzipiellen Aufbau der Regelung angehängt.
Und zwar steuere ich den Schrittmotor über einen Treiberbaustein an, dem ich durch erzeugen einer steigenden Flanke am Treiber dazu bringe einen Schritt weiterzugehen. Mit Hilfe eines Encoders der sich auf der Welle des Motors befindet möchte ich prüfen ob er diesen Schritt auch gemacht hat und die Schritte über eine gewisse Zeit aufsummieren um daraus die Drehzahl zu bestimmen. Diese wird dann mit der Solldrehzahl verglichen und anschließend auf einen PID Regelalgorithmus in einem FPGA gegeben.
Nun zu meiner Frage. Ich hätte gerne ein Modell der Regelung erstellt, aber ich weiß nicht wie ich das genau machen soll. Nehmen wir mal an, ich gebe als Sollwert eine Winkelgeschwindigkeit ein, was bekomme ich dann nach dem PID Regler? Ich habe einfach weiterhin mit einer Winkelgeschwindigkeit gerechnet und eben anschließend ein proportionalglied angehängt das die Impulserzeugung für den Treiberbaustein symbolisiert. Die beiden danachfolgenden PT1 Glieder sollen dem mechanischen und elektrischen Teil der Regelstrecke entsprechen. Den Encoder habe ich als Integrator eingebunden, da er ja über die Impulse am Ausgang summiert.
Vielleicht kann mir da jemand helfen ein vernünftiges Modell zusammenzubasteln, ich bin einfach zu ahnungslos in diesem Bereich.
Vielen Dank.

oberallgeier
30.09.2010, 17:08
Hallo touristguy

willkommen im Forum.

... eine Frage zur Regelung ...Im RNWissen gibts eine sehr ausführliche Ausarbeitung zur Regelungstechnik und -theorie (klick hier). (http://www.rn-wissen.de/index.php/Regelungstechnik) Das hatte mich viele Tage gekostet (bis ich das geblickt hatte), aber mittlerweile laufen die Regelungen meiner (Gleichstrom-) Motoren (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=463986#463986) recht ordentlich (siehe auch ein, zwei Postings danach).

ManuelB
01.10.2010, 19:11
Normalerweise braucht man keine Drehzahlregelung für einen Schrittmotor. Die Drehzahl ist ja proportional der Schrittfrequenz. Das einzige, das der Motor bei zunehmender Belastung bekommt ist einen Lastwinkel (Abweichung von der exacten Schrittposition). Für eine bestimmte Drehzahl braucht man also nur eine entsprechende Schrittfrequenz abhängig von der Auflösung/ Schrittwinkel pro Schritt einstellen.

MfG
Manu

oberallgeier
03.10.2010, 19:49
Normalerweise braucht man keine Drehzahlregelung für einen Schrittmotor ...
... Für eine bestimmte Drehzahl braucht man also nur eine entsprechende Schrittfrequenz abhängig von der Auflösung/ Schrittwinkel pro Schritt einstellen ...Und das funktioniert? Immer? Kann ich also sicher sein, dass der Motor keinen Schritt verliert? Denn wenn ich z.B. einen Zweiräder mit zwei getrennten Schri ttmotoren antreibe (Kurvenfahrt soll ja doch meistens auch sein), dann wärs gut zu wissen, ob er auch WIRKLICH gerade aus fährt. Und deshalb baue ich Encoder in meine Antriebe ein, mit denen ich nicht nur Drehzahl, sondern auch Strecke messe. Ich habe mit Schri ttmotoren keine Erfahrung. Aber wenn ich bei denen keinen Encoder brauche - weil sie IMMER genau so weit drehen, wie ich es will - dann kann ich mir ja ne Menge Mühe sparen: keine Encoder nötig, keine interruptgetriebene Encoderauslesung, keine Regelung - DAS wäre ja Klasse!

Und das funktioniert? Immer? Oder nur "normalerweise" ?

BurningBen
03.10.2010, 23:05
Nein, immer funktioniert das nicht. Leider.

Wenn die Motoren vernünftig dimensioniert, dann ist es ziemlich unwahrscheinlich, dass sie Schritte verlieren.
Aber vernünftig dimensioniert, spart keinen Strom.
Also solltest du für eine wirkliche Geradeausfahrt auch Encoder anbauen.

Nur verstehe ich dann nicht so ganz, wieso du Schrittmotoren verwenden willst?

Die verbrauchen auch im Stillstand Strom, und sind generell eher Schlecht vom Leistungs/Gewicht-Verhältnis.

Ein DC-Motor mit Encoder kann doch auch Schrittweise geregelt werden?

oberallgeier
03.10.2010, 23:16
Nein, immer funktioniert das nicht. Leider ...
Normalerweise braucht man keine Drehzahlregelung für einen Schrittmotor ...Danke BurningBen. Siehst Du, genauso hatte ich es befürchtet. "Normalerweise" ist eben für mich in solchen technischen Ding(elch)en kein sinnvoller Ausdruck. Wer informiert mich denn, wenn irgendwann gerade nicht "normalerweise" ist? Genau. Niemand. Deshalb finde ich immer noch und immer wieder, dass ich mit meinen DC-Motörchen und Encodern bestens bedient bin.

Besserwessi
03.10.2010, 23:58
Es gibt durchaus Anwendungen, wo man beim Schrittmotor davon ausgeht, dass man keinen Schrittverlust hat (z.B. Viel Druker beim Papiervorschub). Man muß halt nur dafür sorgen, das die Last und Geschwindigkeit passen, dann verliert man auch keine Pulse, genauso wie man sich beim Incrementalgeber nicht verzählt.

ManuelB
05.10.2010, 20:54
Eine Drehzahlregelung ist aber was anderes als eine Überwachung auf Schrittverluste. Die Servoendstufe UHU hat auch einen Zähler für "verlorene" Schritte die "normalerweise" nicht auftreten sollten ;)
Typischerweise werden Schrittmotoren auch überdimensioniert wenn sie als offene Regelstrecke betrieben werden. Oftmals hilft eine Regelung dann auch nicht wirklich weiter wenn der Motor abreisst, weil man ihn mit einer Drehzahlerhöhung dann nicht mehr wirklich zum laufen bekommt.

MfG
Manu

touristguy
07.10.2010, 10:30
Vielen Dank für den Link, habe mir das alles nun mal angeschaut und konnte sogar ein lauffähiges System simulieren.
Zur Zeit versuche ich das ganze auf nen FPGA zum laufen zu bringen, bisher siehts ganz gut aus ;-).
Ach und wegen dem Schrittverlust. Wenn man immer davon ausgeht, dass jeder Schritt den man machen möchte auch ausgeführt wird, dann bräuchte man ja keine Sensoren oder Regelungen. Da ich eine genaue Positionierung ermöglichen möchte, bei der ich wirklich jeden Schritt nutze, ist das unabdingbar.
Vielen Dank nochmals.