# PID algorithm for BLDC speed control

1. ## PID algorithm for BLDC speed control

Hello guys,

I have been working with PID algorithm to control bldc motor speed. currently I am tuning the gain kp,ki,kd values with a predefined RPM as setpoint or reference value. But the real application is controlling with bike throttle here,
my question is how to convert the throttle value to RPM?
and what will be the range of RPM? because the rpm will down in dynamic load condition right.
Motor spec- 48v 1kW bldc motor
rated rpm -3000

If u guys have any ideas kindly share it.

•

2. ## Re: PID algorithm for BLDC speed control

I expect that the throttle value is converted to torque or power rather than speed setpoint. You probably don't need a PID controller, except for speed limit control if required.

3. ## Re: PID algorithm for BLDC speed control

Originally Posted by FvM
I expect that the throttle value is converted to torque or power rather than speed setpoint. You probably don't need a PID controller, except for speed limit control if required.
I thought PID controller is needed for Dynamic load condition to maintain the rpm

•

4. ## Re: PID algorithm for BLDC speed control

E-bike is usually not utilizing speed control, neither a car does.

5. ## Re: PID algorithm for BLDC speed control

Originally Posted by FvM
E-bike is usually not utilizing speed control, neither a car does.
then how to maintain constant speed at dynamic load conditions. Are there any different technique to do so?

•

6. ## Re: PID algorithm for BLDC speed control

Hi,

Torque / load will always have an influence on motor RPM unless it is a synchronous motor (stepper motor).

A BLDC motor with permanent magnet also is a synchronous motor. Thus RPM depends on fundamental frequency of applied signals.
Keeping frequency cinstant will keep RPM constant .... as long as the torque does not cause a motor stall.

There are several issues you have to consider:
* what's the exoected RPM range, and how much deviation do you tolerate.
* what's the expected load (torque) range do you expect?
* what exact motor do you use?
* what power stage (BLDC controller) do you use?