Am I on the right track? (maximising battery life CR2032 circuit) - Page 1
Forum section: electronics / projects

author: BadeBhaiya
author_rank: Regular Contributor
timestamp: February 16, 2023, 07:00:07 pm
content: Hello everyoneI am designing a small sensor node circuit with a STM32G0 MCU and an nRF24L01+ based radio module. Its a very simple circuit with the MCU directly connected to the cell, and the radio module only turned on using a PFET when its needed. The MCU wakes up every 5 minutes to sample a thermistor (also switched using a PFET) and then transmits the data through the radio.This is the simplified diagramThe entire wakeup-to-sleep process takes less than 50ms. The current consumption of the MCU while asleep is 3uA but assuming miscellaneous stuff like PFET leakage I have decided on 5uA. I have recorded the current consumption of the radio module (image attached) for one transmission using my nRF Power Profiler device. The transmission takes ~10ms and consumes 16mA peak current (for 300us) and 1mA for the rest of the 9ms.The power consumption by itself isn't too high but I am concerned that the heavy pulsed discharge from the cell (after a transmission) may reduce the battery life. I have thus put the 1k resistor in series with the rest of the circuit. Is this an acceptable way to limit current draw?Just for reference, this is the simulated voltage rail after a single transmission. No idea what simulation is worth but it felt important to attach this. I can attach the simulation files if needed.

author: SuzyC
author_rank: Frequent Contributor
timestamp: February 16, 2023, 07:37:07 pm
content: Maybe it just me, but your waveforms don't seem to match your verbal description well, seems the rug doesn't match the curtains at all. In fact the waveform .jpgs seem to be so vague I can't really tell whats going on at all.Using a 1-k resistor to limit current to the rest of the circuit is probably the worst way to attempt to do this.Due to the intermittent operation of your circuit, you could charge a super-cap or large-uf reg cap to the operating voltage between transmissions and use a resistor to charge the supercap between xmits at a current level that wouldn't bother the CR2032. The supercap would then serve as the battery at xmit times.

author: BadeBhaiya
author_rank: Regular Contributor
timestamp: February 17, 2023, 06:29:24 am
content: Sorry you're right, I should've given some context related to the graphs.First the circuit. I put together the simplified version of the circuit as an ltspice simulation just to simulate if I could run the circuit using a large 1k resistor in series with the CR2032 to limit the current. There is a large 220uF capacitor which would serve as the bulk capacitor for transmissions, a 5uA constant current drain (i2) (to simulate the sleep current of the MCU) and the real world current consumption profile of the radio rigged to run at 8s in the simulation (i1).The I(I1) graph shows the current consumption profile of the radio module while transmittingThe V(vrail) graph shows the voltage dip in the capacitor when the transmission is doneBoth graphs are zoomed around the 8s mark because nothing else happens

author: mk_
author_rank: Regular Contributor
timestamp: February 17, 2023, 08:02:07 am
content: Quote from: BadeBhaiya on February 16, 2023, 07:00:07 pmplace enough low leackage capacitors at Vcc. They supply your pulsing circuit when the cr2032 ages. Those caps should keep Vcc wihin the required specs at least for one measuring/transmit- event, they will be charged again during the rest of the time when STM32 and all others are sleeping again.btw: 5uA is a lot of current for a sleeping device, you should investigate why this current is so high....

author: BadeBhaiya
author_rank: Regular Contributor
timestamp: February 17, 2023, 10:58:33 am
content: Quote from: SuzyC on February 16, 2023, 07:37:07 pmHaha I thought so. Putting the 1k in there was a very dumb idea, one of those "I'm 99% sure it won't work but what if?" kind of ideas. I've heard scary stories regarding coin cells.Someone told me that heavy peak discharges are much worse for the battery capacity than long low current discharges. I know there is truth to that but I don't have any real data to say which is worse, very short high current discharges (to recharge a cap after TX) or same amount of energy but spread over a long time (current limited charging of the cap after TX)I'll just use a 0R instead of the 1k.Quote from: mk_ on February 17, 2023, 08:02:07 amGuess I should replace the aluminium 220uF with a tantalum or maybe a supercap. I assumed the leakage at worst would be 1uA (which is quite acceptable imo). Maybe I was aiming too low.I actually haven't built the circuit, I just assumed the 5uA figure because it seemed a "reasonable" number when including the max FET leakage and MCU sleep current, but I agree, 5uA is quite high. The PCB is being fabricated by a local company as we speak! I should receive 10 boards in a week or so. I shall update the thread with real power consumption numbers as I optimise the software/board.

author: BadeBhaiya
author_rank: Regular Contributor
timestamp: February 17, 2023, 11:10:38 am
content: Let me just add the actual schematics and a few renders of the PCB for reference.Most of the things in the schematics are only for the footprints, that is, I don't intend on populating most of the sensors. Just a single thermistor for measuring temperature, and the nRF24L01+ based module (footprint on bottom left, in the top view of the board)The CR2032 thing is mostly an experiment. I like to see how long I can make a low power device work for on the least expensive and smallest power source. There is also a normal 2.54mm connector for a standard 3.7V lithium cell but I don't really want to use it.

author: kreyszig
author_rank: Regular Contributor
timestamp: February 17, 2023, 11:41:01 am
content: A couple of ideas:Are you aware that there are very low power temperature and humidity sensors on the market like the SHT30 (and this is an old one, there must better ones now) that can wake an MCU when the temperature and/or humidity changes by a configurable amount? I have Xiaomi temp & hum Zigbee sensors at home that are powered by CR2032 cells and that work using this principle.Isn't possible to charge caps at a lower rate using a current-limiting circuit other than a resistor?

