An "open source hardware" smart charger?

Peepsalot

Newly Enlightened
Joined
Feb 19, 2006
Messages
40
I'm not sure how many of you are familiar with the concept of open source hardware, but I think that the idea of an open source smart charger would be pretty cool.
Basically, the concept is to create a device where all the designs are publicly available to be freely copied, used, modified in any way that one might see fit. The whole project is community driven, and anyone can participate in the improvement of the project. It might start with a simple, dumb single cell charging schematic, then grow from there. Eventually, with enough people involved and a little effort, you have an end result that is quite impressive.

The potential benefits would be:
  • Educational
  • Flexible/customizable design
  • Could be used for testing/optimizing different battery charging techniques
  • Fully programmable,improvable,updateable firmware
  • Could be made to support multiple battery chemistry types
  • Cost effective?*
  • Fun!
I am thinking the end result might use a PIC(or other microcontoller) for the brains, possibly with LCD display. Composed of common, easily accessible parts. Supporting a wide variety of battery types. With all the schematics, parts list, and instructions on how to build one easily accesible. It seems that with all the knowledge on these forums regarding batteries and electronics in general, that we could come up with something pretty sweet.

Personally, my electronic design skills are pretty weak, I am more of a software developer. As such I can understand most logic circuits, but the analog / power handling parts just confuse me. I would be willing to help develop the firmware for the microcontrollers, etc, but I would need help with much of the circuit design.

Does anyone else think this is a good and feasible idea?


*I put a question mark next to cost effective because it is often difficult for any DIY project to compete with mass produced devices. If the quality of the device ends up being on par with the highest-end chargers, then I think it could be.
 
Last edited:
Well, no replies yet so I did a little research myself. I found this site which has some good starting info on the charging processes for a variety of battery chemistries:
http://www.powerstream.com/NiMH.htm
http://www.powerstream.com/li.htm
http://www.powerstream.com/NiCd.htm
http://www.powerstream.com/tech.html
http://www.powerstream.com/NZ.htm
Looks like some good info there, haven't read it all yet.

Another site with charging info:
http://www.mpoweruk.com/chargers.htm

A good page on controlling standard LCD Character displays (can't have an ultimate battery charger without a slick interface :thumbsup:):
http://home.iae.nl/users/pouweha/lcd/lcd.shtml
 
Last edited:
Here is my idea of some goals for such a project
  • Programmable: Can define a variety of charging algorithms for different battery types, slow/fast charges, conditioning, etc.
  • Modular: Central controller can work on any number of individual charging circuits, up to some reasonable limit (8?) A unit could be built with a single charging unit, then add more later. I think this could be possible by having the microcontroller sequentially poll all the circuits.
  • Simple: Strive to keep total number of components low, do as much "work" as possible in software.
  • Cost effective/Accessible: When choosing recommended components, try to find the cheapest, commonly available ones that meet requirements
  • Safe: Keep safety in mind, protection for cells, protection for user, failsafes for shorted circuits, etc.
  • Effective user interface: Not sure yet how many buttons and what sort of display would be needed, but need to keep a balance between simplicity/usability and control/configurability.
 
i am still listening.
some of the best things out there are open source, OR at one time was open source, because of the quantity of people that input into the project, and the fact that Money isnt the bottom line.

but this?
try to find the cheapest, commonly available ones that meet requirements

we already have them :) that isnt how we build home built computers.
things like a hunk of tin for a switch , noisey curcuits, unreadable displays (light) underrated power sources, cheap parts, nobody puts that stuff in when they hand build something, it takes corporate interest, and manufaturing to build like that.
 
I think this is a great idea.

I am an electrical engineering student and, while by no means a design expert, I think this project is very possible, given enough dedicated individuals, time, and money. Right off the bat, there is definitely some "subtleties" to end-of-charge detection that would require a large amount of expertise.

