Zum Inhalt springen
Betaflight Logo klein
  • Über
  • Knowledge Base
  • Tuning Guide
  • Tuning Beispiele
  • FPV-Linksammlung
  • Events
Menü Schließen
  • Über
  • Knowledge Base
  • Tuning Guide
  • Tuning Beispiele
  • FPV-Linksammlung
  • Events

PID Loop und PID Error

Software

  • Betaflight Presets
  • Betaflight-Configurator
  • Impulse-RC Driver Fixer
  • PIDToolbox
  • BLHeli32_Suite und andere ESC Firmware Konfiguratoren
  • Blackbox-Explorer (Blackbox Log Viewer)
  • TBS Agent X (Crossfire)
  • Speedy Bee
  • Dronesitter
  • Notepad ++

Hardware - Bauplanung

  • Werkstatt-Ausstattung
  • kleine LiPo Kunde
  • Specing – Komponentenwahl
  • Frame
  • Kondensatoren
  • Flightcontroller
  • ESC – Motor – Propeller Auswahl
  • Baufehler als Ursache für Gyro-Noise
  • Sonderfall X-Class Builds

Konfiguration

  • Betaflight-Configurator
  • Bind-and-Fly Quadcopter
  • EdgeTX
  • OpenTX
  • ExpressLRS
  • Panik-Schalter
  • Betaflight Presets
  • Motoren einrichten

Filter- und PID-Theorie

  • Filter- und PID-Theorie
  • PID Loop und PID Error
  • Gyro (filtered and prefiltered)
  • RC Link

Tuning Guide

  • Einleitung zum Thema Tunen
  • Presets und initiales Setup
  • Filtertuning
  • PID-Controller
  • Rates und Throttle
  • Yaw-Tuning
  • Dynamic Idle und DShot Idle
  • Dynamic Damping
  • Antigravity
  • Feed Forward
  • I-Term und I-Term-Relax/ I-Term-Windup
  • Thrust Linearization (Thrust linear)
  • TPA – Trottle PID Attenuation
  • Battery Sag Compensation
  • Tune finalisieren

alternative Tuningansätze

  • PWM Frequenz und Tuning
  • Gyro Lowpass Filter deaktivieren
  • Damping Grease
  • Launch Control
  • Dual Axis Steering
  • D-Term Notch Filter

Blackbox Grundlagen

  • Blackbox-Logging
  • Tuning-Flug
  • Blackbox Log Interpretation
  • Kurvenanalyse
  • Spektralanalyse
  • PID-Controller und Step Response
  • Tuning-Probleme mit Blackbox lösen

Blackbox Analyse

  • Desync
  • Gyro-Drift
  • Gyro-Glitch
  • Motor-Saturation
  • Nose-Dipping
  • Stick Schnapper und zitternde Hände
  • YAW-Bounceback (iterm_windup)

Hintergrundwissen

  • Betaflight-Configurator
  • Betaflight Presets
  • Betaflight 4.3 Changelog
  • legaler Quadcopterflug in Deutschland
  • Filter Hintergrundwissen
  • Sensor Fusion
  • BLHeli_32, AM32
  • Bluejay, JESC, BlHeli_S, BlHeli_M

Fehlersuche

  • VTX-Bildstörungen, Ursachen und Lösungen
  • DJI Digital FPV System – Caddx Runcam
  • Flightcontroller wird nicht am PC erkannt
  • Fehlerhafte Spannungsangabe

Anhang

  • Channel Mapping
  • CLI Snippets
  • Lipo Tabelle für die Hosentasche
  • FPV-Frequenztabelle für die Goggle-Tasche
  • Home
  • Docs
  • Knowledge Base
  • Filter- und PID-Theorie
  • PID Loop und PID Error

PID Loop und PID Error

Inhaltsverzeichnis
  • P-Term
  • D-Term
  • I-Term
  • PID-Controller-Wirkung

Term = Wert der aktiv ist, messbar in Blackbox-Log

Gain = eingestellter verstärkender Faktor in Betaflight

