RC - Heli

Zurück   RC-Heli Community > Lexikon > Der RC-Heli

Kategorie: Der RC-Heli
Eintrag anzeigen
PID-Regler PID-Regler

PID-Regler

Synonyme: pid regler controller proportional integral derivative
 
Eingetragen von LudwigX, 24.07.2013 10:38 Uhr

Letzte ßberarbeitung von marndra, 17.06.2015 08:34 Uhr
Ich möchte hier erklären was ein PID Regler überhaupt ist, warum es überhaupt verschiedene Anteile gibt und welche verschiedenen Aufgaben und Auswirkungen diese Anteile auf unser System haben.

Ein PID-Regler hat die Aufgabe ein Ausgangssignal ständig so zu korrigieren, dass es dem Eingangssignal entspricht. Der PID-Regler ist ein Bauteil eines größeren Systems, in welchem er die Regelung des Ausgangs übernimmt.
(Zu einem Gyro z.B. gehört unter anderem noch ein Bauteil, dass das Eingangssignal verwertet, der Drehratensensor, ein Bauteil dass das Ausgangssignal für das Servo erzeugt, eine Software die Vibrationen herausfiltert usw.)
Konkret an unseren Helis heißt das z.B. wenn wir dem Heli vorgeben, dass er sich konstant nach rechts drehen soll, so steuert der Gyro das Heck automatisch so, dass sich der Heli mit der gewünschten Geschwindigkeit dreht. Egal wie schnell mal fliegt, oder ob es Wind gibt. Ein PID Regler hält z.B. auch die Drehzahl im Governor Modus konstant.

Ein paar grundlegende Begriffe:
Empfindlichkeit: Meiner Meinung nach ist Empfindlichkeit ein schlecht gewähltes Wort. Ich würde empfehlen wann immer möglich das englische Wort Gain zu verwenden.
Die Empfindlichkeit steuert nicht wie sensibel ein System an sich reagiert. Der Gain ist ein Multiplikator für die Ausgangsgröße. Als Beispiel: Ich drehe den Heli um 10 Grad. Bei einem Gain von 20% wird das Servo um 5 Grad verstellt. Habe ich den Gain auf 40% stehen, wird das Servo um 10 Grad verstellt. Setze ich den Gain auf 0% wird das Servo überhaupt nicht verstellt. (Wie gesagt: Nur ein Beispiel: Wie stark das Servo tatsächlich angesteuert wird hängt vom Gyro, Gain, und Servo ab)
Aus diesem Grund pendelt ein Heck auch, wenn ein Gain zu hoch eingestellt ist: Der Heli dreht sich ganz leicht. Der Gyro lässt das Heckservo so stark dagegen arbeiten, dass der Heli über die ursprüngliche Position hinaus steuert, der Gyro merkt dass er zu viel gesteuert hat und bremst daraufhin das Heck stark ab und lässt es in die andere Richtung zu weit raussteuern.

P: proportional
I: integral (Stammfunktion)
D: derivative (Ableitung)


Die PID Regler stammen ursprünglich aus der Schifffahrt. Man hat damals nach einem System gesucht, welches ein Schiff automatisch steuern konnte. Um solch ein System zu entwickeln hat Nicolas Minorsky die Steuermänner auf den Schiffen beobachtet und dabei eine wichtige Entdeckung gemacht: Die Steuermänner steuern das Schiff nicht so, dass nur der aktuelle Kurs (P) korrigiert wird. Sie beachteten auch welche Auswirkungen die Steuerfehler der Vergangenheit hatten und korrigierten diese (I); und sie beachteten auch mit welcher Geschwindigkeit sich der Fehler jetzt gerade im Moment vergrößert oder verkleinert (D) und bezogen dies in ihrem Steuerverhalten ein.

Der PID Regler hat immer nur einen Wert, den er messen kann (P), aber aus diesem Wert lassen sich die I und D Werte errechnen. Diese werden dann getrennt voneinander genutzt, und jeder Anteil kann über einen eigenen Gain feinjustiert werden. Zusammen werden sie genutzt um das ganze System zu stabilisieren.