The first think I would do is gauge interest from as many groups of people as possible. I know the RC car/plane/boat/robot folks love a good charger, so checking interest on their forums would be a good start. One relatively successful open source project in this was the Open Source Motor Control (OSMC) project.

Any good "brain trust" to tap into could be the DIY audio guys. While this may not their immediate field of interest, the headphone and hi-fi people have both created some great amplifier designs in the past (largely with entirely open circuit designs + small runs of PCBs they would sell) and you might find some interested individuals.

Maybe even hams and other radio people would be interested.

Along with finding these people, find out what they want. RC enthusiasts with their Schulze chargers are able to charge 30+ cell NiMH battery packs. While 8 cells may be fine for flashaholics, it may not fit with others.

Defining some very specific requirements is definitely the first step.

I don't think this is going cheap, unfortunately. Though, I think many people would be happy with a "high end" charge with the capabilities (perhaps a few less cells) and performance (we can hope) of a Schulze isl 6-330d with a far better user interface for its price. Especially with the ability to upgrade firmware as battery technology changes (without having to send it to German and buying expensive EPROM) and tweak to your liking.

Good luck.
 
Hi there,


Interesting idea. Being a hardward *and* software man myself, i can
tell you that it isnt easy to build a charger that does every type of cell
out there (NiMH, Li-ion, Lead acid, NiCd packs).

The reason is that it seems that whatever you design somebody always
seems to come up with another type of cell or higher rating. One person
wants to charge one cell, another two in parallel, another wants high
output voltage to be able to charger packs. It never ends.

Because of this i think the first step would be to catalog *ALL* of the type
(and ratings) of the cells *and* packs out there. If you want to stick
to cells alone i guess that's ok though.

If enough people feel that they might want one, i would join in to add some
design notes or other, and do a simulation of the circuit once it's design is
decided. I dont know if i will have time to design the whole thing myself
however because i am currently working on some other projects that take
up time, but i'll certainly join in the discussion.

As i said though, first define what cells you want to do and how high
you want the max and min current out of the thing to be. Make a list here.

I can also tell you that
with chargers as many programmable circuits, the software is often
integrated tightly with the hardware. For example, a transistor
might have to be pulsed at a certain rate, and the output depends on
the pulse width and other factors based on how the parts behave
electronically. You have to assess the effects and make a judgement
on whether or not your chip can work correctly and if the transistor
characteristics are good enough. A simpler example is that you have
to turn on a transistor, and that transistor turns on another transistor.
One question is is the circuit gain high enough to saturate the second
transistor within 1.5 volts, or do you need a higher gain transistor?
Keep in mind too much power in the transistor means it burns up.
Also, the uC chip has to turn on the first transistor...can it put out
enough current to drive that transistor properly or will it burn up
after a few hours run time?
 
Last edited:
what if:

it was a 1-12 possible cells, and so it can do singles (seperate channels) OR series sets, it was possible to multitap to do the series set? (no common ground on single channels)

it treated EVERY battery with the same respect that people treat a li-ion, and so every battery could be used, just based on a different voltage?
meaning
a hard fast charge to 80% then a topping off to a specified voltage, then a trickle for the ni-??? things so they reach 100%

It had BOTH different currents, AND different pulse widths , and was capable of 50-50 pulse charging at any of those currents?

it had 4 selectable discharge levels, 1V under load, 1V without load, .9v and .4v

it could be easier if it was 2 stage programable, like a microwave, you insert the Power and time specs, a pause spec, and a second power and time specs

it had temperature probes for every cell it could charge, like say IR temp probes, finished units of them are relativly cheap, then the user doesnt have to place them.

It could be programmed to terminate on a temperature rise, in combination with any of the other termination or staget methods?
Like , it reaches a voltage parameter, or a temp parameter, then moves to stage 2 of your programing

