Now that I am addicted to my electric skateboard with the nice performance of the VESC I feel that the only thing missing is a decent and competent BMS for a wide configuration of cells. Therefore I would like to start a long term project which I will document here, both to keep myself motivated + maybe implement some great ideas that arise in this topic. I think and hope that this forum is the right place for this new hobby project , feel free to point me to a problem you think I didn’t adres that is a bottleneck for the current available BMS’s.
Please note that my goal is not to make a cheap or affordable BMS, my goal is to make the most competent BMS for e-skateboard applications.
It will have the following features straight away:
*Soft power switch input with LED on / off / charge indicator.
*Charge input -> switched (high side) -> to charger input (to disable charger if a cell reaches the max voltage)
*Discharge input -> switched (high side)-> to motor controller / VESC (to disable the load when a cell reaches the min voltage)
*CAN bus interface for cell voltage monitoring and charger detection, status monitoring + more with future updates (like state of charge / state of health).
*Charge current sensing (future capacity measurement)
*Discharge current sensing (future capacity measurement)
*Pre charge for high capacitive load (with short detection, in case the motor controller is shorted / dead / wrong polarity)
*USB interface for serial communication and flashing (no need for a programmer -> HW serial bootloader is used)
Future features:
*mAh / Wh counting + soc + soh calculation.
*option to connect a cheap oled display for soc / soh display
*firmware update over can (trough VESC maby?)
*Chrome based configuration interface (+ firmware upgrades)
Most of this lingo is above my pay grade, but it sounds like a great idea. Having just shorted one of my Lipos, I’m liking the idiot (me) proof single plug bms scenario more and more. Good luck!
@JTAG Man this is 4am in the morning and you’re still awake lol!
Yes this is a very cool project, to be widely acceptable I hope this BMS works with either lipo / 18650 packs! The capacity measurement is very cool, really hard at the moment to really test how much is exactly 5000mah after several cycles.
Btw I am not quite sure, but with Dual VESC configuration the CAN port is being used for traction control. Not sure if CAN bus could be branched, but since it’s a bus its probably possible. I am not an electrical engineer, so I don’t know how CAN bus works.
Finally some contribution from The Netherlands! Happy Kingsday @JTAG
Awsome, i had a similar idea. Instead I was thinking of using one of the intersill battery management ic’s with i2c. The vesc would then directly control the bms through i2c without the need for another microcontroller in the system. I might be mistaken, but I think there should be enough processing power left on the vesc.
Yeah happy Kingsday to you as well :), finally the weather is getting better.
The CAN bus should have lots of capacity left to communicate with other stuff. Not really looked into the firmware of the VESC yet but I am pretty sure its possible.
@Mobutusan is saw your post! It looked nasty, but luckily no fire :). Especially the no more sparking and soft switching is what I like. I would really like the amount of PCB’s in a board as low as possible.
@harpie Hmm I havent looked into Intersil yet thanks for the tip! Yeah the VESC has plenty of processing capacity left, but there is a chicken egg problem. The powermanagement of the vesc is not suitable to be always connected to the battery, this takes away the opportunity to utilize it. I would also like it to stay universal to be used with other BLDC’s.
@Blasto nice one :), no, no JTAG. Just SWD should be sufficient . I am using Altium.
Once I made all libraries Ill start composing the schematic and share it!
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 ^^.
@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.