This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Setting MPU9250 in sleep mode to conserve battery

hi i have made gate opener for my farm, i am using MPU9250 and nrf52 to measure how much degree its open
i am putting my MPU in cycle mode to wake up and take data, but it consumes ~3.2ma when sense some of the vibration, i have checked if LPF, acclero G and others effect, but changing those effect my angle measurement
i wanted to reduce my battery consuption and making sure its angel measurement working all time
i have Tried with these settings mention below
1- i have set Acclero configration - @8G getting random values, on 4G getting exact values and on 2g miss some of values
2-acclero config2 - when set the 0x0E, getting the exact values, 0x08- random values, 0x0D- some of the random values
3- PWR_MGMT_1 - cycle mode - getting right values and in sleep mode no values occuars

when sleep its not taking any value, but i wanted to take a value to make sure my door is open or closed or how much opened.
i have to make sure that my battery would last for couple of years but in this scenario, my battery will standing till couple of months only as i am usin 2400mah battery
i have made my enclosure, so changing battery is not an option, i am making this as iot project
thanks in advance..

  • Hi gdb, 

    as far as I can tell this is a MPU9250 specific question and not a nRF52832 question. Hence, your question might be be better suited for a forum on Ivensense products. 

    However, I am pretty sure that you cannot get the best of two worlds, i.e. have the MPU9250 measure the angle at all times and still have a low current consumption. I guess one solution could be to measure the angle periodically at a given interval, e.g. every minute? 

    Best regards

    Bjørn

  • hi  Bjorn, 

    Thanks for the reply, yes i have already mailed  Ivensense about this problem, and waiting for reply. As far as i can see in posts there are question related to MPU9250, that's why i asked this community to help, but anyway thanks for your response. 

    I have made thread in my code so it can only calls when its changes values(WOM- Wake up On Motion). i have already set the parameter that it can neglect value below it, but to check values that have to be considered or not, MPU should be ON like vibration from near by passing a vehicle or vibration from my feets or else source. i have changed the values of LOW PASS Filter, the G force and the basic configuration but no luck. if i set the LPF values different then i didn't have any angle, G forces changes my angles value and become randomly.

    For every minute check, how can i be sure that what particular instant the gate is opened/closed ? like if the gate is opened/closed between my sleep cycle. 

    gdb

  • If the gate is opened or shut the chip should wake up due to the motion right? It should just be a matter of finding the values for the WOM feature that will wake the up the MPU9250 when the gate is actually moved and not by minor vibrations. 

  • Right. But vibration level vary, changing WOM doesn't help. i have changed the value of WOM time to time, after changing, it don't give angle.

  • I am afraid that I do not know why changing the WOM value leads to the MPU9250 not outputing any angle, you'll have to look that up on a Invensense forum. My suggestion would be to find the minimal WOM threshold that will lead to the chip waking up when the gate is opened/closed. Once the chip is awake yo can look at the accelerometer data to see if it is just minor vibrations or if its larger once, i.e. the gate is being moved. If its just minor once you can put the chip back to sleep. 

Related