3
\$\begingroup\$

I need to implement very fine (positioning) control of my BLDC motor system, one which has significant inertia. Basically servo control of a weighty object.

Is it possible for a BLDC motor be retarded (braked) by reducing the drive frequency below the rotational speed, like a synchronous AC motor can? The opposite of accelerating it by increasing the frequency. It seems to me to just be freewheeling, which is not what I want, but perhaps my hardware is not up to it.

I realise this is inefficient compared to regenerative braking, but that does not worry me. I just need the motor to be able to absorb the inertial energy of my system in a controlled fashion, to be able to bring a moving mass to a standstill at a precise location.

The normal braking method of turning on all the low side FETs cannot provide this level of control.

\$\endgroup\$
2
  • \$\begingroup\$ The motor will be sourcing power during braking: your hardware needs to operate four quadrants instead of just two. (With a power factor < 1, it does so on a (half-)cycle by cycle basis - the energy from braking may be several orders of magnitude greater, especially in vehicles moving downslope.) \$\endgroup\$
    – greybeard
    Commented Mar 21, 2023 at 7:17
  • \$\begingroup\$ To get any sort of accuracy,you will need closed loop control. Given the inertia involved,you will have to slow down long before reaching the target position and only do the last bit very very slowly. Active braking can generate a greater braking torque than just shorting the windings,but both are limited by what maximum torque (current) the motor can survive without something breaking or the windings overheating,so make sure you take those limits into account. \$\endgroup\$
    – TooTea
    Commented Mar 21, 2023 at 8:04

2 Answers 2

5
\$\begingroup\$

The drive frequency still needs to match the rotational speed of the motor. If the drive frequency does not match rotation, a BLDC motor will produce no net torque, just vibrations.

To get an active braking effect, the drive phase will have to lag the position of the rotor (with the same phase as if you want to drive the motor in the opposite direction.)

Because it's a permanent magnet motor, passive braking is easier: just short-circuit the drive windings.

\$\endgroup\$
2
  • 2
    \$\begingroup\$ The issue with passive braking is that the braking torque drops to zero as the rotation slows down to a stop. That's probably why it's not accurate enough for OP's purposes. \$\endgroup\$
    – TooTea
    Commented Mar 21, 2023 at 8:06
  • 1
    \$\begingroup\$ Passive braking that shorts the winding brakes rather poorly. Bidirectional torque control can use the rotor to dissipate DC-link energy while it's generating negative torque. The shunt current dissipates the energy from the DC-link and is fed 90 degrees out of phase, producing no net torque. Motor windings double-duty as a shunt. In spite of that, the torque, velocity and position control loops can operate, and while the net torque is against the rotation direction, the mechanical energy goes back to the DC-link, to be then dissipated on a shunt - be it windings or an external resistor. \$\endgroup\$ Commented Mar 22, 2023 at 4:33
2
\$\begingroup\$

The lowest-level "externally visible" control loop for a BLDC motor is torque control loop, that then drives the phase current control loops. Torque above the friction: go faster. Torque below the friction: go slower. All the way to torque against the direction of rotation: go much slower. Brake.

You don't really care much what the frequencies are, because that's not a commanded input (other than protecting the motor from overspeeding, and the loss of torque from back-EMF).

The basic FOC torque controller is just that: torque command goes in, the motor produces the desired torque. The FOC transforms rotate the current vector to align it with the rotor's electrical vector, at whatever speed the motor happens to be rotating. Rotor position feedback - whether encoder-based or sensorless or sensor-fusion based, produces the angle fed into the Park transform, and that takes the torque command and drives phase current commands for the bridge to execute. There are a few nuances, but at a high level that's about it.

In fact, regenerative braking is just a choice - the control will work exactly the same from DC link to the motor phases. When the motor is braked, the energy is transferred from the motor to the DC link. The excess energy on the DC link is either dissipated on a shunt resistor, or is back-fed into the supply (battery or mains). So, if you partition the system into the back-end - the servo - from DC link to the BLDC, and a front end - from battery/mains to the DC-link and optional shunt - the regenerative braking can be added at any point by just replacing the front-end.

The normal braking method of turning on all the low side FETs cannot provide this level of control.

Whether that's normal or not really depends. First of all, it won't just be low-side FETs all at once: even when braking the current has to be controlled and limited, since the braking torque is variable. But a FOC can indeed use a switching pattern that dissipates the excess recuperated energy from DC-link in the motor windings: the motor can be used as a shunt during braking.

Given that the conduction losses on the stator go with square absolute torque - whether accelerating or braking - adding thermal load to the stator by additionally dissipating braking energy is not a default. It can only be done when the motor has enough thermal capacity to dissipate this energy. Otherwise, a shunt resistor in the DC-link that dumps energy when the DC-link voltage is above a threshold is cheaper than heating motor windings.

In general, for velocity control, the control loop is closed around the torque control loop, which is closed around the phase current control loops. The velocity controller will be braking and accelerating the motor "all the time" in face of highly variable load.

\$\endgroup\$
1
  • \$\begingroup\$ Thank you all. Looks like I need to explore "torque control". Any tip / references / links to practical examples would be most appreciated. \$\endgroup\$ Commented Mar 22, 2023 at 18:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.