Close
0%
0%

Battery Management System

This is a system that charges, balances, and handles the output of 5 18650 batteries. It is also software controlled and customizable.

Similar projects worth following
The system consists of a circuit board which the 5 batteries can be plugged into. This circuit board has the necessary circuitry to charge and balance these batteries. It must be powered by an external 30V power supply while the batteries are charging but can monitor the batteries while they are being loaded only powered by the batteries.

The system has changed quite a lot with the second attempt; is is only designed for five batteries in series this time because regulation gets difficult with voltages that are high enough to charge ten batteries in series. Instead of the switching regulator and constant current sink that was used with the last version there are two LM317s, one wired as a constant voltage source, and one wired as a constant current source. These are then switched with P-channel MOSFETs. The battery voltage reading and balancing are the same as the last circuit. The controller is somewhat different; instead of using an Arduino with wires going over to the main board a ATMega328p is used on the board. This is programmed in C without the use of Arduino. 

  • Box, Testing, and Fresh Battery Pack

    Marek12/31/2019 at 04:55 0 comments

    I have done quite a lot with the project sense the last update. I have got five fresh 18650 batteries to test it with. So far I have had mixed results, on the test after the first charge I was able to get nearly the capacity given by the manufacturer, but in proceeding tests the capacity that I was able to get started to go down. I will never be able to get full capacity because the low battery cutoff voltage in my system is a bit higher than the cutoff voltage given by the manufacturer. I also know that there is some systematic error with my scraped together current sink that I am using for testing; the current starts to drift up with time.

    .  

    I have also made a 3D printed enclosure for the project, I still need to make some type of lid.

  • Testing

    Marek12/04/2019 at 00:59 0 comments

    The firmware is completed for the most part; there are a few things that maybe could be improved. The next step is testing the BMS. I have come up with some test methods and I am starting the testing process. There will basically be a charge test and a discharge test where quantities such as battery voltage and time are measured. I am also going to try to do a coulomb counting test to determine battery pack capacity.  

  • Next Circuit Board

    Marek11/21/2019 at 06:44 0 comments

    The hardware part of the next circuit board is hopefully finished; it has arrived and I have assembled it. I now working on writing the firmware, I have decided to take the plunge and not use the arduino framework (although I am using an arduino as an ISP programmer).

  • Circuit Board #2

    Marek11/12/2019 at 01:47 0 comments

     After spending quite a bit of time trying to make the first version work I decided to make another circuit board. The main problem with the first board was reading the battery voltages preciously; for some reason they were moving around significantly each time they were read. This may have been because of significant noise throughout the entire circuit from the switching regulator. I will add more details on the second board when I am finished designing it and I am in the process of testing it. 

  • programming

    Marek10/28/2019 at 00:27 0 comments

    Currently the programming is being done for this project. After trying some other options I have decided just to use the standard arduino IDE and framework. I am starting by just trying to balance and charge five batteries instead of the full 10 that the system can handle. Reading the battery voltages accurately has turned out to be somewhat of a problem. Filtering and possibly a more accurate ADC module may need to be added.  

View all 5 project logs

Enjoy this project?

Share

Discussions

Martin wrote 11/28/2019 at 07:35 point

For me, big heatsinks and battery management does not go so well together. I smell some wasted power :-)

There are so many SMPS regulators available today, many of them are really easy to use, that I would not use a linear regulator here.

  Are you sure? yes | no

Marek wrote 11/29/2019 at 04:18 point

Its true, it is not very efficient. The maximum power dissipated is 13.5W, during constant current charging. Most of the wasted power comes from an external power supply during charging, not the batteries. It is using passive balancing so there is some power from the batteries being dissipated to balance them. 

In my first attempt I did try to use a switching regulator. The first problem with this was making a switching power supply work for constant current, I ended up not trying to make this work and only used it for constant voltage, there were still large heat sinks for constant current. There were still problems with the switching regulator though; the output had considerable ripple and there was also added noise all throughout the circuit. These two effects in combination made it very difficult to get precise battery voltage readings, which is why I ended up switching to linear regulators. 

I am sure if it was designed correctly a switching regulator could be made to work, and the efficiency could be greatly improved and I will consider it if I design another version of the board. 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates