Baro Code Änderungen

franko_

Erfahrener Benutzer
Sorry, hatte vergessen zu erwähnen... mein GPS Code ist auf einem 2. Arduino ausgelagert. (I2C GPS EOS latest)

Ich weiss zwar nicht ob es sinnvoll ist die Mag Declination mit auf die MWC Gui auszulagern für verschiedene Standorte.
Wenn das sinnvoll ist,. wäre es natürlich prima das zu integrieren ...

VG
Frank
 

martinez

Erfahrener Benutzer
Guten Abend! :D

ich hab eben endlich deine veränderte IMU testen können, geflogen bin ich damit noch nicht, aber ich habe es, wie du, getestet.
Dabei habe ich leider eine böse Überraschung gesehen.
Ich denke das ist die Ursache für die Probleme mit meinen Bumblebee!
Schaut euch mal das Video an.
Mein ACC hat derbe spitzen drin, nach oben und nach unten :( Allein wenn ich auf mein Kopter leicht drauf klopfe, geht das Teil sporadisch ab...
Wenn ich die Motoren einschalte ist auch Chaos angesagt.
Nochmal zu den Vibrationen am Kopter.
Ich habe bisher 5 Kopter in den Händen gehabt, mein Bumblebee läuft echt sauber und sehr ruhig....

Lösung?!
Ich könnte doch einen weiteren ACC per i2c an mein CRIUS AIO hängen... Kann man bei den MPU6050 nur den Gyro nutzen, oder muss ich dann gleich noch ein weiteren Gyro anschließen?
Geht das überhaupt, Adressenkonflikt??

Das hatte ich schon mal vorgeschlagen:
Ich habe noch ein einzelnes Board mit dem MPU6050 (von ebay), die Chips könnte ich in der Arbeit tauschen (QFNs / BGA Rework-Station ist vorhanden), das wäre doch ein Versuch wert?! Oder?

Hier das Video:
http://www.youtube.com/watch?v=SQ_miOOemwM

Viele Grüße

Martinez
 
Hi,
nach dem ich letzten die Final3 getestet und für sehr gut befunden hab, hab ich heut mal die Konkurrenz" probiert. Die r1177. Was soll ich sagen... Die Roberto Version performt meiner Meinung nach um Längen besser. Das reine Höhe halten ist soweit iO. Aber wenn der Mode aktiviert wird sackt der Copter ca 1-3m ab. Das geht ja noch, was aber Überhaupt nicht funzt ist ein kontrolliertes steigen und sinken. Zum reinen Höhe halten iO - zu mehr nicht. Nur zur Info...
Gruß Jan
 
J

JinGej

Gast
tja,.... ich wusst schon immer warum ich HIER bin :D
zumal die r1177 garnicht mehr ins promicro passt (mit meiner IMU)
 
tja wenn ich die GPS initialisierung die die mittlerweile drin haben in die Final 3 bekommen würde gebe es für mich keinen Grund da zu wechseln. Leider war ich bis jetzt da erfolglos. Werd mich da bei Gelegenheit nochmal dranmachen...
 

Roberto

Erfahrener Benutzer
Hi!
Hier ist richtig Schwung in der Bude!

@franko:
Gibt es schon ein Setting für das Crius SE V1.0 mit I2C und GPS, bzw. welchen Code soll ich da jetzt nehmen?
Final, Nazastyle...
Du kannst die Final3 oder die Testversionen nehmen. Immer draussen testen und den Waschzettel lesen.
Allgemein gültige Settings gibts so nicht. Mit den Alt Defaultpids sollte zumindest irgendwas passieren :).

FirN:
Ich glaube mit GPS war der Sketch zu groß, aber warten wir mal ab was Roberto schreibt.
Das betrifft nur den proMICRO, nicht den proMINI (crius), da der promicro nochmal 2-3Kb "verballert".
( P.s.: Habe vielleicht eine Möglichkeit gefunden 186 Bytes zu sparen...)

Scotch:
Also bei einem Arduino Pro Mini kann ich, in der Finale 3, GPS mit einbinden.
Binäre Sketchgröße: 25.372 Bytes (von einem Maximum von 30.720 Bytes)

Wenn ich mich richtig erinnere, lag es an der seriellen Übertragung der GPS Daten.
Da gab es dann wohl ein Timing Problem.
Ich weiß allerdings nicht, wie es bei I2C GPS aussieht.
Schwere Timingprobleme können NUR auftreten, wenn in der Test2 Version das aktiviert ist: //#define ConstantPID5000
UND gleichzeitig der serielle port bedient werden muss (telemetrie/ serielles gps bei megaboards etc). Wie es bei I2C GPS aussieht kann ich nicht sagen (keine Hardware), einfach constantpid NICHT aktivieren (auskommentiert lassen).

