I will be presenting two topics at the 2005 Embedded Systems Conference San Francisco next March -- see
for show details.
"Basic Control Theory for the Software Engineer" is as much information on the z-transform as I can fit into 90 minutes. It gives a high-altitude overview of designing software control loops in a systematic manner.
"PID Without a PhD" is a primer on developing PID controllers in software, tuning them without using higher math, and avoiding some of the common pitfalls for this popular controller form.
Cool! From many years teaching "practical PID" to technicians and engineers, here are some questions that came up a lot:
"Why do so many of the setups around here have only P and I or have D set to zero? How do I decide when to use D?"
"Why do some controller boards have an option to reverse the phase of the D? What is that good for?"
"How do I describe a thermostat with hysteresis using the same language that I use to describe a PID controller? It seems like P is infinity."
"Why do half the engineers call it Proportional-Integral-Derivative" and others call it "Proportional-Integral-Differential?" When I did a Google search on "proportional integral differential" I got 18,600 hits while "proportional integral differential" only had 3,060 hits, but most of the "proportional integral differential" hits seem to be by scientists and equipment manufacturers. Which is correct?"
BTW. for what it's worth, I found that relating position servos and velocity servos to a person controlling a car (speed and position within the lane) was helpful. I also found it helpful to show how to use a stopwatch and odometer to derive speed with no speedometer, a stopwatch and speedometer to derive distance without an odometer, and a speedometer and odometer to derive elapsed time with no stopwatch. Your audience is different, of course - this worked really well with mechanical engineers, but software engineers are quite different.
Another gotcha that sometimes trips up software engineers: non-monotonic ADCs causing a "bad spot" that has positive feedback.
proportional integral derivative - 253,000 hits "proportional integral derivative" - 18,600 hits proportional integral differential - 315,000 hits "proportional integral differential" - 3,060 hits
The quotation marks are important in this case. You want to count the times the phrase is used, not the times that all three words are found on different parts of the page.
I was taught that "Proportional-Integral-Derivative" is the proper term, but the Google search turns up some disturbing uses. It's in an article published in the Geotechnical Testing Journal on astm.org. It is used by Paul Brinks, who appears to be teaching a class on PID at a state univerity. It's used in a paper titled "A Closed Loop Controller for Electron-Beam Evaporators" published in _Review of Scientific Instruments_.
I still think "Proportional-Integral-Differential" is wrong, even a bunch of college boys and one out of six webpages says that it is correct. I just wonder why so many get it wrong.
OK, I'll bite -- what _is_ it good for? I've never done closed-loop control with prepackaged controllers and I've never seen that done elsewhere. I can certainly see reversing the phase of the whole thing, or reversing the phase of the D term if it's coming from some other feedback source (which would imply a second input) but I _can't_ see the point in intentionally establishing an unstable zero in your control system.
-- snip some more --
Many, many software engineers, particularly embedded software engineers are gearheads, and almost all of them drive to work.
Yes, this could be _very_ counter-intuitive to my target audience. There isn't room for it in the talk, but I'll have to think about writing a "pitfalls" paper -- unfortunately I've internalized those pitfalls pretty deeply, so it may be hard to remember all of them.
I fear that my mind was poisoned long ago by a German instructor who pointed out that modern linguistic theory doesn't much recognize a "right way" and a "wrong way" -- it just records prevalent usage, and tries to keep out of the way of the steamroller.
When I write something that has two competing terms in use I'll often mention both of them (perhaps in a footnote), and I'll explain why I use the one I do.
It's simple: the level of literacy, even among "college boys", is appallingly low. Consider how many write "there" when they mean "their" or "they're".
"Differential" as an adjective refers to the the difference or the distinction between two quantities or states, as in "differential amplifier" and "differential diagnosis". A PID controller is governed by three terms: one is proportional to error, another is the integral (in the mathematical sense) of something, and the third is the derivative (in the mathematical sense) of (probably) something else.
The proportion of people who write "proportional integral differential" is not large considering the proportion of people who say "nucular" and swear it's correct because it derives from "nuculus". I find the reason for that totally uncular. :-D (uncular:nucular::unclear:nuclear)
I tend to agree, but the "wrong way" hinders communication if it is
*too* different from the "right way." If one decides to use a few non-standard fleemishes and the reader can still gloork the meaning from the context, but there ix a limit; If too many ot the vleeps are changed, it becomes harder and qixer to fllf what the wethcz is blorping, and evenually izs is bkb longer possible to ghilred frok at wifx. Dnighth? Ngfipht yk ur! Uvq the hhvd or hnnngh. Blorgk? Blorgk! Blorgkity-blorgk!!!!