DIY 6S to 12S BMS with CAN - DieBieMS

I have been working on a non IC BMS, How much current will you be designing this to handle? It would be great if you used KiCAD for this project.

1 Like

Speaking out of experience, it’s really hard for someone to go from Altium to Kicad, I tried and failed miserably. Felt like a complete Ecad noob.

Especially if he has a nice big library that is already built, building a library is a long and tedious process.

1 Like

I suppose your right but you lose the people who only work on projects based on open source tools, myself included. I will just have to be happy sitting on the sideline cheering this project on!

Unfortunately indeed once you are used to a powerful CAD tool you get easily annoyed and lose motivation quickly ( for a costumer of mine I have to work in Eagle, it is HORRIBLE, I can sum the disadvantages but the list is so long I wont even start ). I need about 1/3 of the time in Altium than I would in Eagle.

And next, if someone would like the branch and go in another direction with the project it is very likely the change would be significant and one would restart the pcb design completely (in the CAD program he/she feels comfortable).

The weather is getting nicer by the day & parts are arriving -> there is lots of motivation to finish fast :D. Luckily the software of the BMS is orders of magnitude simpler than the VESC ^^.

HA someone had a similar idea! Nice one @onloop !

1 Like

But no mcu :wink:

Still in testing phase, some small issues to iron out

1 Like

Aaaah how could I have missed that thread :hushed:? Nice build! Did you design this BMS? What chip do you use?

OK the project that kept me from making progress on the BMS is finally working! Here is the victory picture:

This weekend I fully dedicate to the BMS, let the progress begin :grin:!

4 Likes

It’s based on the bq77pl900 ic from TI. It’s a standalone chip, could be used in a host enviroment. Wanted to keep things simple

5 to 12S nice, with charge and discharge fet driver. Nice and affordable all in one solution indeed!

@JTAG I didn’t read it as part of the features, but normally BMS are relative to cells count and the voltage. It would be nice if you can use various power supply voltages ranging from 12v up to lets say 50v.

Yes I could enable the BMS to support a “regular” power supply, It will need some sort of CC/CV supply or regulation. I did a project a while ago for a 12S system but never came around to finish the small and compact version of it:

However I would like to add this as an option later (would have added 15 euro to the cost of the BMS for a 100W CC/CV or double for 250W).

The smaller version is still a hacky prototype xD:

2 Likes

Huge progress today. Was able to make most of the library components and started to compose the schematic. The schematic so far can be found on Github ( see opening post ). Its far from done but we are getting somewhere!

Microcontroller will have a lot to “manage” :smile:.

3 Likes

Nice progress man. Well i think the micro controller in VESC still have plenty of room to process data. However I hope it doesnt make it run hotter or hitting over heating issue.

Next update and bringing an end to the sprint for this week. I forgot to add a SWD/Debug interface and switched the current / voltage monitoring to a dedicated chip ( ISL28022 ) for the job making the focus of today remapping all IO / peripherals to the uC and implementing it in the schematic:

And implemented most of the power switching elements:

Finally I started playing with the components layout, this are the results so far:

6 Likes

Slick! Do you have an estimated dimensions? Please post more common data for normal people like me. Charging voltage? Charging current? Discharge current? Would it be customizable like VESC? I mean more general information :smiley: it will trigger interest!

1 Like

Ah yeah of course! For now I design it with the following specs:

6S to 12S Charge current: 15A (up to 20A depending on heat) Discharge current: 120A (up to 160A burst a 10seconds isch depending on heat buildup)

I added a fancy feature that lets the BMS turn on when a charger is connected, The discharge contact will remain off (keeping the ESC powered down) in this state but the OLED display will show general information and the digital WS2812 LED shows a pattern indicating that its charging.

On first instance only the trivial stuff will be configurable: Number of cells Max discharge current Max charge current max cell voltage min cell voltage

I am planning on making a simple chrome app to do this configuration stuff. Cross platform and needs minimal installation + auto updates :D.

11 Likes

I feel like I should wear one of those full body non-static suits when I read this thread

6 Likes

@JTAG You are freaking awesome!! This is a great thread! I can’t wait to see where this is going! Cheers, Danny!!

Good stuff!

You don’t want to use the JST XH familly for your balance connector? don’t forget to route your shunt signals as a diff pair.

I don’t really like the regulator balance connectors, they feel really cheap and are easy to accidentally break (exposing unfused thin wires to the battery, very scary). I also want two temperature sensors on the pack and this connector solves both of these issues/desires.

And little progress on the schematic / board. I finally figured out how to reuse / implement multiple equal schematics for the cell balancing circuits:

4 Likes