Grundlegendes Problem mit Crius AIOP v2 und MegapirateNG 3.0.1 R2

sceak

Kaltverformer
#1
Hallo,

erstmal vorweg, ich habe schon mehrere Quads gebaut und behaupte von mir sehr gut fliegen zu können. Auch sind mir alle grundlegenden Funktionsabläufe eines solchen Modelles bekannt. Ich greife auf ca. 10 Jahre Modellbauerfahrung zurück, davon 4 mit Multikoptern. Allerdings habe ich bisher nur MultiWii eingesetzt und damit eigentlich nie Probleme gehabt. Ich muss dazu sagen dass ich bisher nur Acromode geflogen bin (Gyro only). Mit ACC auch schon mal probiert, aber war für meine Bedürfnisse bisher eher unnötig.

Jetzt wollte ich mal über den Tellerrand schauen was man so alles mit so nem Technikbomber anstellen kann. Ich habe mich dann fürs Crius AIOP v2 mit NEO6 GPS entschieden und eine vorhandenes MultiWii Quad umgebaut. Eigentlich hab ich nur das MultiWii Board gegen das Crius getauscht (geändertes Motormapping selbstverständlich beachtet).

Geflasht habe ich dann das MPNG 3.0.1 R2. Im Code geändert nur die Einstellung zum Summensignal aktivieren. Im Missionplanner habe ich weiter noch Frametyp X eingestellt, Radio Calibration durchgeführt und das Board gelevelt (ACC Kalibrierung).

Ich habe einen kurzen Handtest durchgeführt und mich an den Erstflug gewagt (im Stabilize Mode, habe gelesen man soll das Board in diesem Modus einfliegen), mit dem Ergebnis dass das Modell extrem nach vorne rechts zieht. Um alle Fehlerquellen auszuschliessen habe ich dann den Acromodus eingestellt und den Acro Trainer ausgestellt um jeglichen Einfluss vom ACC zu unterbinden, so wie ich es vom MultiWii gewohnt bin. So habe ich mich dann heute an weitere Einflugversuche gewagt.
Hier komme ich zu meinem Problem wo ich selbst keinen Schimmer mehr habe was ich noch kontrollieren kann oder wie ich der Sache auf die Spur komme. Selbst im Akromodus ohne Akrotrainer kippt das Quad bei Knüppelmitte im ca. 45° nach vorne. Wenn ich Nick fast auf Anschlag zurück ziehe fliegt das Quad auf der Stelle, das sogar ganz stabil und anständig, lasse ich wieder los kippt er wieder 45° nach vorne.

Ich habe:

- Motordrehrichtungen mehrfach kontrolliert
- alle Luftschrauben mehrfach kontrolliert
- Radio Cailbration mehrfach durchgeführt und die Werte in der Full Parameter List kontrolliert
- ACC mehrfach gelevelt
- Sendereinstellungen mehrfach geprüft

Fragen:

- Kann ich irgendwo im MP Gyrowerte prüfen? Ich habe nur ACC Werte gefunden
- Mir ist aufgefallen dass ich im Acromode armen kann, habe gelesen das dürfte nicht so sein?!
- Habt ihr Tipps für mich wie ich dem Problem auf die Spur kommen kann?
- Was bewirkt der Parameter AXIS_ENABLE

Sorry für die Textwand, ich bin kurz vorm aufgeben, solche grundlegenden Probleme hatte ich mit MultiWii nie.

Grüße,
Sven
 

enforcer

Erfahrener Benutzer
#2
Ich habe die 3.0.1 selber nicht im Einsatz. Aber bei der 2.8 und 2.9 musste man den Frametyp noch im Code einstellen/ändern und nicht im Missionplanner. Vielleicht hat sich das aber auch geändert.

Gruß Alex
 

Spencer

Vollthrottle
#3
Hi,

CH2 muss im FC oder an der Funke auf reverse gestellt werden.

Wenn ich mein Crius V2 level, dann erhalte ich folgende Ausgabe:
setup] level
Init Gyro**Init Accel********** INS
----------------------------------------
G_off: -0.09, 0.11, -0.01
A_off: -2.94, -13.55, 0.64
A_scale: 1.00, 1.00, 1.00
Das sind meines wissens die Gyro und ACC offset Werte.

