PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PID-Regeler für einen Schrittmotor



master20z
22.09.2009, 13:38
Hallo,

ich bin neu hier und möchte mich euch alle erst einmal begrüßen!!

Wie ihr schon im Thementitel gelesen habt möchte ich einen PID-Regler zur Schrittmotoregelung verwenden.

Allgemein zum Messvorgang:
Ich habe einen Industrieroboter der an seinem Arm einen Kraftsensor hat und an diesem ist ein Schrittmotor befestigt. Ich möchte an einer 3D Kontur mit einem Werkzeug entlangfahren, dabei soll ein gewisser Andruck herschen. Der Andruck soll nur mittels des Schrittmotor erfolgen.(Eine Schrittmotorsteuerung habe ich, dieser möchte ich einen Start und Stopbefehl und die Richtung in der der Motor sich drehen soll übergeben.)
Das Einlesen der Kraft vom Sensor funktioniert schon mit Labview.

Den Sollwert möchte ich wie folgt ermitteln:
Fahrt des Roboters im Raum an der 3-D Kontur, berührt diese jedoch nicht. Somit kann ich die wirkende Kräfte die durch die Lageänderung auftreten erfassen. Zu dieser Kraft möchte ich nun meinen Andruck addieren. Das soll dann meine Sollgröße werden. Das funktioniert auch schon soweit.

Nun möchte ich einen PID Regler verwenden um die Regelung zu realisieren(Labview PID Control Toolkit). Wie stelle ich diesen ein? (Parameter)
Kann ich eine Sprungantwort auf den Schrittmotor geben?
Wie mache ich das am geschicktesten?

Verwende ein Windows XP und Labview 8.2.

Gruß Elvis

s.o.
22.09.2009, 14:58
Schon mal durchgelesen?
http://www.rn-wissen.de/index.php/Regelungstechnik

master20z
22.09.2009, 15:51
die Theorie kenne ich nur wie setze ich das am geschicktesten um?

ich hab mir nochmal ein paar gedanken gemacht bezüglich der Sprungantwort.
Könnte ich nicht einfach das Werkstück gegen die 3D-Kontur fahren und sehen was dabei für eine Kraftausschlag am Sensor ankommt? Wäre das eine Sprungantwort für dieses System?

ranke
23.09.2009, 07:38
Könnte ich nicht einfach das Werkstück gegen die 3D-Kontur fahren und sehen was dabei für eine Kraftausschlag am Sensor ankommt? Wäre das eine Sprungantwort für dieses System?


Das wäre ein Sprungeingang für das System. Es könnte auch eine Sprungantwort bei demjenigen auslösen, der es wieder reparieren muß.

Einige Dinge sind mir noch unklar bei der Sache, das geht anderen vielleicht auch so. Zum Beispiel, die Idee, mit einem Industrieroboter in eine (feste?) Kontur fahren zu wollen. Wenn da nicht irgendetwas verformbar ist, gibt das Bruch.

Die Ausgangsgröße eines Schrittmotors ist typischerweise eine (Winkel)-Stellung. Du schreibst:

Der Andruck soll nur mittels des Schrittmotor erfolgen.
Ein Schrittmotor alleine scheint mir nicht das geeignete Instrument zu sein um ein definiertes Drehmoment (oder nach Getriebe: Kraft = Andruck) zu erzeugen, weil das Moment bei einer bestimmten Bestromung eine Funktion der gegenwärtigen Stellung des Motors ist (und diese ist ohne weiteres wahrscheinlich nicht bekannt).
Versuche doch nochmal etwas ausführlicher zu beschreiben, was Du machen willst.

master20z
23.09.2009, 10:08
Ich möchte eigentlich nur an der Kontur entlang fahren und nicht in sie rein.
Das mit dem reinfahren meinte ich bezüglich der Sprungantwort. Du hast recht das dabei was kaputt gehen könnte. Wobei es bis zu einem gewissen Grad flexibel ist.

Was für ein Verfahren würde sich besser eignenn um den Regler einzustellen.

Das Werkstück ist auf dem Schlitten des Schrittmotors befestigt. Der Schrittmotor ist fest mit dem Kraftsensor verbunden und dieser wiederum am Roboter.

Mein idee ist folgende, den Motor solange in die erforderliche Richtung laufen zu lassen, dass der erwünschte Andruck herscht. Andernfalls in die andere Richtung.

