Es ist doch etwas komplizierter...
Beim Bolt sitzt der MPU6000 kopfüber unterhalb der Platine, beim xNQ "normal" (Chip nach oben). In Folge sind einmal die X- und Y-Achsen vertauscht (das war schon beim sNQ so), zusätzlich ist offenbar die Drehrichtung zumindest der Y-Achse gegenläufig und so natürlich in Willas Code implementiert.
Das zweite Problemfeld ist die Anbindung der Funke. Meine DX6i hat die Kanalzuordnung 1: Throttle, 2: Nick, 3: Roll, 4: Yaw.
Leite ich die Kanäle 1:1 an die Regelalgorithmen weiter, bedient Yaw Roll und umgekehrt und Roll kippt den Copter zusätzlich in die falsche Richtung.
Durch ein bisschen im Code wühlen habe ich die Kanalzuordnung direkt nach dem Einlesen der Werte vom Empfänger getauscht, so dass jetzt Yaw und Roll richtig funktionieren.
Leider hat sich dabei (?) die Verarbeitung der Sensor-Daten verändert, erklärlich ist das für mich (noch) nicht.
Jetzt bewirkt ein Kippen des Copters um die Nick-Achse, dass die Motoren für Yaw angesteuert werden (gegenüber liegende Motoren werden schneller/langsamer). Das war vor der Umfrickelei der Sender-Werte nicht der Fall.
Alles etwas rätselhaft
Etwas Positives habe ich auch zu bemerken:
Der Absturz des µC bei Aufruf der Kalibrier-Routine wurde durch Bedienung des falschen Ports hervor gerufen. Gefixt.
Aber: Den Teil für die XY-Kalibrierung im Flug habe ich vorerst mal wieder still gelegt, nachdem ich bei der Codeanalyse im Zuge der Fehlersuche oben, erkannt zu haben glaube, dass Willa die Kalibrierung im Stillstand vornimmt. (Was zwar seinen eigenen Empfehlungen widerspricht, aber trotzdem so zu sein scheint)
Lesezeichen