### Author Topic: Calculating the constants for a PID control loop  (Read 6906 times)

0 Members and 1 Guest are viewing this topic.

#### Half Shell

• Robot Overlord
• Posts: 225
##### Calculating the constants for a PID control loop
« on: December 22, 2008, 12:40:24 PM »
I'll be taking Controls Engineering in college next term, but true to my form I'm already reading up on the subject matter. Whenever I use a PID control loop I either guess and check my values or, more recently, I've used the Ziegler-Nichols method of calculating Kp, Ki, and Kd.

Here's some questions I've been wondering about of late:

What's the best way to perform a step-response on your system for accurate results? So far I've literally just ran the motor and recorded its positional response while in the arm it'll be running (since most of the time I'm doing PID position control), but it is difficult when you're working on such a small range of movement.

Also,

What other methods do you use when calculating your PID constants?

#### izua

• Supreme Robot
• Posts: 682
##### Re: Calculating the constants for a PID control loop
« Reply #1 on: December 22, 2008, 04:30:03 PM »
PID constants are modified empirically, not calculated.
Of course, you can calculate them, if you know at any point in time every constant and variable in your phyisical system, but that's rarely possible.

But it's faster to modify them in real time and see how your system reacts.

edit: I'm talking, of course, about real life examples. In a problem/question involved in a course, you usually assume the perfect medium.
« Last Edit: December 22, 2008, 04:31:36 PM by izua »
Check out my homepage for in depth tutorials on microcontrollers and electronics.

#### Half Shell

• Robot Overlord
• Posts: 225
##### Re: Calculating the constants for a PID control loop
« Reply #2 on: December 22, 2008, 04:36:30 PM »
PID constants are modified empirically, not calculated.
Of course, you can calculate them, if you know at any point in time every constant and variable in your phyisical system, but that's rarely possible.

But it's faster to modify them in real time and see how your system reacts.

edit: I'm talking, of course, about real life examples. In a problem/question involved in a course, you usually assume the perfect medium.

Perfectly calculated, no. But by observing a step-response you can determine the constants via well known methods. These are, of course, not perfect methods, but in all will give you approximate values that will most likely stabilize your system.