@frankvk
Yes, I did a straight swap and now, after over a week, the battery level hasn’t dropped at all.
Posts made by martinb
-
RE: [SOLVED] Poor battery life on door sensor
-
RE: [SOLVED] Poor battery life on door sensor
@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. -
RE: [SOLVED] Poor battery life on door sensor
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.
-
RE: [SOLVED] Poor battery life on door sensor
@mfalkvidd
Yes, I'm using pin 3 which is opposite A2 -
RE: [SOLVED] Poor battery life on door sensor
@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?) -
RE: [SOLVED] Poor battery life on door sensor
@mfalkvidd
It may be my terminology! It's using digital pin 3 (just marked "3" on the Arduino) -
RE: [SOLVED] Poor battery life on door sensor
@mfalkvidd
That's correct, no further log activity until the next change in state of the door -
RE: [SOLVED] Poor battery life on door sensor
@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" -
RE: [SOLVED] Poor battery life on door sensor
@zboblamont
The current draw is the same, whether the door is open or closed. -
RE: [SOLVED] Poor battery life on door sensor
@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). -
RE: [SOLVED] Poor battery life on door sensor
The power usage is showing as around 6.5 mA all the time.
This is the sketch I am using:
// Enable debug prints to serial monitor #define MY_DEBUG // Enable and select radio type attached #define MY_RADIO_NRF24 //#define MY_RADIO_RFM69 #include <SPI.h> #include <MySensors.h> #include <Vcc.h> #define SKETCH_NAME "Binary Sensor" #define SKETCH_MAJOR_VER "1" #define SKETCH_MINOR_VER "0" #define PRIMARY_CHILD_ID 3 #define PRIMARY_BUTTON_PIN 3 // Arduino Digital I/O pin for button/reed switch const float VccMin = 2.5; // Minimum expected Vcc level, in Volts. const float VccMax = 3.5; // Maximum expected Vcc level, in Volts. const float VccCorrection = 1.0/1.0; // Measured Vcc by multimeter divided by reported Vcc Vcc vcc(VccCorrection); // Change to V_LIGHT if you use S_LIGHT in presentation below MyMessage msg(PRIMARY_CHILD_ID, V_TRIPPED); void setup() { // Setup the buttons pinMode(PRIMARY_BUTTON_PIN, INPUT_PULLUP); } void presentation() { // Send the sketch version information to the gateway and Controller sendSketchInfo(SKETCH_NAME, SKETCH_MAJOR_VER "." SKETCH_MINOR_VER); // Register binary input sensor to sensor_node (they will be created as child devices) // You can use S_DOOR, S_MOTION or S_LIGHT here depending on your usage. // If S_LIGHT is used, remember to update variable type you send in. See "msg" above. present(PRIMARY_CHILD_ID, S_DOOR); } // Loop will iterate on changes on the BUTTON_PINs void loop() { uint8_t value; static uint8_t sentValue=2; // Short delay to allow buttons to properly settle sleep(5); value = digitalRead(PRIMARY_BUTTON_PIN); if (value != sentValue) { // Value has changed from last transmission, send the updated value send(msg.set(value==HIGH ? 1 : 0)); sentValue = value; } float p = vcc.Read_Perc(VccMin, VccMax); sendBatteryLevel(p); // Sleep until something happens with the sensor sleep(PRIMARY_BUTTON_PIN - 2, CHANGE, 0); }
-
[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?