DIY 6S to 12S BMS with CAN - DieBieMS

This is amazing… I literally sat here and read this hole thread wanting more… This is great!! Keep it up!

1 Like

If you ever run into any problems there’s another project similar

That project seems cool but it’s very incomplete and the code is absolute spaghetti (that means messy for non coders)

Lol the code is formatted correctly and has detailed comments on nearly every line of code, very neat. And if you followed the thread the creator made he successfully made a modular BMS that allows up to 96 cells. I love what JTAG is doing here but if he ever ran into problems this is an incredible resource to look at

having proper indentations and comments is not what make code clean. I agree it’s a great resource, it’s just not clean code

1 Like

Mind explaining why its ugly code then?

@cjoliver @Stevemk14ebr

Please guy, let use PM for that conversation. thank you in advance for your cooperation :wink:

Lol

tenchars

This is incredible news! Thanks for posting the pics. It really illustrates the concepts well. :thumbsup:

As a student, this is very inspiring! our design project is the same as this, BMS with active cell balancing 48volts for e-vehicle applications. Right now, we only have little idea on how to do it. How do you guys learn how to design BMS in its hardware and software? can you recommend me some books to read? I am not that knowledgeable at this moment but I am very willing to learn to know how it works to be able to design a BMS. From choosing the right microcontroller, IC, and other parts up to implementing the software. Any help from all of you guys is very much appreciated. Thanks. God bless. And hoping to hear from you all soon. :slight_smile:

1 Like

@JTAG - wow man this is really amazing. I’d love to be an early tester if you still need one. I’m on the fence on BMS and have been kicking around the idea of adding one to my boards - this looks like the ultimate BMS to me.

Let me know when there is a pre-order option and how i can help support!

Go on ti.com, choose a chip, read a fuck ton of app notes

Do you think it’s a safe bet to start buying components, or do you think you are going to have to do some major hardware revisions?

Hi, there is a hardware revision upcoming to improve ease of manufacturing and a few small component value changes. There is also a small conducted emission.immunity test coming that should show any major design flaws if any.

Small update: The BMS was capable of balancing the pack (with mismatches like the previous screenshot) to this new state in just 4 hours :blush: :

I am now working on a command line interface over serial, this should make configuration doable as long as there is no real ui.

13 Likes

@JTAG You are sitting on a gold mine here. Just make it into final production, and we all are going to buy this piece of art from you !!

8 Likes

@jtag Brilliant!!! :sunglasses::+1:

Amazing work @JTAG, count me in too, already have the space reserved in my next build

Do you have any ideia on how the fuel gauge algorithm will work? I’ve been sketching some ideas but none seen reliable to give an acurate state of charge across all available energy. I was going to design it to gather the energy consumed from VESC via uart on an arduino

The main problems I found:

  • how to account for battery degradation?
  • since most discharges are only partial (in my case maybe in will never use all the energy in one take) you can’t average the total energy from a few full discharge cicles and make that the 100% state of charge
  • In you design i understood that the current and voltage are measured charging and discharging, the integration errors over a lot of charge/discharge cicles is negligible? But even so I don’t see a way of estimating the loss from degradation without doing a complete full discharge from time to time

Of course all of the above aims toward a ultra precise fuel gauge, maybe for our boards just using a 100% charge energy value a little bit below than the real capacity and integrating charge/discharge energy will do

I wil take a look at the Tesla open patents, from all I’ve seen they do do a pretty good job on the fuel gauge, even so considering that most of the people will never do a full discharge on the lifetime of the car

1 Like

Is it ridiculous to ask a ballpark $ on what this BMS will be? :slight_smile:

1 Like

I don’t know what algorithm I am going to implement yet. I just know I know everything that is realistically measurable about the pack (individual cell voltages, pack current and temperatures on two places in the pack) . Once all the basic functionality is done ( already done ) and safety cut off systems( almost done ) ill start looking at research papers that focus on this topic.

I haven’t summed up all components. but expect a price close to 150 euro.

2 Likes

@JTAG

Have you been heard from a technic called “Power Pump Cell balancing” (name from TI)? This technic discharges the stronger cell and use this energy to charge the weaker cell so there aren´t isn´t so much energy wasted into head during balancing. With this technology it is also possible to balance the cells during discharge to squeeze all energy out of the pack. Unfortunally all ICs which are designed for the technic are not recommendet for new designs (see BQ78PL116). Here is an Application Report from TI which describes the principle a lot better than I could do.

Disadvantages are you need more components and the PCB would grow.

Perhaps you could think about adding this feauture to your BMS Version 2.

But in any case I would love to see a BMS from you which I could use for my two wheeled balancing scooter. I would use the BMS on my battery and the CAN connected to an Teensyduino 3.1 on the Teensyduino there are two VESCs on the hardware serial ports 1 and 2 and some sensors and LEDs for battery level indication and things like that. So the Teensyduino would be the head and only needs to read out the BMS.

I would love to see a charging Mode also so that I could integrate everything I need to charge the battery into the vehicle.

Please have a look an the following article and think about using a chrome app.

Best Regards

2 Likes