author: BadeBhaiya
author_rank: Regular Contributor
timestamp: February 17, 2023, 12:21:25 pm
content: Quote from: kreyszig on February 17, 2023, 11:41:01 amWow actually I wasn't aware of that! I have used an SHTC3 in a prior project but I guess that was a lower end model without that feature. Still, I would prefer to have the device work in a deterministic fashion, so regular transmissions are what I would like.I understand and do wish to charge the capacitor at a slower rate and discharge it very quickly but I want the quiescent current to be as small as possible. It is possible with the below circuit (if ideal diodes existed in this world)

author: kreyszig
author_rank: Regular Contributor
timestamp: February 17, 2023, 12:47:59 pm
content: With my setup I mix both. The thing wakes up if the temperature changes by 0.25C or after one hour on a timer. It looks like the standby current consumption is 0.2 uA at 25C

author: Kalvin
author_rank: Super Contributor
timestamp: February 17, 2023, 01:03:06 pm
content: Quote from: BadeBhaiya on February 17, 2023, 12:21:25 pmRemove D1, and add a jumper across resistor R1 after you have connected the battery.Edit: If you are not convinced, just draw an equivalent circuit of the battery: A resistor in series with a voltage source. The resistor value is the internal series resistance of the battery, and its value can be found from the battery's datasheet. As an approximation, you can use a value between 1 ohm ... 5 ohms, for example. You want the 200uF capacitor to help your battery supplying the current into the circuit without unnecessary voltage loss when your circuit starts transmitting.

author: bookaboo
author_rank: Frequent Contributor
timestamp: February 17, 2023, 01:52:21 pm
content: I wouldn't worry about resistors (with or without jumpers) or diodes for the cap. It wont take long to charge up.I'd even doubt the usefulness of a bulk capacitor, I have a similar design in production which does have a 100uF cap for the same reasons you do, however I later experimented with various cap sizes and found they made little difference, as did removing it altogether.

author: BadeBhaiya
author_rank: Regular Contributor
timestamp: February 18, 2023, 09:27:44 am
content: Quote from: Kalvin on February 17, 2023, 01:03:06 pmThis is just an "ideal world" circuit, I do understand that it would be unwise to actually use a circuit like this, the diode drop would eat away any possible energy saving that I might have gained by charging the capacitor slowly. I have no intention of using this, I just posted this to show the basic principle of how I would like the discharge and charge behaviour to be like.Quote from: bookaboo on February 17, 2023, 01:52:21 pmI have noticed that these CR2032 can provide a decent amount of current at least on pulsed discharges. I have no doubt that I could omit the 220uF capacitor entirely and everything would still work flawlessly (with the absolutely minuscule load that I have). What I am more interested in knowing, and somehow modelling just how much worse are pulsed discharges as compared to continuous low current discharges. The datasheet of the cell do provide a graph but that's just with constant loads.Is there any way of knowing this? Should I setup an experimental setup or is there another easier way?PS: Sorry if I'm all over the place. The PCBs and components are shipping right now, so I am doing just about anything to procrastinate writing the code

author: DavidAlfa
author_rank: Super Contributor
timestamp: February 18, 2023, 10:39:32 am
content: Why did you rename a pdf into png? PDFs can be attached as-is.You can save even more with a low-power designed LDO, like TPS781.It outputs 2.2V at idle, while consuming 1uA, the stm32 should be able to work at this voltage.Activate the LDO on wake-up, so it outputs 3.3V for the radio.

author: NiHaoMike
author_rank: Super Contributor
timestamp: February 18, 2023, 03:06:50 pm
content: Just connect the capacitor directly. The CR2032 is not going to care about the inrush.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: February 19, 2023, 05:23:14 pm
content: Indeed, just put the capacitor directly parallel to the battery. A single charge cycle when batteries get inserted is not going a noticeable damage to the battery.You may consider using a bigger capacitor though. I've taken apart IR remote controls with a capacitor up to 1500uF parallel to the batteries.

author: mariush
author_rank: Super Contributor
timestamp: February 19, 2023, 07:05:41 pm
content: Quote from: BadeBhaiya on February 17, 2023, 11:10:38 amI would suggest concluding the experiment and moving on to using another kind of battery that's super common... an AAA or a AA battery.An alkaline AAA battery will have around 800-1300 mAh, a AA can have up to 1800-2800mAh ,,,, a 3v cr2032 has around 200-250mAh so at least 3-4x less total energy.Use a voltage doubler IC to double the voltage or a small boost regulator and you'll still have 4x or more worth of cr2032 batteries.Plus, an alkaline battery can source the current when needed (ex 1.2v .. 1.5v 100-150mA boosted/converted to 3v..3.3v 50mA and with the right microcontroller and right frequency, it can still run directly from this low voltage and only enable the boost regulator as needed to reduce idle power consumptionas for price, you can buy 100 for 23 cents each, 1300mAh rated :https://www.digikey.com/en/products/detail/fdk-america-inc-a-member-of-fujitsu-group/LR03-G6-2S/5305215If digikey can sell them at 23 cents each, you can probably get them at under 15 cents in other places or in higher volume, not much more expensive than cr2032.AA batteries are around same price, +/- 1 cent, and they're rated for 2500+ mAh ... example :https://www.digikey.com/en/products/detail/fdk-america-inc-a-member-of-fujitsu-group/LR6-C-2S/5305214