Der proportional Anteil:
Der P-Anteil misst den aktuellen Wert. Zum Beispiel die aktuelle Drehrate des Hecks an unserem Heli. Wenn die Drehrate am Heli nicht mit dem übereinstimmt was vom Sender vorgegeben wird, steuert der Gyro das Servo an damit die Drehrate wieder eingehalten werden kann.
Da das Regelsystem immer einen kleinen Moment braucht, bis es reagiert hat, wird zwar die Drehrate an sich konstanter gehalten, aber entstandene Fehler werden nicht korrigiert. Genau aus diesem Grund driftet ein falsch eingestelltes Heck im Normalmode (P ist an, I und D sind aus):
Heli dreht sich in eine Richtung -> Gyro steuert das Servo an um die Drehrate zu korrigieren -> Heli dreht sich langsamer -> Gyro steuert das Servo weniger stark an -> Heck dreht wieder schneller. Nach einigen Zyklen stellt sich eine konstante Drehrate ein. Da das ganze viele Male pro Sekunde passiert, können wir den Vorgang an sich nicht sehen und nehmen ihn als konstanten Drift wahr.
Der P-Anteil ist wichtig um begonnene Drehungen zu erkennen und diese zu stoppen.

Fliegen wir dagegen im Heading-Lock Modus schaltet sich der Integral-Anteil dazu. Ich hatte schon geschrieben, dass der I-Anteil die Auswirkungen der vergangenen Fehler korrigieren soll.
Mathematisch betrachtet ist der I-Anteil hier die Summe der Fehler über die Zeit.
Das bedeutet: Der Gyro misst mehrere hundert Male pro Sekunde wie schnell sich das Heck dreht. Daher weiß der Gyro wie lange sich der Heli mit welcher Geschwindigkeit gedreht hat. Daraus errechnet der Gyro nun wo sich der Heli relativ zur Ausgangslage befindet.
Das Ganze funktioniert fast so wie die Kilometerzähler im Auto: Der misst auch nicht die tatsächlich gefahrene Strecke, sondern weiß nur wie lange das Auto wie schnell gefahren ist und rechnet das zusammen. Man fährt eine halbe Stunde mit 60 km/h und nochmal 2 Stunden mit 80 km/h. Sind zusammen 190km.
Das gleiche macht der Gyro mit der Drehrate: Der Heli dreht sich eine Sekunde mit 1 Grad/s nach links und 2 Sekunden mit 3 Grad/s nach links. Nun hat sich der Heli insgesamt um 7 Grad nach links gedreht. Glücklicherweise können die Gyros das in beide Richtungen:
Wir drehen uns 1 Sekunde mit 1Grad/s nach links und danach 2 Sekunden mit 3 Grad/s nach rechts -> Der Heli hat sich insgesamt um 5 Grad nach rechts gedreht.
Das ist etwas einfach dargestellt. Aber im Prinzip machen die Gyros das so, nur eben mehrere hundert male pro Sekunde.
Was macht jetzt der I-Anteil?
Im Prinzip macht der genau dasselbe wie der P-Anteil. Er nutzt aber nicht die aktuelle Drehrate als Basis um das Servo anzusteuern, sondern die aktuelle Ausrichtung des Helikopters. Aus diesem Grund bleibt ein Heckservo im HH-Mode auch stehen, wenn man den Knüppel loslässt:
Ihr initialisiert den Heli und lasst ihn am Boden stehen. Nun steuert ihr den Knüppel so, dass sich der Heli 3 Sekunden lang mit 30 Grad/s drehen soll. Danach lasst ihr den Knüppel los.
Der P-Anteil stimmt: Die angestrebte Drehrate beträgt nun 0 Grad (Knüppel ist ja wieder in Mittelstellung)
Aber: Der I-Anteil ist komplett falsch. Der Gyro hat mitgerechnet und weiß, dass die Ausrichtung des Helis um 90 Grad falsch ist. Deswegen steuert immer noch das Heckservo an um die vergangenen Fehler auszugleichen (D.h. das Heckservo bleibt an anderer Stelle stehen). Je höher die Abweichung und je höher der Gain ist, desto stärker wird das Servo angesteuert. Wenn wir den Heli jetzt um 90 Grad in die zuvor gesteuerte Richtung drehen, geht das Heckservo wieder in seine ursprüngliche Position.
Der I-Anteil ist besonders wichtig für konstante Fahrtpirouetten, den Rückwärtsflug und den Seitwärtsflug.
Ich lese öfters, dass der I-Anteil "langsamer" arbeitet als der P-Anteil. Das stimmt so nicht. Der arbeitet genauso schnell und steuert das Servo auch genauso oft an wie ein P Anteil. Er funktioniert nur eben nach einem anderen Prinzip, das an sich das Servo weniger stark ansteuert.

