Smart Battery Charger with Graphical Data Logger

From OpenCircuits
Jump to navigation Jump to search


  • Name: Smart Battery Charger with Graphical Data Logger
  • Status: still developing, java is close to working.
  • Technology: Java -- should run on many platforms, Windows 98 through Vista, Mac, Linux PIC, could be BitWacker or even other microcontroller with serial port.
  • Author: russ_hensel ( where you can find an email address to reach me )
  • License: not fully determined, but open source and object code.


  • A smart battery charger ( one component of which is a PC ) for charging, discharging... NiCad, Nickel Metal, and perhaps other battery types.
  • Graphical record of the charge current and voltag.
  • A complete log of activity is provided both to the screen and to a log file.

This is one of a series of articles on Microcontroller Serial Communications, rooted at this site here: Microcontroller Serial Communications Articles

Collaborator Anyone?[edit]

Anyone want to help with this project? I have plans for the hardware, but software could support a lot of variants, and you may prefer a different hardware configuration. The Java software I will work on untill it works well enough, but I could use testers, and once it works well enough the code will be open and available for others to enhance.

Some people at the Sparkfun forum seem interested.

Ways of Collaborating[edit]

Anything you want to do is fine, it could include:

  • Just building ( and testing ) the charger
  • Improving and/or extending the board, a more compact board, adding a PIC and power supply..... are possible ideas.
  • Writing alternative PC interfaces for the hardware, some might prefer .Net or....
  • Enhancing the Java program ( you need to let me finish what I am doing first )
  • Testing the Java -- some can be done using any device with a serial port, I have a simulator that substitutes for some of the hardware.
  • You can just lurk, that is participate in a stealth mode.
  • Add to the list anything that occurs to you, I will let you know if it works for me.



Comming Soon


  • Comming soon

Some Features[edit]

  • Charging data graphed and saved to log file.
  • May be used to charge, discharge, test, or cycle batteries.
  • Charging algorithim on the PC: High current phase may be ended by peaking, time limit, or voltage limit


Hardware will come in 3 parts, the powersupply, the microcontroller and the analog charger section.

PIC Hardware[edit]

BitWacker will be fine, will also have some alternatives. We will need 2 analog inputs, 2 digital outputs, and a third digital or analog output.

Analog Charger Hardware[edit]

Circuit overview. An operational amplifier and darlington transistor will be used as a constant current source. A second operational amplifier will amplify the current signal for input to the PIC. A third operational amplifier will amplify and condition the voltage signal for the PIC. The operational amplifiers will be powered by a single 5 volt power supply. Input voltage will be between 12 and 25 volts so that many cell batteries can be charged. To reverse the current for discharge 2, 2 pole relays will be used. The relays could be replaced by a double pole double throw switch ( the user, not the software would have to be used to throw the switch ).

Board design will be in Eagle, single sided for Toner Transfer.

Schematic (preliminary)

SC C.png

Board (preliminary)

SC B.png


PIC Software[edit]

  • Off the shelf BitWacker Software should be fine if used with BitWacker.
  • Will have a BoostC implementation for the PIC16F877A and similar
  • Roll your own, will need 2 AD inputs, 1 output, and serial link.

PC Software[edit]

Java Based have almost working version.

Menu Choices[edit]

  • File -> Exit
    • Closes the comm port and exits the application.
  • File -> About the Application
    • About Box for the Application
  • More comming as work proceeds.

Download and Install[edit]

See the page BitWacker PIC and Other Microcontroller to Java Communications for the Java Components. For the microcontroller and other hardware email me.

Command Details[edit]


Bugs and Enhancements[edit]

See the list at RS232Probe Enhancements and Bugs a list for all the related applications.