Sunday, March 19, 2017

Turning off gateway.

Some weeks ago I have decided to turn off older version of gateway (version 1.5) and replace it with new version 1.7. It was running for over a year and a half. Also it was not so easy as it used RFM12B radio module and all radio nodes need to be replaced as well. Well it is always at some cost to do upgrade, whether it is making of new nodes or time to put it together. But the time is here and I do not even remember how many changes and small fixes I done in transition to version 1.6. and later 1.7. But the old gateway has guarded my property good enough, with only one alarm, thankfully a false one. Caused simply by open window ventilation and hot summer wind. And as you can see on the picture on right the last update of firmware and accompanied reset was almost a year ago. Since then it was running and working without me noticing. I must once again thank NilRTOS for its stability. I have made a screenshot of the debug window, and there is clearly visible that the stack is rock solid.


Thank you and R.I.P. :)






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.

Thursday, March 16, 2017

OHS user

I've got a link from a user of OHS gateway sharing his successful tests: https://goo.gl/photos/etsof9MZ1PysiQ6h6

It shows single PIR setup along with wired remote node and iButton probe. Thanks Steven.