Funktionieren bei Euch Kompass und Baro vernünftig ?

RalfB

Erfahrener Benutzer
@ Micha: Das Board ist ja komplett mit allen Sensoren und schon oft geflogen. Zuletzt mit der MultiWii 2.1 Finale Version. Das mit mit dem abschmieren ist wie das Gas ganz raus nehmen. Er fängt nicht an zu eiern oder so sondern sinkt nur sehr sehr schnell. Die Config.h lade ich mal hoch. Wie sieht es mit der beim flashen angezeigten Größe aus, ist die realistisch?
Wenn es mit den PIP-Werten und dem Wuchten nichts bringt spiele ich die alte Version 2.1 wieder drauf und schaue ob das Barometer da noch richtig funktioniert.

Gruß Ralf
 

Anhänge

micha59

Erfahrener Benutzer
Die Sketchgröße sollte so passen. Irgendwo weiter vorne hast du nachgefragt, ob die config.h einfach kopiert werden kann. Haste betimmt nicht, aber vielleicht liegt doch dort der Hase im Pfeffer... Eigentlich ist Roberto dafür der Experte, ich schaue es mir aber auch mal an...

Bitte Geduld bis morgen

VG Micha
 

micha59

Erfahrener Benutzer
Habe mich noch mal schnell schlau gemacht. Aufgefallen ist mir das:
//#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
#define I2C_SPEED 400000L //400kHz fast mode, it works only with some WMP clones
Standard ist 100000L und das klappt so gut wie immer, ob's damit zusammenhängt, kann ich dir nicht 100%tig sagen, aber probieren geht über studieren . . . Alles andere ist eigentlich o.k.
Wenns nicht klappt, könnte tatsächslich, wie Rob feststellt, der ADXL345 Schuld sein, dann weiß ich leider nicht weiter.

Viele Grüße

Micha
 

Roberto

Erfahrener Benutzer
@micha59: Danke für Deine Bemühungen !!!!!!!

@RalfB: Deine Config.h ist korrekt.

Zu der Sache mit "#define I2C_SPEED": Das ist NUR interessant, wenn ein original WMP Gyro verbaut ist (bei Dir nicht der Fall, da ITG / ADXL Kombi). Was man da angibt ist ohne WMP vollkommen egal, weil alle anderen Sensoren sowieso mit voller Geschwindigkeit ausgelesen werden.

Zu dem Problem:
Es ist der ADXL345. Was man im Internet so liesst, liefert er ein relativ verrauschtes Signal ab, was auch genau zu Deinen Symptomen passt. Das fällt im normalen Flug nicht auf, da dort stärker gefiltert wird (s.o). Es gibt jetzt mehrere Möglichkeiten.
1.: Meinen Softwarefilter voll aufdrehen: define AccBaroLPF 100 Das sollte es eigentlich machen. Natürlich ist die Altholdregelung dann nicht mehr so prall. Von dort aus kann man dann in 10% Schritten den Filter reduzieren um eine optimale Einstellung zu finden. Lass Dir ruhig mal die Kurven mit #define AccBaroDebug anzeigen.

2.: Den Hardwarefilter für Deinen ADXL erhöhen.
Dazu musst Du unter Sensors die Zeile 682 finden:
i2c_writeReg(ADXL345_ADDRESS,0x2C,0x09); // register: BW_RATE -- value: rate=50hz, bw=20hz

und durch diese ersetzen:

i2c_writeReg(ADXL345_ADDRESS,0x2C,0x08); // register: BW_RATE 25hz, bw=12.5hz

Das beeinträchtigt jedoch ggf. Deinen "Level" - Flugmodus, dann müsste man dafür den Filter auch noch anpassen oder level P erhöhen.

3.: Ein anderes Accelerometer verwenden :(


EDIT: Da fällt mir noch etwas wichtiges ein:
Wenn Du den Copter nach oben bewegst, müssen die Werte für accz in der GUI grösser werden - sonst kann es natürlich überhaupt nicht gehen.

LG

Rob

P.s.: ADXL und BMP scheinen eine eher unglückliche Kombi für eine Datenfusion zu sein.
 

micha59

Erfahrener Benutzer
... Zu der Sache mit "#define I2C_SPEED": Das ist NUR interessant, wenn ein original WMP Gyro verbaut ist (bei Dir nicht der Fall, da ITG / ADXL Kombi). Was man da angibt ist ohne WMP vollkommen egal, weil alle anderen Sensoren sowieso mit voller Geschwindigkeit ausgelesen werden.
Hallo Roberto,
das ist mir schon klar, steht ja in den Zeilen selbst. Aber wie gesagt, mein Motto ist immer: Versuch macht kluch, auch wenns sinnlos erscheint...:)
LG Micha
 

