I am new to BLDC motors. I am working on a project where I need to spin a BLDC motor from speeds of 10k to 40k RPM using sensorless back EMF as speed feedback.

The application requires changing the speed of the motor suddenly, i.e. increase from 10k to 30k RPM and decrease from 30k to 10k RPM with a ramp time of less than 100 ms. My motor driver is able to achieve the change in speed, but I am facing an issue with my power supply.

The problem is, when I decrease the speed suddenly from 30k to 10k RPM the supply voltage rises to very high levels. My nominal supply voltage is 12-16 V but it rises to about 40 V and gradually ramps down.

Below is a oscilloscope plot for the same. Sometimes the voltage rises to the max. upper limit and the driver stops due to an overvoltage condition.

enter image description here

When I decrease the speed gradually, the supply voltage does not increase or increases by 5 to 10 V only.

My questions are:

  1. Is this normal for BLDC motors?
  2. Why is this happening?
  3. What can I do to prevent this?

Below is one of the output phase of the motor.

enter image description here

  • \$\begingroup\$ Is the supply votlage controlled by the motor controller? Where are you measuring this votlage (across motor phase or input into controller)? What load is on the motor? I have seen similar to what you've seen, sometimes it's required by the motor control method, so you wouldn't want to prevent it. \$\endgroup\$
    – Puffafish
    Commented Jul 27, 2023 at 10:39
  • 1
    \$\begingroup\$ Motors tend to act like generators when the power is removed or reduced. Put sufficient load on the motor so it slows down quicker, or find some means of braking,like switching in a load resistor. \$\endgroup\$
    – Kartman
    Commented Jul 27, 2023 at 11:21

2 Answers 2


I have seen similar effects to this, but that was in a particular type of BLDC motor. The controller had a 48V DC input, which then went through a DCDC converter (as a current controller, used to control the speed), then the inverter to switch the coils. When the speed demand is high, the DCDC is pushing a lot of current through, with the inverter then switches on to the relevant coil. When the speed demand suddenly drops, the inverter reduces the amount of ON time the coils have (possibly down to 0) and lets the rotor coast down to the lower speed.

The inverter is made up of 6 power transistors (FETs, IGBTs, whatever) which have body diodes, allowing current to flow back from the coils (now spinning in a magnetic field, like a generator). This means that you then have voltage on the input of the inverter, which then charges up the capacitors which were fitted to the output of the DCDC converter.

You ask what you can do to prevent this. Do you want to prevent this? You are getting a slight regenerative braking effect from it, storing the energy in the capacitors. Is that a problem?

If it turns out you DO want to stop this, you just need to give a discharge path. A Zener diode or similar voltage cap device would be my first thought, depending on the power you need to dissipate.

  • \$\begingroup\$ I have added the schematic of the U phase of the BLDC motor. My configuration is similar to what you have described. I am measuring the voltage at VM. Your explanation makes sense. So the back currents from the coils are building up the voltage. The only reason I want to prevent the rise in voltage is to prevent the driver to get into an over voltage condition. Where should the Zener diode be added? \$\endgroup\$
    – Rohan D
    Commented Jul 27, 2023 at 14:49
  • \$\begingroup\$ @RohanD you could add it in parallel with the power supply. Beware that when the motor slows down like this, the energy from the excess speed of the motor is getting turned into heat in this Zener diode, therefore, a simple Zener diode might not be enough (or it might be). Electric trains have giant resistors on them (sometimes on the roof). \$\endgroup\$ Commented Jul 27, 2023 at 18:19

When you decrease the speed suddenly, your motor will act as a generator and feed back energy. You need a way to dump that energy. This is usually done with a device called "braking chopper".

You can also use the motor as a "poor man's" braking chopper by commanding a current that doesn't contribute to torque (only heats up the windings), when you sense over-voltage on the dc bus.


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.