If you use batteries frequently then this project is just for you, ever wondered about how to extend the life of your battery or the amount of charge stored? The first thing is the easiest part first discharge before recharging, but the commercial chargers with this function are quite expensive, the second is more complicated because you must measure the batteries internal resistance.
This project has it all, software controlled charge/discharge rates, monitoring functions, resistance measurement. The interface software has a simple interface with a large plot, which can be exported in .bmp format after each cycle or manually.
What I like mostly about this project is the simple schematic, doesn’t uses micro controller, everything is made trough the parallel port, this way anybody can built it, without the need to dig for programmers, compilers. The necessary ADC and DAC is implemented with discrete components, the ADC used or voltage measurement has 12bit resolution and SAR(sequential approximation register) architecture, the DAC used for current control has only 4 bit resolution. This is a good example to understand these circuits used in many micro controllers internal circuit.
PC controlled battery tester: [link]
The PWM frequency is about 10 kHz and does not make a noise in the motor. The 5 K Ohm potentiometer is connected to ADC input channel 0 and is converted to 1024 (10 bit) value, this value is applied to the PWM control and produces very smooth speed control. The HEXFET type IRL1004 has extremely low on resistance (0.009 Ohm) and requires only logic level drive, in this application it does not get warm even when controlling 1 Amp motor current. according the IRL1004 data sheet it can handle much higher motor current.
DC motor speed control using PWM: [Link]
The circuit uses a constant current drive and a four wire connection to the probes. This allows almost any length of probe connecting cable without re-calibration. Surface mount chips are wonderful, but for prototype work these can be difficult to use. If you only have SMD parts available to make it easier you can construct a SO to DIP adapter.
Two Channel Thermometer: [Link]
Interfacing an Analog-to-Digital Converter (ADC) with Linux via the parallel port is fairly simple. There two major areas that need to be addressed – hardware and software. The hardware consists of the parallel port, an ADC, and an analog signal source. The software we programmed in ‘C’ language.
Interfacing Your Computer to an ADC via the Parallel Port: [Link]