You are here

Regen on fully charged battery: soft high voltage limit

7 posts / 0 new
Last post
e404
Offline
Last seen: 1 year 2 months ago
Joined: 2018-04-25 17:22
Posts: 2
Regen on fully charged battery: soft high voltage limit

Hi guys,

Been using the VESC on a great deal of light electric vehicles now, since HW4.10, with great success, so Benjamin, thank you so much!

 

The issue has been mentioned here and there a few times but no solution has been discussed yet as far as I know.

I have an electric kick scooter, in which I put a VESC quite some time ago. Recently, I connected a switch between GND and RX to be able to use regen braking.

Problem is: when the battery is fully charged, as soon as I brake, the BMS shuts power off, and it goes free-wheeling. This has caused me a few fears. I have a (very weak) mechanical brake which saved me a few times but still, this can be a lot more problematic on an e-skate (quite some esk8 guys have had the exact same problem too).

Why I encounter this problem why some others don't is: my BMS (Smart BMS with Bluetooth) has a common port for discharge and charging. Thus, the BMS can block current in both directions (back-to-back MOSFETs). If the two ports were separate, regen current would still be able to flow into the battery even on a full charge (through the body diode of the discharge MOSFETs), which would allow braking.

I could put some power diodes from ESC to battery to bypass the BMS and allow regen at any time, but it is not a neat solution.

 

As I understand it, when applying brake on a freshly charged battery:

1) Voltage inevitably exceeds HVC (depending on which battery regen current we allow multiplied by battery's internal resistance)

2) BMS shuts off as a consequence

3) Energy cannot go to battery anymore so VESC's supply voltage rises

4) It rises up to parameter "Maximum Input Voltage", at which it stops regen (and shuts off due to no supply if BMS has not restarted yet)

Then there can be quite a long delay before anything is responding.

 

For now, the only way I found to mitigate the issue is setting my charger to 4.1V / cell, setting my BMS HVC to 4.25V and VESC's parameter "Maximum Input Voltage" at around 42V. Past 42V,  This limit throws an error if I brake too hard with battery charged, and I have to wait for a (settable) delay. This is faster than when the BMS cuts power, but still dangerous. And as my battery pack is quite big (10S 18.4Ah), I still get cutouts after more than 3km ride.

 

As an alternative, couldn't we have a soft limit for high voltage, which would reduce regen automatically when the battery is near HVC ?

At first, I thought this was the role of the Max Input Voltage parameter, as I also have an electric moped (with Kelly Controller) and this is how it works: as I start on a fully charged battery, e-braking is weak, and gets stronger and stronger as I ride on the first few kilometers. This feels a lot more natural than having a hard limit.

Would this be a complex function to add?

 

404

benjamin
Offline
Last seen: 2 days 1 hour ago
VESC FreeVESC OriginalVESC Platinum
Joined: 2016-12-26 15:20
Posts: 490

I think it could be a good thing to add, but I would probably use a different voltage limit for that. The max input voltage is the voltage above which fault codes are generated. By default I think this feature should be disabled for most users, as having a brake is more important than not putting too much energy into the battery. Also, it is very rare that the regen current counter is higher than the drawn current, even when starting on a full charge, and the few extra mah usually don't matter to the battery. If the BMS shuts down it is a different thing though.

e404
Offline
Last seen: 1 year 2 months ago
Joined: 2018-04-25 17:22
Posts: 2

Hi Benjamin,

As you said, putting too much energy into the battery (which is rarely the case, except living up a hill) will not matter much. And user safety is much more important.

 

For those like me who have "bad interactions" between regen and BMS HVC, having power cuts is very surprising and dangerous.

As a temporary solution to my problem, I will try to code something to limit regen current to maybe 25% of nominal for 95-100% SOC, 50% regen for 90-95% and so on. It should work for me once I get the values right, but as it depends so much on battery IR, capacity, end of charge voltage and regen current setting, this is only a dirty fix.

A separate voltage limit would be way better and more versatile. Disabled by default, as very few users do have the problem anyway (well that may not be exactly true).

 

Btw, the 2019 software update is incredible. Thanks again.

sam.vanratt
Offline
Last seen: 11 months 3 weeks ago
Joined: 2018-11-18 14:09
Posts: 83

Hi e404

I'm not sure if that works at all. The VESC could not cut back the inverse (body) diode flow when the BLDC generated voltage is higher then the Battery voltage. If your BMC then cuts out, the VESC is dead due to high voltage. It's very unusual to regen-brake when the Battery is full, but it could happen. Most ESCs die from such a "reverse voltage and BMC cutoff" (apart from  being overvolted and overcurrented" for testing purposes....).

The best protection on Regen systems and batteries is a) a reverse diode over any protection and b) a cooled FET based Z-diode to protect the battery from outside damage.

Cheers

Sam

 

Pedelec usage in combination with a GoldenMotor MagicPie3 BLDC

vescsci
Offline
Last seen: 3 months 2 weeks ago
VESC Free
Joined: 2020-06-06 06:08
Posts: 3

I realize this is an older thread. I have had this same issue ever since I installed the vesc in my scooter. I have a good disc brake on my scooter, but the jolt I get when the system shuts down from overvolt is crazy. Then, I have to wait for the VESC to engage before I can start riding again. 
it actually happens like this: I leave my house, press the brake at the stop sign by my house. The VESC cuts out, then regen engages for a seconds, then the VESC completely cuts out for about 20 seconds. 

Is there no way to just set REGEN Braking to only happen at a certain voltage and below? How is this not a setting?

 

If you can help me where to look I can try to write code to do this, but I don't even know the first thing about writing or modifying the apps. 
 

Thank you for any help! I really appreciate all the help that this forum provides!

 

district9prawn
Offline
Last seen: 1 year 4 months ago
Joined: 2018-04-26 12:18
Posts: 123

There is a function in mc_interface.c that periodically determines the motor and battery current limits based on temperatures and voltages. That might be a good spot to add additional current limits for regen.

Andy G
Offline
Last seen: 6 months 1 week ago
VESC Original
Joined: 2017-05-24 12:31
Posts: 2

Hi,

I know this is an old topic / node, but out of interest, was "Battery Voltage High Cutoff Start" and "Battery Voltage High Cutoff End" ever implemented?

Every time I blow another VESC I search for this and don't appear to find an answer.  I live on a hill and BMS-overvoltage-cut-outs have caused a number of my VESCs to die over the years (3 so far).   I have tried to follow a "no braking when fully charged" rule which has helped and also stopping charging at 4.15v/cell, but occasionally I forget that the pack is full and get a VESC cut-out with a 50:50 chance of blowing the TVS Diode and DRV chip and in one case blowing a hole into the PCB beneath the TVS!

Is it possible to implement "Battery Voltage High Cutoff Start" and "Battery Voltage High Cutoff End" - in theory the opposite of the Battery Voltage Cutoff Start / End settings that are already implemented?  I realise braking will be less consistent, but I cannot afford to keep buying / repairing VESCs!

Thank you!