Arduino based 18650 battery tester proposal and a couple of questions.

ishmaeljoestar

New member
Joined
Apr 16, 2020
Messages
4
I plan to design a 18650 cell tester based on the atmega328p (arduino) that simultaneously measures 8 or 4 cells. It can measure capacity both on charge and on discharge. For the charging phase I find myself in a dilemma "to use a dedicated chip for lithium batteries like the cn3765 or to use a common integrated dcdc buck with current limit". Theoretically I want an acs712 as a current meter that measures current in a bi-directional way (hence why I proposed a common buck source since with its measurement I could decide when to stop the charging process and apart from that I could manipulate the charging voltage for those cells whose charge voltage is higher than 4.2v and also manipulate the cutting current). For discharge measurement, I plan to use the typical constant electronic load circuit based on an opamp, a mosfet and a low value resistance, so that the circuit varies its resistance so that the fixed current is extracted from the cell. My idea is to be able to measure cells at a maximum current of charge of and discharge of 4amp, to be able to test most cells at 1C. As extra data I plan to use the integrated 74HC4067 to expand from 6adc (minus the 2 used by the i2c of the screen) to 16adc 8 to measure voltage and 8 to measure current. Ha yes and almost forgot I plan to use an external voltage reference of 5v since the atmega328p takes it from the power supply and this could cause a measurement error.


I would like if you could help me with these questions before starting to design the circuit: D
I am concerned if charging 18650 batteries with a typical dcdc buck converter could damage the cells?
What is the lowest cut-off voltage you have seen in a cell? I plan to use an opamp to map the 2.5v to 4.2v in the 5v of the arduino adc to take full advantage of its 10bit resolution.


I leave you a crude image that I made of the obviating principle, I will use mosfets or relays to switch between the upload and download mode.
I leave you some photos of one that I had pre-made on an experimental plate, it works but I was quite dissatisfied with this version so I am considering the 2nd version that I mention (only test discharge with 7.2 resistor).
Sorry for my poor English use the google translator


images
 
I have built it in tp4056 as Charger and resistor tondischatge. For more accurate meeting use a current meter.

Megacrllcjarger and the x8 Charger do that to. X8 is open source so you can just copy that and you dont have to reinvent the wheel.

Unless you have time to spare?
 
daromer said:
I have built it in tp4056 as Charger and resistor tondischatge. For more accurate meeting use a current meter.

Megacrllcjarger and the x8 Charger do that to. X8 is open source so you can just copy that and you dont have to reinvent the wheel.

Unless you have time to spare?
I have already seen these projects, but the current is variable in measurement for discharge, and the tp4056 / 5100 limit 1 / 2amp. Something quite low considering that some cells support they have capacities greater than 3000mah if you want to test at 1c.

 
Do you need to test at higher? Or eo you aim to test higher current cells.
If so use a regular DC/DC for each channels or pwm drive the Charge.


Note that comparing capacity to its original the current used is often below 500mA. And to test IF they cope with high current you can easily meassure resistance with above during discharge
 
I use TP4056 cards to charge my cells, and sometimes they get really hot when they are defective.
With a higher current, I think you could have some surprises...
Personally, I just built a tester, with 5W 4Ohm resistors and MCP3008 to measure the voltage and deduce the current.
The result is not perfectly accurate, but what is important is to compare the cells between themselves.


Geocali said:
I use TP4056 cards to charge my cells, and sometimes they get really hot when they are defective.
With a higher current, I think you could have some surprises...
Personally, I just built a tester, with 5W 4Ohm resistors and MCP3008 to measure the voltage and deduce the current.
The result is not perfectly accurate, but what is important is to compare the cells between themselves.
You can find my project here:
https://github.com/Geocali/18650_tester
 
Geocali said:
I use TP4056 cards to charge my cells, and sometimes they get really hot when they are defective.
With a higher current, I think you could have some surprises...
Personally, I just built a tester, with 5W 4Ohm resistors and MCP3008 to measure the voltage and deduce the current.
The result is not perfectly accurate, but what is important is to compare the cells between themselves.


Geocali said:
I use TP4056 cards to charge my cells, and sometimes they get really hot when they are defective.
With a higher current, I think you could have some surprises...
Personally, I just built a tester, with 5W 4Ohm resistors and MCP3008 to measure the voltage and deduce the current.
The result is not perfectly accurate, but what is important is to compare the cells between themselves.
You can find my project here:
https://github.com/Geocali/18650_tester


I like your project, I would only advise you to put a voltage reference to the vref of mcp30008, since this way you eliminate the error factor added by the voltage changes of the source, of course now you will have to use 2 voltages to feed the circuit but the improvement of precision is considerable. The more expensive the ref the better the precision. (I have been using a piece of code in the atmega328p that allows to compare the vcc with an internal ref of 1.1v, it is not perfect but using some batteries that were practically new. I have measured an error of + -100mah which is acceptable to me from moment)

https://datasheet.lcsc.com/szlcsc/Linear-Tech-LT1029ACZ-PBF_C117263.pdf
 
Back
Top