Hi, all!

Place the MMA7361 on the desk and tighten it, keep it actionless.

I measured the X, Y, Z voltage. They are 1.63V, 1.71V, 2.25V

VDD is 3.3V

So, Ax(acc of X) = (1.63-1.65)/0.8 = -0.025

Ay(acc of Y) = 0.075

Az = 0.75

But (-0.025)^2 + 0.075^2 + 0.75^2 <> 1

Why?

Hello Gary Wang,

The magnitude of a resulting vector is the square root of the sum of its three vectors (X,Y and Z). After obtaining the square root of your sum, you'd get 0.75:

SQRT((-0.025)^2 + 0.075^2 + 0.75^2) = 0.75

Remember that you’re using the MMA7361LC with a +/-1.5g range, so, you’d need to multiply the magnitude of the resulting vector by the selected range:

0.75*1.5g= 1.13g

A non accurate voltage measurement or the specific device offset could cause the extra 0.13g, I'd recommend you to use at least a 10bit ADC.

For optimal 0g offset performance, you could implement “Auto-Zero”, a software technique to calibrate accelerometers:

Implementing Auto-Zero Calibration Technique for Accelerometers

http://cache.freescale.com/files/sensors/doc/app_note/AN3447.pdf

Hope it helps!

Josh