2015-12-30 11:09 PM
Hello all,
I'm having trouble using the AIS328DQ accelerometers. Having the board level I should get roughly 0,0,1 for the x,y,z axis. Every second or third reading is completely incorrect. Often it's zero, sometimes it's much higher than it should be (often up to 2g). This affects all axis. I'm using I2C to communicate. Here is an example of the output-0.01 0.01 -0.02
-0.01 0.01 1.01
-0.03 0.00 1.01
-0.02 0.00 1.00
-0.01 -0.01 1.01
-0.03 0.01 -0.01
-0.01 0.01 -0.02
-0.01 0.00 0.95
-0.02 0.01 1.00
-0.01 0.00 1.07
-0.01 0.00 -0.01
-0.00 0.01 1.01
-0.02 0.01 1.00
-0.01 0.00 1.00
I have checked the I2C bus with a scope and that looks normal. The processor is correctly interpreting the data, it's just that the data is often wrong.
The accelerometer is in normal power mode at 1000hz ODR with all axis enabled. The scale is set to +/- 4g. The accelerometer is being read at a 10hz rate, but that doesn't seem to matter. The pull-up resistors are 4.7K and there is a 100nF cap at Vdd right next to the device. CS and SAO are both high. Everything is running at 3.3V. I've tried several of these accelerometers using two different processors (STM32F401RET6 and a Teensy).
I've tried enabling the self test function. The healthy readings are as per the datasheet, but the bad ones still drop to about zero and sometimes appear random.
I'm really at a loss and don't know what to try next so any help or guidance would be greatly appreciated. Is it possible I've just got a bad batch?
#ais328dq