Was ist sonst noch unklar? Schreibt mir einfach!!!

jeffrey
23.09.2009, 10:17
hoi,
also ehrlich gesgat, blick ich grad net, wie des genau aufgebaut ist. bewegst du das werkstück, pder den roboter?
wenn ich das richtig verstanden habe, willst du die kontur mehr oder weniger mit dem roboter vermessen. du fährst rum, bis du auf das werkstück triffst, und dann fährst du der kontur lang?
wie oben schon erwähnt, muss da irgendwo ne nachgiebigkeit sein. sonst ist deine sprungantwort recht einfach 0, für roboter berührt werkstück gerad, oder eben gar nicht und unendlich sobal kollision mit werkstück.
mfg jeffrey

master20z
23.09.2009, 10:34
Also die Kontur(zubearbeitendes Teil) ist im Raum fest eingespannt. Der Roboter fährt die Kontur entlang. Die Positionen(Bahn) die er abfährt sind ihm geteacht. Es wird nichts vermessen es wird immer die gleiche Bahn abgefahren.
Mit Werkzeug meine ich eine Feile.

Zunächst fährt der Roboter diese Bahn ohne die Kontur im Raum ab. Das ist sozusagen die Referenzfahrt um die Kräfte die auf den Sensor wirken zu erfassen. Darauf wird dann der Andruck addiert der herschen soll.
Dann wird die Kontur eingepannt und die Reglung soll beginnen.

jeffrey
23.09.2009, 13:18
hoi,
ne skizze hilft bei sowas meistens. und dann sollten wir uns mal einigen, was werkzeug und was werkstück ist. normalerweise ist das teil, welches bearbeitet wird das werkstuck, also bei dir die kontur. und das teil, mit dem bearbeitet wird (feile) das werkzeug.
so, jetzt ist dann dein werkstück fest eingespannt, und auf dem roboter ist das werzeug montiert, welches der kontur nachfährt.
nachdem wir uns im 3d raum befinden, die kraft in welche richtung ist entscheidend? und wie kann diese durch den schrittmotor beeinflusst werden? skizze ;-) wird das werkstück auf einem schlitten durch den schrittmotor bewegt? in welche richtung?
mfg jeffrey

master20z
23.09.2009, 14:26
ok so wie du es schildert stimmt es jetzt!! Hab da irgendwie nicht aufgepasst hast Recht mit dem Werkstück und Werkzeug!!! Das Werkzeug soll nur hoch und runtergefahren werden je nachdem wie der Andruck ist

Pedder
23.09.2009, 15:11
Ich würde auf jedem Fall als "Werkzeug" was elastisches einsetzen.
Denn auch 1/100 mit Kraft führt zu verbiegungen.
Einen Schrittmotor sanft andrücken zu lassen wird wohl nicht gehen.
entweder macht er einen Schritt zuviel = Verbiegung oder er wird blockiert = Falschmessung.

Ist so wie bem Maschinengewehr:
"5 Schuß laaangsam kommen lassen" :shock:

master20z
23.09.2009, 15:38
kann man die Kraft irgendwie ausrechnen?? Ich kann ja messen wieviel mm der Schrittmotor bei einem Schritt fährt (ich weiß ein schritt ist sehr wenig und das kann ich nicht messen aber bei mehreren...)

Was für ein Verfahren kann ich sonst zum einstellen des Reglers verwenden?

Euro
23.09.2009, 15:55
Eine Schrittmotorsteuerung habe ich, dieser möchte ich einen Start und Stopbefehl und die Richtung in der der Motor sich drehen soll übergeben.
Da stellt sich doch die frage ob die Schrittmotorsteuerung eine Momentenregelung schon kann, sonst dürfte es auf jedem Fall nicht so gehen wie du es wünscht. Es wäre allerdings neu für mich das man mit einem Schrittmotor das Motormoment regeln kann.
Wenn du eine Kombination mit Servomotor und Servoumrichter mit Betriebsart Momentenregelung einsetzt, dürfte das mit dem Andruck nicht mehr das große Problem darstellen. Der Umrichter würde dann die gesamte Regelung machen.

Aber wäre nicht vieleicht schon eine Feder, die deine Feile auf das Werkstück andrückt ausreichend?

