FunFly Controller Naze 32

Status
Nicht offen für weitere Antworten.

skyfreak

a freak on a leash
unwissend wie ich bin hänge ich mich da mal dran :D

habe meinen mag jetzt schon mindestens 5x kalibriert, das ergebnis ist immer das selbe.
wenn ich dann den kopter so ausrichte, dass im MWC 0° steht, er also direkt nach norden zeigt, und diese richtung dann mit z.b. dem wert vergleiche, den mein iphone kompass oder aber auch das Naiv GPS via koptertool vom MK liefern, dann weicht das naze so um 12-15° von den anderen beiden ab. das naze zeigt einfach 12-15° weiter westlich 0° Nord an.

???

hängt dass auch mit der mag_declination zusammen die steht bei mir nämlich auch auf
mag_declination = 0

mag_declination laut TC :

(mag_declination = 0; // For example, -6deg 37min, = -637 Japan, format is [sign]dddmm (degreesminutes) default is zero)

Das wäre in Berlin zum beispiel:
mag declination BERLIN 2deg 53min east = 253 die du in Putty eingibst :

set mag_declination = 253
save

das wäre dann für München

MUNICH
Latitude: 48° 8' 60" N
Longitude: 11° 34' 60" E
Magnetic declination: 2° 25' EAST
Declination is POSITIVE
Inclination: 64° 11'
Magnetic field strength: 48218.3 nT

set mag_declination = 225

habe ich das richtig so verstanden?

gruss,
der skyfreak

 
Zuletzt bearbeitet:
J

JinGej

Gast
genau so isses, beim naze32 wird das als ganzzahliger wert eingegeben (also statt 2.25 eben 225) das steht auch in irgendner anleitung so
 

skyfreak

a freak on a leash
das habe ich jetzt mal mit meiner homelocation probiert

set mag_declination = 226

dann den mag erneut kalibriert wie es im wiki beschrieben steht.
stick command und dann innnert der 30sec.

2x yaw 360° 1x links 1x rechts rum
2x pitch 360° 1x vorwärts 1x rückwärts
2x roll 360° 1x links 1x rechts rum

in dieser reihenfolge.

aber im MWC habe ich nach wie vor eine abweichung von 12° west gegenüber den anderen kompassen.
 
Zuletzt bearbeitet:

Komma

Erfahrener Verwender
Ich hab gegen einen richtigen Kompaß auch Abweichungen, allerdings nur ein paar Grad.
Veileicht mußt du dein Eiphone neu kalibrieren!:D
 
J

JinGej

Gast
...oder es wird nur im gui nicht angezeigt intern aber richtig verarbeitet? (ich vermute hier grad nur)
 

skyfreak

a freak on a leash
hmmm leider habe ich keinen guten kompass zum vergleich hier. nur mein iphone 4, das meiner Frau 3GS und die werte vom MK im koptertool.

beide iphones noch mal kalibriert und auch den MK eben schnell noch mal den kompass-dance machen lassen.

es bleibt dabei, in der MWC sehe ich eine abweichung von 12/13° west. :(
 

Komma

Erfahrener Verwender
Ich hab auf deinem Bild zum Baro gesehen das du einen sehr flachen Aufbau hast, vieleicht stört da irgendwas.
Ich hab nur die lose Platine hier getestet.
;)
 

skyfreak

a freak on a leash
danke Komma, das wars ... habe die naze32 noch mal ausgebaut und nur die lose platine am usb kabel per MWC den mag kalibriert!

BINGO ... jetzt schauen alle 4 kompasse in die selbe Richtung :D abweichung max 1-2°, aber das kann auch ein knick in meiner optik sein. :D

bevor ich jetzt das naze wieder einbaue, um dann weiter zu testen wie der kompasswert sich verhält, speziell auch wenn ich mal gas gebe ... aber gleich noch eine frage bitte:

meine naowiis mochten und mögen es immer gern, wenn ich sie hart lagere.
plastik abstandsbolzen - nanowii - plastikmutter ... feddisch. LPF default.

wie lagert ihr eure naze 32, eher hart oder schon mit o-ringen oder der gleichen?

gruss,
der skyfreak
 

skyfreak

a freak on a leash
kk, danke.

habe wieder alles zusammengebaut und noch mal am MWC getestet ... tiptop!

scheint wohl doch daran gelegen zu haben, dass man die platine in der hand viel exakter kalibrieren kann als im kopter.

grüsse,
der skyfreak
 

skyfreak

a freak on a leash
maiden preflight-check

hallo community

wie schon erwähnt ist dies mein erstes naze 32, vorher bin ich nur MK, DJI und nanowii geflogen.

der 350-er quad ist fertig aufgebaut und ich habe versucht alles nach bestem wissen und gewissen einzustellen.
jetzt steht der maiden an und ich bitte die experten um einen finalen blick auf mein setup, um beim maiden böse überraschungen zu vermeiden.

- naze 32
- HK 12A blue series mit simonK und reversed FW
- abusemark stromverteiler
- roxxy 2824/26
- e-props 8x5
- graupner MX-20 / GR-16 HoTT sumo
- leds in rot weiss grün, je 6 pro arm unten und 3 oben (vorne grün/weiss hinten all red)
- 3S 3000
- ohne lipo 585 gr. RTF 850 gr.

ACC und MAG sind kalibriert.

Bilder

meine cli settings sehen wie folgt aus:
(änderungen zur default r234 in rot markiert)


Code:
[FONT=Helvetica]# version
[/FONT][FONT=Helvetica]Afro32 CLI version 2.1 Oct 27 2012 / 16:32:15[/FONT]

[FONT=Helvetica]# mixer[/FONT]
[FONT=Helvetica]Current mixer: QUADX[/FONT]

[FONT=Helvetica]# map[/FONT]
[FONT=Helvetica]Current assignment: [COLOR=#df2413][B]TAER1234[/B][/COLOR][/FONT]

[FONT=Helvetica]# feature[/FONT]
[FONT=Helvetica]Enabled features: [COLOR=#df2413][B]PPM[/B][/COLOR][/FONT]

[FONT=Helvetica]# set[/FONT]
[FONT=Helvetica]Current settings:[/FONT]
[FONT=Helvetica]deadband = 0[/FONT]
[FONT=Helvetica]yawdeadband = 0[/FONT]
[FONT=Helvetica]alt_hold_throttle_neutral = 20[/FONT]
[FONT=Helvetica]midrc = 1500[/FONT]
[COLOR=#DF2413][FONT=Helvetica][B]minthrottle = 1085[/B][/FONT][/COLOR]
[COLOR=#DF2413][FONT=Helvetica][B]maxthrottle = 2000[/B][/FONT][/COLOR]
[FONT=Helvetica]mincommand = 1000[/FONT]
[FONT=Helvetica]mincheck = 1100[/FONT]
[FONT=Helvetica]maxcheck = 1900[/FONT]
[FONT=Helvetica]retarded_arm = 0[/FONT]
[FONT=Helvetica]failsafe_delay = 10[/FONT]
[FONT=Helvetica]failsafe_off_delay = 200[/FONT]
[FONT=Helvetica]failsafe_throttle = 1200[/FONT]
[FONT=Helvetica]motor_pwm_rate = 400[/FONT]
[FONT=Helvetica]servo_pwm_rate = 50[/FONT]
[FONT=Helvetica]serial_baudrate = 115200[/FONT]
[FONT=Helvetica]gps_baudrate = 115200[/FONT]
[FONT=Helvetica]spektrum_hires = 0[/FONT]
[FONT=Helvetica]vbatscale = 110[/FONT]
[FONT=Helvetica]vbatmaxcellvoltage = 43[/FONT]
[FONT=Helvetica]vbatmincellvoltage = 33[/FONT]
[FONT=Helvetica]power_adc_channel = 0[/FONT]
[FONT=Helvetica]yaw_direction = 1[/FONT]
[FONT=Helvetica]tri_yaw_middle = 1500[/FONT]
[FONT=Helvetica]tri_yaw_min = 1020[/FONT]
[FONT=Helvetica]tri_yaw_max = 2000[/FONT]
[FONT=Helvetica]wing_left_min = 1020[/FONT]
[FONT=Helvetica]wing_left_mid = 1500[/FONT]
[FONT=Helvetica]wing_left_max = 2000[/FONT]
[FONT=Helvetica]wing_right_min = 1020[/FONT]
[FONT=Helvetica]wing_right_mid = 1500[/FONT]
[FONT=Helvetica]wing_right_max = 2000[/FONT]
[FONT=Helvetica]pitch_direction_l = 1[/FONT]
[FONT=Helvetica]pitch_direction_r = -1[/FONT]
[FONT=Helvetica]roll_direction_l = 1[/FONT]
[FONT=Helvetica]roll_direction_r = 1[/FONT]
[FONT=Helvetica]gimbal_flags = 1[/FONT]
[FONT=Helvetica]gimbal_pitch_gain = 10[/FONT]
[FONT=Helvetica]gimbal_roll_gain = 10[/FONT]
[FONT=Helvetica]gimbal_pitch_min = 1020[/FONT]
[FONT=Helvetica]gimbal_pitch_max = 2000[/FONT]
[FONT=Helvetica]gimbal_pitch_mid = 1500[/FONT]
[FONT=Helvetica]gimbal_roll_min = 1020[/FONT]
[FONT=Helvetica]gimbal_roll_max = 2000[/FONT]
[FONT=Helvetica]gimbal_roll_mid = 1500[/FONT]
[FONT=Helvetica]align_gyro_x = 0[/FONT]
[FONT=Helvetica]align_gyro_y = 0[/FONT]
[FONT=Helvetica]align_gyro_z = 0[/FONT]
[FONT=Helvetica]align_acc_x = 0[/FONT]
[FONT=Helvetica]align_acc_y = 0[/FONT]
[FONT=Helvetica]align_acc_z = 0[/FONT]
[FONT=Helvetica]align_mag_x = -2[/FONT]
[FONT=Helvetica]align_mag_y = -3[/FONT]
[FONT=Helvetica]align_mag_z = 1[/FONT]
[FONT=Helvetica]acc_hardware = 0[/FONT]
[FONT=Helvetica]acc_lpf_factor = 4[/FONT]
[FONT=Helvetica]acc_lpf_for_velocity = 10[/FONT]
[FONT=Helvetica]acc_trim_pitch = 0[/FONT]
[FONT=Helvetica]acc_trim_roll = 0[/FONT]
[FONT=Helvetica]gyro_lpf = 42[/FONT]
[FONT=Helvetica]gyro_cmpf_factor = 400[/FONT]
[FONT=Helvetica]mpu6050_scale = 1[/FONT]
[FONT=Helvetica]baro_tab_size = 21[/FONT]
[FONT=Helvetica]baro_noise_lpf =  0.600[/FONT]
[FONT=Helvetica]baro_cf =  0.985[/FONT]
[FONT=Helvetica]moron_threshold = 32[/FONT]
[COLOR=#DF2413][FONT=Helvetica][B]mag_declination = 226[/B][/FONT][/COLOR]
[FONT=Helvetica]gps_type = 0[/FONT]
[FONT=Helvetica]gps_pos_p = 11[/FONT]
[FONT=Helvetica]gps_pos_i = 0[/FONT]
[FONT=Helvetica]gps_pos_d = 0[/FONT]
[FONT=Helvetica]gps_posr_p = 20[/FONT]
[FONT=Helvetica]gps_posr_i = 8[/FONT]
[FONT=Helvetica]gps_posr_d = 45[/FONT]
[FONT=Helvetica]gps_nav_p = 14[/FONT]
[FONT=Helvetica]gps_nav_i = 20[/FONT]
[FONT=Helvetica]gps_nav_d = 80[/FONT]
[FONT=Helvetica]gps_wp_radius = 200[/FONT]
[FONT=Helvetica]nav_controls_heading = 1[/FONT]
[FONT=Helvetica]nav_speed_min = 100[/FONT]
[FONT=Helvetica]nav_speed_max = 300[/FONT]
[FONT=Helvetica]nav_slew_rate = 30[/FONT]
[B][COLOR=#008000][FONT=Helvetica]looptime = 0[/FONT][/COLOR][/B]
[FONT=Helvetica]p_pitch = 40[/FONT]
[FONT=Helvetica]i_pitch = 30[/FONT]
[FONT=Helvetica]d_pitch = 23[/FONT]
[FONT=Helvetica]p_roll = 40[/FONT]
[FONT=Helvetica]i_roll = 30[/FONT]
[FONT=Helvetica]d_roll = 23[/FONT]
[FONT=Helvetica]p_yaw = 85[/FONT]
[FONT=Helvetica]i_yaw = 45[/FONT]
[FONT=Helvetica]d_yaw = 0[/FONT]
[FONT=Helvetica]p_alt = 16[/FONT]
[FONT=Helvetica]i_alt = 15[/FONT]
[FONT=Helvetica]d_alt = 7[/FONT]
[FONT=Helvetica]p_level = 70[/FONT]
[FONT=Helvetica]i_level = 10[/FONT]
[FONT=Helvetica]d_level = 20[/FONT]
bei der looptime lese ich immer wieder, dass man diese hoch setzen sollte?


MWC gui settings:

03_gui_settings.png

ich kann mit dieser belegung MAG und BARO einzeln wie auch gemeinsam zuschalten.
zusätzlich wird bei HEADFREE aktivierung automatisch auch ACC und MAG mit eingeschaltet, falls diese nicht schon an waren. ACC und gyro-only ist auch einzeln schlatbar.

die R/P/Y Rate habe ich von 0 auf 0.25 hochgesetzt. habe ich bei allen nanowiis auch immer so gemacht, damit der kopter ein wenig flotter reagiert.

RC Rate steht auf 1.0 ist bei mir bisher immer mein default zum starten.

der graue graph im bild ist doch der baro?!
so wie er da jetzt läuft liegt der kopter nur am usb auf dem tisch.
ist das ok so? wenn ich ihn dann hebe und senke reagiert der graph gemäss und pendelt sich dann wieder ein.

passt das alles so oder habe ich irgendwas vor dem maiden übersehen?
erster test natürlich gyro-only aus der hand wie immer, und einen lipo-piepser auf 3,6V pro zelle habe ich noch am balancer.

jeder input vor dem 'maiden-crash' ist herzlich willkommen :D

happy landings,
der skyfreak
 
Zuletzt bearbeitet:

Komma

Erfahrener Verwender
Bei mir flog die Naze im HH Modus schon mit den Standardwerten gut, nur ACC war mäßig.
Die schon mehrfach vorgeschlagenen Einstellungen waren bei mir noch eine Steigerung.
Nick und Rollwerte bei Knüppelmitte auf 1500
acc_hardware =2
acc_lpf_factor =50 (oder 100)
looptime =3000
;)
 

skyfreak

a freak on a leash
hallo komma

gelten die werte auch für eine standard r234 oder sind das werte aus der baro version von roberto?

acc_lpf_factor - ist das mit dem low pass filter beim arduino gleich zu setzen?
verstehe da die werte nicht. beim arduino für 'define MPU6050_LPF_***HZ' gehen von default 256 bis runter auf 5 Hz. ich bin beim nanowii wie gesagt bisher immer default 256 Hz geflogen, bei harter lagerung der FC.

acc_hardware - wofür steht dieser wert bitte?
looptime - wofür steht dieser wert bitte?

grüsse,
der skyfreak
 

Roberto

Erfahrener Benutzer
hallo komma

gelten die werte auch für eine standard r234 oder sind das werte aus der baro version von roberto?

acc_lpf_factor - ist das mit dem low pass filter beim arduino gleich zu setzen?
verstehe da die werte nicht. beim arduino für 'define MPU6050_LPF_***HZ' gehen von default 256 bis runter auf 5 Hz. ich bin beim nanowii wie gesagt bisher immer default 256 Hz geflogen, bei harter lagerung der FC.

acc_hardware - wofür steht dieser wert bitte?
looptime - wofür steht dieser wert bitte?

grüsse,
der skyfreak
Hi skyfreak!!

Deine Fragen sind sehr berechtigt und tauchen nur durch die mangelhafte Beschreibung von mwii und ungenügende Dokumentation von naze32 auf!

Thema Filter:
Zu den Filtern. Im Flug gibt es immer Gerappel und Störeinflüsse, die das Sensorergebnis verfälschen (Gyro & ACC, wobei ACC besonders empfindlich ist). Deswegen gibt es Filtermethoden. Je nachdem, was man mit den Werten machen will/muss braucht man ggf. unterschiedlich starke Filterungen. Die mwii verwendet überwiegend einfache Lowpassfilter und Komplementärfliter für die Kombination von Werten mit verschiedenen Datenquellen (z.B GYRO u ACC, Baro u ACC usw). Kalmanfilter sind zu aufwändig, ausserdem müsste man bei denen auch Parameter einstellen ("Gain").
Das ist noch nicht verwirrend genug, deswegen gibt es von der Lokalisation her, 2 Filterarten:

1. Hardwarefilter: Das ist ein Filter, der direkt auf dem jeweiligen Sensorchip durchgeführt wird. (z.B Bosch BMA180, BMA020, MPU6050, ADXL usw. haben sowas). Den hast Du z.B bei der mwii mit #define MPU6050_LPF_42HZ eingestellt. Dabei gibt es die Besonderheit, dass dieser Wert für Gyro und ACC gilt, da die MPU beide Sensoren hat (Gyro und Acc). Der Wert von 42 Hz ist bei Deinem Naze voreingestellt und lässt sich nicht beeinflussen.

2. Softwarefilter: Diese sind entsprechend in der Datenverarbeitung nachgeschaltet und entsprechend den Erfordernissen angepasst. Die kannst Du einstellen:
acc_lpf_factor dieser ist für die Datenfusion von ACC und Gyro zuständig. Da das Gyro der schnelle Anteil ist und das ACC nur zur Gyrodriftkorrektur verwendet wird, kann der ACC Filter hoch gewählt werden. Das Naze32 setzt dafür keinen Wert, es ist aber sehr zu empfehlen den, wie bei der mwii, auf 100 zu setzen. Also so:
set acc_lpf_factor = 100
save
acc_lpf_for_velocity dieser ist für die Datenfusion von ACC und Baro zuständig. Da das ACC den schnellen Part übernimmt und von dem langsamen Baro korrigiert wird, ist der Faktor kleiner (Default: 10 - erst mal so lassen. Höher als 15 dürfte sinnlos sein).

Thema looptime:
Das Problem: der Naze rappelt schneller durch den code als die mwii erwartet. Eigentlich sollte das kein Problem sein, wenn man die vergangene Zeit immer bestimmt und per Fliesskommaarithmetik mit den jeweiligen Steuergrössen in Verbindung bringt. Da dieses aufwändig ist, hat man das bei der mwii gelassen und geht von einer Verarbeitungsgeschwindigkeit von 3-5ms pro Durchlauf aus. Deswegen ist es sinnvoll die looptime auf 3ms zu setzen (wird in us angegeben). Also so:
set looptime = 3000
save
Das beeinflusst indirekt auch die software lpf, da auch dort die Ausführungszeit eine Rolle spielt.
In der Gui siehst Du Zappelwerte von ca. 3000-4000 da nicht bei jedem Durchlauf alle Programmteile durchlaufen werden. D.h. man müsste vorher wissen wieviel Zeit der nächste Durchlauf brauchen würde und dann entsprechend mehr oder weniger bremsen. Diese Glaskugel ist nicht programmiert, deswegen schwankt die cycletime und ist nicht auf 3000 festgenagelt. Schwankende Cycletime bringt nach meinen Beobachtungen v.a Probleme auf der Gierachse, d.h. das Heck steht eben nicht wie angenagelt. Es liegt also nicht immer an der Mechanik. Das könnte man durch Einbeziehung der tatsächlichen Laufzeit in den Pid Kontroller abstellen. Einer sollte das mal programmieren...

Thema set acc_hardware:
Zum Naze32 rev4: Da der Timecop die MPU hasst (Zitat Zeile 189 config.c: " cfg.mpu6050_scale = 1; // fuck invensense") hat er direkt 2 Accelerometer verbaut. Diese Abneigung dürfte 2 Gründe haben: 1. In der Startphase hatte invense mit der MPU Fertigungs-/Revisionsprobleme, so dass Sensoren mit unterschiedlichen Skalierungen auftauchten, was natürlich zu Problemen führte. 2. Sie geben/gaben ihren DMP Code nur kostenpflichtig ab. Wie dem auch sei, Deine Naze hat 2 ACC:
MPU6050(Gyro&ACC) und MMA8452(nur ACC). Du kannst sie so auswählen:
set acc_hardware = X
save

X bedeutet: 0=autodetect 2=MPU6050 3=MMA8452 (Default "0" bevorzugt MMA8452)
Nach Wechsel des ACC musst Du in die GUI und erneut auf ACC Calibration klicken. Danach musst Du den Naze einmal stromlos machen und neustarten, da beim Start einige Acc abhängig Konstanten berechnet werden, die sonst nicht mehr passen. Ich verwende die MPU6050, weil ich da halbwegs weiss woran ich bin. Wer noch eine "Montags" - MPU hat (davon gehe ich nicht aus) fährt mit Autodetect (default) wahrscheinlich besser (dann wird der MMA8452 bevorzugt).

Ich hoffe, das stimmt so alles, und es bringt etwas Licht ins Dunkel.

LG
Rob
 
Zuletzt bearbeitet:
Erhaltene "Gefällt mir": MGR

skyfreak

a freak on a leash
super roberto, vielen lieben dank.

deine ausführungen haben es auch für einen laien wie mich verständlicher gemacht.
nicht dass ich ahnung hätte :D, aber was nutzt es im leben einfach so etwas zu machen weil es hier und dort steht man aber keinen einen plan hat warum man etwas macht und wofür das gut sein soll. daher meine frage.

nun ist mir das auch verständlich und ich sage noch mal danke.

in diesem zug fällt mir noch was ein bitte.

ich werde nun also im cli 3 werte verändern

set acc_hardware =2
set acc_lpf_factor = 100
set looptime = 3000

so schön es ist im cli einfach enter/save und feddich ist der käse ohne kompilieren zu müssen, man muss doch jede zeile einzeln eingeben und bestätigen?!
und wenn man mal einen reset auf defaults macht, dann alles wieder von vorne :(

momentan führe ich meine änderungen wie oben in einem textfile mit.
wie macht ihr das um ein bestimmtes setting im cli wegzuspeichern und wieder einzuspielen?

gruss,
der skyfreak
 

Olli72

Neuer Benutzer
Hallo zusammen,

habe gerade meinen Acro Controller genauer betrachtet und festgestellt, dass dort bereits ein Baro verbaut ist. Ist das bei Euch auch so? Zum vollwertigen Naze 32 würde ja nur noch ein Kompass fehlen!? Hat hier jemand eine Bezugsquelle?
Desweiteren frage ich mich, wenn man ein GPS verbaut, braucht man dann überhaupt den Kompass, oder besser, für welche Anwendung ist er dann überhaupt vorgesehen?
 

Roberto

Erfahrener Benutzer
Die CLI geht mir auch auf die Nerven. Da ich hier schon die ganze Entwicklungsumgebung installiert habe, mache ich es wie bei der mwii. "config.c" (statt "config.h") ändern, kompilieren und flashen. Du müsstest aber auch ein einfaches Skriptfile für eine serielle Befehlssequenz erstellen können. Da wird es sicherlich Programme geben. Realterm wäre vielleicht dazu in der Lage?

@olli: Die GPS Navigation fährt nach einem "heading", deswegen musst Du das eigene heading kennen. Das macht Dir am schnellsten ein Kompass.
Alternativ wäre auch folgendes denkbar:
Nasenrichtung des Copters unklar: Gib einfach Gas in irgend eine Richtung und überprüfe die neuen GPS Koordinaten und finde so die Achse für die passende Kurskorrektur. Wenn das implementiert wäre, dürfte das sehr schäbig funktionieren. Daher: GPS braucht Kompass.

LG
Rob
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten