Back to photostream

Battery Tester Control Board

Arduino based multi battery tester. Can test up to 8x lithium ion 18650 batteries independently.

 

U5 and U6 are serial to parallel converters connected to the SPI port of the Arduino. U2 is a parallel to serial converter connected to the same SPI port.

 

U5 controls enabling the charger for each battery, U6 controls the constant current discharge circuit for each. Both charger and discharger are located on the battery board.

 

U2 Reads the Sense inputs from each battery. The sense input is a flag to say when the charging current is below a certain threshold, indicating charging is complete.

 

U3 and U4 each contain 4x independent analogue switches which are used to connect the 4.2V reference through to the respective charger circuit for a particular battery. On the battery board the reference input to the charger has a weak pull-down resistor. When the switch is opened the charger is set to 0V, disabling the charger for that channel.

 

Each battery board has 4x channels. Two of these battery boards can be connected to the control board. These connect via J2 and J3. The DETECT pin is grounded on the battery board and using a pull-up on the Arduino input allows the board connection to be detected.

 

The LCD is 3.3V, so all signals are level shifted by the resistive divider network.

 

U7 is a precision 2.5V reference source, which is buffered and amplified by U8. The potentiometer is used to adjust the 4.2V reference output. This output is switched using the analogue switches to control the chargers for each battery and also is supplied to the ADC reference input on the Arduino.

 

Arduino will detect a battery being connected by the ADC registering a voltage. This triggers a charging cycle to begin. That continues until end of charge is detected by a logic low on the SENSE input.

 

Once charging is finished the battery is rested for a few minutes before a timed, constant current discharge cycle is begun. The discharge current and time to end of discharge allow the capacity of the battery to be calculated. This is displayed on the LCD and logged for download over USB to the PC.

 

Once the discharge is completed the cell is part charged to prevent it being left fully discharged.

 

Once the detected voltage drops to 0V the Arduino resets that channel and the whole process can start again when the next battery is connected.

50 views
0 faves
0 comments
Uploaded on December 22, 2021