FlexiBMS - 0.2 HW under work - Flexible configuration and charging BMS

Best of both worlds, since we touched the topic, a vertical usb would also be better suited for onboard programming

Thanks

2 Likes

I’m looking at the possibility of using double footprint for that as well, so it can fit either horizontal or vertical connector.

EDIT: Yes, it’s possible to stack the footprints

2 Likes

I think it doesn´t matter much because you have the battery tabs on this side too - so a ballance connector this way shouldn´t use much more space.

I would call this board “somewhat” busy

5 Likes

Thanks, if you would like me to look at your schematic I would love to! Good work anyways ^^!

Am I overlooking the CAN transceiver or is it intentionally left out?

1 Like

No CAN at the moment and there isn’t space on the board to add it. I’m intending the main comms to be the HM-10 type bluetooth modules (serial bridges) during a ride, but I’m not explicitly saying that CAN can’t be added in some future iteration, if people request it.

I think there is enough un-tested stuff on this iteration to do a board :wink:

With serial would be easy to hook it to an arduino or similar right? Having all info on the remote would be great, pack temperature, energy used, individual cell voltage

I would not overcomplicate version 1, let’s see how it works first and how the community responds

It’s a standard USART bus, RX and TX lines that work with a certain baudrate. Can be an arduino on the other end for example. The USART pins on the STM32 are also 5V tolerant, so 5V arduino won’t blow them up, although if you’re taking power also from the module, it’s 3,3V.

1 Like

Some info on the shutdown/wake-up logic on the board:

I have implemented it in a way, that allows the MCU to shut off the 3V3 regulator (which consumes relatively large amount of current, even with no load) completely, which then also shuts down the 3V3 supply. The MCU is not in hibernation, it is off. In this state the module should use less than 100ÂľA of current, which is about 90 times less than in normal standby mode. The only way to wake-up the board is to use an on-board button, which essentially re-latches the 3V3 regulator back online and the MCU can then keep itself powered up.

The reason I want this feature is to protect the battery from a deep discharge when for example putting it in winter storage or other such thing. I intend to add to software configuration to allow to set the time before the module goes to deep sleep and would also allow to discharge the battery to storage voltage after the module would turn itself off.

Thoughts?

Please, please make the default delay for entering sleep mode at least 10 hours. That will still protect from deep discharges. Also is it possible for it to be disabled if the charge port has power?

Certain commercial boards, ahem Evole, go into sleep mode after like 4 minutes or something, it’s even happened at traffic signals before. It’s ridiculous, super-annoying, and dangerous

Great improvements ! I like the way you make it collaborative ! Thank you for that ! Few inputs :

  • Please put the CAN !!! I think it’s even better than UART as you can use the CAN forward command of the VESC to dial with the BMS using only the BLE of the VESC. I wouldn’t add another BLE module just for BMS plus the one for the VESC although we can use the same one. And it’s not a big deal to integrate a communication between BMS and VESC to switch power off smoothly in case of low voltage on a cell or whole battery. -Shut off mode is great ! As @b264 said, of course it needs to be hours unit for sure. Dn’t you want to get inspiration from the Battman design for that ? I found the power management pretty well designed.

  • May you tell the interface passing between 2 boards (main and power) ? Which signals are exchanged ?

So excited to see what’s coming next ? :star_struck:

1 Like

I think it´s difficult with power managment. If you have to push the button before it wakes up, what happens if you don´t know it shut down, start the board and want to drive? What happens when you plug the charger in?

@TarzanHBK

I’m meaning that shutdown mode is supposed to be entered after like 10 days, if the BMS hasn’t been activated or plugged into a charger in that time. I did think about this and just found the idea annoying, if the time before shutdown is too short and you have to get hand-on to the module just to wake it up.

I’m planning on auto power off feature, which allows to specify the time after which cut power off from load, if the measured current is too low. IE, if load current “<200 mA for 1 hour” → “cut off load power”. This is meant for if you accidentally forget to power off your board at the end of a ride, so the motor controllers or other loads don’t drain the battery too much.

I went for bluetooth as the first choice, because that I can implement by myself and it’s simple. Running CAN comms through VESCs bluetooth is more complicated in that sense.

EDIT: I checked the STM32F070’s datasheet and it doesn’t have hardware CAN support

Swtich-module will have a BQ76200 gate driver for precharge and discharge FETs and a ISL28022 for current measurements. Then there is 3 analog signals for temperature, load voltage and ID voltage, which is meant to be used to detect what discharge current capable module is connected.

1 Like

Cool that sounds much better :slight_smile:

I’m specifically suggesting making it ten hours+, not one hour. Longer than a ride, workday, traffic signal, or full charge would be. That will still accomplish your goal with less side-effects that you may not foresee

I think 1 hour is good. if you’re sitting at a traffic light without any movement for an entire hour you should pick up your board and walk home. you’ll be fired from work for being that late.

This is just load cut off, not the shutdown state. You can just re-activate the load with the external switch. If you don’t use the BMS or charge the board for 10 days, then it’ll go into the shutdown state from which you can recover only by pressing the button on the module itself.

You think 1 hour is good. Someone else might think ten minutes is good. Or someone at Evolve might think 4 minutes is good and nobody will ever need more. But either way, having it stay on longer won’t hurt any of them at all but having it shut off early can inconvenience someone. There is no ROI for making it short, other than ease of testing for the engineer designing it. What if I want to watch the bluetooth signal while it’s charging across the room? (So can leave when it hits 95%) Now you’ve just made that not possible for reasons that provide you no benefit at all. What if the power is out and I’m using the lights on it to light up my house?

There are a zillion things that can come up and making it short when it provides no additional benefits other than safeguarding a deep discharge over periods of weeks or more is a mistake others have already made. We don’t need to repeat it.

Make it ten hours+

I’m talking about both