Electronic – BLDC Motor deceleration

brushless-dc-motormotorpid controller

I am using an uni polar BLDC motor. For speed control I am using PI closed loop.

During acceleration I am able to get speed as expected. Once I am crossing set point, I need to slowdown motor. If I am removing PWM (0% duty cycle) or applying less PWM as calculated by PI loop, speed is decreasing as if natural run down.

How I can bring speed down to get similar acceleration and deceleration slope.

Please help to understand what scheme usually adapted to decelerate in BLDC motor.

Update:
My BLDC motor configuration is diagrammatically shown below.

enter image description here

Best Answer

To actively decelerate you require a 4-quadrant power-stage (H-bridge or 3phase inverter) but you also need the appropriate control. You mention "uni-polar" which would imply single-quadrant powerstage, this will need to be reviewed and corrected. Likewise your output voltage-loop/PWM stage needs to be adapted

Next you mention "Similar acceleration and deceleration" this requires a speed controller (which you have) and with appropriate powercore and voltage control loop stage you will naturally gain 4quadrant with rate of change control inherited from the main control loop (assuming your PI gains are appropriately set).

The issue then comes down to the recovered energy. When you decelerate you are transferring energy from the rotor and it will charge up your DClink. The rate of change of DClink voltage will be related to:

  1. DClink capacitance
  2. Rotor stored energy (0.5Jw^2)
  3. Control loop bandwidth with regards to deceleration.

The DClink voltage will rise, by how much depends on the 3 points above. You maybe able to mitigate the rise by increasing the capacitance value otherwise you will need to incorporate a DClink chopper circuit to discharge the DCLink