|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools |
Rating:
|
Display Modes |
|
#1
|
||||
|
||||
|
Hey,
I'm the head programmer of my team 3339. I want to teach my crew how to use PID properly and I'm having a hard time finding a good presentation that will explain each parameter and the general principals. Moreover, I am looking for a simulation for PID in order to demonstrate how it works. The one I've found in LabVIEW is not responding fast enough as a real motor would. Can you help me? |
|
#2
|
|||||
|
|||||
|
Re: PID Help
There are many, many threads on CD and the general internet about PID control. Try searching around.
Here's some good resources from NI: Quote:
Quote:
Last edited by plnyyanks : 25-12-2014 at 11:40. |
|
#3
|
||||
|
||||
|
Re: PID Help
Quote:
I have question about the Labview implantation (your 2nd quote): Should I use Ti and Td differently of what is written about Ki and Kd or is it the same? |
|
#4
|
|||||
|
|||||
|
Re: PID Help
Take a look at this page specifically, it details the exact math behind each of the P, I, and D parts of the controller.
Integral: ![]() Derivative: ![]() So in the integral case, Ki = Kc/Ti. It's a similar thing for the derivative part. Disclaimer: I have no idea if NI has changed their implementation since I last looked at it (a year or two ago), so verify exactly what constants are used with the 2015 docs when they come out. |
|
#5
|
|||||
|
|||||
|
Re: PID Help
One story I've found to help people understand is a car's Cruise Control. We all know that it's a system used to keep a car moving at a constant speed.
P is the difference between the set speed and the actual speed. When P is non-zero, the system takes action to move this 'error' towards zero. D is how fast you want to accelerate (or decelerate) back to the set speed. You may want to adjust this depending on engine power: with a very weak engine would want to go to full throttle quickly, with a very powerful engine you'd want to add throttle slowly. If you add too much power, you'd go past the set speed and have to slow down...the system would go too fast then too slow, continuously. I is a little tricky, but basically it's fine control right around the set speed, allowing small speed errors to accumulate over time and allow for corrective action (like P) that is gentle instead of a large response (like D) |
|
#6
|
||||
|
||||
|
Re: PID Help
I made a PID simulator to teach some of our programmers. It simulates an arm with or without gravity pulling it down.
Check out my post about it here: http://www.chiefdelphi.com/forums/sh...d.php?t=130801 For a sample of a well tuned loop, try setting a setpoint of 200, a mass of 0.03, kP of .35, and kD to 5, then click start. The simulation is fairly realistic, and takes into account motor torque curves and the inertia of the arm. Last edited by Jared : 25-12-2014 at 20:47. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|