@Martinez:
Das sieht wirklich übel aus. Ich habe grade meinen copter auch noch mal beklopft. Entsprechend kommen Wellenlinien aber keine Zufalls - Spikes! Irgendwie sieht das fast wie ein Wackelkontakt aus, nur der müsste doch eigentlich I2C Fehler machen? Mit diesen Spikes muss es Probleme geben. Gyrokorrektur und der Levelmode werden mit einem viel stärkeren LPF bedient, wahrscheinlich frisst der die Spikes weg, sonst hättest Du da auch schon etwas gemerkt. Vielleicht kann noch jemand mit der Crius AIO den Klopftest machen? Vielleicht Upapa?
Natürlich kannst Du auch einen weiteren Acc an den I2C bus hängen (andere Adresse!), so weit ich das sehe, wird die Mwii-soft das ohne Codeänderung nicht verarbeiten können. Die MPU wird als Komplettpaket abgehandelt.
Chipumlöten ist natürlich gefährlich und ein Riesenaufwand. Vielleicht ist es doch ein Wackler irgendwo. Einen Software - Spikefilter könnte man natürlich auch noch zaubern, wenn alle Hardwarestricke reissen. Es wäre wirklich toll, wenn jemand ggf. auch mit freeimu 0.4.3 den Klopftest machen könnte!

@staroman
Danke, für Deinen Test!
Aber auch unsere Version hier basiert auf der gleichen Logik. Ich versuche das ganze nur etwas benutzbarer / einfacher einstellbar zu machen.

@JinGej
Danke! Aber vielleicht kann man da doch etwas machen, mit einem ganz grossen Fragezeichen?

LG
Rob
 

franko_

Erfahrener Benutzer
Die R1177 habe ich bereits wieder runtergeschmissen ...
Bin heute nochmal mit der Stable 2.1 geflogen... also nur ACC/Baro/MAG ; GPS Hold ; GPS Home

Bin schonmal was das betrifft sehr zufrieden ... Hold geht sehr gut und Home funktioniert jetzt auch. Der Mag bewegt sich jetzt mit Abschirmung nur noch minimal

Hatte vorher nie den Mag Sensor unter Vollast betrachtet und nachdem ich die Kiste(unter FC) mit dem Mu-Metall abgeschirmt habe ... keine Spikes mehr.
Desweiteren habe ich den ACC peinlich genau mit einer Wasserwaage kalibriert.

Den Umbau wegen Gewichtsreduzierung/PDU Stromboard werde ich noch machen und dann mal Deinen Final Code testen ...

VG
Frank

P.S. Ist das ein grosser Akt die Mag Declination in die MWC zu implentieren?

Muss wahrscheinlich hier den Code erweitern.. "MAG Decl.;"
const char pidnames[] PROGMEM =
"ROLL;"
"PITCH;"
"YAW;"
"ALT;"
"Pos;"
"PosR;"
"NavR;"
"LEVEL;"
"MAG;"
"VEL;"
 

Roberto

Erfahrener Benutzer
Moin!
@franko: Mit dem Mwii-GPS kenne ich mich nicht aus (keine Mwii-GPS Hardware vorhanden), ich weiss nur, wie ich es deaktivieren kann... Bei Gelgenheit schaue ich mir mal die GPS Sachen in den neuen Devs an, die müssten sich doch eigentlich relativ schmerzfrei in die 2.1 stricken lassen.
@Martinez: Auf dem Video sieht man auf jeden Fall, dass der LPF funktioniert. Bei wieviel % hattest Du ihn? Hast Du mal versucht, ob der HardwareLPF //#define MPU6050_LPF_42HZ die Spikes vielleicht entfernt (dann sichtbar in Debug 0). Vielleicht kannst Du dann mit dem HardwareLPF und einem geringen softwareLPF (vielleicht 50-70%) ein gutes Ergebnis erzielen?
Vielleicht habe ich mit dem BMA180 auch diese Spikes nur ich sehe sie nicht, weil der HardwareLPF standardmässig eingeschaltet ist?

LG
Rob
 

martinez

Erfahrener Benutzer
Hallo alle miteinander!

