linux-works
DIY: Li-Poly battery charger project
A 'short' project; convert a lipo charger into an arduino controlled system with a nicer display and 16bit a/d converters for voltage and current monitoring. Lots of useful features and open source, when its done.
The old school (literally; its probably over 40 years old, that 1k carbon) resistor thing is there to set the module's i2c address. They use an interesting way of using 1 wire to select from more than just 2 i2c addrs. you can tie the line to high, low or a SIGNAL line on the chip and it will know which one, even if the data changes (being on a signal line). Weird! But pretty cool idea. So, using a junker resistor, I selected addr 0x48. (Its usually a good idea to tie config lines to high or low thru a resistor instead of a direct connection. On some lines, they may want to output a level (for a short while) and if you hard-tied it to Vcc or gnd, that could be a 'fight').
This A/D module has 4 inputs (a0..a3) and you can use them in single ended mode or as pairs of differential (which is how I'm using it, here). In diff mode, I don't have to be ground-referenced; I can measure the battery voltage 'directly' from its + and - terminals. Same with current, I can use a 0.1ohm resistor as my sensor and put my diff-pair of wires across that resistor to measure 10x the actual current value, in Amps. The current measurement has to be differential since you are not doing a ground-referenced measurement at all!
The a/d module is easy to find, its $10 on amazon/etc.
The charger engine, itself, is an adafruit micro lipo board. The important part that makes this all work is the fact that the charger 'speed' (or Amps setting) is set by a single resistor and it works fine if you use a digital pot (spi or i2c; mine is spi since that's what I had on-hand) and a cpu to control it. A lookup table maps the current/amp value to the 0..255 pot value I have to set in software. With a 10k pot, you can go from less than 100mA to over 700mA of charge range, enough to cover almost all of my RC hobby batteries ;)
DIY: Li-Poly battery charger project
A 'short' project; convert a lipo charger into an arduino controlled system with a nicer display and 16bit a/d converters for voltage and current monitoring. Lots of useful features and open source, when its done.
The old school (literally; its probably over 40 years old, that 1k carbon) resistor thing is there to set the module's i2c address. They use an interesting way of using 1 wire to select from more than just 2 i2c addrs. you can tie the line to high, low or a SIGNAL line on the chip and it will know which one, even if the data changes (being on a signal line). Weird! But pretty cool idea. So, using a junker resistor, I selected addr 0x48. (Its usually a good idea to tie config lines to high or low thru a resistor instead of a direct connection. On some lines, they may want to output a level (for a short while) and if you hard-tied it to Vcc or gnd, that could be a 'fight').
This A/D module has 4 inputs (a0..a3) and you can use them in single ended mode or as pairs of differential (which is how I'm using it, here). In diff mode, I don't have to be ground-referenced; I can measure the battery voltage 'directly' from its + and - terminals. Same with current, I can use a 0.1ohm resistor as my sensor and put my diff-pair of wires across that resistor to measure 10x the actual current value, in Amps. The current measurement has to be differential since you are not doing a ground-referenced measurement at all!
The a/d module is easy to find, its $10 on amazon/etc.
The charger engine, itself, is an adafruit micro lipo board. The important part that makes this all work is the fact that the charger 'speed' (or Amps setting) is set by a single resistor and it works fine if you use a digital pot (spi or i2c; mine is spi since that's what I had on-hand) and a cpu to control it. A lookup table maps the current/amp value to the 0..255 pot value I have to set in software. With a 10k pot, you can go from less than 100mA to over 700mA of charge range, enough to cover almost all of my RC hobby batteries ;)