How to make a charger ?

Hi,

I would like to equip my robot with a docking base to charge its batteries. My problem is that I do not want to turn off the Arduino in the robot during charge... I think we can't use & charge a battery at the same time but the Rooba robots use this system...

I really don't know where to start for this project. Are all battery types appropriate for this circuit ? My robot is equipped with a frame for 6 AA batteries, it could be good to reuse it (that's what I'm going to use the Arduino).

My second question is: do you know circuits/examples of charging circuits ? I need to keep the Arduino turned on during charge.

Thanks for your help :slight_smile:

Battery charging is a bit more complicated than it might at first seem.

  1. You need to have rechargeable batteries (duh). I assume you were planning to use NiMH or NiCad AAs.

  2. You can use a battery while it is being charged (car/laptop batteries work this way), but it can complicate control a bit.

  3. An important aspect is the need to keep the cells balanced. In your case each of the 6 AA batteries will take a charge a bit differently. This issue is that as the cells age they become more different from each other and in some cases you can actually have batteries in a pack get reversed or stop working because they were only changed as part of the pack. Some batteries are more tolerant of this than others. Many NiCad packs are made to change as a whole, but it would be reckless to charge something like a LiPo battery this way.

  4. The best chargers usually do some fancy math behind the scenes. They will start with a constant current section where they charge say at 500mA up to the point where they hit the target voltage. Then they will voltage limit until the current gets small enough to call the battery charged. Better chargers use fancy curves and all sorts of other algorithms. If you don't care much about charge time you could just always charge at 20mA. Most batteries won't heat up much or get hurt with this trickle charge even if they are already full, but the downside is that they take forever to charge this way.

  5. All this to say this won't be trivial, but it is entirely possible. Google will be your friend.

Thanks for this detailed answer. As you said, Google is my friend but I do not find many finalized/working project. The one you mention seems again to be only starting.

The only full project found is this one: http://www.instructables.com/id/Mikey-Go-Home/#step5

Like you said, it works wi AA NiMh batteries. Maybe it's a good start for me to validate this circuit and reproduce it... What do you think of it ?

Tanks again :slight_smile:

The fancy math and balancing can benefit any battery pack but it's only necessary for Li-Po batteries. For everything else, you can just put charging voltage on the battery while the load (Arduino) is connected. In fact, since this thing will be driving (relatively) high current motors at the point where it first hits the charging contacts a really dumb charger will be desirable. The smart charger will think this is a fault.

Avoiding overcharging may be a desirable feature to add. Maybe the robot itself starts a timer and backs away from the charger after 8 hours. Then it can wait 4 days or until 'low battery' and go back into 'find the charger' mode and drive back onto the charger.

NiMH would be my first choice. Then NiCd. Lead-acid is good but probably not appropriate for a small robot. The most useful small lead-acid gel-cell is 2-3kg.

MorganS:
NiMH would be my first choice. Then NiCd. Lead-acid is good but probably not appropriate for a small robot. The most useful small lead-acid gel-cell is 2-3kg.

Another option that people aren't very aware of is the existence of LiFePo drop-in SLA replacement batteries.

Now - they aren't suitable for small robots - because although they weigh a fraction of the amount of the SLA they replace, they still manage to have the same form factor, so they can be bulky inside.

As I noted - they are considered "drop-in" replacement batteries - meaning that anywhere that currently uses and charges an SLA - if the LiFePo version exists, it can be attached and charged the same. These batteries use the "lithium iron polymer" technology to give nearly the same benefits (mostly for weight reduction) as standard LiPo cells, but they are a bit safer in usage and charging. On-board the battery itself is a special charging circuit that can take the current from the SLA charger, and apply it in an intelligent way to properly charge the LiFePo cells properly.

The downside? Cost. These things are very expensive compared to the SLA battery technology they substitute for; expect to pay double or triple the amount you would for the same size SLA battery. The upside is the greatly reduced weight, and in many cases a greater mAh value - both of which translate into much longer run-times, especially when used for mobile platforms.

I think we can't use & charge a battery at the same time but the Rooba robots use this system...

In general, that's not true. For example, an automobile battery gets used and charged at the same time.

Hey, thank you for your helps !

MorganS:
In fact, since this thing will be driving (relatively) high current motors at the point where it first hits the charging contacts a really dumb charger will be desirable. The smart charger will think this is a fault.

I don't understand what you mean. You say there will be a peak of consumption the moment I touch the charger connectors ?

MorganS:
Avoiding overcharging may be a desirable feature to add. Maybe the robot itself starts a timer and backs away from the charger after 8 hours. Then it can wait 4 days or until 'low battery' and go back into 'find the charger' mode and drive back onto the charger.

I will have a RaspberryPi next to the charger. I could use it to turn it on/off after presence detection. It could solve the first problem you mention (if I understand it well). Maybe I could also turn off the charger, mesure voltage, decide to turn on if robot is not fully charged, turn off if fully charged (if Vmesured = VchargedBattery).

MorganS:
NiMH would be my first choice. Then NiCd. Lead-acid is good but probably not appropriate for a small robot. The most useful small lead-acid gel-cell is 2-3kg.

Let's go for NiMH battery, my project is a litle automous car, I can't use a 2kg battery :wink:


Can I use a real battery charger (not a simple power source) like this one Wall mount NiMH or NiCad chargers for 3 cell, 7 cell, 8 cell, 9 cell, 10 cell and 12 cell battery packs and connect it to the battery ? I'm afraid it won't work since it will also power the Arduino during charge...

Hum, what do you think of this product: User Manual - RAVPower ?

It's only 5V, my motors will turn slowly but speed is not my goal. Since I have to power: a camera (5V via micro USB), an Arduino (5V via USB / 5v 12v via power input) and my motors (usually 9v), I think it could make the job.

Moreover the datasheet says "The unit can simultaneously charge and discharge. However, constant pass-through charging may affect its lifespan". So I could make a docking for my robot powered by a USB cable to reload the battery when needed...

Looks like very simple/easy, what do you think ?

MorganS:
The fancy math and balancing can benefit any battery pack but it's only necessary for Li-Po batteries. For everything else, you can just put charging voltage on the battery while the load (Arduino) is connected. In fact, since this thing will be driving (relatively) high current motors at the point where it first hits the charging contacts a really dumb charger will be desirable. The smart charger will think this is a fault.

Balanced charging could mean faster charging is possible with most battery types since you only have
to backoff to trickle charging when necessary, rather than being very conservative about this.