Gain, z.b.: D-Gain wird manchmal auch als D-Term-Gain bezeichnet. Nicht verwirren lassen, gemeint ist der Gain, nicht der Term.

Gehen wir von einem einfachen PID Regelkreis ohne erweiterte PID-Funktionen wie Feed Forward 2.0, Dmin und Antigravity aus. Der PID-Controller vergleicht den Setpoint (Soll) mit den Daten des Gyroskops (Ist). Je präziser die Ausgangswerte sind desto präziser wird das Ergebnis. Liegt hier eine Abweichung vor so ist dies der PID-Error. Der PID-Kontroller versucht nun den PID-Error so klein wie möglich zu halten.

Aus Mark Spatz (UAV_Tech) Tuning Guide 1

P-Term #

P-Term = PID-Error x P-Gain (Wert in Betaflight) x Scaling-Faktor

Der PID-Controller schiebt mit dem P-Term (Proportional) den Quadcopter in die richtige Richtung. Wie die Feder im Fahrwerk eines Autos oder das Kind auf der Wippe das sich nach oben abstößt. Der P-Term „the present“ agiert in Echtzeit.

Je weiter der Quadcopter von seinem Lage-Soll entfernt ist, desto stärker drückt der P-Term den Quadcopter in Richtung Lage-Soll.

P-Term

