bzgl.

das Problem was ich dabei habe ist, dass ich kein sauberes Gyrosignal habe (Rauschen / Drift) und mir der I-Anteil desswegen immer wegläuft
habe ich noch das hier gefunden

http://forum.mikrokopter.de/topic-5748.html

Habe das bei mir in nem Source mal so gemacht, dass ich
Werte unter einer gewissen Grenze (im Driftbereich)
berücksichtigt habe und sie jenachdem, ob zu hoch
oder zu niedrig, zu einer Variablen dazu bzw.
weggezählt habe. Wenn die Variable dann einen
gewissen Wert überschritten hat hab ich die
Mitte um einen Klick nach unten bzw. nach
oben korrigiert.
Vielleicht eine Hilfe

Viele Grüße