It's my first post here but I've been searching the Forum and getting to know it better for the past two days now.
I'm in the process of developing a remote monitoring system, which just needs to monitor temperature, humidity and power supply status, and report inconsistencies via text message (SMS) on a cellular network (GSM) or whenever asked (via calling the GSM module).
But what I'm worried about is power supply to the Arduino Uno itself. I need to have a backup battery, so it can report power loss and continue to work for several hours (12h if necessary) in order to keep monitoring all the parameters.
Battery capacity shouldn't be a problem, since the monitoring itself is around 100mA for a second and occurs twice each minute.
Also the GSM module needs about 1.5A @ 6V when sending/receiving actual data, but that's just for 10 seconds on each communication.
I'm inclined for...
--> 9.6V via 8xAAA 1250mAH NiMH batteries, or...
--> 7.2V via 6xAA 2000mAH batteries
... just because they're safer to operate than Lithium batteries (?), cheaper (?) and size/weight isn't an issue here.
But I'm not very knowledgeable of the options so I'm open to suggestions.
And the real issue for me is this: From what I searched in the forum, I didn't find any references to a self-managed backup battery. Kind of like an UPS. The point being, when connected to the AC-DC converter, charge the battery IF NEEDED (avoid overcharge since that reduces battery life dramatically).
How would I control this charge? I'm pretty sure it's not a good idea to do it directly from the converter.
And there must be other things to consider such as:
--> automatically recharging after not using the batteries for a week (I'm trusting the charging mechanism would be able to manage this kind of keep-alive system)
--> the batteries would be mounted in series so charging them on-the-fly would mean the charger needs to be 9.6V and not 1.2V (plus the matter of overcharging some batteries and undercharging others).
So I'm at a loss here.
Does anything come to mind?
Thanks in advance.
What comes to mind for me is to not power the arduino with the mains - but power the batteries - and then have the batteries power the arduino.
You "simply" need to design a battery charger circuit such as this:
And from the battery connect to your arduino / extra parts. That way when the arduino reaches a low voltage you' ve defined the charger kicks in and stops when it reaches its high voltage.
Thanks for your reply.
Your idea makes sense in a way, but it raises other questions:
1. Assuming the battery pack will keep the arduino running for 12 hours before needing to recharge, and since the charging process would take about 10 hours, then each year the battery would "suffer" let's say 400 cycles. I imagine it wouldn't last more than a year. It would last a lot longer if used only when needed, right?
2. Taking point no. 1 in consideration, the battery shouldn't drop to a very low level: the charging should be current-limited to about 1/10th of battery capacity, so if the batteries become too low then the Arduino would possibly not have enough juice while charging.
3. If a charger always kicks in when the battery reaches a pre-configured voltage, wouldn't that quickly cause memory effect on the battery?
Consider this idea, if it makes sense at all:
I could just plug both power inputs in parallel to the Arduino, with diodes in the battery outputs (the converter already has them built-in, I believe), thus preventing the use of battery power as long as the converter provides higher voltage.
And also power the battery charger from the same converter output.
If that makes sense, then I just need a charger that will fit into the equation:
- designed to charge Ni-MH batteries (is the lead acid battery charger from your link a good option, since these batteries are different in nature?);
- designed to handle a voltage different than 1.2V, and with regulated current (without such a "limiter", the converter output would provide 2A and kill the batteries).
Thanks again for your input.
This is exactly the case i,m struggling with. Still there is no convenient (at least for me) solution...