Discussion in 'Embedded Systems and Microcontrollers' started by Vindhyachal Takniki, Dec 30, 2014.

1. ### Vindhyachal Takniki Thread Starter Member

Nov 3, 2014
357
6
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 (Text):
1.
2. /* 18 equations */
3.
4. /* +z axis */
5. a11*30 + a12*50 + a13*2548 + o1 = 0
6. a21*30 + a22*50 + a23*2548 + o2 = 0
7. a31*30 + a32*50 + a33*2548 + o3 = 1
8.
9. /* -z axis */
10. a11*20 + a12*10 + a13*980+ o1 = 0
11. a21*20 + a22*10 + a23*980 + o2 = 0
12. a31*20 + a32*10 + a33*980 + o3 = -1
13.
14. /* +y axis */
15. a11*30 + a12*1911 + a13*50 + o1 = 0
16. a21*30 + a22*1911 + a23*50 + o2 = 1
17. a31*30 + a32*1911 + a33*50 + o3 = 0
18.
19. /* -y axis */
20. a11*20 + a12*49 + a13*10+ o1 = 0
21. a21*20 + a22*49 + a23*10 + o2 = -1
22. a31*20 + a32*49 + a33*10 + o3 = 0
23.
24. /* +x axis */
25. a11*2303 + a12*30 + a13*50 + o1 = 1
26. a21*2303 + a22*30 + a23*50 + o2 = 0
27. a3/* +z axis */1*2303 + a32*30 + a33*50 + o3 = 0
28.
29. /* -x axis */
30. a11*392 + a12*20 + a13*10+ o1 = -1
31. a21*392 + a22*20 + a23*10 + o2 = 0
32. a31*392 + a32*20 + a33*10 + o3 = 0
33.
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?

File size:
391.7 KB
Views:
18
File size:
303.8 KB
Views:
15
2. ### Thimor Bohn New Member

Jan 7, 2015
2
0
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.