picoBMS - LTC6804 - open source, open hardware build

exco

10 W
Joined
Feb 19, 2011
Messages
80
So it does finally happen. I couldn't find a useful BMS for the electric kickboard I'm working on - so I'm having a friend
of mine build one.

Specs are roughly:
  • 38x65mm
  • 0.5a balancing current
  • <= 12S, daisy-chainable,
  • RS485
  • 3 temperature sensors (bleeding, battery pack)
  • MCU EFM32ZG108 (programmable through serial / stlink v2)
  • high side charging switch-off module (5A, customizable with higher rated fets)

down the road (maybe someone steps up faster)
  • lcd or other status display (connected through RS485)
  • low side over current module/contactor
    • IO for an on/off switch to replace contactors
    • pre-charge circuit (fet + resistor)
    • connected through RS485)
Say hi if you're interested in getting one (at cost). If I get some people together I will do a small assembly run e.g. through smallbatchassembly.

I will post pictures of the first prototype boards as these progress as well as a link to github as soon as there is a working codebase.
Expect the next progress post on this in about 4 weeks.
 
What continuous discharge current can it do?

That's nice to see intelligent BMS options popping up on ES :wink: Definitely looking for this too!
 
The BMS itself won't do overcurrent protection.
For my use case fuse + correct current/lv settings at controller level will do.

I will optionally build an overcurrent/contactor module.
 
circuit said:
Perhaps you would be interested in this ready to use solution?
https://endless-sphere.com/forums/viewtopic.php?f=31&t=78552

Limited voltage range with no extensibility and limited discharge current mean this isn't applicable to many use cases.

What I really want is a battery monitoring system which can then pass along that information or make things happen externally via some logic level outputs
 
You can simplify the design a bit by going to 0.05A balancing current over 0.5A balancing current.

If you even have a cell self-discharging at 0.05A, it will be puffed and leaking soon enough, and higher balance current won't repair the issue causing the high self discharge.

Ensure your BMS only draws power from the top most and bottom most cells in the string. The BMS's that draw from the string unbalanced tend to do more harm than good.
 
Ohbse said:
circuit said:
Perhaps you would be interested in this ready to use solution?
https://endless-sphere.com/forums/viewtopic.php?f=31&t=78552

Limited voltage range with no extensibility and limited discharge current mean this isn't applicable to many use cases.

What I really want is a battery monitoring system which can then pass along that information or make things happen externally via some logic level outputs

Current level is unlimited.
If 150A is not enough, it can drive external contactors via logic outputs. Supports external current sensor up to 600A at the moment.
If 600A is not enough, it can directly drive controller's logic supply. So contactor or any other kind of disconnect device is not needed at all.

It also contains:
- precharge
- Android app
- 3 temp sensors
- MODBUS communication
- in addition, programmable inputs and outputs

So it ticks all of OP's points, except daisy-chain. But on the other hand, it is a single board solution, so less cost due to no master/slave modules.

Daisy-chainable BMS is a dream that many have. There was a thread and even kickstarter campaigns a couple months back. It was not funded.
 
circuit said:
Perhaps you would be interested in this ready to use solution?
https://endless-sphere.com/forums/viewtopic.php?f=31&t=78552
I already posted why I didn't like your design in your thread.
 
liveforphysics said:
You can simplify the design a bit by going to 0.05A balancing current over 0.5A balancing current.

If you even have a cell self-discharging at 0.05A, it will be puffed and leaking soon enough, and higher balance current won't repair the issue causing the high self discharge.

Ensure your BMS only draws power from the top most and bottom most cells in the string. The BMS's that draw from the string unbalanced tend to do more harm than good.

Listen to this advice. 0.5A is way more balance current then needed. It's better to focus on good design that minimizes power consumption.
Did you get away from active balancing? It just over complicates things, stick with passive.
Also ensure that all BMS power is drawn from the whole pack, use a DC/DC that can handle the full voltage range.
I like that you are not putting mosfets on the board with shunt(s). It's nice to have them separate or just use controller voltage cut / contactor + hall sensor
 
okashira said:
liveforphysics said:
You can simplify the design a bit by going to 0.05A balancing current over 0.5A balancing current.

If you even have a cell self-discharging at 0.05A, it will be puffed and leaking soon enough, and higher balance current won't repair the issue causing the high self discharge.

Ensure your BMS only draws power from the top most and bottom most cells in the string. The BMS's that draw from the string unbalanced tend to do more harm than good.

Listen to this advice. 0.5A is way more balance current then needed. It's better to focus on good design that minimizes power consumption.
Did you get away from active balancing? It just over complicates things, stick with passive.
Also ensure that all BMS power is drawn from the whole pack, use a DC/DC that can handle the full voltage range.
I like that you are not putting mosfets on the board with shunt(s). It's nice to have them separate or just use controller voltage cut / contactor + hall sensor

Imho high current balancing for diy builds is not that bad of an idea since you can hack battery packs from used cells more easy.
Also I can easily reduce the balancing current through pwm'ing the resistors quite easily.

Focus is on low standby power (hence this MCU).
 
let's assume for one moment, that I have bought dozen of bms available on the market from 20 to 350$ and
have made some experiences with / evaluated those and I'm not just saying hey why don't I build a bms
monkey who finds a banana style.

as to your input: yes, worst case scenario 11 full cells which would result in 4.2V*0.5A*11= 23.1W heat to dissipate.
  • there is temperature sensors - so the bms can act accordingly
  • the bms doesn't need to bleed 11 cells simultaneously (algorithm)
  • the bms can start bleedin below 4.2V (algorithm)
  • the bms / central unit can do logging and notify you of weak cells
  • regarding my use case I have a milled heat sink that mounts to a metal part of the vehicle
 
Back
Top