/Schematics/Power supply/Smart battery tester and charger

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 ]

Author (sent by): E. Lelic

Download counter: 8,755

Rating: (2.91, votes 1962)


Date: 14-04-2011

Lokalna verzija ove stranice: Pametni tester i punjač baterija


Bookmark and Share Comments (41)

comment [31]

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?

comment [30]

You have PCB drawing in the RAR file for download. It is in LAY format for sPrint-Layout (download it from the internet)
IP: n/a

comment [29]

Great idea, can you please publish the silkscrenn of the pcb

comment [28]

Da li može korigovati firmware da puni Li-Ion do 4,2V a ne do 4,3V? Bio bih zahvalan. Pozdrav.
IP: n/a

comment [27]

Pozdrav! Koju kompenentu ste upotrebili u T1B i T2B? Hvala
IP: n/a

comment [26]

Can this Charge LiFePO4 batteries also? Specifically a123 batteries. Thanks Bob

comment [25]

bello Thanks Ray
IP: n/a

comment [24]

Rating: 15V 0.5A DC, transformer 12V 0.5A. Description of the principle is too long, but the principle is based on measuring the voltage on R21. With a known voltage, current and time, we can define the battery capacity. Also,calculate the discharge from the known values ​​of R1, R2, R5, R6.
IP: n/a

comment [23]

Hi, In the process of making this project. Can you advise on a suitable rating for the transformer? Also, whilst I am no code programmer, being a hobby medic., would you be willing to release the assembly programme just so I can see how you did it? I shall just load the hex file onto the PIC but would like to try to understand the method. Thanks in advance Ray
IP: n/a

comment [22]

Nije neaktivno dugme, nesto ti ne radi browser kako treba...
IP: n/a

Comment page: <12345>

add comment


e-mail (will not be published)


How much is = also add letter "a" at the end of your result! Eg.: 7a

Please log-in!

You can log-in on forum link: Login page. After logging-in, return to this page and click refresh in your browser.

site friends

sponsored links