Euro
23.09.2009, 16:07
Nachtrag:

Ein PID-Regelung wird mit der Ansteuerung, so wie du es wünscht, nicht funktionieren. Der Regler hat ja einen kontinuierlichen Ausgang (Stellgröße). Mit der Ansteuerung hast du aber nur drei möglich Zustände (Motor dreht rechts, Motor dreht links, Motor steht). Also warum setzt du nicht einen Drei-Punkt-Regler ein?

Wenn Andruck im gewünschten Fenster --> Motor Stop.
Wenn Andruck zu niedrig --> Motor fährt Werkzeug vor.
Wenn Andruck zu hoch --> Motor fährt Werkzeug zurück.


Hoffe das kann dir jetzt weiter helfen.

Euro

master20z
23.09.2009, 16:47
ja da hast du auch recht im prinzip würde das auch funktionieren... möchte aber auch ein bissi was lernen wie man regler richtig einstellt. kann doch den Ausgang vom PID Regler in eine zeit umrechnen

Pedder
23.09.2009, 18:47
"Wenn Andruck im gewünschten Fenster --> Motor Stop.
Wenn Andruck zu niedrig --> Motor fährt Werkzeug vor.
Wenn Andruck zu hoch --> Motor fährt Werkzeug zurück. "

Schrittmotoren haben kein gleichmässiges Drehmoment.

was ist, wenn der Kontakt zum Werkstück gerade noch dann stattfindet, kurz bevor ein neuer Schritt im Anmarsch ist?
= Andruck zu viel.
Einen Schritt zurück
= Andruck zu wenig.
Einen Schritt zurück
.
.
.
goto was ist, wenn

master20z
24.09.2009, 11:18
also sollte ich einen anderen Motorverwenden? Servo oder wie?

master20z
24.09.2009, 13:20
so ich weiß jetzt wie ich die Sprungantwort aufnehme... Ich fahre das Werkzeug an die 3D Kontur! Messe die Kraft die Anliegt und fahre das Werkszeug so schnell wie möglich von der Kontur weg! Muss nur schauen ob der Schrittmotor oder der Robbi schnell genug ist!!!

Wer noch irgendwelche Idee hat bitte posten!!
Danke an alle die mich bisher unterstützt haben!!!

ranke
25.09.2009, 06:19
also sollte ich einen anderen Motor verwenden?


Das hatte ich schon mal versucht anzudeuten.
Das Moment eines permanenterregten Gleichstrommotors ist proportional zum Ankerstrom. Das ist eine Größe die bequem zu regeln ist. Schritte kann er auch nicht verlieren.

Euro
25.09.2009, 10:39
was ist, wenn der Kontakt zum Werkstück gerade noch dann stattfindet, kurz bevor ein neuer Schritt im Anmarsch ist?
= Andruck zu viel.
Einen Schritt zurück
= Andruck zu wenig.
Einen Schritt zurück
.
.
.
goto was ist, wenn
Was ich vorgeschalgen habe geht natürlich nur wenn du ein gewisses Fenster hast wo der Andruck ok ist.




also sollte ich einen anderen Motorverwenden?
Hier kannst du jetzt entweder wie ranke meint einen Gleichstrommotor einsetzten und regelst den Ankerstrom (~ zum Moment), was wohl die günstigere Möglichkeit wäre.
Oder du nimmst einen Servomotor (Drehstrom-Synchronmotor) mit entsprechendem Umrichter. Der Umrichter kann dann die Momentenregelung übernehmen. Die kombination aus Servomotor und Umrichter wird heutzutage standardmäßig in der Industrie eingestezt, wenn es um Positionieraufgaben (z.B. Industrieroboter) oder Momentenregelung geht. Wird bestimmt die teurere Möglichkeit sein die aber dafür Verschleisfrei arbeitet.


An deiner Stelle würde ich erst mal ausprobieren ob das mit der Drei-Punkt-Regelung funktioniert (Ich geh jetzt hier mal davon aus das du schon den Schrittmotor und Kraftsensor hast).
Wenn das nicht funktioniert oder du die Komponenten noch nicht hast, würde ich auf Gleichstrommotor oder Servomotor setzen. Je nachdem was das genau für eine Anwendung ist (Hobby-Bereich oder Produktionsanlage die wartungsarm funktionieren muss) oder wie groß das Budget ist.