This project was inspired by the Martin OSSMANN battery checker.
I found it can be enhanced and simplified.
My sheme scows these improvements:
1 - The ATMega328 is progammed by means of Arduino : this makes me easier for programming.
2 - I use a 4 x 20 char LCD display: The Ossmann displays are for Elektor readers and specialists ! My displays are for friends and family who are not familiar with these purposes.
3 - I add a "START" button, so the user follows the operation.
4 - The LCD circuitry is simpler (no negative voltage generation)
5 - I add a resistor to detect when the battery is removed from the socket (10 kOhm)
6 - The time counter uses the Timer 1 (ISP socket not available, programming is done only by theUSB connector)
7 - Only 1 discharge current : 250 mA (discharge current choice is too complicated for non specialists)
8 - I write the program using ARDUINO language, not ATMEL Studio
9 - You can choose for AA or AAA battery (the discharge current is always 250 mA)
The other parts of the scheme are not modified significantly.
The program works correctly.
The program counts (Timer1) the discharge duration; during this time, the current in the FET is regulated to drain 250mA by Timer2 (0.0625 Volts on the 4 x 1 Ohm resistors
. . . BUT :
My problem is : At the end of the check, the display shows a value about 3 times the value written on the cells (AAA : 5800 mAh rather the 1900 mAh !).
The question is : What is wrong in my program/formulas, or on my scheme ?
All ideas and suggestions are welcome !
Thaks for your help .
9150804570