Battery powered sensor - low voltage threshold



  • I’m using the Arduino mini pro:s tweaked as above together with the NRF chip. To test the battery monitoring i've made a busy loop (i.e. no sleeping to drain the batteries fast) and a binary switch reporting on/off (+ battery level) every minute. I’m using two AA batteries (Duracell ULTRA) with an initial voltage of just above 3.1V. So the battery level (which max is at 3.44V) starts by reporting at ~92-93% with fresh batteries, fine!

    But after running for 3/4 day (full speed no sleep) the NRF becomes silent at ~82% (the batteries shows a voltage of ~1.4V each so the battery indication looks correct). The Mini is still working (when attaching the serial probe) so it seems the Radio that gets too low voltage to be heard (the controller was just a meter away) or it's the Mini that just "looks" ok.

    Question1: If the mini / radio needs at least 2.8V then I don’t see how this can run for ~1 year on 2 xAA batteries as the major part of the milliampere hours are between 1.1 and 1.4V for most alkaline batteries. (And then i mean even if you come down to an 0.5uA) Or are you reporting sensors really infrequent?

    Question2: So if the lower limit is ~2.8V have you mapped your battery levels to that as low?


  • Mod

    A1: A 100% busy sensor on batteries is not feasible, as you've noticed. Most sensors can sleep more than 99% av their time, using timer and/or interrupts, reaching 1-2 years on 2xAA. There are many threads on battery power.

    A2: I have mapped 0% to 2.8V. You can go as low as 1.6V (limit for the NRF) if you downclock the Arduino and change the fuses. How to do this is discussed in several threads.

    You might want to start reading the section on battery power. It has links to several forum threads as well.


  • Hardware Contributor

    hi.

    and you can use step-up (switching reg) to be able to discharge completely your battery (you can go as low as 0.65v but of course you won't have 100mA available at 0.65v, maybe 30-40mA). And like this you will have constant 3.3v for radio...and everything during the whole battery life.


  • Hardware Contributor

    Hi!

    I would recommend this: http://forum.mysensors.org/topic/486/my-2aa-battery-sensor
    As @scalz mentioned a step up / booster and this os working great for me! I have a node running for a year now.



  • @mfalkvidd
    Q&A1: Yes, the 100% was just to test. I have built many sensors before using Gammons low power techniques (like this one https://github.com/epkboan/rain_sensor) , but then i've used 3xAA and 5V chips an then there has been more "headroom" for the votage drop. But yes they are still running after 1 year and reporting every 50 second. I would like that kind of frequent updates (at least for some sensor types)

    Q&A2: Ok, thanks for the downclock trick! So you think that is the problem why it stops at 2.8V?



  • @sundberg84 Ah, thanks for that link! I thought i had read most of the MySensors page but apparently not.

    @scalz Great! I have just assumed that these step-up solutions will put a penalty on the power consumption that would be unacceptable (similar to voltage regulators). Thanks for clearing that out.


  • Mod

    @epkboan said:

    Q&A2: Ok, thanks for the downclock trick! So you think that is the problem why it stops at 2.8V?

    No, it is more likely the brown-out detection unless you have changed the fuses.



  • @mfalkvidd Tnx, now things start to fall into place! When reading through the forum etc i kind of get the feeling that everyone is running for long times more or less out of the box. But there is no magic - you still need to pay attention to the nitty gritty stuff.


  • Hero Member

    @epkboan , @scalz I'm currently evaluating a 5V step up to power up a PH sensor, with 2x AA batteries.

    Not sure if my multimeter is fine but I'm reading ~3mA consumption with just the step up connected (just the batteries and step up, nothing else).

    Isn't too much? My step up is the one from mySensor store link...


  • Mod

    AA batteries give you approximately 2,000mAh. 2,000/3=667 hours = 28 days

    So you'll get a maximum of 28 days battery life. You'll need a step-up that is more efficient at low power, or shut off the step-up when the PH sensor isn't used.


  • Hardware Contributor

    yep, sorry you are right. I have not all detailed. Some points good to know, I can't explain everything (will do when I will update my work, but I am very busy for the moment):

    • one thing to know for low power, on hardware side, is each thing you add must be carefully thought/choosen or it can break all your low power efforts.
    • I think booster eval boards are not the best for low power. It is not designed for this purpose. And you have not lot of chips choice.
    • Stepup are often better than ldo of course, but it needs some care too. That you can "only" manage by making your pcb board unfortunately.

    In my case, on "mytinycamel" I am using a stepup which is enough efficient. But it is all a story and is much more telemetry dedicated (sleeping mode active, hardware watchdog, cut off powerrails...). It works very well. But it can't handle light load as it is based on capacitor discharge (hardware watchdog concept) or I would have to add capa or bigger. not an allinone idea..

    So I needed something high efficient for light or very light loads (few uA) like pirs or others when you don't poweroff everything...And it's another story ! Because, switching regs are not all high efficient equivalent, especially in very light loads and low batt voltage (battery end of life). In these case, lots of switching regs are at 50-60% efficiency!! If you add the quiescent current needed to maintain the output voltage, power consumption can double or triple !! There is a formula to evaluate the quiescent current of the circuit at input vs efficiency...I can give you if you want..Yep, we can't take all datasheets and sum quiescent current and then conclude it will be our power consumption. Not as easy unfortunately.

    So, for these case, I have designed another board. Because it needds to carefully choose booster, and circuit electronic. And to have the best, the switching reg is not handsolderable at all! it is very tiny. And then, it needs to carefully design the board. because if booster not well designed you won't have the best efficiency and power output. I learned lots of things on this stuff these last months..it was very interesting but geeky!

    Hope it can help a little. I can't detail everything. I have seen lots of others very interesting low power tricks. but these are better suited to arm mcu+BLE (shorter and lower power communication mechanism, better io management, and power domains too) than mysensors or rfm69 (30-40mA tx) which I prefer. No matter, I think it will be enough to me, I want to stick with Mysensors! I am not doing a low power contest lol even it could be fun! 2-3 years min on light loads with 1AA or 2xAAA is enough for me (of course it depends a lot on sketch too).


  • Hero Member

    @mfalkvidd said:

    So you'll get a maximum of 28 days battery life. You'll need a step-up that is more efficient at low power, or shut off the step-up when the PH sensor isn't used.

    Yes, I tried to put a transistor (the only I had was a BC549) to switch the step up, however it did not work. The step up doesn't turn ON, when I have the PH sensor connected. It does work with smaller load (a DHT11 for example). The PH sensor consumes about 25mA.

    Maybe the poor BC549 is not powerful/fast enough for the step up? I will buy some 2N2222 just in case . Any comments?


  • Hardware Contributor

    I don't know your schematic. But I would prefer mosfet...
    Stepup don't need lot of power for enable pin. it is a much more a signal pin.
    Another killer battery life : primary battery (lithium I am sure, I think alkaline too) does not like heavy load > 5mA. It speeds up discharge.


  • Hero Member

    @scalz said:

    Stepup don't need lot of power for enable pin.

    The step up I have doesn't have 'enable pin'. Only input +/- and a USB output. So I connected the BC549 between GND and "IN -" , with its base connected to arduino D4 via 10K resistor. IN+ is connected directly to battery.


  • Hardware Contributor

    @scalz said:

    hi.

    and you can use step-up (switching reg) to be able to discharge completely your battery (you can go as low as 0.65v but of course you won't have 100mA available at 0.65v, maybe 30-40mA). And like this you will have constant 3.3v for radio...and everything during the whole battery life.

    I would recommend to NOT use a common 3.3V step-up for the nRF24L01+. Any kind of switching supply seems to impair its performance, despite the usual filtering. nRF supplied with 1.9V and lower works great with 3.3V on Arduino Vcc. And the nRF loves the supply from the batteries. Just bypass the step-up and supply the nRF straight from the batteries. The rest will probably be fine with 3.3V.


  • Hardware Contributor

    @m26872: on my side I had no trouble with nrf. maybe lucky. but you are right because I don't use common stepup, nor eval boards or I make it for test. But, there are lot of cool low noise stepup.
    I have not tested this, and I am very curious, I don't know if nrf/rfm range would be the same at 1.9v vs 3.3v ? btw, for range, I prefer to use rfm69 for my setup, so consumption is not the same! (my dream would be to use cc1310 but have no time to invest, I have not much time actually to play with my devices...)
    But I see what you mean, simplicity too, I totally agree 😉


Log in to reply
 

Suggested Topics

  • 87
  • 7
  • 5
  • 6
  • 3
  • 10

0
Online

11.4k
Users

11.1k
Topics

112.7k
Posts