I want to create a simple circuit (or better, add software change for the existing circuit) for deceleration of a small BLDC motor connected to a ball screw. Exact stopping at zero is not a requirement.
Motor is 48V, max 3000rpm, rated 220W. Ball screw is 1605 type, 400mm long, no gearbox so max linear speed 0.25m/s, mass attached approx 3kg - so not a huge amount of momentum. Power is from a 300W SMPS PSU.
The current motor design is by 3 phase commutation with PWM on the high side and continuous on the low side with the PWM approximating a sine wave based on the last rotation period adjusted by a lookup table to be based on empirical measurement of acceleration and current speed. It is a fairly trivial setup on a homemade controller.
What I want to achieve is braking at an inverse to the motor's acceleration (so that the motor's velocity approximates a sine wave)
Options:
1) Freewheeling: If I cut the power I expect that while it will slow, it would be at a lower rate then desired.
2) Regenerative braking: Not an option. I do not need or want this complexity in the circuit as it would require adding a large store.
3) Dynamic braking: A possibility, but it would require adding a large resistor and the associated circuitry, I would like to avoid if possible.
4) Reverse the engines Mr Scott!!!: If I understand the term correctly this is known as "plugging". In practical terms that is to set the MOSFET states based on the hall sensor lookup as if the motor were rotating in the opposite direction. As is probably obvious this is the solution I would like to go for - but I have a collection of known unknowns and expect there are unknown (to me) unknowns.
So known unknowns:
a) This causes stress on the electrical components - how much and how to limit it?... Specifically is the PSU or anything else on the board going to be exposed to over voltage or excess current?
b) This causes stress on the mechanical components. I assume this is in therms of rapid declaration on all parts and waste heat in the motor and probably the ball nut.
Is it possible by using a lower duty cycle on the high side PWM while in this state to moderate the excess voltage/current/heat effects? If so at what maximum levels compared to normal? 10%? 50%? or inversely proportional to the speed?
5) Lastly am I missing something else obvious that would achieve the desired result but in a simpler way?
Constraints:
i) Extra hardware is possible but "expensive"
ii) Changes to software control of the PWM states for any of the 6 MOSFETs is trivial.
iii) Changing to an off the shelf control is not an option I wish to consider.
iv) Please describe answers in terms of MOSFET states A, B, C high and low. (Ah, Al, Bh, Bl, Ch, Cl) or by providing circuit diagram where suggesting relevant changes.
Thanks