What if, to make the display and the programming, and the myriad of choices possible instead of trying to program a stamp or a microcontroller, it just used USB serial output out of the computer.
have 1 piece of software (updatable) with FEW features, then a myriad of "advanced" features if you want to adjust everything. that way everybody in the world could use it (even different languages) and "experts" can drive themselves battey tweaking it to death.
parameters could be saved out and shared with other users.

what if the moon was made of gold :)
 
Last edited:
...but this?
try to find the cheapest, commonly available ones that meet requirements

we already have them :) that isnt how we build home built computers.
things like a hunk of tin for a switch , noisey curcuits, unreadable displays (light) underrated power sources, cheap parts, nobody puts that stuff in when they hand build something, it takes corporate interest, and manufaturing to build like that.
That is why I say "that meet requirements". When designing the circuit, maybe we determine that we need a transistor that can handle X current, at Y Voltage, etc. There may be hundreds of different transistors that can handle the job, I'm just saying to strive to get the less expensive of the choices. Of course "the requirements" might even be that the component can handle 50% more load than it will ever see, for durability purposes. Not really being an electrical engineer, I don't know how these sort of things are handled in the design process. I'm just saying to keep price in mind, but never at the cost of quality. Try not to opt for that gold plated transistor unless it's absolutely necessary;).

Also, remember that basically, the plans we come up with would just be a suggestion, and if someone wants to make their own version with their own super beefy components, nothing is stopping them.
 
...Being a hardward *and* software man myself, i can
tell you that it isnt easy to build a charger that does every type of cell
out there (NiMH, Li-ion, Lead acid, NiCd packs).

The reason is that it seems that whatever you design somebody always
seems to come up with another type of cell or higher rating. One person
wants to charge one cell, another two in parallel, another wants high
output voltage to be able to charger packs. It never ends.

This is where my goal of modularity comes in to view. There is a single control unit, into which multiple charging units(modules) can be plugged in. Modules can be of varying power ratings. What we need is some standardized interface for controlling and monitoring the charge. So that any module, regardless of it's current or voltage can be controlled by the same processor.

The way I envision it, all charging modules would be some form of switched mode power supply, and the central controller would provide the signal to each module for when to switch on or off.
In order to determine the switching signals, the controller needs to monitor a certain number of things from each module: battery voltage, charge current, and temperature(am I leaving out anything big here?)

So the standard interface for a module is basically:
Inputs:
-Power Input
-Switch signal input
Outputs:
-Voltage sensing
-Current sensing
-Temp sensing
-Power output to battery

Again, I'm not an EE, so if there are major flaws in this idea, then please let me know.

If the basic controller framework is robust enough, it can be made to work with a module of just about any imaginable power handling ability.

As i said though, first define what cells you want to do and how high
you want the max and min current out of the thing to be. Make a list here.
I think it is best to start with something simple, and master that before moving on. Maybe the first module can be designed to only support NiMH and NiCD cells up to D size. I'm not sure what max current we would need for that. Of course it depends on the max capacity we expect for those cells, and how fast we expect the charger to be. Maybe again to keep it simple for the first iteration, we limit ourself to slow charging (8-12hr?) What do you guys think?

Later we can design more powerful modules that handle higher voltages, multi-cell battery packs, etc.
 
Last edited:
Hello Peepsalot,

Keep in mind that all of the battery manufacturers recommend staying within 1 - 2 hours for fast charging. The accepted slow charge is 16 hours at 0.1C.

We all know that it is possible to charge at slower (and at faster) rates, but in the design stage of a project I think it would be responsible to give consideration to the manufacturers recommendations.

Tom
 
Also, the uC chip has to turn on the first transistor...can it put out
enough current to drive that transistor properly or will it burn up
after a few hours run time?
I have a little experience with PICs from Microchip, and if I recall correctly, all of the ones I looked at had output pins rated at 50mA.
 
Hello Peepsalot,

Keep in mind that all of the battery manufacturers recommend staying within 1 - 2 hours for fast charging. The accepted slow charge is 16 hours at 0.1C.