RalfB

Erfahrener Benutzer
So, AccBaroLPF 100 ist gesetzt. Das ganze ist wesendlich ruhiger geworden aber das plötzliche Gasrausnehmen ist geblieben. Habe es mal getestet, der Copter fängt sich nicht ab. Als wenn er vergißt, dass er in der Luft ist.

Den nächsten Versuch mit dem Hardware Filter wird heute abend gemacht.

Gruß Ralf
 

Roberto

Erfahrener Benutzer
@RalfB: Hast Du deine ACCZ Wirkrichtung in der GUI überprüft? Deine Info " das plötzliche Gasrausnehmen ist geblieben. ... der Copter fängt sich nicht ab " macht mich SEHR skeptisch. Das sollte nämlich genau nicht passieren. Überprüfe bitte zur Sicherheit Deine ACC Wirkrichtungen (die Werte sind theoretisch, sollten aber so ungefähr angezeigt werden):

In Horizontallage:
ACC ROLL: 0
ACC PITCH: 0
ACC Z: +265 Wert wird kurz grösser beim Anheben

90 Grad auf die rechte Kante gestellt:
ACC ROLL: +265
ACC PITCH: 0
ACC Z: 0

90 Grad auf die vordere Kante gestellt:
ACC ROLL: 0
ACC PITCH: +265
ACC Z: 0

LG
Rob
 

RalfB

Erfahrener Benutzer
Hallo Roberto,

Ich überprüfe es noch mal ganz genau. Irgend wie ist das sehr seltsam. Vorallem weil sich der Effekt mit dem Gas-raus bei der ganzen Einstellerei immer noch nicht geändert hat, sondern nur die "ansprechempfindlichkeit"

Fliegt der Kopter denn überhaupt wenn die ACC Achsen verstellt sind?

Gruß Ralf
 

Roberto

Erfahrener Benutzer
Fliegt der Kopter denn überhaupt wenn die ACC Achsen verstellt sind? Gute Frage, vielleicht mit geschickt verstellten Wirkrichtungen?? Nur bei diesem komischen Regelungsverhalten, würde ich die Wirkrichtungen auf jeden Fall nochmal gegenchecken - ist in 1 Minute erledigt.

LG
Rob
 

RalfB

Erfahrener Benutzer
DANKE, ich bin gerettet und entschuldigung es war meine Schuld. Nach dem ich die Wirkrichtnug noch mal penibel gescheckt habe, muste ich feststellen, dass beim ACC das -Z in Z umzuwandeln ist (ist auch verdammt schwehr zuerkennen). Der Copter steht jetzt auf Anhieb im Barohold. Zickt nicht mehr rum und macht endlich was er soll. Alle Filter sind wieder raus nur die PID Werte muss ich noch einstellen, aber erst wenn es wieder hell ist.
@Robeto: Dein Mod ist super und über jeden Zweifel erhaben, danke für deine Hartnäckigkeit den Fehler zu finden. Ich war schon drauf und dran den Kram hin zu schmeißen.

Gruss Ralf
 

Roberto

Erfahrener Benutzer
Danke für Dein Feedback und Gratulation!
Schön, dass die Hartnäckigkeit etwas gebracht hat und es läuft! Auf jeden Fall habe ich (und alle die hier mitlesen) etwas gelernt.
1. Der ADXL ACC Chip eignet sich also auch für die Baro-Datenfusion ohne weitere Filter (da hatte ich schon Zweifel)
2. Der normale Level-Flugmodus funktioniert auch mit falscher AccZ - Achse/Richtung!

LG
Rob
 

Wollez

Erfahrener Benutzer
DANKE, ich bin gerettet und entschuldigung es war meine Schuld. Nach dem ich die Wirkrichtnug noch mal penibel gescheckt habe, muste ich feststellen, dass beim ACC das -Z in Z umzuwandeln ist (ist auch verdammt schwehr zuerkennen). Der Copter steht jetzt auf Anhieb im Barohold. Zickt nicht mehr rum und macht endlich was er soll. Alle Filter sind wieder raus nur die PID Werte muss ich noch einstellen, aber erst wenn es wieder hell ist.
na da bin auch ich froh! Ich habe mir schon Gedanken gemacht ob am Controller was nicht ok ist.

Gruß Wolfgang
 

weisseruebe

Erfahrener Benutzer
Hallo Roberto und andere,

