Math help: calibrating adxl375

Thread Starter

Vindhyachal Takniki

Joined Nov 3, 2014
594
I have read the two calibration app note as I have attached. I am using adxl375.

1. I have been able to do 6 point calibration correctly as in AN4399.

2. Now I want to do 12 point calibration as in DM00119044 or AN4399.
Page 8 of DM00119044 shows the matrix for calculation.

This matrix will yield to 18 equations right? As below. Now I have 18 equations & 12 variables.
Is there any software which can solve these for me:

Code:
/* 18 equations */

/* +z axis */
a11*30 + a12*50 + a13*2548 + o1 = 0
a21*30 + a22*50 + a23*2548 + o2 = 0
a31*30 + a32*50 + a33*2548 + o3 = 1

/* -z axis */
a11*20 + a12*10 + a13*980+ o1 = 0
a21*20 + a22*10 + a23*980 + o2 = 0
a31*20 + a32*10 + a33*980 + o3 = -1

/* +y axis */
a11*30 + a12*1911 + a13*50 + o1 = 0
a21*30 + a22*1911 + a23*50 + o2 = 1
a31*30 + a32*1911 + a33*50 + o3 = 0

/* -y axis */
a11*20 + a12*49 + a13*10+ o1 = 0
a21*20 + a22*49 + a23*10 + o2 = -1
a31*20 + a32*49 + a33*10 + o3 = 0

/* +x axis */
a11*2303 + a12*30 + a13*50 + o1 = 1
a21*2303 + a22*30 + a23*50 + o2 = 0
a3/* +z axis */1*2303 + a32*30 + a33*50 + o3 = 0

/* -x axis */
a11*392 + a12*20 + a13*10+ o1 = -1
a21*392 + a22*20 + a23*10 + o2 = 0
a31*392 + a32*20 + a33*10 + o3 = 0
3. Now for 15 point calibration as in AN4399. page 33. They had added a cubic nonlinearity.
What is its purpose?
Why to add cubic factor here?
 

Attachments

Thimor Bohn

Joined Jan 7, 2015
2
Hi,

I guess your eqns. follow eq. 36 from AN4399 (p. 25) with i=6 (i.e. measurements for x-, y-, z-axes in both orientations) and the numbers on lhs relate to vector G_f (i.e. given factory calibrated measurements) and the numbers on rhs relate to vector G_12 (i.e. the 12 parameter calibrated output). Then you want to know the 9 coefficients of the matrix W (i.e. a in your eqns.) and the 3 for vector V (i.e. o in your eqns.). So you want to calculate 12 parameters and have 18 equations. That means you have an over-determined linear equation system which can be easily calculated using matlab or octave (a free matlab clone). Just use eqns. 45-48. As an addition remark: the more measurements you make the better the results are. (i.e. take more measurements at same position so leaving G_12 constant while G_f varies assuming G_f is a probabilistic variable with Gaussian noise.)

To the other question: the term Gamma*G_f.^3 with matrix Gamma and vector G_f looks like the sensor is non-linear at higher acceleration rates which is now considered. Solving the new eqn. array is straight forward using eqn. 72.
 
Top