So, ich habe eben mit den verschiedenen Filter herum gespielt.
Ich habe ein der Config #define AccBaroLPF 100 und #define MPU6050_LPF_42HZ aktiviert.
Dabei kommt das beste Ergebnis im Debug 2 (regelungsrelevante Kombination aus den 3 ACC Achsen) raus.
Geflogen bin ich damit noch nicht.
Rob, mit welcher Version soll ich testen? Die Final3, die "MultiWii_2_1_NewBaroPIDVario3lNazaStyleTest" oder gleich die "MultiWii_2_1_NewBaroPIDVario3NazaStyleTest2"?
Ich würde mit ALT PID 7.0 0.030 80 starten.

http://www.youtube.com/watch?v=3fk6A1K01xU&feature=plcp

Gruß
Martin
 

Derjunior

Erfahrener Benutzer
Moin Martinez, bei mir (Freeimu 0.4.3.) sehen die Kurven auch so aus wie bei deinem Letzten Post.Ich hab die Einstellungen genauso wie du geschrieben hast und bei mir Funzt es;) Fallst du noch Probleme haben solltest versuch mal deine Luftschrauben weiter zur Glocke zu bekommen da man damit Vibrationen minimiert, die sind sehr weit oben finde ich. Achte bei den Einstellungs Flügen darauf den I wert weiter zu erhöhen da er durch den Lpf jetzt weiter herrunter gesetzt ist. Meine Pid´s bei der Naza2 sind 10/0,045/80
Gruß Micha
 

upapa

Erfahrener Benutzer
Vielleicht kann noch jemand mit der Crius AIO den Klopftest machen? Vielleicht Upapa?
Hi Roberto, hi Martinez,
habe den Klopftest gemacht. :)
Auch bei intensivem Klopfen auf die FC-Abdeckung sind nur leichte Ausschläge der ACC-Kurve zu beobachten. Keinesfall jedoch diese Spikes wie im Video. Typisches "Klopfbild" hier mit ACC-Kurve ab Mitte der Abbildung.

upapa
 

Anhänge

Roberto

Erfahrener Benutzer
@Martinez: Versuch ruhig die test2 Version. Ein LPF von 100% bringt natürlich schon eine deutliche Latenz, die z.B bei 75% kaum sichtbar ist. Versuche vielleicht von den 100% etwas herunter zu kommen. Genau, die Debug2 Kurve ist entscheidend.
Auf jeden Fall müsste es jetzt laufen bei Dir, ohne dass Du den Lötkolben anschmeissen musst.

@DerJunior: Bist Du mit dem Softwareplf auf 100% geflogen? Geht das mit der Latenz?
Stimmt, die Motorachsen könnte man noch etwas in die Tiefe senken

@Upapa:
Da gibt es wohl doch Hardwareunterschiede von crius aio zu crius aio.
Danke, auf jeden Fall für Deinen Test!!

Also in die nächste Version muss die Möglichkeit des zuschaltbaren software Acc Filters und die Anzeigemöglichkeit der regelungsrelevanten Komponente.

LG
Rob
 

Derjunior

Erfahrener Benutzer
Hey Roberto, ja funktionieren tuts mit der Latenz aber der Copter ist seeeehr weich, fliegt wie durch Honig;) für Kamerafahrten vieleicht interessant :) ich habs wieder aus da ich schnellere reaktionen bevorzuge.

Gruß Micha
 

martinez

Erfahrener Benutzer
Hi Rob, Upapa, Micha und alle die mitlesen!

Erfolg ist zu melden! :D
Meine Bumblebee hält die Höhe!!!
WAHNSINN!!!!! :D
Vielen Dank Rob, das du den Software LowPassFilter programmiert hast. Perfekt !!!!

Ich konnte den AccBaroLPF auf 50 reduzieren, wie vorhin schon geschrieben habe ich auch die Zeile #define MPU6050_LPF_42HZ in der Config aktiviert. Ob der AccBaroLPF noch weiter reduziert und der MPU6050_LPF noch erhöht werden kann hab ich heute noch nicht getestet.
Meine ALT PID Werte sind 8.0 0.025 80
Der Copter dreht manchmal ein bisschen auf der Hochachse (YAW), ich bin mir eigentlich sicher, dass das vorher noch nicht war. Evtl. liegt das ja an den LPF?! Das ist aber echt nicht schlimm!!! (nur als Hinweis gemeint.)

Wie immer gibt es von mir ein kleines Video (schnell mit dem iPhone aus der rechten Hand gefilmt, die ist ja jetzt fast unnötig :D )

