Showing posts with label battery. Show all posts
Showing posts with label battery. Show all posts

Sunday, March 19, 2017

Battery node with USB charging

Shortly after introducing rearranged PCB layout for nodes, I realized that I use LiPo batteries in all my battery powered nodes. That is making no use of the step up capabilities of the DC to DC converter. When designing it I was wanting to have possibility to run the nodes from variety of batteries. But it was never happened. In fact I have ordered some $3 to $5 LiPo batteries from eBay that supposed to be used for quadrocopters. These, although labelled RC 25C batteries, have battery protection electronic mounted on them (DW01+FS8205). My first happiness soon faded when I checked it does not stop the battery from under voltage. It will probably need some more investigation. Never the less, for the price, they seems like a nice choice for compact (43mm x 24mm x 9.5mm) power source and claiming ~720mAh of capacity (it really depends on supplier, ranging from 600 to 700mAh).

This led me to consolidation of what I use in case of LiPo powered node, and I ended up with new design of battery power circuit. I have taken out the DC to DC part and added low drop out linear regulator. MCP1700 with excellent quiescent current and drop voltage less then 200mV. I would lost the step up capability, but LiPo operate best in ranges of 4.2V to 3.4V as shown on the picture. Perfect match for such use. Taking a calculator in hand and the datasheet it revels, that the difference in terms of efficiency for LiPo battery is negligible. And in fact as the LiPo discharge it is more convenient to use liner regulator instead of switching, making it more energy efficient! Then single look on quiescent current makes the choice inevitable, linear consumes ~2uA while switching consumes ~80uA. That is 3 times more to what my ATmega328P@16MHz consumes while sleeping.

While having battery type set, it is much easier to choose charger circuity. Looking for easy solution I found MCP 73832 a single cell Li-Ion/Li-Po charge management controller. It is small footprint linear charger with charge current programmable by single resistor from 15 mA to 500 mA. Again datasheet stated very low standby current, and it seems to be used in many designs as Google reveals.

I ended up with new version of PCB and called simply node version 1.4. It has micro USB connector for power or charging and charge current set to ~450mA. With a rule of thumb of 1C charging current, it allow use of any Li-Ion or Li-Po battery with capacity bigger then 450mAh. It has no load sharing, but sleeping ATmega is not a problem. I have switched to blue solder mask colour and it is alrady tested and available for sale in my online shop.

I have measured power consumption in various stages to see how it behaves. Where there is range present it is difference between 3.5 and 4.2 input voltage.


MCP1700 quiescent current no other components 2.2uA

Just ATmega328P 16MHz@3V3:
ATmega328P sleeping 25.2uA
ATmega328P running 5.8~6.5mA

With added battery measurement - voltage divider:
ATmega328P sleeping 27.6uA
ATmega328P running 5.8~6.5mA

With added MCP7900 temperature sensor:
ATmega328P sleeping 32.6~33uA
ATmega328P running 5.8~6.5mA

With added MCP73831 charger:
ATmega328P sleeping 33.2~33.6uA
ATmega328P running 5.8~6.5mA

This is major improvement to previous design when Li-Po or Li-Ion battery is used, 1/3 power conumption over version 1.3. while sleeping.

Friday, February 12, 2016

Battery node


New node boards have arrived. I've ordered first time from seeed, and they look quite good. Nice sharp traces, I use usually bigger ones, as I tend to hand solder sometimes. Nicely aligned solder mask, and silkscreen without smudges. I will use them in future for sure.
This board was also for me first board to be made in KiCad, instead of Eagle, as I needed bigger PCB area for new gateway(main board). I can just say all as expected, if you check your Gerbers, there should not be any surprise. I feel a bit more confident to spend $50 for the big boards.

So, speaking of hardware, I soldered the battery option node. There is place on PCB for either battery or DC or even both if you want dual power (3.3V and 5V). And it works! Happy man :). To put it in numbers:

Battery voltage is more then 3.4V:
ATMega328P, and HW69W both sleeping:  0.09mA
ATMega328P working , and HW69W sleeping:  7.2mA
ATMega328P working , and HW69W receiving: 8.5mA 
ATMega328P working , and HW69W sending: 61mA

Battery voltage is less then 3.4V:
ATMega328P, and HW69W both sleeping:  0.12mA
ATMega328P working , and HW69W sleeping:  14mA
ATMega328P working , and HW69W receiving: 17mA 
ATMega328P working , and HW69W sending: 123mA

I tend to use it with li-po batteries, in theory they have self discharge ranges about 5% in month, then 1–2% per month (plus 3% for safety circuit). By raff numbers, and using the scenario of a remote sensor sleeping for 5-10 minutes, reading the sensor and doing the math for 500ms. Finally transmitting for at full power for 10ms, it gives me battery life for about 2 years with 2000mAh battery.

Now the question here is where it is a practical and economical solution to buy a li-po and let it basically drain by self discharge. Eneloops NiMH have seems to be more suitable, but li-po's are getting cheaper on eBay or such. Another solution is to go for a small li-po, around 200mAh and tiny solar panel. This or another, I'm happy with its wide input voltage and consumption. With this setup I can go from AA, to li-po or NiMH.

Going back to design, it uses MCP1252, which is inductorless, buck/boost, DC/DC converter with low quiescent power: 80 μA (Typical), and giving 120 mA (150mA max, high power RFM69HW can be used) output current. Add couple of ceramic capacitors, and you are set. On picture capacitors a a bit bigger then pads, since I have put what I found in drawer, and not the proper 1206.