Hi. I am a newbie at this. I am trying to interface MMA3204EG dual axis accelerometer with an 8-bit PIC microcontroller. My question is mainly regarding the self-test pin provided in the accelerometer. The datasheet simply states the following:
When the user applies a logic high input to the selftest pin, a calibrated potential is applied across the self-test plate and the moveable plate. The resulting electrostatic force (Fe = 1/2 AV2/d2) causes the center plate to deflect. The resultant deflection is measured by the accelerometer's control ASIC and a proportional output voltage results.
My question is, if there is a way to find out a value of this output voltage. When I connect the accelerometer to the microcontroller (as per the specifications mentioned in the datasheet) the values simply fluctuate between 0V and 1V. I do not get any other values. Please help me. Thank you
Hello, and welcome to the forum.
My interpretation of the datasheet, with respect to the MMA3204 self test operation, is that a test force equivalent to 12g +/-20 percent is applied to each g-cell. Assuming that Vdd is 5.0 volt, the X-output should step by nominally 0.24 volt, and the Y-output by nominally 0.80 volts, during self test mode. For different Vdd, the output step will be proportional to the Vdd level.
You might check this out, initially using a DVM, prior to attempting analog-to-digital conversion within the MCU.
Regards,
Mac
Thanks a lot for your suggestion. Could you please tell me what a DVM is?
Thanks
Hello,
DVM = digital voltmeter.
Regards,
Mac
Thanks once again for your suggestion. When I connected the accelerometer to an oscilloscope or a DVM I did get some readings. They were not 2.5V at 0g but they were again in the range of 0V to 1V. This is when I kept the sensor circuit on the board. When I tap it slightly I do get some changes in the voltage upto 3V for both the axes. I guess my question is do you get exact 2.5V values? I have rechecked my circuit and it is according to the scematic given in the data sheet. So I do not know where I am going wrong. Any suggestion would be helpful. Thanks a lot.