PID Without a PhD, Finally

Apr 14, 2016 128 Replies

ah. thanks.

\_(?)_

Thank you so much. I will learn something I never knew much about.

Back in 1966 when I was finishing up my BSEE I missed the servo class. Never needed it as my career had me doing analog, digital and software design. Design from the component, module subsystem and system design. I loved following my designs from drawing through manufacturing and integration, test and installation. I have multi-million dollar systems in the field right now. But now retired (in 2008) and listening to the scuttlebutt.

My college change my degree a few years back from BSEE to BS Electronics and Computers which is actually more accurate.

I was in on the beginnings of the microprocessor, had an Altair and designed hardware interfaces for it and wrote software in C and assembly including modifying CP/M OS for the hardware interfaces.

Thanks for bringing back great memories!

Indeed I've been wondering whether this stuff was ever done with purely analog electronics. I don't know how far back it goes historically but I imagine quite a way. Optimal control is from the 1940s and I'd expect PID to be much older? I'm clueless though.

I think the 1st generation of CD players had pretty analog control loops for focus and track. This is not too long ago...

The first PID controllers, to my knowledge, were purely mechanical systems. The seminal papers were written in the 1860's, but they were to describe and analyze what had already been in use in industry.

Pneumatic systems were a great innovation in the 1930's (or 20's, or teens).

Electronics doing PID control is a johnny come lately.

Here's Maxwell's paper (yes, James Clerk Maxwell of E&M fame). There was a Russian -- Tchebychev, I think. I can't remember who, nor have I found any papers.

formatting link

Tim Wescott Wescott Design Services http://www.wescottdesign.com

I think that PID control originated in the pneumatic controller days, before there were many (or any) PhDs in control theory. One story that I read suggests that the derivative term was discovered accidentally, the result of a leaky bellows or something.

I designed a state-of-the-art digital boiler/throttle control system for the Navy's LHA helicopter assault ships. The Navy couldn't maintain it so they ripped it out and substituted pneumatics.

John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.com

PID -- or at least PI -- control has been around longer than that:

formatting link

Tim Wescott Wescott Design Services http://www.wescottdesign.com

Sure thing. About three weeks ago for me. ;)

Cheers

Phil Hobbs

Engineers tend to do

Actuator = error * (Kp + Ki + Kd)

whereas old-time analog controllers did

Actuator = Kp * (1 + Ki + Kd)

with the idea being that it's easier to tune on-site.

John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.com

I think you mean,

Actuator = error * Kp * (1 + Ki + Kd)

In other words, the Ki and Kd terms were normalized to Kp.

Rick C

Those rotating mechanical governors(MG) on steam engines? My tractor has this MG, made up of springs and weights, it works fine, but I've never quite understood it. (hasn't broken yet, circa 1949)

George H.

I don't really think that is PID. It is really just P. There is no integral term and no derivative. It does have a certain amount of lag from the inertia of the weights.

Not much to understand, if the load gets heavier and the engine slows down, the weights spin closer to the shaft and this pulls the throttle out restoring the engine speed, mostly. If the load lightens and the engine speeds up, the weights spin further out from the shaft and this backs off the throttle.

Rick C

The first PID was used for steering ships and was mostly mechanical:

formatting link

Les Cargill

Uhhhhh... no.

Actuator = (error * Kp) + ( filter1(sum(error)) * Ki ) + ( filter2(delta(error,lastError)) * Kd)

Because trimpots are awesome.

Les Cargill

The writing on that is superb. Thanks for the link.

Les Cargill

No, he didn't do that properly. Otherwise, there'd be no need for three Kx constants.

The integrator term accumulates the error per sample by some law/filter and the Kd is multiplied by a filtered version of the difference between the error this sample and the error of the previous sample.

Actuator = (error * Kp) + ( filter1(sum(error)) * Ki ) + ( filter2(delta(error,lastError)) * Kd)

where the filters are very likely extremely stateful and not very filter-ey.

Forms exist for continuous linear PID and they're about what you'd expect.

Les Cargill

Oh, you know what I mean. Old-time analog PID controllers often used a different sigal flow path than sum-of-terms.

John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.com

Oh, I'm sure. I haven't done anything directly with analog PID other than read about them.

Les Cargill

formatting link

That is a perfect Analog PID circuit,.. Scroll down to see print.

LAG = (I) With enhanced control. LEAD= (D) " " " Via the BREAK levels. GAIN= (P) Dancer POS is the Set Point (SP) While the input to the buffer is the Process Value (PV)

Jamie

We do it all the time on boards: voltage regulator loops, power amps, that sort of thing.

John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.com

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required