[Quelle: https://www.technik-consulting.eu/en/optimizing/drone_PID-optimizing.html]

Ein höherer P-Term bringt schärfere Kontrolle über den Quadcopter mit sich, neigt aber, wenn zu hoch, zum überschießen (Overshoot). Wenn er zu sehr überschießt kommt es zu P-Term-Oszillationen, diese sind hochfrequent und meist im oberen Throttlebereich.

D-Term #

D-Term = Anstiegssteilheit des Gyrosignals (= Neigung der Kurve in Blackbox) x D-Gain x Scaling-F.

Ohne Dämpfung würde der Quadcopter aber wie ein Auto ohne Dämpfer einfach weiter schwingen. Um diese Schwingung zu dämpfen wurde der D-Term (Derivative) eingeführt. Er bremst die  überschießende Bewegung, sodass das Soll (gewünschte Lage des Quadcopters im Raum) erreicht, aber nicht übertroffen wird. Der Trick ist, dass D-Term etwas später anfängt und leicht Träger ist als der P-Term.

D-Term

[Quelle: https://www.technik-consulting.eu/en/optimizing/drone_PID-optimizing.html]

Je schneller das Gyroskopsignal sich ändert desto stärker drückt der D-Term gegen die Bewegung.

In Wirklichkeit schießt der Quadcopter aber trotzdem über den Zielwert hinaus und D fängt dieses Überschießen dann ein. Ein neues P in die Gegenrichtung kommt hinzu. Beides wird dabei so stark, dass der Quadcopter nun wieder überschießend zurücklenkt. Wäre nur P und D verfügbar würde der Quadcopter sich langsam auf den Sollwert einpendeln.

Ein Problem des D-Terms ist, dass er sehr sensibel auf Störungen (Noise) im Gyro-Signal oder Prop-Wash reagiert. Der D-Term verstärkt dieses 10-100-fach. Daher ist eine Filterung nur für den D-Term notwendig. Durch zu viel Aktivität des D-Terms werden die Motoren sehr schnell beschleunigt und abgebremst. Dies erzeugt Wärme. Zuviel davon und die dünnen Drähte der Motorspulen schmelzen und der Motor „brennt durch.“

Ein zu hoher D-Term erzeugt mittelfrequente Oszillationen im mittleren Throttlebereich. Zu wenig D-Term erlaubt Bounceback und verschlechtert Prop-Wash-Handling. D-Term ist für die Kontrolle des Prop-Wash der ausschlaggebende Term.

Um den D-Term dynamisch anzuheben, wenn man viel braucht (Prop-Wash) und niedrig zu halten, wenn man ihn nicht braucht (geradeaus Flug) wurde Dmin eingeführt.

I-Term #

Der I-Term ist von Zeit und PID-Error abhängig. Das heißt er wird stärker je länger der PID-Error anhält und je größer der PID-Error ist. Der I-Term ist im Vergleich zu P und D langsam. Er hält den Quadcopter stabil gegen äußere Einflüsse wie Wind in der Luft.

I-Term

[Quelle: https://www.technik-consulting.eu/en/optimizing/drone_PID-optimizing.html]

Dargestellt wird er hier durch das grüne Gewicht. Der I-Term wirkt sowohl dämpfend auf P und D als auch Richtungsgebend, wenn die Richtungsvorgabe durch P nicht ausreicht. In Betaflight ist der ITerm sehr stark, was dieses „locked in Gefühl“ oder „wie auf Schienen fliegen“ erzeugt. Ist der I-Term zu hoch fühlt sich der Quadcopter steif an, wie als würde ihn in der Luft jemand festhalten. Ist er deutlich zu hoch erzeugt das ganz langsame I-Term-Oszillationen. Ist der I-Term zu niedrig „rutscht“ der Quadcopter in der Luft weg wie auf einer Eisbahn. Manche beschreiben dies auch als Neigung zum Driften (wie bei The Fast & The Furious.)

Antigravity verstärkt den I-Term dynamisch, wenn er gebraucht wird (schnelle Throttleänderungen) und erlaubt einen niedrigeren I-Term, wenn er nicht gebraucht wird (konstanter Flug).

Wenn eine konstante Scherkraft von außen auf den Quadcopter einwirkt (Seitenwind beim Long-Rangeflug, Fliehkräfte bei einem Orbit, etc), wird der I-Term immer stärker und stärker. Um diesem entgegenzuwirken und ein kumulieren zu verhindern wurde I-Term Relax und I-Term Windup eingeführt.

PID-Controller-Wirkung #

Zusammen wirken P, I und D ungefähr so:

PID Controller Wirkung

[Quelle: https://www.technik-consulting.eu/en/optimizing/drone_PID-optimizing.html]

Wichtig ist die richtige Balance (P/D-Balance) und die richtige Stärke (P/D Gain) zu finden. Dies ist für jeden Quadcopter individuell.

Ändert man den Setpoint (Soll) von angenommen 0 auf 1 innerhalb unendlich kleiner Zeit reagiert der PID-Controller so: (vereinfachtes Modell)

Wirkung von P, I und D auf die Step-Response

[Quelle: https://commons.wikimedia.org/wiki/File:PID_Compensation_Animated.gif]

Wir wollen einen schnellen Anstieg ohne Überschwingen und dabei den Zielwert präzise treffen. Das wird nie passieren, daher müssen wir uns diesem Idealzustand soweit es geht annähern, aber werden mit einem Kompromiss leben müssen. Der eine mag weiche Übergänge ohne Überschießen für cinematischen Flug. Der nächste nimmt Überschießen gern in Kauf, denn ein klein wenig Bounceback ist nach dem Racegate zu verkraften.

Critically damped – die optimale Form der Step Response

[Quelle: Mark Spatz (UAV_Tech) Tuning Guide]

Optimal ist ein Kompromiss aus ausreichend starkem P, zurückhaltendem D und gut dosiertem I. Dieser ideale Zustand wird als „critically damped“ bezeichnet. Overdamped hat zu viel Dämpfung und ist langsam. Underdamped erzeugt Overshoot und Bounceback, ist dafür schnell. Natürlich wollen wir das Delay (Verzögerung) so klein wie möglich halten, damit der Quadcopter schnell reagiert. Die obere Grafik gut einprägen, die brauchen wir immer wieder.

Fragen und Anregungen?

Wie können wir helfen?

Updated on 2021-10-03
Filter- und PID-TheorieGyro (filtered and prefiltered)
Inhaltsverzeichnis
  • P-Term
  • D-Term
  • I-Term
  • PID-Controller-Wirkung
de Deutsch
ar العربيةzh-CN 简体中文nl Nederlandsen Englishfr Françaisde Deutschit Italianopt Portuguêsru Русскийes Español
  • ImpressumOpens in a new tab
  • DatenschutzOpens in a new tab
(C) 2022 Betaflight.de