Die Funktion die Höhe zu ändern ist eigentlich echt cool. Ich bin auch zwei mal damit gelandet.
Nur in großer Höhe (per Sicht geflogen) ist es ein bisschen abenteuerlich zu sinken. Auf ca. 30m ist mir mein Bumblebee ganz schön schnell nach unten gesaust :) Dabei habe ich lieber den Baro ausgeschaltet und ihn sauber abgefangen.
Ich denke das lag daran, das ich zu viel Trottle rausgenommen habe. Ich muss das noch einmal testen...

Ich bin auf jeden Fall glücklich :D

Hier noch das Video und ganz unten mein Werte!

http://www.youtube.com/watch?v=9pACfBhWoic

Viele Grüße

Martinez
 

Anhänge

Roberto

Erfahrener Benutzer
@Martinez @Alle:

Sehr schön, dass es jetzt bei Dir lüppt !!!!
Mit der Yawachse, ist mir auch schon aufgefallen. Das wird sehr wahrscheinlich an den Rechenzeitspikes liegen. Übergangsweise, kann man das evtl. durch das Magnetometer kompensieren. Deine Kombination von Hardware und Software LPF macht einen sehr sinnvollen Eindruck!
Aktuell ist im Multiwiiforum eine sehr erfreuliche Entwicklung erkennbar. Ein "Sebbi" leistet da, soweit ich das beurteilen kann, sehr, sehr gute Arbeit! Er überarbeitet die Hardware-Baro-Auslesung insbes. auf dem Hintergrund der gleichmässig verteilten Rechenzeit. Ausserdem kann, durch seine Bearbeitung, auch die Baroroutine dem Rest signalisieren, wenn tatsächlich ein neuer Barowert anliegt. Das predige ich schon seit Monaten, wie eine kranke Kuh, endlich wird es professioneller umgesetzt, als ich das bislang vermochte. Wenn das jetzt noch richtig mit dem Mahowik-Althold fusioniert wird, bin ich glücklich.
Derweil habe ich an der nächsten Final geschraubt und sehr gute Fortschritte gemacht. Von den 3 geplanten Steuermodi sind jetzt 2 fertig, mit jeweils 3 Geschwindigkeitseinstellungen (Normal/Fast/Faster).
Althold / Gasknüppelmitte steuert das Gas (Nazastyletest2)
Althold / Gasknüppelmitte steuert die Sollhöhe (Nazastyletest)
Aktuell überarbeite ich noch die ursprüngliche Methode, sie soll das "Default" werden, ohne dieses "Durchsacken". Da steckt noch Arbeit. Wenn das alles läuft, schau ich nochmal nach dem Yaw.
Diese ganzen Gasknüppelmitte - Sachen sind nicht ohne! Nur kleine Änderungen machen und auf eine Reaktion warten.

LG
Rob
 

Roberto

Erfahrener Benutzer
Wenn das Accelerometer keinen Drift hätte, könnte man ganz auf das Barometer verzichten. So muss man immer wieder eine Korrektur durch das Barometer durchführen. Leider ist der BMP da ungenauer als der MS Baro. Du wirst also nicht so eine Genauigkeit wie von dem MS Baro erwarten können. Allerdings ist die Kombination ACC & BMP dem reinen BMP überlegen, weil Änderungen schneller ausgeglichen werden können. Der BMP180 ist nicht so zickig wie die MPU und wahrscheinlich wirst Du ohne zusätzlichen SoftwareLPF auskommen.

LG
Rob
 

Roberto

Erfahrener Benutzer
@Jürgen: Sorry, war ein Schreibfehler von mir, ich meinte BMA180 und die Interpretation durch die Mwii Software.
Ich glaube, die MPU/Mag Kombination wird erst dann richtig durchzünden, wenn die proprietäre Signalprozessorsoftware endlich für alle freigegeben wird (bislang nur Arducopter - und da funktionierts noch nicht). Wenn der Levelmode der Multiwii mit der MPU sich besser fliegen lassen sollte als mit ITG/BMA Kombi, ist das m.E die reine Softwareumsetzung durch den starken Levelmode/SoftwareACC Filter. Die MPU bedient ihn derzeit ungefiltert und die anderen ACC mit Hardware - vorgefilterten Werten (20-25%). Dieses könnte man überprüfen durch Angabe eines eigenen "ACC_LPF_FACTOR" in der config.h. Das ist nicht zu verwechseln mit meinem AccBaroLPF, der sich nur auf den Acc Filter für die Barointegration bezieht und nicht auf den Levelmode. Bis die DSP Funktion der MPU nicht freigeschaltet und genutzt wird, sehe ich keinen entscheidenen Vorteil gegenüber bereits bestehenden ITG/BMA180 Konfigurationen bei der Multiwii.
LG
Rob
 
FPV1

Banggood

Oben Unten