We all know that it is possible to charge at slower (and at faster) rates, but in the design stage of a project I think it would be responsible to give consideration to the manufacturers recommendations.

Tom
That's good to know SilverFox. I was just guessing about the charge time, didn't know there was a standard. In that case I agree that we should use that as the default slow charge rate.
 
maxim has a lot of different charging IC's and application notes. I've been looking at those with building some of my own chargers in mind.
 
You ask for it...


Intelligent NiCd/NiMH Charger/Cycler with 2x16 Character LCD

[SIZE=-1]Intelligent NiCd/NiMH Charger/Cycler with 128x64 Graphical LCD

Once you understand how the stuff works, there shouldn't be a problem to modify the circuit for more cells and Lithium Ion.

Have fun..
[/SIZE]
That's pretty cool, but I don't consider it completely open.
They give you the firmware for the chip in Basic, but they say:
[SIZE=-1]The firmware for the 16F877A chip used in this design is given in the form of Basic source program that has to be compiled with PIC Simulator IDE integrated Basic compiler to get the HEX file ready to be programmed into the microcontroller.[/SIZE]
Which sounds like you have to purchase their software, which is not open.
 
what if:
you used 12 (not 10) seperate current voltage controllers that can be isolated (not common ground).

the key to having it work series or parellel, Multitap or single, and with every possible type of rechargable , it to think what is the SAME about each of the rechargables, not what is different about them.

each voltage current controller is from 1.2-1.5V capable.

-@-@-@--@-@-@--@-@-@--@-@-@-
|...|..|....|...|...|...|...|...|...|....|...|...|
to charge 1-12 ni-mhys you just connect to single controllers (seperate channels)


-@-@-@--@-@-@--@-@-@--@-@-@-
|............|...........|............|...........|
to charge 1-4 li-ions you just connect to 3 controllers for each cell

-@-@-@--@-@-@--@-@-@--@-@-@-
|...................................................|
to charge a Car battery, or 12v gell cell, you connect to the whole set

-@-@-@--@-@-@--@-@-@--@-@-@-
|............|...........|............|...........|
to charge series li-ions you just connect to 3 controllers for each cell and multitap as available up 14.4v li-ion packs

-@-@-@--@-@-@--@-@-@--@-@-@-
|............|...........|............|...........|
to charge 1-4 LI-FE (dewalt) you just connect to 3 controllers for each cell and drop the max voltage


-@-@-@--@-@-@--@-@-@--@-@-@-
|............|
your cell phone and pda, or single cell li-ion light


-@-@-@--@-@-@--@-@-@--@-@-@-
|............|............|
7.2 volt digital cameras, and video camera battereis.

a small kit could start with say 3 controllers only, and because each of the items are exactally the same, this part of it could be manufactured in quanity. and added in the quantity needed to do the job required.
because they are all the same, talking to each of them exactally the same way is possible, turn it on and off for pulse width, and have adjustable current for current controls.
 
Last edited:
Just a note...

I dont like charging NiMH in series, nor Li-ion, nor lead acid.
The only thing i will charge in series is NiCd, because the cells
that get overcharged can take it for a short while. The NiMHs
arent as good for this.
Any ideas?

Individual NiMH bays perhaps?
 
Power supplies are going to cost a bit - unless we want it to run from a car battery - in which case it is duplicating what is already available, probably at a lower cost than a self-assembly device. However, part of the fun is building it for yourself.

How many people are going to want to charge more than ten cells at once?

Most would probably be happy with 4-8 most of the time. I think...

Is anyone going to want more than 4A charge into anything? I'd say make more than 4A (per channel) some sort of option. That'll charge 12000mAh D's in about 4.5hr.

2A per channel is probably plenty for most for most of the time. Planning for 5A per channel all the time will make for a rather unwieldy and expensive setup.

