PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Regelungstechnik - ich steh grad auf dem Schlauch.....



Willa
08.07.2009, 19:11
Hallo!
Mein Hirn hängt grad ein bisschen fest...
Folgendes Problem bei der ihr mir bestimmt auf die Sprünge helfen könnt:
Ich messe eine Drehgeschwindigkeit mit einem Gyroskop. Mit einem Steuerknüppel gebe ich die Soll-Drehgeschwindigkeit vor. Das geht so (PI Regler):

do
Stellgröße(Proportional) = Gyro_Messung - Knüppelposition
Stellgröße(Integral) = Stellgröße(Integral) + Stellgröße(Proportional)
loop

Das funktioniert sehr schön. Jetzt möchte ich aber auch mal den absolut-Winkel mit meinem Stick vorgeben. Und da hänge ich grad.

do
Stellgröße(Proportional) = "?"
Stellgröße(Integral) = "irgendwie soll das erhöht werden solange der Winkel nicht erreicht ist. Beim erreichen des Winkels soll das Integral aber wieder 0 sein"
loop

Bei meinen Überlegungen drehe ich mich grad im Kreis (sozusagen "Do...Blödsinn...Loop").

Wäre fein wenn mir jemand helfen könnte....

Willa
09.07.2009, 08:58
Also, eine Art Winkelsteuerung funktioniert wenn ich es so mache:

do
Stellgröße(Proportional) = Gyro_Messung
Stellgröße(Integral) = Stellgröße(Integral) + Gyro_Messung
Stellgröße(Knüppel)=Knüppelposition
loop

Dadurch wird durch mein Gyro der Winkel immer auf null gehalten. Meine Knüppelposition geht quasi als eine Art "Störgröße" in die Regelung mit ein.
Aber bei dieser Lösung müssten sich doch jedem Regelungstechniker die Nackenhaare aufstellen... Das muss doch korrekter gehen. Nur komme ich nicht drauf :-(

HannoHupmann
09.07.2009, 11:40
Nein zweiten Regelkreis überlager? Ich muss aber ganz ehrlich gestehen dass ich deine Ausführungen nicht ganz verstehe.

dennisstrehl
09.07.2009, 12:11
Man könnte den Drehgeschwindigkeits-Algorithmus weiterverwenden und zusätzlich vorgeben:
Drehgeschwindigkeit = Abstand_zum_Sollwinkel * k

Noch was eher theoretisches zum Verständnis:
Wenn du den Drehwinkel regeln willst, ist das, was du da als PI-Regler verwendest, eigentlich ein PD-Regler, weil das Gyro-Signal ja schon die Änderung des Drehwinkels ist. Ich würde da dann (glaube ich) eher einen PID-Regler verwenden.

Socke
09.07.2009, 12:13
Hallo Willa,

der Regler für den Winkel einzustellen müsste dann wohl so aussehen:

do
Stellgröße(Proportional) = (Ist-Winkel - Soll-Winkel ) * Faktor
Stellgröße(Integral) = Stellgröße(Integral) + Stellgröße(Proportional)
loop

wobei Soll-Winkel die Knüppelposition ist und der Ist-Winkel entweder extra gemessen wird oder über die Gyro-Messung (Winkelgeschwindigkeit) aufintegriert wird.

Gruß Socke

Willa
10.07.2009, 17:42
Hi!
Danke für eure Antworten. Ich glaube ich habe die Lösung: Ich stehe nicht auf dem Schlauch, sondern ich habe (noch) nicht genug Ahnung von den Regelungstechnikgrundlagen....!
Bisher dachte ich immer, dass es sich bei meiner Reglung um eine PI-Reglung handelt, wenn ich das proportionale Gyrosignal und das Integral des Signals verrechne. Damit hat die Nomenklatur "PID" aber wohl nichts zu tun. Gut zu wissen...!
Bei einer Winkelsteuerung wird dann - wie von Socke beschrieben - der P Anteil aus dem Gyrointegral und dem Stickwert berechnet. Da werde ich mich jetzt nochmal auf meinen Quellcode stürzen und schauen ob ich das hinbekomme.

Besserwessi
10.07.2009, 18:30
Alleine mit dem Gyro wird man den Winkel nicht vorgeben können. Die Gyros haben immer etwas Drift. Wenn man das aufintegreit läuft einem der Winkel weg. Da muß man noch einen anderen Sensor nutzen um auf lange Zeit den richtigen Winkel zu bekommen. In der Regel wird das wohl der Beschleunigungssensor sein.

oberallgeier
10.07.2009, 19:34
Hi Willa,


... Ich stehe nicht auf dem Schlauch ... nicht genug Ahnung von den Regelungstechnikgrundlagen ...So geht es mir auch immer wieder. Meine erste Regelung für meinen Dottie (https://www.roboternetz.de/phpBB2/viewtopic.php?p=390196#390196) hatte ich zuerst bei waste mehr oder weniger abgeschrieben, dann langsam kapiert und dann "richtig" durchgearbeitet. Eine der wichtigen Grundlagen war diese Skizze mit meinen Anmerkungen, (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=389526#389526) nach der ich dann auch die ganze Regelschleife verstanden hatte. Sehr wichtig war natürlich auch ganze RN-Wissen-Regelungstutorial von waste.

Wesentlich mehr Probleme habe ich mit meinem MiniD0, das ich balancieren lasse. Da verstehe ich immer noch nicht die (richtigen) Zusammenhängen zwischen meinen Messwerten und meinen Regelungs-Eingriffsgrößen. Immerhin balanciert das Ding ja. Vor einigen Tagen fürchtete ich dann um die Lebensfähigkeit der Ge triebe, weil das Ding ziemlich starke Schwingungen machte - das habe ich mittlerweile geklärt - die Probleme liegen schon wieder in der Regelungs technik. Nun habe ich einiges aufgeräumt und das Dingelchen läuft wie ein Uhrwerk. Mein Fazit ist ähnlich wie Deines: RT ist s..mäßig komplex, ich will das garnicht wirklich geistig durchdringen - bringt eh nur Kopfweh - ohne Durchdringung nix Erfolg - goto oben. Immerhin stelle ich fest, wenn man sauber aufpasst, jede Unsauberkeit verfolgt und die meisten bereinigt, dann klappt das auch.

Willa
10.07.2009, 19:44
Hallo!
@Besserwessi: Ja, ACC ist schon sehr lange im Copter (um meinen Tricopter geht es schon wieder...) und auch schon in der Software. Seine Werte korrigieren das Gyrointegral.
Ich habe jetzt eine Winkelsteuerung einprogrammiert und eine Winkelgeschwindigkeitssteuerung. Das kann ich im Flug umschalten. Perfekt! :-D Kampfschweben mit der Winkelsteuerung klappt sehr schön (sogar schöner als je zuvor!). Mit der anderen Regelung kann man die Wendigkeit extrem hochschrauben. Leider geht in meinem Zimmer sehr schnell der Platz aus und draußen regnet es :-(
Ich werde die verschiedenen Regelungsarten bald in meinem Tricopterthread vorstellen:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=44744

@oberallgeier: Recht hast du, ich ersetze mein mangelndes Wissen durch harnäckiges probieren und wilde Fragerei im Roboternetz..... Das klappt auch ganz gut :-) Übrigens habe ich genau heute einem unserer Studenten von genau diesem deiner Projekte erzählt. ...