PID Tutorial

It's a bit long winded but I think it really simplifies how a PID controller works. I'm working on some more graphics I hope to have up shortly but due to some problems with my PC I was forced into using the Draw function of google docs.

The post is an overview of the theory behind a PID and what one can do for you and your projects. The code for the algorithms themselves will run just fine on the Arduino given a sensor input. PID controllers are an essential control system for robotics and automation, I hope my tutorial will make them a bit more understandable.

Post is at http://thecodebender.com/journal/2009/3/30/designing-a-pid-making-your-robot-get-from-point-a-to-point.html

Great, however I am seeing no graphics at all?!

Carsten

Hmmm, I wonder if googles only letting me see them because I'm logged in... I'm working on real graphics in matlab to model the actual equations so better ones should be coming. Thanks for letting me know!

I can see the graphics ok.

Nice introduction by the way. I almost feel like I understand it...

Andrew

Now they are there!

(I did look at the page without styles then revert and voilá... Maybe just a coincidence I dont know.)

Thanks!
Carsten

So apparently squarespace and google chrome beta don't play nice. There were whole embedded menus in the article amongst other quirks. Any questions Andrew?

No questions thanks, I was only reading it out of interest. One day if I ever get around to building a self-balancing robot I expect to have to use a PID controller.

Andrew

The S-Domain and Diff Eq are your friends!

In English it is always helpful to expand initials so everyone knows what you are on about.

Personal Idenification Disk
Practical Indicator Device
Private Inquiry Design

I have no idea if this interests me or not so I have to waste my valuable time finding something that may bore me to tears

In fact it turns out to be

A PID is the second one. It's made up of 3 parts, the Proportion, the Integral, and the Derivative.

So this is even worse. I think I now know what the letters may stand for but I am still not sure if it interests me

Its a control method for getting your desired output (output 12V, turn 32 degrees right, fly east, find the red candy...) as optimally as possible by using three gains (scalar multiplication). One for the current value (proportional P), one for the the integral of the current value(integral I), and the last for derivative of the current value(derivative D). By tuning these gains correctly, you end up with a controller that percent overshoot (bounce), rise time(time to get where you want), settling time (time to stop oscillation), and steady state error (difference in what you got from what you wanted).

Yea, PID control is exactly what I NEED on my laminator temperature controller rather than just turning off when it hits temperature setpoint, then staying off until it gets 2 degrees below setpoint before turning back on again.

PID is how "real" control is done.

Thanks - maybe I can learn enough to use the algorithms and improve my temperature controller.... of course I'll need to be able to "modulate" the heat rather than just OFF or ON.

Ken H>

thanks for writing this! i'm going to need to use PID in an upcoming project

I have no idea if this interests me or not so I have to waste my valuable time finding something that may bore me to tears

Hi April!
How's the coulrophobia?

AWOL

How's the coulrophobia?

I'm fine thank you I did not catch it from you, but you should go see someone about it before it hurts someone more significant. than little old party clown me.

This is interesting and I see how to use on robots to minimise power use and damage. Must study formula more closely