Implementing digital PID control

  • Thread starter beserk
  • Start date
  • #1
13
0
I want to control the rpm of a brushless motor with ESC(Electronic speed controller) using PID control.
Suppose my motor is rotating at 2000 rpm detecting using hall sensor setup.Now I want it to run at 5000 rpm.The speed will be controlled by PWM signals generated by PWM module( 16-bit i.e. 65536 divisions in 0%-100% duty cycle, which we specify) in hardware which is fed to ESC.
How am I going use the PID parameters Kp, Ki and Kd to drive the motor to desired rpm?
desired rpm = 5000
measured rpm = 2000
error = desired - measured = + 3000
C(t) = Kp*e + Ki*∫e.dt + Kd*de/dt in digital form

Suppose somehow I find out PID constants, then how do I modify new PWM based on C(t) and error signal ?

Is New PWM = Old PWM*C(t)*error or New PWM = Old PWM+C(t)*error ?
 

Answers and Replies

  • #2
418
4
A decent review of control is Reviews of Modern Physics vol 77, p783.
 
  • #3
13
0
Thanks for replying. i have a simpler query now : Suppose I use a proportional control to drive a motor. Measured rpm = 2000, Required rpm = 5000, Error = +3000. Control signal = K * Error. Now how should I apply this control signal to increase in voltage so as to attain the required rpm ?
 
  • #4
418
4
For a motor I think PID is little over kill. A giving input should correspond to a giving rpm for the motor. Look up the value of the input that corresponds to the output that you want. That will give you a rough agreement. You might need some type of PID for ultra fine control or if the load isn't constant.
 
  • #6
15
0
For a motor I think PID is little over kill. A giving input should correspond to a giving rpm for the motor. Look up the value of the input that corresponds to the output that you want. That will give you a rough agreement. You might need some type of PID for ultra fine control or if the load isn't constant.
Actually, it really depends on the situation which he unfortunately did not tell us what he is doing. In robotics PID loops generally are not overkill or at least a partial PID loop is because the load is always changing.
 

Related Threads on Implementing digital PID control

Replies
5
Views
2K
  • Last Post
Replies
3
Views
8K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
6
Views
1K
  • Last Post
Replies
2
Views
2K
  • Last Post
Replies
2
Views
2K
  • Last Post
Replies
5
Views
14K
  • Last Post
Replies
6
Views
3K
Replies
8
Views
5K
Replies
13
Views
4K
Top