Ja, funktioniert, nur ob es nun wirklich 50 Hz sind weiß ich nicht, da ich wie gesagt keinen Oszi habe... und ne andere Möglichkeit fällt mir nicht ein... außer vielleicht ein altes Analogservo zu nehmen und zu probieren wie lange es durchhält

Ich habe ein paar Anläufe gebraucht bis es funktionierte, der Code ist durch die vielen Möglichkeiten (Bi, Tri, Quadri, u.s.w.) extrem verzwickt... ich habe im Prinzip einen neuen Modus "FBL" hinzugefügt und weise am Ende des Main Loops die Werte der Motoren den entsprechenden Servos zu... dazu gibt es eine neue "initializeServos()" Routine, welche die Ausgänge setzt... und noch einiges mehr
Naja, ein FBL ist es noch lange nicht... so wie das System auf dem Tisch reagiert scheint es viel zu sensibel zu sein... vielleicht kann man noch ein bisschen was mit den Regelparametern machen... oder das Signal noch ein bisschen Glätten, Alex Dubus benutzt für das Gierservo beim TRI folgendes:
Code: Alles auswählen
gyroData[YAW] = (gyroYawSmooth*2+gyroData[YAW]+1)/3;
gyroYawSmooth = gyroData[YAW];
und beim BI für die beiden Servos:
Code: Alles auswählen
static int16_t gyroPitchSmooth = 0;
gyroData[PITCH] = ((int32_t)gyroPitchSmooth*10+gyroData[PITCH]+5)/11;
gyroPitchSmooth = gyroData[PITCH];
Ich hab das bei mir für Pitch und Roll mal "eingebaut", jetzt tut sich aber ziemlich wenig auf der Taumelscheibe... da muss ich jetzt wohl mal testen wie sich das auf das System auswirkt...
Gruß, Alex