[SOLVED] Poor battery life on door sensor
-
I’m running a door sensor on an Arduino Pro Mini 3.3v using a 3.2v 1,800 mAh LiFePo4 battery. I’ve removed the LED and voltage regulator and am using an interrupt driven sketch so that the sensor is asleep most of the time. I added some code to also report battery percentage using the Vcc library which uses the 1.1v internal reference of the MCU.
Everything works great except that the battery life is Very poor. Each time the sensor is triggered I can see the battery percentage falling until the sensor stops responding after about 10 days, at which time the battery is fully discharged.
Does anyone have any suggestions as to why the sensor is draining the battery so quickly?
-
@martinb Did you build according to https://www.mysensors.org/build/binary ?
Is the sensor normally-open, or normally-closed; does the door sensor conduct when the door is closed? -
@martinb If the Node is indeed sleeping, perhaps check the reed circuit for leakage?
The reeds I've used are fed from the junction of two resistors from Vcc to Int, with the reed closing to ground with a cap across.@zboblamont
The current draw is the same, whether the door is open or closed. -
Welcome to the MySensors community @martinb !
Do you have a multimeter? If so, use it to measure how much current the node is using when it is in sleep mode.
A debug log from the node can be useful as well, to verify that the node is actually sleeping.
If you share your sketch, we could see if there is something strange in it.
@mfalkvidd
It looks as if the node is going to sleep OK, as I get this from the nodes debug log:7116 MCO:SLP:MS=0,SMS=0,I1=1,M1=1,I2=255,M2=255
"Sleep node, duration 0 ms, SmartSleep=0, Int1=1, Mode1=1, Int2=255, Mode2=255"7122 TSF:TDI:TSL
"Set transport to sleep" -
@mfalkvidd
It looks as if the node is going to sleep OK, as I get this from the nodes debug log:7116 MCO:SLP:MS=0,SMS=0,I1=1,M1=1,I2=255,M2=255
"Sleep node, duration 0 ms, SmartSleep=0, Int1=1, Mode1=1, Int2=255, Mode2=255"7122 TSF:TDI:TSL
"Set transport to sleep" -
@mfalkvidd
That's correct, no further log activity until the next change in state of the door -
@yveaux
I did follow the build instructions in your link, with the reed switch on D3. When the door is closed, the reed switch is closed (conducting). -
@zboblamont
The current draw is the same, whether the door is open or closed. -
@martinb sorry for asking, but what pin is D3 on a promini?
Edit: is it the one opposite A2?
@mfalkvidd
It may be my terminology! It's using digital pin 3 (just marked "3" on the Arduino) -
@martinb is the current draw the same if you disconnect the reed switch?
The sketch looks good btw.
@mfalkvidd
The current draw is the same whether the reed switch is open or closed. There is a momentary increase after a change (which I assume is the radio drawing additional power to transmit?) -
@martinb sorry for asking, but what pin is D3 on a promini?
Edit: is it the one opposite A2?
@mfalkvidd
Yes, I'm using pin 3 which is opposite A2 -
I'm beginning to wonder if it's the NRF24L01 that's the problem. I found this post which might explain my continuous power draw.
-
@martinb
I replaced the NRF24L01 and now the power consumption has dramatically reduced. Thanks for all the help, as I’m new to MySensors it helped to eliminate other potential issues. -
@mfalkvidd Interesting discussion!
I've got the same issue with a lux sensor based upon BH1750; battery life is limited to 7-10 days (3V, 9900mAh)
I gather that it's not possible to use the interrupt method in this case?Do you have any suggestions how I can improve battery life?
-
@martinb
I replaced the NRF24L01 and now the power consumption has dramatically reduced. Thanks for all the help, as I’m new to MySensors it helped to eliminate other potential issues.