Introduction: Battery Charge and Discharge Controller
I have been using a bad charger for Li-Ion cells for several years. That's why I wanted to build my own, which can charge and discharge Li-Ion cells. In addition, my own charger should also have a display that should show the voltage, temperature and other data. In this tutorial I will show you how to build your own.
Supplies
This project contains the following parts:
- 24x 90Ω resistor (THT)
- 1x PCB
- 3x Pin header 4 pin
- 13x Transistor (THT)
- 1x Pin header 3 pin
- 4x Diode (SMD)
- 1x Joystick (SMD)
- 34x 1KΩ resistor (SMD)
- 10x 100Ω resistor (SMD)
- 6x 1,2KΩ resistor (SMD)
- 3x 10KΩ resistor (SMD)
- 15x LED (SMD)
- 3x RGB LED (SMD)
- 1x Fan +12V 40mm x 40mm x 10mm
- 1x ATMEGA328P-AU (SMD)
- 1x Mini buzzer (THT)
- 1x DC power jack
- 1x Pin jumper
- 1x DC-DC buck converter (THT)
- 1x USB 3.1 jack (SMD)
- 16x Pin header male
- 1x I2C oled display (THT)
- 2x 16MHZ crystal (SMD)
- 1x USB-B (SMD)
- 6x Li-Ion charge controller (SMD)
- 1x USB controller
- 1x Button (SMD)
- 12x 8µF cap (SMD)
- 4x 0,1µF cap (SMD)
- 6x 400mΩ resistor shunt (SMD)
- 1x I2C temp sensor (THT)
- 3x Shift register (THT)
In addition, you should have a suitable soldering and measure set, which consists of a soldering iron, solder, (hot air soldering device), multimeter and so on.
The following software has been used:
- Autodesk EAGLE
- Arduino IDE
- 123D Design
You can find further data under this link: github.com/MarvinsTech/Battery-charge-and-discharge-controller
Step 1: Soldering
First you solder all components (as in the pictures) on the board, but make sure that the SMD components are soldered in the correct orientation. You can recognize the correct direction by the white dots on the board. When you have finished soldering, do not under any circumstances connect the circuit board with current, as this could damage the components!
Step 2: Preparations for Commissioning
In order to be able to operate the board with the required input current, we first have to set the DC to DC buck converter to an output voltage of +5V. To do this, we first pull the +5V jumper on the board and then connect it to the power via the DC jack. Make sure that the voltage is in a range from +6V to +12V, otherwise damage to the DC to DC buck converter could occur. Then measure the voltage at the output of the converter (see picture) and at the same time set an approximate voltage of +5V with a screwdriver. If the voltmeter should show no voltage, press the switch on the circuit board to supply the DC to DC converter with power.
When you are finished, you can also cut an aluminum or steel plate and place it on the resistors with thermal pads. Through which the heat can be dissipated even better. However, the Li-ion cells with this resistance constellation are discharged at around 220mA. Which means that the resistors can reach a maximum of 60°C or 140°F according to my measurements. That's why I think that this could also be left out.
Step 3: Upload the Program
In the last step you have to connect the board to a computer via the USB type B connection and load the code with the latest version on it. To do this, select the Arduino Nano in the Arduino IDE under Tools -> Board and the ATmega 328P (Old Bootloader) under the item Processor. Then press the upload button and your own battery charge and discharge controller is ready.