Zitat:
Damit wir uns nicht missverstehen: Das Integral von dem ich in diesem Moment spreche ist der Wert den man erhält wenn man den Pegel des Sensors über die Zeit integriert.
ja so hab ichs auch verstanden. offensichtlich funktioniert das bei dir ja - ich hab jetzt jedenfalls vorerst aufgegeben einen Verstärkung für I zu finden die mir mein Regelverhalten verbessert
Ich glaube bei Willa gibt es da einen sehr wesentlichen Unterschied.
Der Gyro selber misst die Winkelgeschwindigkeit und kann niemals eigenständig den Winkel berechnen.
Der Winkel kommt vom ACC und der Gyro den nur sehr kurzfristig halten, bis die Integration so fehlerbehaftet wird, dass der ACC wieder hinzugezogen werden muss.

Du hast keinen ACC musst den Winkel also als Pilot komplett selber halten.
D.h. du bist selber der alleinige P-Anteil deines PID-Reglers.
Wenn du den Masswert des Gyros direkt auswertest, ist das die Winkelgeschwindigkeit, also kein zusätzlicher P-Anteil, sondern der D-Anteil deines PID Reglers.
Die Integration des Messwertes ergibt zwar den Winkel, behält aber alle Eigenschaften einer Integration.
a) Eine Integration ohne bekannten Anfangswert kann niemals den tatsächlichen Winkel ergeben.
b) Durch die Integration werden Messfehler, Digitalisierungsfehler usw. addiert und der Wert den das Integral annimmt läuft immer weiter vom tatsächlichen Winkel weg.

Beides zusammen bedeutet, dass du das Integral immer wieder Richtung Null zurück drücken musst und den Winkel selber halten musst.

Dahjer kann eigentlich nur dass passieren was du beobachtest. Je stärker das Integral in deine Regelung eingeht, desto träger reagiert der Copter auf deine Steuerung als Pilot.
Über den Ki-Faktor lässt sich das glaube ich auch nur sehr schwer dosieren.
Dummerweise ist das Integral ja nur bei kleinen Werten richtig. Dass es gross wird liegt hauptsächlich an den Mess-, und Digitaliesierungsfehlern.

Mit dem Ki-Faktor erreichst du, dass das Integral wenig Wirkung hat solange es den richtigen Winkel wiedergibt und viel wenn es den völlig falschen Winkel wiedergibt. Eigentlich genau das Gegenteil von dem was man braucht.

Versuch mal mit den Werten zu speilen mit denen du das Integral zurück gegen Null drückst.

Sprich wenn du Willas obengenannte Routine nutzt, spiel mit dem X beim addieren der Messwerte:
SummeMesswerte = SummeMesswerte + (Messwert-x)
Oder probiere halt dochmal:
SummeGyro = SummeGyro + Gyro
If SummeGyro > X then SummeGyro = 0
If SummeGyro < -X then SummeGyro = 0

und spiel hier mit den X-Werten.