Leave plenty of space on the PCB for large heatsinks - much nicer than fans. I hear too many fans already. Though I suppose, the higher the charging current, the shorter time it needs to be powered up.

Maybe design for 12V DC power only - probably limiting you to 8-9 cells in series. Then it is up to the end-user how they want to power it. Also makes for simpler and cheaper charger design.

It could be run from an AT PC PSU - cheap, lots of current at 12V - already cased and a remote switch for the mains portion.

Lithium ion or Lipo charging optional for those that need/want it.

Capacity measuring and datalogging (RS232/USB interface) would be really, really nice. RS232 is probably simpler to design and write software for and could be used on just about any old computer that is lying around. It might be expensive to implement but it would be very nice to have. Also it might be cheaper to control it from a computer than to replicate computer-like bits inside it. Knowing nothing about it, I may be miles off base but logging would be really good to have.

Just some thoughts...

I'll certainly be interested in building one.
 
Last edited:
If cost is no object then I'd go for some sort of modular design. This would have many benefits:

* easy to cater for different requirements
* better heat dissipation
* hardware updates would be easier

I would base the design on PCB that could be fitted either in a 19 inch subrack or simply tied together using spacers. The single Eurocard format with DIN 41612 type-H connectors would be ideal. There could be 4 extra holes, one in each corner, so they could be mounted with threaded spacers instead.

At the right-hand-side I would have a power supply card. If this were switched mode then, for safety, it would need to be enclosed. Alternatively, there could be a transformer screwed to the side of the subrack. Perhaps easier still, there could be a space for any standard ATX (PC) PSU. The PSU/card would supply a busbar that runs along the back of the subrack. This would power all the other cards. If the busbar was defined as 12-14V then it would be easy to run it from an automotive supply instead.

Next would be any number of identical regulator cards. Each one would supply a single cell. It could supply more cells but this could impact on the busbar voltage. The number of cards would be defined by the user. The output could be via the push-on connectors at the back of the card or possibly screw terminals at the front. Maybe even just a socket for the cell.

Finally there would be a controller card that incorporated the user interface. This could be an LCD with some buttons or a full blown web interface so that you could access it from any HTML-compatible browser.
 
Last edited:
It could be run from an AT PC PSU - cheap, lots of current at 12V - already cased and a remote switch for the mains portion.
I definitely agree with this. Mainly because I have a spare PSU laying around. :grin2: They can supply 12V(probably good for most charging circuits) and 5V(good for powering the microcontroller and logic circuits). I think this would work for the majority of uses.

Many people might find it easiest to just use a PC power supply, but if they want to build their own, they should be able to. I think that it would be nice to have the design plans to build the entire project from scratch if one wanted to. So the power supply board should be independent of the controller board, and charging modules. Each charging module can have a certain input voltage and max current requirements(12V would probably be good for most applications, but some might require more). So as long as the user has some power supply that can provide that input, they can use it.

Another possible option is that every charging module could step down from mains voltage itself, since it's already acting as a sort of step down power supply. I'm not sure of the overall advantages/disadvantages to that approach, but my first impression is that it does not sound very safe. It might be able to eliminate the need for one huge power supply, but also might drive up the cost and size of the charging modules so that you might as well have used one.

I hope my quest for ultimate flexibility is not complicating things too much. Please let me know what you guys think of these ideas.

Capacity measuring and datalogging (RS232/USB interface) would be really, really nice. RS232 is probably simpler to design and write software for and could be used on just about any old computer that is lying around. It might be expensive to implement but it would be very nice to have. Also it might be cheaper to control it from a computer than to replicate computer-like bits inside it. Knowing nothing about it, I may be miles off base but logging would be really good to have.
I think if we have an RS232 interface, that will require some type of microcontroller anyways. Since it is there, we might as well pack as much brains into this controller as we can. The RS232 interface is a good idea, but I don't think it should be what controls the charging. The charger should be able to stand on it's own, without the need for a master computer to be by it's side at all times.
 
Top