Open source BMS for 48V to 400V lithium-ion battery pack

That would be great,
I'm struggeling with the MCU.sch. I cannot get the STM32F303 symbol to load. And if i try to replace it, it will not connect to correct pins.
Is there a file missing or a library missing for this?
Code:
Symbol “STM32F303CCTx-MCU_ST_STM32” not found in library “BMS-Master-rescue”
 
I updated the BOM in the repo.

For the STM32 in kicad not showing up, that is strange. Should automatically load with rescue. If not, try deleting rescue file & reload project again!
 
I created a small user manual/datasheet to help understand the BMS pinout & functions. Work in progress

https://github.com/EnnoidMe/ENNOID-BMS/blob/master/Datasheet.pdf
 
All this is way over my pay grade, but on behalf of humanity, and the DC electrics community, thank you so much for doing this work as FOSS & open hardware.

 
Thanks for your support john61ct. I Appreciate.

I'm not alone into this thought, most work has been done by Dany Bokma who spent a lot of time in developping DieBieMS firmware/hardware.

I combined many parts from different existing open source projects to build ENNOID-BMS, a high voltage & high current BMS with isolation between control & power stage.

For example, voltage & current sense circuits in ENNOID-BMS were taken from the open source Axiom controller.
Interface for ENNOID-BMS tool is based on the VESC tool from Benjamin Vedder.

All this is very inspiring imo. I think we will soon have a complete open source hardware ecosystem for EV which is as good as existing commercial products and way more customizable/flexible.
 
Yes IMO it really takes community activity for a project to become sustainable long term, I'm sure we'll see more in coming years.

And let's not forget Fraunhofer IISB in Germany FoxBMS is commendable project, even if beyond the hobbyist arena, great ideas, components and architecture example there.
 
Is it necessary to discharge overcharged cells during balancing? Perhaps better to share the current with undercharged ones via parallel connection. But there have to be some kind of relays between cells which can act as fuses. Or share the current with neighboring cells in sequential order untill all cells are equal current.
 
Andrewol said:
Is it necessary to discharge overcharged cells during balancing?
No, there are several other methodologies, but this one "bleeding" aka passive or resistive, is implemented on 99.99% of the BMSs and balancing chargers.

_____
> Perhaps better to share the current with undercharged ones via parallel connection.

aka "capacitive", "charge shuttling" and "active charge-transfer balancing"

good in theory, but hard (perhaps expensive?) to implement well in practice

The "non-protective BMS" dedicated balancing gadgets often go this way.

Actual net energy saved is minimal, perhaps relevant in an off-grid solar-only setup

_____
The third type is "shunt based" apparently Zephyer BMS implements that well.
 
Concerning FoxBMS, It has many more fancy stuff than my BMS, but also at least twice as many components & at least twice as expensive. (Probably 3 to 4 times... maybe even more). Not only high voltage sections are isolated from each other, but everything. Redundancy is also everywhere with 2 MCU & 2 monitoring circuits. Is it a better approach? Depends, maybe for a research program or for a very big & complex battery system, but for a small or medium battery packs in an electric vehicle or an energy storage system at home, it is simply overkill.

That is why I'm developing a BMS which has everything to be functional without being too complex & too expensive.
 
Nice project here !

I am curious though as to why 12S and not 14S? Is it a massive undertaking to have a 14S version ? maybe some technical limit in the parts used?

*Edit* Ahhh, I see, the IC is the limiting factor. Any idea of when the newer IC will be available so it can go all the way to 18S ?
 
For 21S, you would need 2 slaves boards with the actual slave IC LTC6811 and you could then go up to 24S.

For 18S or 15S slaves, there exist LTC6812 & LTC6813 IC. The driver is not coded yet for ENNOID-BMS. I received some request from a customer last week to develop a driver & slave board. other problem is related to the availability of those IC...still very limited a the moment . Also, I will need a bigger 3d printer if I want to fit a 18S10P into a single battery module similar to what I have done so far with actual 12S10P.

I might jump on that project once every other actual production issues will be solved.
 
So what voltage ranges are **currently** supported? Both LFP and the more usual chemistries?

Are the setpoints adjustable without getting into source code, including when the balancing starts kicking in?

What is the balance rate?

Are the charge and discharge buss protected separately?

Sorry if this is all summarized somewhere, link would be appreciated.
 
Many settings are available without doing any coding.
You can check by yourself playing with the settings into the V0.30 app. https://github.com/EnnoidMe/ENNOID-BMS-Tool/releases
Many things I haven't personally tested yet.

But for your specific questions:
balance threshold.png
cell type.png

there is separate contactor outputs for charge & discharge.

Be patient, details will follow in the operating manual
 
I am a patient fellow, but suggest a summary datasheet should be prioritized for those interested in the project, but not going to set up a Windows machine just to get basic info.
 
john61ct said:
I am a patient fellow, but suggest a summary datasheet should be prioritized for those interested in the project, but not going to set up a Windows machine just to get basic info.
apple market share is less then 10 percent, so its reasonable to assume that most users are windows based and expecting mac specific tools for this highly specific product not a economically thing to put effort into.
Andrewol said:
Is it necessary to discharge overcharged cells during balancing? Perhaps better to share the current with undercharged ones via parallel connection. But there have to be some kind of relays between cells which can act as fuses. Or share the current with neighboring cells in sequential order untill all cells are equal current.
the BQ76 chip from TI used in the tesla batteries have active balancing. but that chip alone is 10 bucks a piece. add the active balancing hardware and you are looking at a pricy piece of kit, just one you can use up to a 700V battery.
still, if you have a good battery you dont need active balancing. and saving a bunch of money on cheap cells to then spend a lot more on a active balancing bms is just plain stupid.
 
flippy said:
apple market share is less then 10 percent, so its reasonable to assume that most users are windows based and expecting mac specific tools for this highly specific product not a economically thing to put effort into.
Very confused, who mentioned Apple?
 
john61ct said:
flippy said:
apple market share is less then 10 percent, so its reasonable to assume that most users are windows based and expecting mac specific tools for this highly specific product not a economically thing to put effort into.
Very confused, who mentioned Apple?
because any linux user knows their market share is less then 1 percent and knows to just use wine or another VM instead of complaining.
 
I made no complaint, nor did I say anything about Linux.

Simply suggested that having the information consolidated in a readable format would be better than requiring that people download software to figure things out.

Called trying to be helpful.
 
Back
Top