I have 200 BLDC motor (six-step) driver boards. They work fairly well but, when I tested them on a heavy load (2500 kg), I discovered that they struggle when braking the motor. The PID algorithm can be set to slow down gently (low deceleration), but sometimes (in case of emergency, for example), a bigger deceleration is desirable. When I try a more steep deceleration, the boards get broken.
Investigating the problem, I discovered that the culprit is the voltage raising, due to the regenerative braking of the H-bridge.
The nominal power supply for the board is 48V rectified: a diodes bridge is outside the board, and the rectified voltage is fed to the board, which has a bank of capacitors.
When the motor is rotating at high speed (say, 2500 RPM), and a deceleration is wanted, the PWM for the motor is decreased. This causes a rise in the power supply which, if it is not too high, is tolerated. But if the rate of PWM decreasing is too high (big deceleration), the power supply (Vbus) rises too much, and a few critical components on the board do not tolerate it (for example, the mosfet drivers, and other voltage regulators for +15V and so on).
The electronic engineer proposes to deploy a resistor to dissipate the overvoltage; this resistor would be inserted between Vbus and GND when needed (the CPU has some spare pin to control the resistor insertion, but also an automatic insertion can be done, based on on a threshold, for example Vbus > 50 volts).
I don't like the idea of the resistor, because it would heat onboard, and because I thought what follows: why add a resistor, when I have a 350VA transformer which can dissipate energy much better? If only I could short the rectifier bridge when needed, I could discharge the extra voltage into the transformer. The rectifier bridge has exactly the task of impeding a current return, but in this case, sometimes, it is desirable.
I think it could work: a mosfet or a transistor to short (bypass) the bridge, activated when Vbus trespasses a certain threshold. Normally Vbus stays at 48-49 volts - only when braking it raises: if it stays under 58-60 volts there is no problem; if it raises more, the board gets broken. I implemented a software check: the software monitors Vbus and, if it raises too much when braking, the deceleration is reduced accordingly. The result is that the board does not melt down anymore, but I would like some more braking.
The schematic, in principle, is the following:
simulate this circuit – Schematic created using CircuitLab
(Sorry for the crude schematic, I am not very expert and it took a lot of time...)