Wie man sieht ist bei meinem Crius der Offset des ACC sehr hoch, deshalb funktioniert die Kalibrierung im Missio Planner nicht. Die hohe Abweichung liegt vermutlich an den billigen Chips die verbaut wurden.

Die ACC Offsets müssen unter 3.0 liegen, sonst erscheint die Meldung 'Calibration failed'.

libraries\AP_InertialSensor\AP_InertialSensor.cpp

Line 480

if( accel_offsets.is_nan() || fabsf(accel_offsets.x) > 3.0f || fabsf(accel_offsets.y) > 3.0f || fabsf(accel_offsets.z) > 3.0f )

VG

Sven
 

Chriss_:)

Erfahrener Benutzer
#4
Hi,

hab auch die R2 auf dem Crius AIOP V2 am Laufen, funktioniert eigentlich ganz gut (Feintuning muss ich mal bei Windstille machen).

Was mir bei deiner Liste der bereits ausgeführten Arbeiten auffällt: hast du die ESC kalibriert?Vielleicht liegt es daran...
Sonst speicher doch mal deine Param-Liste und lade die hier hoch, vielleicht erkennt man da was dran.

Hast du vor der Installation den EEPROM gelöscht und ein Factory-Reset gemacht?

Eine Frage noch zum Summensignal (etwas OT): konntest du die Kanalreihenfolge ändern, oder hast du die original belassen? Hast du nur aus- bzw. ein-kommentiert? Ich kann dem beim Besten Willen und mit gut zureden keine andere Kanalreihenfolge eintrichtern...^^ Naja, vielleicht schmeiße ich bald die R3 drauf, die soll auch im Plane-Modus ganz gut funktionieren...

Und wenn du doch aufgeben willst, hätte evtl. Intersse am AIOP... :D

Schöne Grüße aus dem Sauerland!
Chriss
 

sceak

Kaltverformer
#5
Hallo,

danke für eure Antworten.

Ich habe die 3.0.1 selber nicht im Einsatz. Aber bei der 2.8 und 2.9 musste man den Frametyp noch im Code einstellen/ändern und nicht im Missionplanner. Vielleicht hat sich das aber auch geändert.
Ja, das hat sich soweit ich weiss geändert. Man kann im Code eine Voreinstellung wählen, die kann man dann aber dennoch im MP ändern. Mein Handtest hat auch ergeben dass die Achsen richtig auf Steuerbefehle reagieren.

CH2 muss im FC oder an der Funke auf reverse gestellt werden.

Wenn ich mein Crius V2 level, dann erhalte ich folgende Ausgabe:
Code:
setup] level
Init Gyro**Init Accel********** INS
----------------------------------------
G_off: -0.09, 0.11, -0.01
A_off: -2.94, -13.55, 0.64
A_scale: 1.00, 1.00, 1.00
Kanal zwei musste ich auch umdrehen, fliege übrigens Graupner. Der level Befehl erzeugt folgendes:

Code:
setup] level
Init Gyro**Init Accel********** INS
----------------------------------------
G_off: -0.02, -0.03, -0.01
A_off: -0.16, 0.21, 1.21
Was mir bei deiner Liste der bereits ausgeführten Arbeiten auffällt: hast du die ESC kalibriert?Vielleicht liegt es daran...
Sonst speicher doch mal deine Param-Liste und lade die hier hoch, vielleicht erkennt man da was dran.
Hast du vor der Installation den EEPROM gelöscht und ein Factory-Reset gemacht?
Die Regler waren schon auf 1000-2000 entsprechend meiner Funke kalibriert. War ja vorher nen MultiWii drauf. Die Parameter-Liste habe ich angehangen: Anhang anzeigen MPNG.txt . EEProm clear hab ich nicht gemacht, mach ich das im Arduino über die Beispieldatei EEPROM_clear oder gibts ne andere Möglichkeit (MP)? Factory-Reset? Wie mach ich den?

Eine Frage noch zum Summensignal (etwas OT): konntest du die Kanalreihenfolge ändern, oder hast du die original belassen? Hast du nur aus- bzw. ein-kommentiert?
Im Code habe ich nur das gemacht:

Code:
To enable Serial PPM on PL1(PPM SUM) pin (RCTimer Crius V2 only). Open file ardupilot-mpng\libraries\AP_HAL_MPNG\RCInput_MPNG.cpp
Replace this line:

