I am using Analog Devices’ ADXL327 three-axis acceleration measurement system in a project that will ultimately be used to find the angle (or change in angle) of the PCB. The supply voltage is 3.3V and the ADC interfaced with the sensor is a 12-bit one with the conversion formula

Since the values of ADREFHI is 3.3 V and ADREFLO is connected to the ground, so the Value of the output voltage from the Accelerometer is

Vout = ((DigitalResult + 0.5)*3.3)/4096

Since output voltage from a particular axis (in this case, the Z axis) is a function of the angle made from a particular plane, I have arrived with the empirical formula:

Vout = Vzgbias + S*g cosϴ

** **

Where Vzgbias = Zero g bias voltage

S = Sensitivity (in mV/g)

ϴ = Angle from the plane

g = acceleration due to gravity

To calculate the angle for a particular output voltage, we can use the formula

ϴ = arccos ((** **Vout – Vzgbias_____)/(S*g))

For a logical value of ϴ, the expression ((** **Vout – Vzgbias_____)/(S*g)) must always be numerically less than or equal to 1.

I have used the value of Sensitivity by taking the average of sensitivities at 3.6 and 2 volts. As per the device datasheet:

“The ADXL327 output is ratiometric; therefore, the output

sensitivity (or scale factor) varies proportionally to the supply

voltage. At VS = 3.6 V, the output sensitivity is typically 500 mV/*g*.

At VS = 2 V, the output sensitivity is typically 289 mV/*g*.”

500 = k1 * 3.6

289 = k2 * 2

Taking the average of the proportional constant, k = 141.694

Thus sensitivity at supply voltage Vs = 3.3 V is

S = k *3.3 mV/g = 467.591 mV/g

And also, since according to the datasheet:

“The zero *g *bias output is also ratiometric; therefore, the zero *g *output is nominally equal to VS/2 at all supply voltages.”

Thus Vzgbias at VS (= 3.3 V) is 1.65 V (for all three axis)

Is there any way to know if my assumptions about the **ZERO g BIAS LEVEL** and the

**SENSITIVITY**are correct? Since, after measuring the

**ZERO**of the X and Y axis using an oscilloscope, the values were close to 1.67 V. This may be attributed to a mechanical error or the surface on which

*g*BIAS LEVELsI have kept the sensor might not be completely horizontal as shown below:

Furthermore, is it possible to obtain an application note for the accelerometer that shows how to measure the angle for all three axis and to calibrate the accelerometer?

Thank you

Thanks for the reply! Out of curiosity, are you planning on processing the data in terms of volts? If you are using an ADC, would it make sense to use a digital approach to this? If you are processing the data in terms of volts, the process is very similar, except that your 0g offset will likely be a non-zero voltage. For example, in Table 1 of the ADXL327 datasheet, we can see that the 0g output value, when VSS = 3V, is 1.5V and the ideal sensitivity if 420mV/g. However, you can use the same techniques to measure the actual offset and scale factor for each axis. So, if you orient an axis in the +1g orientation and measure 2.1V, then measure 1.1V when that same axis is in the -1g orientation, you can estimate the scale and offset errors in the following manner:

A_scale = (2.1V - 1.1V)/2g = 500mV/g

V_offset = (2.1V + 1.1V)/2 = 1.65V

Tilt = sin[ (1/1g) x (V_ADXL327 - V_offset) x (1/A_scale) ]

Check the formula:

When V_ADXL = 1.9V

Tilt = sin[ (1/1g) x (1.9-1.65) x (1/0.5) ]

Tilt = sin[ (2 x 0.25 ]

Tilt = 30 deg

Does that help?