I started off this device to be a simple meter of internal resistance of mobile phone batteries but over time it became a bit more complex project. It is based on PIC16F88 microcontroller.
You can download the entire project files (schematics, hex file for PIC16F88) by clicking on red download button at the end of the article.
UPDATE 04-26-2011: New firmware is added to the .rar archive (the red download button). Some bugs fixed (read the CHANGELOG.txt file from the .rar archive).
UPDATE 05-15-2011: New firmware is added to the .rar archive (the red download button). Some bugs fixed (read the CHANGELOG.txt file from the .rar archive).
UPDATE 07-07-2011: New firmware is added to the .rar archive (the red download button). Some bugs fixed (read the CHANGELOG.txt file from the .rar archive).
UPDATE 01-30-2012: New firmware is added to the .rar archive (the red download button). Few changes made (read the CHANGELOG.txt file from the .rar archive).
So, now we have these capabilities: battery charging, discharging, measuring internal resistance of batteries and measuring capacity of Li Ion, Li Po, Ni Cd, Ni MH as well as regular (non rechargeable 1.5V cells). This device is fully automated so we can leave it overnight to fully discharge the battery, charge it, measure capacity and show on display.
In case of power supply loss, charger will remember how much it charged battery already and will continue after that point. This will prevent over-charging.
You can also force stop the charging process and start discharging from that point or continue charging. Charging of Li Ion and Li Po is done in two steps; first it will charge to 4.3V per cell and then continue pulsed-charge and hold the voltage on 4.25V so that the battery voltage is being measured without the presence of charge current. Discharging cells for the purpose of measuring capacity is done until 3V per cell. Capacity is measured during charging so we can know how much mAh the battery has accepted. Termination of charge in Ni MH and Ni Cd batteries is done with "delta T" method, where if the temperature rise is more than 1.5 degrees Celsius per minute it means the battery is full and charging will stop. There is also a fail-safe mechanism that will prevent overcharge when thermometer fails. In that case, the cut-off voltage is 1.6V per cell. Discharging of this kind of batteries goes until 1V per cell.
The purpose of testing 1.5V cells is to know the quality of the batteries that we purchase - we shouldn't just trust commercials that we see.
There are two PCB drawings for this device. One of them is for LM2575 which is easier to find, and a 330µH coil must be used with it.
[ Source: E. Lelic ]
- From alvideo on 06-04-2015 at 15:29:13
Charging Li-On battery to 4.3V is too much. Can You modify firmware chgarge Li-On to 4.2V?
- From radovan7773 on 11-05-2014 at 20:59:12
The hex file not include config bits,charging not working. Schematic good is?The by layout must
be conected to pin1 rezistor or capacitor to ground but in chematic is not Working this anyhow?
- From Daniel Andrasi on 24-02-2014 at 11:28:51
Can You provide source code for personal use?
I would like to build the circuit, but I have difeerent PIC at hand, and probably add a new
feature to measeure the voltage of all the cells separately. This way it is possible to sort
out bad cells in a pack.
- From Vladakru on 06-01-2014 at 22:50:43
i jos jedno pitanje. moze li punjac da puni odjednom vise baterija? serijski ili paralelno
- From Vladakru on 06-01-2014 at 22:14:46
Ne mogu nigde da nadjem spisak delova.
Ako mozete da postavite spisak, i jos koju sliku same ploce iz nekoliko uglova, odozgo i
- From Damir on 30-12-2013 at 08:16:49
Imam jedan problem s testerom, a to je da nakon vremena izbaci grešku "Interrupted
charge" i otpornik R21 se jako grije.
- From trax on 29-07-2013 at 08:35:37
Vjerovatno si uspjesno isprogramirao kontroler, ali ti je ukljucen Code Protect pa ne moze da
uradit verifikaciju nakon programiranja. Probaj prije programiranja da iskljucis "CP"
- From zoki021 on 27-07-2013 at 00:49:16
Probao sam winpic800 icprog picprg na taith i willem programeru ali nece. Prepozna cip i iscita
ga ali kad krene programiranje da verify error. sa drugim cipovima 16f629 i 16f84 normalno
Nasao sam na netu da govore o povezivanju otponika na nozice 9/10...
- From 126.96.36.199 on 26-07-2013 at 23:34:58
Moze bilo koji isto kao za 16F84, ja koristio JDM programmer i WIN Pic software. Mislim da moze
- From zoki021 on 26-07-2013 at 17:47:07
Pokusavam da sastavim uredjaj ali nikako ne uspevam da isprogramiram 16f88.Imam par
programatora koje sam sam pravio ali ne ide.
Sa kojim programatorom kucne izrade moze da se pouzdano isprogramira kontroler?