1#define SERIAL_PPM SERIAL_PPM_ENABLED

With this:

1#define SERIAL_PPM SERIAL_PPM_ENABLED_PL1
Die Kanalreihenfolge habe ich in meiner Funke (Menü Empfängerausgänge) dann so geändert dass es im Radio Calibration Fenster richtig dargestellt wird. Wie es gehen soll steht hier http://www.megapirateng.com/how-to-configure-mpng-3-0-1-firmware/ unter Punkt 4.
Du wohnst übrigens gar nicht arg weit von mir weg ;)

Tja, nun wirklich weiter bin ich nicht. EEPROM löschen und Factory Reset würde ich dann mal als nächstes probieren.

Grüße,
Sven
 
Zuletzt bearbeitet:

Chriss_:)

Erfahrener Benutzer
#6
Hi Sven,

Ja, das hat sich soweit ich weiss geändert. Man kann im Code eine Voreinstellung wählen, die kann man dann aber dennoch im MP ändern. Mein Handtest hat auch ergeben dass die Achsen richtig auf Steuerbefehle reagieren.
In RC3 hat man wieder die Möglichkeit, in der APM_Config.h den Frametyp zu wählen, in der R2 ist QuadX der Default-Wert. Aber wenn dein Quad richtig auf die Steuerbefehle reagiert, dann ist alles richtig. Sieht man aber auch in deinen Einstellungen, im Header wird QuadX angezeigt! ;)

Kanal zwei musste ich auch umdrehen, fliege übrigens Graupner.
Kann ich bestätigen, Kanal 2 musste invertiert werden (Turnigy 9x mit openTx & FrSky). Scheint normal zu sein... ;)

Die Regler waren schon auf 1000-2000 entsprechend meiner Funke kalibriert. War ja vorher nen MultiWii drauf. Die Parameter-Liste habe ich angehangen: Anhang anzeigen 73296 . EEProm clear hab ich nicht gemacht, mach ich das im Arduino über die Beispieldatei EEPROM_clear oder gibts ne andere Möglichkeit (MP)? Factory-Reset? Wie mach ich den?
Ich würde dennoch die ESC-Kalibrierung machen, direkt über das Board, dazu sind folgende Schritte notwendig:

ESCs kalibrieren
Throttle auf Vollgas
Copter mit Strom versorgen
Pieps abwarten
Copter stromlos machen
Copter mit Strom versorgen
Pieps abwarten
Throttle ganz schnell auf MIN-Position
Bestätigungspieps abwarten
testhalber mal gas geben und checken, ob alle Motoren gleichzeitig anlaufen

Bin mir grad nicht sicher, ob das Board beim Kalibrieren die Steuerbefehle nur durchreicht. Grundsätzlich führe ich die ESC-Kalibrierung wie auch alle anderen Kalibrierungen nach einem Software-Update immer durch.

Im Code habe ich nur das gemacht:

Code:
To enable Serial PPM on PL1(PPM SUM) pin (RCTimer Crius V2 only). Open file ardupilot-mpng\libraries\AP_HAL_MPNG\RCInput_MPNG.cpp
Replace this line:

1#define SERIAL_PPM SERIAL_PPM_ENABLED

With this:

1#define SERIAL_PPM SERIAL_PPM_ENABLED_PL1
Die Kanalreihenfolge habe ich in meiner Funke (Menü Empfängerausgänge) dann so geändert dass es im Radio Calibration Fenster richtig dargestellt wird. Wie es gehen soll steht hier http://www.megapirateng.com/how-to-configure-mpng-3-0-1-firmware/ unter Punkt 4.
Die Schritte habe ich abgearbeitet, allerdings nimmt er die Werte, die unter Punkt 4 eingestellt werden, nicht an. Habe das mehrfach versucht und zwischendrin auch mal EEPROM gelöscht und Factory Reset durchgeführt. Werde mir das aber nochmal in der R3 anschauen und sonst mal Alex fragen. Mir ist es lieber, wenn ich bei allen Modellen die gleiche Kanalreihenfolge habe, sollte ich mal, warum auch immer, zufällig nen anderes Modell geladen haben...

Du wohnst übrigens gar nicht arg weit von mir weg ;)

Tja, nun wirklich weiter bin ich nicht. EEPROM löschen und Factory Reset würde ich dann mal als nächstes probieren.

