DIMU calibration

Info & Discussions about good ole AQ6, taken to the next level.

Re: DIMU calibration

Postby teramax » Wed Apr 16, 2014 12:38 pm

Thanks Menno for clarification.

s_sergiu wrote:Question: is TARE overwriting some calibration parameters (if DIMU calibration was already done and saved in to flash) after using QGC to store TARE values in permanent memory ?
Sergiu


This is exactly what i wanted to find out:
Next Step 2, comparing onboard params calculated, default, calculated + tare, tare only just to be clear what is when written :)
somehow everything can fly
http://www.youtube.com/user/ter4m4x
teramax
 
Posts: 500
Joined: Sun Sep 02, 2012 11:19 pm
Location: Lower Austria

Re: DIMU calibration

Postby phynix » Wed Apr 16, 2014 1:21 pm

Interesting questions - but a reliable answer should be given by one of the coding guys^^. They probably know what they have done :D.

I am also eager to know these kind of things, hopefully clearification appears in the wiki soon ;). But maybe an efficient way of handling it is not yet finalized.
phynix
 
Posts: 73
Joined: Mon Feb 11, 2013 11:03 pm

Re: DIMU calibration

Postby teramax » Thu Apr 17, 2014 12:00 am

afernan wrote:For those looking for the DIMU "deffault set" as posted by JussiH here: viewtopic.php?f=42&t=3039&start=20

