PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PID - Regler



hacker
29.04.2006, 19:32
Hi,

mein Ziel ist es, beide Motoren mit einem PID - Regler zu überwachen, um genau fahren zu können, unabhängig von Spannungsschwankungen, Bodenbelägen, Belastungen des jew. Motors oder andere äußerliche Einflüsse.

Den Regler hab ich auch verstanden. Auch schon halbwegs umgesetzt.

Jedoch hab ich eins noch nicht verstanden, bzw. ist mir unklar. Die Stellgröße...was ist das? also Einheit, Menge von was..usw. und wie führ ich das nachher über in die PWM?

Ich hole mit den Istwert duch Radencoder an den Wellen. Da stellt sich auch schon eine Frage. Soll ich den Istwert in "Strichen pro Zeitzyklus" machen? Sprich wieviel Schritte is es voran gegangen seit der letzen Abtastzeit oder soll ich das ich Drehzahl machen oder in Geschwindigkeit.

Der Sollwert ist ja dann genau das gleiche. Diese Stellgröße y muss ich ja aber dann irgentwie in nen PWM Wert überführen können. Das kapier ich net so ganz.

Und noch was: Wenn ich das mit den Strichen bis zum nächsten Abtastinterrupt mache, dann wird die Abtastfrequenz bei nur 120 Schritten ja ewig lang oder nicht?


Ich hoffe ihr könnt mir ein wenig helfen...

Gruss Hacker

Satyr
29.04.2006, 20:40
Hallo Hacker!
Die Stellgröße ist eigentlich der Wert, welcher von dem Regler ausgegeben wird!
Ein Vergleich mit einem Tempomaten:
Sollwert sagen wir 80km/h.
Istwert ist aber nur 65km/h
Regelabweichung ist somit 15km/h.
Die Stellgröße wäre in diesem Beispiel der Weg des Gaspedals um den erwünschten Sollwert zu erreichen. Dieser kann in dem Beispiel positiv aber auch negativ sein, was aber kein Qualitätsmerkmal ist.
Welche Dimmension du diesem Wert zuteilst überlasse ich dir! =P~
Irgendwie sollte da halt eine klare Linie vorherrschen! Der Istwert und der Sollwert sollten die selbe Einheit haben! Dann wäre noch interessant, wie du die Drehzahl der Motoren regelst. Das kann Rückschlüße darauf geben, welche Art der Werterfassung die geeignetste wäre! :-k
lG Satyr

hacker
29.04.2006, 20:54
Ich regel die Drehzahl über PWM und wollte meine Werte über Radencoder holen.

Satyr
29.04.2006, 21:07
Hallo!
Möchtest du den Gleichlauf der beiden Motoren oder die Geschwindigkeit deines Bots regeln?
Wenn du den Ausgang deines Reglers an die PWM weiterleitest sollte es doch funzen?! :-k
"Breitere" Impulse-mehr Tempo! Sollte der Bot "überreagieren", so mußt du den Regler optimieren.
Vielleicht bin ich zu blöd, aber ich verstehe dein Problem nicht genau.
lG Satyr

hacker
30.04.2006, 13:27
Ich glaub ich verstehs grad selber nicht mehr so genau....Wenn ich die Geschwindigkeit jedes einzelnen Rads regle, dann kann ich doch auch gleichzeitig Gleichlauf der beiden Motoren regeln...

Ich werd mich nommal melden...bin grad bisschen durcheinander ...

04.06.2006, 19:06
Die Stellgröße wäre in diesem Beispiel der Weg des Gaspedals um den erwünschten Sollwert zu erreichen.

Aber nicht der Weg den man das Pedal jetzt weiter drücken muss, sondern die Position wo das Pedal hin soll.

jeffrey
04.06.2006, 20:38
hi,
es ist schon interessant, was du regeln möchtest, weil das ja deinen sollwert bestimmt. willst du die drehzahl regeln, musst du natürlich auch die drehzahl messen. willst du nur gleichlauf, kannst du links - rechts machen und als sollwert hast du 0, dabei ist es egal ob pulse pro sec oder drehzahl, halt auf beiden seiten gleich. dein stellsignal ist logischerweise dein pwmsignal. wenn du zu einen guten rgeler kopmmen willst, solltest du zuerst die übertragungsfunktion von pwmsignal-> drehzahl bestimmen. wenn du den motor als pt1 annimst, kannst du es über die sprungantwort machen, um eine gewisse linearität rein zu bekommen ist es sinnvoll, den pwmwert bei dem sich die motoren gerade nicht bewegen als anfangswert des sprungs zu wählen.
du kannst den regler natürlich auch durch probieren erstellen.
mfg jeffrey