1.2 V Battery checker by discharge
This project was inspired by the Martin OSSMANN battery checker. I found it can be enhanced and simplified. My scheme shows these improvements. It works fine now !
This project was inspired by the Martin OSSMANN battery checker. I found it can be enhanced and simplified. My scheme shows these improvements:
1 - The ATMega328 is programmed 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 circuit is simpler (no negative voltage generation).
5 - I add a resistor (pull-down) to detect when the battery is removed from the socket (10 kOhm).
6 - The time counter uses the Timer 1 (ISP socket is available for, programming the ATMega328).
7 - The discharge current is selected by a switch depending on the battery size (AA or AAA size) : 50 mA or 20 mA. The switch position must match with battery size, else the check will not start. Very easy to use !
8 - I write the program using ARDUINO language, not ATMEL Studio. It is very simple to read and understand.
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 20 mA (AAA battery), or 50 mA (AA battery) by Timer2 used as PWM generator.
Buildt it and post here your battery load results, or send an email !
All ideas and suggestions are welcome !
2021/01/08
I add a table showing the caacity of my batteries. Because someone are very old, I didn't mention the brand. It seems the capacity depends on the loading mode, on the 2nd battery during loading, . . . .
2021/01/08
I add a table showing the caacity of my batteries. Because someone are very old, I didn't mention the brand. It seems the capacity depends on the loading mode, on the 2nd battery during loading, . . . .
Discussie (2 opmerking(en))
TechDoc 9 jaar geleden
Regards.
ClemensValens 9 jaar geleden
To me atomicity of the code refers to uninterruptable blocks of code. Why would that be helpful for you? If you globally disable interrupts, your code becomes pretty atomic.
ClemensValens 9 jaar geleden
Did you check the clock frequency? Are your timers running at the correct frequency? The MCU in the Ossman project runs at 11.0592 MHz, the Arduino MCU normally runs at 16 MHz.
BTW, we are currently reworking the Ossman project into a Platino Battery Tester [130543]. It will also be able to recharge the battery after testing it.
Regards,
Clemens
TechDoc 9 jaar geleden
ClemensValens 9 jaar geleden
TechDoc 9 jaar geleden
TechDoc 9 jaar geleden
ClemensValens 9 jaar geleden
TechDoc 9 jaar geleden