Code: Select all
    #define DEFAULT_IMU_ACC_BIAS_X -1.933758020e-01
    #define DEFAULT_IMU_ACC_BIAS_Y -8.807090780e-02
    #define DEFAULT_IMU_ACC_BIAS_Z +4.523231005e-01
    #define DEFAULT_IMU_ACC_BIAS1_X +6.298345346e-04
    #define DEFAULT_IMU_ACC_BIAS1_Y -4.342186860e-06
    #define DEFAULT_IMU_ACC_BIAS1_Z -1.132666890e-02
    #define DEFAULT_IMU_ACC_BIAS2_X -7.202130030e-05
    #define DEFAULT_IMU_ACC_BIAS2_Y +2.751657101e-05
    #define DEFAULT_IMU_ACC_BIAS2_Z -6.013562265e-04
    #define DEFAULT_IMU_ACC_BIAS3_X +7.734938387e-07
    #define DEFAULT_IMU_ACC_BIAS3_Y -3.519207650e-07
    #define DEFAULT_IMU_ACC_BIAS3_Z +9.511640149e-06
    #define DEFAULT_IMU_ACC_SCAL_X +1.005262441e+00
    #define DEFAULT_IMU_ACC_SCAL_Y +1.000217091e+00
    #define DEFAULT_IMU_ACC_SCAL_Z +1.007255494e+00
    #define DEFAULT_IMU_ACC_SCAL1_X +4.193607514e-05
    #define DEFAULT_IMU_ACC_SCAL1_Y +4.350687238e-05
    #define DEFAULT_IMU_ACC_SCAL1_Z -4.060128191e-05
    #define DEFAULT_IMU_ACC_SCAL2_X +2.375517772e-07
    #define DEFAULT_IMU_ACC_SCAL2_Y +4.202039819e-07
    #define DEFAULT_IMU_ACC_SCAL2_Z +5.109700295e-06
    #define DEFAULT_IMU_ACC_SCAL3_X -2.602565217e-09
    #define DEFAULT_IMU_ACC_SCAL3_Y -8.355204299e-09
    #define DEFAULT_IMU_ACC_SCAL3_Z -5.719190738e-08
    #define DEFAULT_IMU_ACC_ALGN_XY -3.652631780e-03
    #define DEFAULT_IMU_ACC_ALGN_XZ -2.301002501e-02
    #define DEFAULT_IMU_ACC_ALGN_YX +4.866067412e-03
    #define DEFAULT_IMU_ACC_ALGN_YZ -1.066079480e-02
    #define DEFAULT_IMU_ACC_ALGN_ZX +1.900450230e-02
    #define DEFAULT_IMU_ACC_ALGN_ZY -3.631478580e-03


    #define DEFAULT_IMU_MAG_BIAS_X -5.618762485e-01
    #define DEFAULT_IMU_MAG_BIAS_Y -1.128859119e-01
    #define DEFAULT_IMU_MAG_BIAS_Z +1.761997784e-01
    #define DEFAULT_IMU_MAG_BIAS1_X +1.365822903e-03
    #define DEFAULT_IMU_MAG_BIAS1_Y +1.456755908e-04
    #define DEFAULT_IMU_MAG_BIAS1_Z +5.381007897e-05
    #define DEFAULT_IMU_MAG_BIAS2_X -1.128636828e-05
    #define DEFAULT_IMU_MAG_BIAS2_Y -1.069023788e-06
    #define DEFAULT_IMU_MAG_BIAS2_Z +5.784597978e-06
    #define DEFAULT_IMU_MAG_BIAS3_X +1.896911985e-07
    #define DEFAULT_IMU_MAG_BIAS3_Y +7.998319752e-09
    #define DEFAULT_IMU_MAG_BIAS3_Z +1.427045123e-08
    #define DEFAULT_IMU_MAG_SCAL_X +1.025754210e+00
    #define DEFAULT_IMU_MAG_SCAL_Y +1.025173541e+00
    #define DEFAULT_IMU_MAG_SCAL_Z +9.508402009e-01
    #define DEFAULT_IMU_MAG_SCAL1_X -3.716502102e-04
    #define DEFAULT_IMU_MAG_SCAL1_Y -4.048217880e-04
    #define DEFAULT_IMU_MAG_SCAL1_Z -8.007110823e-05
    #define DEFAULT_IMU_MAG_SCAL2_X +1.633924171e-05
    #define DEFAULT_IMU_MAG_SCAL2_Y +1.372434465e-05
    #define DEFAULT_IMU_MAG_SCAL2_Z +1.432787360e-05
    #define DEFAULT_IMU_MAG_SCAL3_X -3.355794831e-07
    #define DEFAULT_IMU_MAG_SCAL3_Y -2.954833300e-07
    #define DEFAULT_IMU_MAG_SCAL3_Z -3.190654025e-07
    #define DEFAULT_IMU_MAG_ALGN_XY -3.057935117e-02
    #define DEFAULT_IMU_MAG_ALGN_XZ -3.674296134e-02
    #define DEFAULT_IMU_MAG_ALGN_YX +7.321501713e-03
    #define DEFAULT_IMU_MAG_ALGN_YZ +1.021515215e-03
    #define DEFAULT_IMU_MAG_ALGN_ZX +6.866267930e-03
    #define DEFAULT_IMU_MAG_ALGN_ZY +1.580880766e-02


    #define DEFAULT_IMU_GYO_BIAS_X -4.571127191e-02
    #define DEFAULT_IMU_GYO_BIAS_Y +2.848629343e-02
    #define DEFAULT_IMU_GYO_BIAS_Z +3.155488181e-02
    #define DEFAULT_IMU_GYO_BIAS1_X +1.734791977e-05
    #define DEFAULT_IMU_GYO_BIAS1_Y +7.474338667e-05
    #define DEFAULT_IMU_GYO_BIAS1_Z +1.935817782e-04
    #define DEFAULT_IMU_GYO_BIAS2_X +1.614000363e-05
    #define DEFAULT_IMU_GYO_BIAS2_Y +4.922826400e-06
    #define DEFAULT_IMU_GYO_BIAS2_Z +2.073770807e-06
    #define DEFAULT_IMU_GYO_BIAS3_X -1.107617798e-07
    #define DEFAULT_IMU_GYO_BIAS3_Y -8.979882523e-08
    #define DEFAULT_IMU_GYO_BIAS3_Z +7.555651492e-09


    #define DEFAULT_IMU_GYO_SCAL_X          +1.003664727518 //  0.000000098998 -0.000000011614
    #define DEFAULT_IMU_GYO_SCAL_Y          +1.015729576855 //  0.000000099538 +0.000000736745
    #define DEFAULT_IMU_GYO_SCAL_Z          +1.006703153482 //  0.000000098074 -0.000000024268
    #define DEFAULT_IMU_GYO_ALGN_XY         -0.002478664035 //  0.000097809549 -0.000000047043
    #define DEFAULT_IMU_GYO_ALGN_XZ         -0.030881252585 //  0.000088866729 -0.000000003382
    #define DEFAULT_IMU_GYO_ALGN_YX         -0.000031123970 //  0.000099997198 +0.000000000118
    #define DEFAULT_IMU_GYO_ALGN_YZ         -0.002441958545 //  0.000099916883 -0.000000017371
    #define DEFAULT_IMU_GYO_ALGN_ZX         +0.000028910630 //  0.000099552644 +0.000000008895
    #define DEFAULT_IMU_GYO_ALGN_ZY         +0.001887487809 //  0.000098064788 -0.000000013512


for information, i had problems loading this numbers to the board.
When copied from this table there are 4 spaces in front of the hashtag, remove them and loading works.
Or take this one: http://autoquad.org/wp-content/uploads/ ... PARAMS.zip
somehow everything can fly
http://www.youtube.com/user/ter4m4x
teramax
 
Posts: 500
Joined: Sun Sep 02, 2012 11:19 pm
Location: Lower Austria

Re: DIMU calibration

Postby joebar.rc » Thu Apr 17, 2014 6:29 am

teramax wrote:Thanks Menno for clarification.

s_sergiu wrote:Question: is TARE overwriting some calibration parameters (if DIMU calibration was already done and saved in to flash) after using QGC to store TARE values in permanent memory ?
Sergiu


This is exactly what i wanted to find out:
Next Step 2, comparing onboard params calculated, default, calculated + tare, tare only just to be clear what is when written :)

Yes, the tare zeros all gyo and acc bias values, so if you have a full calibration done previously, do the tare AND store them to flash then the calibration part that did the allignments between gyros and acc and the calculated level from that are overwritten..
Basically only the mag is left alone, but that is changed to from r378 on too..