nachdem ich mit der "serienmäßigen" AltHold Funktion nicht so richtig glücklich war, obwohl ich sie nach etlichem PID-Geschubse halbwegs brauchbar eingestellt hatte, habe ich mal die Final4 ausprobiert mit meinem Crius AIO.
Genial, hat bereits mit Standardwerten gut funktioniert und mit etwas erhöhtem P ist es noch besser. Der Copter bewegt sich bereits jetzt, nach wenig Einstellerei, fast wie auf Schienen. Auch PH-Override funktioniert und ist eine gute Sache.
So kann man so einen Copter wirklich eine Akkuladung in der Luft parken.

Besten Dank für diese enorme Verbesserung!
Ich frage mich wirklich, warum das nicht bereits in den normalen Code Einzug gefunden hat.
 

micha59

Erfahrener Benutzer
DANKE, ich bin gerettet und entschuldigung es war meine Schuld. Nach dem ich die Wirkrichtnug noch mal penibel gescheckt habe, muste ich feststellen, dass beim ACC das -Z in Z umzuwandeln ist (ist auch verdammt schwehr zuerkennen). Der Copter steht jetzt auf Anhieb im Barohold. Zickt nicht mehr rum und macht endlich was er soll. Alle Filter sind wieder raus nur die PID Werte muss ich noch einstellen, aber erst wenn es wieder hell ist.
@Robeto: Dein Mod ist super und über jeden Zweifel erhaben, danke für deine Hartnäckigkeit den Fehler zu finden. Ich war schon drauf und dran den Kram hin zu schmeißen.

Gruss Ralf
Hallo Ralf,

Gratulation zur Problemlösung. Auf die Idee mit dem falschen Vorzeichen des Z-Wertes wäre ich niemals gekommen, da es im normalen Level-Mode ja irgendwie ging. Man lernt eben nie aus . . .

LG Micha
 

Roberto

Erfahrener Benutzer
@weissrübe:
Danke für Deine Rückmeldung!
Irgendwie wundert es mich immer wieder, dass es mit GPS auch läuft, denn im mwii Forum hat man immer sehr viel Sorge um die Rechenzeit v.a im Zusammenhang mit GPS. Deswegen wird das Althold auch deutlich seltener aufgerufen, ausserdem wird der Baro auch noch viel stärker gefiltert. Das ergibt zwar eine sauberere Alt-Kurve, aber in der Summe wird auf Wind und Bewegung deutlich langsamer reagiert. Im Stand und Windstille steht der Copter mit der original DEV auch sehr gut in der Luft.

LG
Rob
 

weisseruebe

Erfahrener Benutzer
Ich habe mit GPS keinen Unterschied zu vorher bemerkt. Mir war auch gar nicht klar, dass es Probleme geben könnte. Mein GPS läuft allerdings ohne Filter auf 5 Hz, vielleicht braucht das weniger Rechenleistung?
Jedenfalls ist der Copter mittlerweile so weit, dass man eigentlich einen ganzen Akku lang bei PH die Fernsteuerung weglegen kann.
 

Roberto

Erfahrener Benutzer
@Weissrübe: Ich glaube auch nicht ernsthaft, das da ein wirkliches Problem zu erwarten ist, selbst wenn es mal ein Rechenzeitspike von 8ms geben sollte. Wird der auch noch nicht in der Luft anfangen zu ruckeln. Bei dieser Mwii Rechenzeitverteilung blick ich sowieso nicht ganz durch.

LG
Rob
 

weisseruebe

Erfahrener Benutzer
Ich habe ja keinen Vergleich, wie gut GPS bei anderen Projekten oder Coptern funktioniert, aber ich habe bei meinem Copter eher das Gefühl, dass es von der Ungenauigkeit des GPS begrenzt ist als von der fehlenden Rechenleistung.
Was mir aufgefallen ist: Bei Failsave (Wii-Failsave) bleibt der Baromode eingeschaltet. Das hat zur Folge, dass er nicht mehr herunterkommt, wenn FS bei aktivem Baro ausgelöst wird.
Ist das bei der "normalen" Version auch so? Ich werde auch mal selbst in den Code schauen bei Gelegenheit.
 

helste

Erfahrener Benutzer
Ich bin wieder im Geschäft. Nachdem ich mein Crius SE verkauft habe, hatte ich ja das AIO bestellt. Das ist heute gekommen. Samt GPS. Jetzt muss ich mich wieder auf den aktuellen Stand bringen, was Roberto's Version anbelangt. Vorallem aber auch, wie ich das GPS anschließe und aktiviere.
Ich hoffe, ich komme heute am Abend dazu.
 
FPV1

Banggood

Oben Unten