How to calibrate ADXL345 accelerometer

accelerometerbeaglebone blackcalibration

I have ADXL345 digital accelerometer by Analog Devices. I use Beaglebone ADXL345 library that exist here: http://inspire.logicsupply.com/2014/08/beaglebone-3-axis-accelerometer.html

So I can read the accelerations at X,Y,Z axis. However, when I placed the board at plate surface, it reads X and Y accelerations as -0.728G and -0.788G. They should be zero. How to calibrate this accelerometer?

In addition, it reads stable z axis accelaration as 2.044G. It only changes If I reverse the board. I dont understand. What does it mean?

my ADXL345 board:
enter image description here

Best Answer

Calibration is really just a case of finding the "zero point" value (which you have identified) and subtracting that from any future readings.

That's basically all there is to it. Sit the unit on a stable flat surface, take a number of readings, create an average of them, and use that as an offset value to apply to all your future readings.