From r378 you now have a choice, full dance and calibration, or tare/mag calibration dance. The latter will store the new values in EEPROM so the flash values are left alone
joebar.rc
 
Posts: 1084
Joined: Fri Jun 22, 2012 8:59 am
Location: The netherlands

Re: DIMU calibration

Postby SuperSharpShooter » Thu Apr 17, 2014 7:06 am

So with r378, how can we choose to store the new values in EEPROM?

Is the mag calibration dance different to the previous dynamic dance? What is the procedure for getting a set of parameters using the 'tare/mag calibration dance' option? Just use a dynamic log and no static logs? Or do you still need a static log and to freeze the board?

Thanks!
-Glenn
SuperSharpShooter
 
Posts: 276
Joined: Sat Jan 12, 2013 9:44 pm

Re: DIMU calibration

Postby joebar.rc » Thu Apr 17, 2014 10:01 am

SuperSharpShooter wrote:So with r378, how can we choose to store the new values in EEPROM?

Is the mag calibration dance different to the previous dynamic dance? What is the procedure for getting a set of parameters using the 'tare/mag calibration dance' option? Just use a dynamic log and no static logs? Or do you still need a static log and to freeze the board?

Thanks!

You're to early :), the procedure is just 1 day old and we all need to work with it to make a documentation suggestion.
But... Yes it is different, a new way to get AQ quicker airborne with close to optimal estimates.
So, the calibration dance is all in one, it does the magnetic profiling and aligning of the sensors. The desktop run calibration program makes it final to give perfect numbers.

The new (in the development fw) procedure makes it simpler, a quick leveling method and new dance (much shorter) to get align the compas function.
It is saved (ATM) using a stick sequence and yes,it saves it to the dimu EEPROM.
So after reboot you're good to go, I've done it twice now and that works..

For the moment is my opinion that full and static calibration is optimal, but that may alter when this procedure is done more with good results...

Menno
joebar.rc
 
Posts: 1084
Joined: Fri Jun 22, 2012 8:59 am
Location: The netherlands

Re: DIMU calibration

Postby teramax » Thu Apr 17, 2014 1:18 pm

so to save time we have to buy a bigger freezer to perform the static and dynamic log inside the fridge :lol:
somehow everything can fly
http://www.youtube.com/user/ter4m4x
teramax
 
Posts: 500
Joined: Sun Sep 02, 2012 11:19 pm
Location: Lower Austria

Re: DIMU calibration

Postby skew » Thu Apr 17, 2014 1:29 pm

If we had this about 2 months ago I could have just went outside when it was -20f no freezer needed LOL
skew
 
Posts: 181
Joined: Sun Oct 14, 2012 1:30 am
Location: Morehead, Ky

Re: DIMU calibration

Postby afernan » Mon Apr 21, 2014 8:08 pm

After a full day fighting with my new DIMUs onto my two old boards, I discovered the following problems.

I have different DIMU versions:
1 x DIMU v1.01 (DIMU installed by Jussi and working well)
2 x DIMUs v1.1 from Flyduino (DIMU installed by me)

Then:
Using "aqv7.0.r372.b1710-hwv6.0-dimu11.hex" with DIMU v1.01 all it´s OK, but NOT OK with DIMU v1.1 (can´t make tare).

So, I´ve rewind and using "aqv.r344.b1640-rev0.hex" worked with DIMU v1.1 ( I can tare and flight).

BTW, just installing the fw in DIMU v1.1, HUD rotates cracy, so I need to load deffault params, which is not obvious. This is how I did it:
- Connect to QGC normally (SD out the board). Record the "PARAMS.txt" (the "good" one) into SD
- Now, insert SD on board. From QGC "load from SD". Remove SD
- reset. Now HUD is OK.
- Delete "PARAMS.txt" from SD to avoid being loaded if that SD is used for loging flights. If leaved in the SD, then It´s not loaded correctly after a reset (red led flashing in fw); only can be done using "QGC-load from SD"

Are there any new "tare" for v1.1? Something that we should know with v1.1?
what should be used for compiling?

Please clarify. Thanks. Today I was close to get crazy with AQ...
afernan
 
Posts: 1214
Joined: Sat Jul 07, 2012 5:24 pm
Location: Madrid, Spain

Re: DIMU calibration

Postby sandmen » Mon Apr 21, 2014 11:10 pm

Angel,
v1.01, should not have a EEProm. I'm really not sure.
The v1.1 should have a EEProm.

Did we speak from the same ?
Tare is not MAG-onboard calibration ?!

Tare should work on all DIMU boards.
What do you mean, by can't make tare?
Any message in qgc ?
Maybe we should use a other config_default.h file for DIMU !
sandmen
 
Posts: 997
Joined: Fri Jun 22, 2012 7:25 am

PreviousNext

Return to AQ6 +DIMU +CAN

Who is online

Users browsing this forum: No registered users and 2 guests

cron