Kommen wir zu dem Derivative-Anteil. Dieser ist aber bei unseren Gyros nicht allzu wörtlich, da sehr viele Gyros den nicht so umsetzen wie ich ihn nun beschreibe, sondern einfach nur für das Abstopp- und Anlaufverhalten die Servoausschläge erhöhen.
Ich versuche den D-Anteil mal vom P-Anteil abzugrenzen:
Der P-Anteil misst wie schnell sich der Heli gerade dreht. Der D-Anteil misst wie schnell das Heck beschleunigt oder abbremst. Ich verwende dazu nochmal den Autovergleich: Wenn ihr eine Vollbremsung macht, würde der D-Anteil nach oben schießen. (Quasi die Kraft, die euch nach vorne ins Lenkrad drückt ist der D-Anteil).
Der D-Anteil kann genutzt werden um bereits bei kleinen Veränderungen des Eingangs eine starke Veränderung am Servo zu bewirken: D.h. Ihr schwebt ruhig und bewegt den Stick nun in eine Richtung. Mit einem kleinen D-Anteil beschleunigt das Heck eher sanft. Mit einem hohem D-Anteil gibt der Gyro kurzzeitig ein hohes Signal an das Heckservo aus: Der Heli schießt quasi sofort los; die gewünschte Beschleunigung ist fast sofort erreicht und der Gyro nimmt das Servo so stark zurück, dass es nun mit der gewünschten Drehrate weiterdreht. Dasselbe passiert auch beim Abstoppen.

Warum man das nicht allzu wörtlich nehmen sollte:
Viele Gyros nutzen den D-Anteil eher als Direktanteil. Das heißt es wird einfach ein gewisser Servoausschlag am Regelsystem VORBEI mitgegeben, damit das System schnell beschleunigt und stoppt.
Der wichtige Unterschied ist, dass der D-Anteil immer mit dem Regelsystem arbeitet und auch Fehler aus korrigieren kann (kommt am Heck nur selten in einem nennenswerten Umfang vor, daher ist es eigentlich egal). Der D-Anteil hat auch beim aus korrigieren das Verhalten das Servo kurz aber heftig anzusteuern. Für eine Korrektur ist das aber eher unerwünscht. Daher ist der D-Anteil meist sehr gering.


Noch ein paar allgemeine Dinge zu einem PID-Regler:
PID Regler an sich sind sehr vielseitig. Sie werden in allen möglichen Systemen eingesetzt und funktionieren dort wie oben beschrieben. Z.B.: Tempomat im Auto, Klimaautomatik, Governor Modus im Regler, Spannungs- oder Stromregulierung in Netzteilen und Ladegeräten.
Der PID Regler weiß dabei nie wie er in welchem System eingebunden ist. Er kennt nur seine Eingangs- und Ausgangsgröße und wird über die Gains eingestellt
Für viele Anwendungen benutzt man daher einen Feed-Forward. D.h. ein Ausgangssignal wird am PID-Regler vorbeigeschleift und ausgegeben (Feed Forward). Damit kann man die Reaktion eines PID Reglers deutlich verbessern. Beispiele hierfür sind zum Beispiel der Taumelscheiben-Direktanteil, Abstoppverhalten am Heck, DMA am Heck, oder ein FBL-Governor.

vBulletin-Lexikon Version 1.1.1 (Deutsch)
Powered by ForumFactory

Alle Zeitangaben in WEZ +1. Es ist jetzt 05:30 Uhr.


Powered by vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
Template-Modifikationen durch TMS
vBulletin Security provided by vBSecurity (Lite) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.