@Willa
Also den Drift kannst du entweder mit nem ACC weg bekommen, oder du ziehst in jedem Durchgang vom Integral etwas ab (wenn es größer null ist) oder rechnest was dazu (wenn kleiner null). Dadurch kann der Copter dann zwar nicht 100% gerade bleiben, aber es funktioniert schon nicht schlecht.
Der Teil mit dem ADC leuchtet mir ein, aber warum es hilft in jeden Durchgang etwas vom Integral zu subtrahieren oder addieren?
Ohne hierfür einen Sensor, z.B. ACC auszuwerten kann man dann doch eigentlich immer nur einen konstanten Wert abziehen oder hinzufügen. Die Integration selber ist nichts anderes als in jedem Durchgang den (positiven oder negativen) Messwert zu addieren.

D.h. anstatt:
SummeMesswerte = SummeMesswerte + Messwert
rechnet man:
SummeMesswerte = SummeMesswerte + (Messwert-x)

D.h. eigentlich rechnet man schon im ersten Durchgang falsch und man rechnet keinen Drift raus, sonder verzögert nur, dass das Integral durch Aufsummieren der Fehler aus dem Rahmen läuft.
Das bezahlt man aber halt damit, dass man schon mit falschen Werten rechnet, selbst wenn gar kein Drift da ist.
Wäre es da nicht besser, den Faktor mit dem das Integral in die Regelung eingeht niedriger zu machen?

In einem anderen Thread hast du geschrieben, dass das Integral aufgrund der sich addierenden Fehler irgendwann völlig falsch wird und man es dann auf 0 zurücksetzen muss.

D.h. z.B.
SummeMesswerte = SummeMesswerte + Messwert
If SummeMesswerte > X then SummeMesswerte = 0
If SummerMesswerte < -X then SummeMesswerte = 0

Eigentlich müsste man das was der obige Teil bezwecken soll hier doch besser erreichen können.
Wenn man hier X kleiner macht, erreicht man auch, dass das Integral nicht soweit aus dem Ruder läuft, verfälscht aber nicht jeden einzelnen Messwert.

Nachdem ich deinen Beitrag dazu in dem anderen Thead gelesen habe, habe ich mal als Regelung für mein Chassis das auf 2 Rädern stehen soll (Balancierener Roboter) angewendet.
D.h.:
SummeGyro = SummeGyro + Gyro
If SummeGyro > X then SummeGyro = 0
If SummeGyro < -X then SummeGyro = 0

Die Summe der Gyro-Messwerte ist die einzige Grösse die ich Auswerte und als PWM auf die Motoren gebe, d.h. meine Regelung hat eigentlich nur einen I-Anteil.
Das Ding steht damit teilweise über eine Minute auf der Stelle ohne umzukippen.
(Warum weiss ich auch nicht, tuts aber )

Um einen Quadrocopter stabil in der Luft zu halten reicht das sicher nicht.
Ich könnte mir aber gut vorstellen, dass es für "kounst" als zusätzlicher I-Anteil hillft den Copter ruhiger zu halten.

Wobei man hier mit "Nur I-Anteil" vielleicht auch wieder vorsichtig sein muss. Die Summe der Gyrosignale über die Zeit, sprich Integral oder I-Anteil - entspricht ja eigentlich dem Winkel, also der Grösse die man regeln will. Damit wäre es dann ja irgendwie auch der P-Anteil.

Wenn man den Winkel regeln will, wäre das eigentliche Gyro-Signal sprich die Winkelgeschwindigkeit - irgendwie auch der D-Anteil.
Oder sehe ich das wieder völlig falsch? Regelungstechnik werde ich nie kapieren.