Solar battery charger with load and battery monitor

Thread Starter

Атанас Баротов

Joined Oct 7, 2015
18
Hello everyone,

I'm very new to building circuits and electronics, but I've started an arduino project, that I'm currently in a need of help with. I've ordered a charging board ( http://www.aliexpress.com/item/1PC-...ium-battery-DIY-Mini-USB-Port/1859868985.html ) that now I see is not exactly fit to work with a solar panel or as per my needs which are:

- use the solar panel ( up to 7.2v at direct sunlight, 0.4w per specifications that was used to charge the 3.8v battery or a 6v/3.5W/580-600mA solar panel)
- charge the battery (got 3 versions: 3.8v 2100mAh, 3.7v 2100mAh or 3.7v 9900mAh)
- power the arduino board ( 5-5.5v regulated or 6-12v unregulated)
- measure the charge level of the battery on the arduino
- power a 6v DC motor along with the arduino (not constant running, but turning the motor on and off shouldn't break the other things)

I've found the specifications for this circuit in the forum:
http://forum.allaboutcircuits.com/attachments/beam-solar-lipo-charger-jpg.5601/

or get this board:
http://www.adafruit.com/products/390

but I'm not sure if either fits as per my needs of measuring the charge level of the battery while it's working. Any help would be greatly appreciated especially if we can use the charging board I already have. At the moment I've put a capacitor on the solar panel and connected it to the board and have it charge the battery and power the motor, but as the voltage of it is non-regulated and at about 3.7-4v or a bit more at direct sunline I can't risk to power the arduino directly with it
 

wayneh

Joined Sep 9, 2010
17,496
...as per my needs of measuring the charge level of the battery while it's working.
Can you elaborate on this need? Determining SOC (state of charge) for a battery under load is not an easy task. I think you could develop a model of the battery that predicts the voltage-vs-current curve as a function of SOC. So then you measure the voltage and load current, and compare that to the model, and estimate the SOC. Sort of like watching to see how much your headlights dim when you start your car.

But doing this quantitatively to a level of precision that is useful will be a lot of work. Maybe there's an easier solution, if you can share what you are trying to do.
 

InspectorGadget

Joined Nov 5, 2010
215
The best way to monitor charge in a battery under load is with a "gas gauge" or coulomb-counter chip. It carefully monitors charge flow in and out of the battery. When the battery is charged under load, it'll tell you the net charge in or out of the battery.

Look up "gas gauge" or "coulomb counter" at any of the major chip manufacturers who make power chips (like Linear Technologies or Texas Instruments) and you'll find them.

In use, you need a point of reference, so you start with the battery fully charged and reset the coulomb counter chip and then measure discharge from the battery and then recharge going into it and from then on you'll be pretty accurate.
 

Thread Starter

Атанас Баротов

Joined Oct 7, 2015
18
ok, so I found this gauge: https://www.sparkfun.com/products/10617

It should work under load, right as the motors can peak to 200-300mAh.
If I just want to measure the current of the battery - how do I do that. The voltage can be measured if I link it to an analog port of the Arduino board (with some safety of course), right?

One more thing - I've been testing the charging board for the past few days and on a low light the solar panel gives about 3v which is not sufficient to charge the 3.8v battery. Is there a way to increase the this voltage so it can charge as at the moment i've just hooked a small capacitor and will try with a bigger one, but guess that won't help
 

wayneh

Joined Sep 9, 2010
17,496
A boost circuit like those used in solar led lights could help, but it won't get you more power. Realistically you're not going to get much charging from a dimly lit panel no matter what you do.
 
You'll lose a percentage of the solar panel power with the boost converter -- a standard boost converter runs a PWM, pumping current over only a percentage of the cycle. Put a biggish capacitor at the input of the boost so that the solar panel will have something to charge during the off cycle of the boost input. That should bring your efficiency a lot higher than not using a capacitor.
 

Thread Starter

Атанас Баротов

Joined Oct 7, 2015
18
yeah, though of doing so.

On the circuit here i should boost the 100uF capacitor or add one bigger right on the solar panel. Also, i'm just starting building and testing it, but it says 6.7v, 20mA and i'll be using a little more powerful panel that's about 500mAh and on a lucky spot probably max to 7-8-9v. Does it seem can be a problem or it should be able to handle it?
 
yeah, though of doing so.

On the circuit here i should boost the 100uF capacitor or add one bigger right on the solar panel. Also, i'm just starting building and testing it, but it says 6.7v, 20mA and i'll be using a little more powerful panel that's about 500mAh and on a lucky spot probably max to 7-8-9v. Does it seem can be a problem or it should be able to handle it?
I'm sorry, I can't tell what you're talking about. You say "circuit here" and I don't see any circuit. You say "it says 6.7v 20mA" but I don't know if that's a spec you're reading or a measurement with a meter under what conditions.

Please post the circuit (or a link to the commercial boost regulator). Everything else will stem from the current capabilities of the boost.

Note that for a reliable circuit over the whole range of the panel operation ("7-8-9V"), you really need a boost-buck configuration (or integrated SEPIC regulator). So you could boost it to 10V so the boost would work over the whole range of the panel, and then buck it down to 5V for a standard Arduino supply and Li-Ion charger.

But if your current boost converter is spec'd at a maximum of only 20mA that won't really work for anything. It'll barely power on the Arduino.

By the way, are you talking about Lithium-Ion batteries of some kind? 3.8V is the nominal discharge voltage of Lithium-Ion chemistry. FYI, they charge around 4.2V, and most charger chips run off of 5V strictly regulated.
 

Thread Starter

Атанас Баротов

Joined Oct 7, 2015
18
sorry, here's the charging circuit i'm building


and i'm using a 3.5W 6v (around 500mAh) solar panel. My battery is 3.7v 9900mAh, and the load will be around 100 mAh with peaks of 300-400 and down to 40
 
You need an actual LiIon charger circuit. There are many chips out there to do it; just get a little PC Board module from Ebay. Otherwise, you'll damage your LiIon batteries.

I don't know what your circuit is trying to do on the front end -- some kind of shunt regulation to charge the battery? EXTREMELY inefficient if it'll work at all. AND you'll damage the batteries. Maybe even cause them to explode if they get hot enough.

On the back end -- you switch on the load if the supply is above 2.8V? What is this for?

I would put a boost regulator right on the solar panel to boost it to 10V, then a buck to buck it down to 5V. That will supply 5V over the whole range of voltage output of the solar panel. The 5V you can use for the Arduino and for the LiIon charger PCB (which is the proper way to charge LiIon cells). You can diode-or the LiIOn cell and the 5V buck output input to run the Arduino and other loads so that the battery will be used if there isn't enough output of the solar panel.
 

Thread Starter

Атанас Баротов

Joined Oct 7, 2015
18
Well, at the moment i'm using this charging circuit:
http://www.aliexpress.com/item/1PC-...ium-battery-DIY-Mini-USB-Port/1859868985.html

but it doesn't have a "load" output, so i'm linking the dc motor directly to the battery while it's charging which i guess is not good. The solar panel won't be well lid most of the time so the output will be between 3-4 volts or less, which i guess won't be very efficient to boost to 10v. I've ordered this board to test:
http://www.aliexpress.com/item/Mini...-to-5V-dc-Boost-Step-up-Power/1871440675.html

so i'll be boosting to solar panel to 5v if less than it, connecting it to the charging circuit and was hoping that the circuit from the last post would do the trick to have the load output and the battery charged at the same time if enough energy from the solar panel is present
 
The circuit from the last post will just damage batteries and dissipate most of your power.

If the panel is at 3-4 volts it'll still boost to 10V just fine but won't supply much current.

Again: Boost to 10V. Buck to 5V. 5V directly to charger board. Diode-OR the buck output and the battery output to make your main load output.

This way, your load will draw from the solar panel and leave the battery alone to charge as long as the solar panel can supply both. If the panel is too weak, the diodes will switch it to draw off the battery. At that point the charger will barely be operating because of the current supply ability of the panel.

I'll draw a circuit tonight if this is difficult to follow.
 

ronv

Joined Nov 12, 2008
3,770
I'll be applying the boost circuit on the load port so it gives me directly 5v for the arduino
If you don't do maximum power point the boost converter won't do you any good.
For a given load current if the voltage goes to low the boost will try to raise it. Problem is that takes more current from the solar panel that it can't supply.
Take a look a this chip. Pretty fancy, but it does it all I think.
http://www.linear.com/product/LT8490
PS
There are probably cheaper ones. I just took the first one I found.
 
Last edited:

Thread Starter

Атанас Баротов

Joined Oct 7, 2015
18
Nice one, but integrating such a chip is a bit out of my skillset at the moment (probably for the 3rd or the 4th version of my project :) )

I've ordered this one:
http://www.ebay.com/itm/100W-3-5V-3...313699?hash=item25af3592a3:g:EHIAAOSwyvBV-C89

so we'll see if it does the job.

"Diode-OR the buck output and the battery output to make your main load output."
explaining that would be great as I would have checked on it when the circuits have arrived :)

Thanks for all the help
 
Top