I have hooked it up to my Arduino board and I used the 3.3V from the accel board to Aref on my Arduino. With the chip level, I have measured the x any y axis close to 1.65V, which it should be, and 2.41V for the z axis. These measurements were with my DMM. I can also see the same values with the on-board Arduino A/D converters. So I am pretty sure it is working. However, I can’t seem to correlate that 2.41V with a 1G measurement! I have both jumpers in place, so my understanding is the range should be -1.5 to 1.5G.
But with 2.41V, I calculate that being (2.41V - 1.65V) / 1.65V * 1.5 = 0.69G The way I see it, 2.41V is 46% of the way from 0G (1.65V) to 1.5G (3.3V) -> 0.69G. What am I doing wrong here? The other two axis will also be close to 2.41V when rotated 90 degrees appropriately.
The “1.5g” sensitivity setting doesn’t mean that the reading goes exactly to 0/3.3V at +1.5/-1.5g. Instead, it gives you a rough idea of the range that you can expect to get at that setting. The actual sensitivity is specified in the datasheet at 740 to 860 mV/g, with a value at 0g of 1.485V to 1.815V. You didn’t say what value your z-axis gave at 0g, but if it’s 1.65V, then you are getting a sensitivity of 760 mV/g, which is in the specified range.
To get very accurate measurements out of the accelerometer, you should get calibration measurements of the 0g value and sensitivity separately for each axis, then use a formula with these numbers as parameters to compute the acceleration in g.
Thanks Paul! Now it all makes sense. Yes, I was assuming that all axis would behave the same and that everything would be the nice and centered. Incorrect assumption on my part! I have calibrated the center (0g) and sensitivity and everything is o.k. now. I should be able to calculate tilt angles with no difficulty. This a neat little device.
Great, I’m glad you got it working!