Hi Chris,
Reduziere mal den D Anteil. Habe ein ähnliches Problem am Anfang mit den MPU Sensor gehabt. Ich glaube das hat bei mir für Abhilfe gesorgt.
gruß
Matthias
Hi Chris,
Reduziere mal den D Anteil. Habe ein ähnliches Problem am Anfang mit den MPU Sensor gehabt. Ich glaube das hat bei mir für Abhilfe gesorgt.
gruß
Matthias
Hi,
also am D-Gain liegt es nicht, da ich teilweise komplett ohne geflogen bin, hatte die selbe Vermutung wie du Matthias
Aber Willa hat mich jetzt auf was gebracht: Man muss den MPU tatsächlich 3 mal hintereinander initialisieren, damit er die Werte speichert. Ich weiß zwar nicht wieso, aber ich bin jetzt schon 10 Roll-Loopings mit First-Try-Parametern geflogen und kein einziger Absturz
Jetzt bin ich gerade dabei, eine Sub zu schreiben, die den MPU beschreibt und anschließend die Register ausliest, um zu sehen, ob sie korrekt übernommen wurden.
Gruß
Chris
Kurios, bei mir reichte immer einmal initialisieren. Echt merkwürdig. man müste mal die Register vom MPU direkt nach der Initalisierung auslesen und schauen was er da rein schreibt. Ich komme heute leider nicht zum fliegen, bei uns regnet es schon den ganzen Tag..![]()
Mir ist aufgefallen, dass die Register manchmal korrekt beschrieben werden (nach einmaliger Initialisierung) und manchmal nicht. Da muss man wohl eine sichere Art finden, das zu machen. Entweder immer überprüfen oder evtl. vorher Resetten...
Gruß
Chris
Das könnte es vielleicht sein warum meiner sauber initialisiert. Ich hab den MPU mit den Flyduino Mega Board betrieben. Das hat die Macke nicht sauber zu starten wenn man den Akku ansteckt. Ich muss immer nachdem ich den Akku angesteckt habe das Board einmal reseten. Vielleicht braucht der Sensor ein paar Sekunden um sauber die Initialisierung anzunehmen.
Gruß
Matthias
Ja, soetwas ähnliches dachte ich mir schon. Meine Überlegung:
Beim Einstecken des Akkus prellt ggf. der Stecker und die Spannungsversorgung bricht kurzzeitig zusammen, sodass die Werte verloren gehen. Evtl. sollte man nach dem Power-On ein paar ms warten, anschließend den MPU resetten und dann die Register beschreiben. Das wird aber noch zu testen sein, denn die Lösung mit dem 3-maligen Initialisieren sollte ja jediglich ein Workaround sein, oder Willa?
Ich habe übrigends gerade folgendes gefunden: http://www.scantec.de/knowledge-base...inem-chip.html
Dort, im Abschnitt Motion-Processor MPU-6000 und MPU-6050 steht, dass die Gyros mit einer Resonanzfrequenz von über 27kHz arbeiten. Ich weiß jetzt nicht, wie groß die Resonanzfrequenz von Motoren ist, aber ich denke, es ist doch eine interessante Info.
@Willa,
hast du den MPU auch mal mit 500°/s und 42Hz Tiefpass initialisiert? Ich glaube, dass die Verbesserung der Flugeigenschaften vom Tiefpass kommt und nicht von der Auflösung. Ich bin mir nicht sicher, aber warst nicht du es, der einmal gesagt hat, die ADXRS Gyros seien ohne Tiefpass nicht sehr gut?! Meiner Meinung nach ist der Tiefpass hier genauso entscheidend als auch bei den ADXRS. Wenn ich mal Zeit habe, werde ich mir ein kleines Tool schreiben zum Graphischen Anzeigen der Werte.
@All,
hat irgendjemand schon den MPU6000 über SPI ausgelesen? Ich bin seit Tagen am probieren, doch irgendwie bekomme ich keine Werte zurück, nur manchmal konstant den Wert 29000 (oder so ähnlich)... Ich habe auch schon in einem eigens dafür erstellten Thread gefragt, aber bis jetzt noch keine Antwort bekommen. Wäre doch Schade, wenn das nicht funktionieren würde.
Gruß
Chris
Ja, das sollte nur ein Workaround sein. Ich habe Willa auch schon vorgeschlagen, den Wert zu schreiben und dann solange zurück zu lesen (und ggf. nochmal zu schreiben), bis es passt.
Aber auch das ist dann nur ein Workaround auf etwas höherem Niveau.
Ein Motor der mit 12000 Upm dreht wackelt mit 200 Hz hin und her (vorausgesetzt, er hat nur eine einzige Unwucht). Rechne selbst hoch... dürfte eher nicht das Problem sein.
Lesezeichen