Hi
I have some problem about MMA8652 . I set the ODR=1.56(CTRL_REG1=0x38) , and work in low power mode(CTRL_REG2=0x1b) . It's current should be 6.5 uA.
But I read the current is 170 uA with digital ammeter . Why?
And my Schematic like that
my code is
IIC_write(CTRL_REG1,0x38); //ODR = 1.56Hz, standby
IIC_write(XYZ_DATA_CFG_REG,0x02); //+/-8g
IIC_write(CTRL_REG2,0x1b); //Low Power
IIC_write(PULSE_CFG_REG, 0x15); //Enable X, Y and Z Single Pulse
IIC_write(PULSE_THSX_REG, 0x78); //Set X Threshold to 7.56g
IIC_write(PULSE_THSY_REG, 0x78); //Set Y Threshold to 7.56g
IIC_write(PULSE_THSZ_REG, 0x78); //Set Z Threshold to 7.56g
IIC_write(PULSE_TMLT_REG, 0x28); //Set Time Limit for Tap Detection to 25 ms
IIC_write(PULSE_LTCY_REG, 0x28); //Set Latency Time to 50 ms
IIC_write(CTRL_REG4, 0x08); //Pulse detection interrupt enabled
IIC_write(CTRL_REG5, 0x08); //Route INT1 to system interrupt
data = IIC_read(CTRL_REG1); //Active Mode
data |= 0x01;
IIC_write(CTRL_REG1, data);
Thank you ! every body!
Hi Jun,
How are you measuring this current consumption? Are not there other devices drawing current as well?
Also be aware that the current consumption stated in the datasheet applies for VDD=2.5V and has been measured with an amperemeter between 2.5V voltage rail and VDD input only.
Best regards,
Tomas
PS: If my answer helps to solve your question, please mark it as "Correct". Thank you.
Hi Tomas
Thank you for you reply !
I already know the reason . Because the MCU's IIC isn't working , so the sensor's register use default value .
This is my fault !
Thanks again !
(PS: I am chineses. My family name is "Wu" , not "Jun"..haha...)