Grüße,
Sven
Ja, mach mal das EEPROM platt und einen Factory Reset, kannst ja beides über die CLI machen. Wenn im CLI steht "Reboot APM" bitte den Reset-Taster an der Crius betätigen (dachte auch, der startet von alleine neu...)

Bin meistens im Raum Kirchhundem & Siegen unterwegs, wo kommst du denn her ausm MK? :)

Schöne Grüße aus dem Sauerland!
Chriss
 

ramei

Neuer Benutzer
#7
Hi Sven,

das hört sich nach dem gleichen Problem an, was ich selber mit einem AIOP v2 habe.

Mein Erstversuch war zwar mit MWC 2.2, aber das identische Symptom.

Im Level-Mode kippte er nach vorne rechts weg. Gegenhalten mit dem Knüppel funktionierte ebenfalls für gewisse Zeit.

Acro funktionierte hingegen tadellos.

Nach unzähligen EEPROM-Clear´s und Neukompilierungen ging dann der Level-M plötzlich einigermaßen (keine Ahnung warum). Wobei die Altholdfunktion nicht nutzbar war (extremer Jojo-Effekt). In der GUI ist mir aufgefallen das ACC-Z Wert nur seeeeehr geringe Ausschläge hatte (im gegensatz zu meinen anderen MWC/Naze32-Boards). Level und Althold ab MWC 2.2 benötigt den ACC(MPU).

Kurz, ich denke mal, dass die MPU einen weg hat.
Ich wäre froh, wenn mich jemand korrigiert. Für die Tonne ist das Ding ja doch etwas zu teuer.

MPNG 2.9.x hatte ich auch mal probiert, war aber der selbe Effekt, sogar noch etwas ausgeprägter.

Ach ja, mit meinem Crius AIOP v1 mit identischen Sketch (geht ja bei MWC) klappts einwandfrei am gleichen Copter. ESC-Kalibration, Motormapping, Kanalinvertierung, Level-cal, .... hab ich natürlich ebenso gemacht/beachtet.

Hast Du´s mal mit Multiwii und dem gleichen Board getestet?

VG
Ralf
 

sceak

Kaltverformer
#8
Hallo,

sorry das so lang nichts kam, ich habe mich auf die Hallensaison vorbereitet und das Projekt dabei etwas zurück gestellt.

Ich habe jetzt ein bisschen weiter gefummelt und mal MultiWii 2.2 aufgespielt. Zu meiner Verwunderung kommt es hier zu exakt genau dem selben Fehlerbild. Da ich mit MultiWii schon einiges an Erfahrung habe kann ich nun denke ich sagen dass es an dem Board liegt. Nur woran nicht. Habe es mit MultiWii im Acro Mode probiert, selbes Ergebnis, das Modell kippt einfach nach vorne weg. Auch der Handtest zeigt nun deutlich dass wenn ich das Quad nach vorne kippe so gut wie keine Gegenreaktion kommt. Komisch finde ich dass er deutlich gegensteuert wenn ich das Modell nach hinten kippe. Ist ja ein und die selbe Achse.

Ich habe dann mal ein paar Kippversuche mit GUI gemacht. Hier das Ergebnis (blau ist Gyro Pitch und gelb ist Gyro Roll):

CriusMPU.png

Das sieht für mich voll in Ordnung aus, ich habe korrekte Ausschläge in beide Richtungen. Gyro funktioniert einwandfrei.
Ich habe dann noch die Gegenprobe mit den ProMicro Board gemacht was vorher montiert war und womit ich ca. 2 Jahre ohne Probleme geflogen bin.

ProMicroMPU.png

Wie man sieht sind die Werte aus dem ersten Log nahezu identisch mit dem funktionieren ProMicro Board (btw. auch mit MPU6050).

Ich bin nun einfach nur noch ratlos. Umtauschen werd ich das Crius nicht mehr könne. Erstens kommts ja vom Chinesen und zweitens hab ich die Schutzdiode schon ausgelötet. Mal sehen ob ich eventuell an ein anderes Crius komme, is ja leider auch nicht ganz billig. Mit der ProMicro FC fliegt das Ding einwandfrei, kann ja jetzt nur noch am Crius liegen.

Sven
 
FPV1

Banggood

Oben Unten