Hi!
Da hat sich ja ganz schön was getan hier!
Danke, Upapa, dass Du Martinez hilfst! Ohne gleiche Hardware kann ich nur im Trüben fischen.
Jetzt der Reihe nach:
@Martinez:
Noch mal eine Frage zu den ALT PID werten der FinalVersion.
Mit den Standartwerten 10 0.030 80 sollte "jeder" Kopter so einigermaßen die Höhe halten, +-50cm?! Vorrausgesetzt der ACC im Kopter macht keine Probleme. Richtig?!"
Ich kann nur mit einem Kopter testen. Die Werte können auf keinen Fall für alle passend sein, da sie letztendlich alle bestimmen, wie sehr bei Änderungen (P Absoluthöhe, I Variobremse, D Winkel/Gas Zuschlag) am Gas gezogen wird und jeder Kopter hängt eben anders am Gas. Ein sich selbst einstellender Code wäre theoretisch denkbar, d.h. in sicherer Höhe auf lernen schalten und los gehts. So etwas habe ich, mega erfolglos, probiert
.
Die imu.ino habe ich Dir hier als Zip angehängt, Du kannst die Imu.ino aus dem Naza2test überschreiben.
Damit der LPF auch aktiv wird, musst Du in der config.h noch
Code:
//#define AccBaroLPF 75 // Use at least 75% when you use MPU without "MPU6050 Low pass filter setting" Possible values: 0% up to 100% (strongest filter+delay), values probably useful >50%
//#define AccBaroDebug // Visualize RAW and FILTERED (only if AccBaroLPF is set) Accz Values in Debug0 and Debug1. Corrected Accz Values to 1G in Debug2
einfügen und auskommentieren. Du kannst Dir, wie in dem Video, über "AccBaroDebug" die Wirkung eines eingestellten Software-LPF darstellen lassen. Das ist wesentlich anschaulicher, als nackte Zahlen. Wenn Du kannst, lass auch gleich die Motoren mitlaufen, dann siehst Du gleich, was zu "bekämpfen" ist. Mit meinem USB Kabel ist das leider etwas kritisch, wenn man nur 2 Hände hat. Der LPF wird auf alle 3 ACC Achsen angewendet. Debug 0 & 1 zeigen nur die eine ACC Z Komponente (Roh & LPF). Debug 2 (3.Kasten von links) zeigt die regelungsrelevante Kombination aus den 3 ACC Achsen bezogen auf die Senkrechte. Wenn Dir die 100% Einstellung nicht reichen sollte, musst Du in der IMU.ino nur in Zeile 202 " #define lpfmax 0.04f" ändern in kleinere Werte, also z.B #define lpfmax 0.02f. Natürlich kannst Du auch die "0%" Einstellung durch Verlkeinern anheben ("#define lpfmin 0.2f"). Ein höherer LPF macht natürlich, neben der Latenz, auch die Amplitude für die "I" Berechnung kleiner, d.h. das I muss ggf. dann erhöht werden.
Rob,
mein ACC geht über alle 3 Achsen in Ruhe (also 1G) auf ca. 510, wenn ich z.B. den Kopter über die Z-Achse schnell nach oben beschleunige (mit der Hand) komme ich auf ca. 750.
Ist das normal für den CRIUS?"
So muss das sein. Im Stand: ACC Roll und Pitch ca. 0 und "z" bei ca. 512. Wenn Du ihn 90 Grad auf die rechte Kante stellst, sollte Roll bei ca. 512 und der Rest in der Nähe von 0 sein.
Wenn Du ihn 90 Grad auf die vordere Kante stellst, sollte Pitch bei ca. 512 und der Rest in der Nähe von 0 sein.
@Upapa:
Ich hatte da auch nur an meine für Crius_AIO bewährte r1074 gedacht, die noch identisch der MultiWii 2.1 "gestrickt" ist.
Ich verstehe, ich machs auch, wenn Zeit ist.
"Auch mit dem NazaStyleTest2-MOD flog der Crius_AIO hier mit den LPF default-Einstellungen ohne Probleme. Als am brauchbarsten haben sich für ALT die Werte P=14, I=0.025 und D=45 erwiesen.
Inzwischen habe ich mich auch etws an den Naza-Style gewöhnt..."
Die MPU6050 gibt es wohl in verschiedenen Revisionen, nicht das Martinez die "Zappelphillip" Revision erwischt hat.
Diese Naza-Gas Geschichte, wollte ich nach oben hin schneller und nach unten hin langsamer und begrenzt machen, damit es nicht zum Ausschalten der Gesamtregelung im Flug kommen kann, wenn man wild am Gas herumrudert. Die Methode mit Verstellung der Sollhöhe ist natürlich am softesten.
LG
Rob
P.s.: Hoffentlich komme ich am WE zum ausgiebigen Testen, dann kann ich endlich den Sack zu machen mit den Stick-Flugmodi.