TimWescott's comments

TimWescott | 6 years ago | on: PID Without a PhD (2016) [pdf]

FIR filters are the last thing you want in closed loop -- for the amount of filtering they do, they have way excessive phase delay.

I'd use a derivative term with bandlimiting, and I'd accept that if I couldn't get the response I needed using feedback in that case then I'd either investigate using feedforward, or I'd work on changing the sensors on the plant so that they're less noisy.

TimWescott | 6 years ago | on: PID Without a PhD (2016) [pdf]

FYI, if you're a visual learner, check out my YouTube channel: https://www.youtube.com/channel/UC923b-omXUs0dnWOTDD7FhA, but be warned there's not as much there as I'd like.

I do have all the material from "PID Without a PhD" in there -- just watch the three videos with "PID" in the title.

I also recommend Brian Douglas's channel: https://www.youtube.com/user/ControlLectures if for no other reason than because I haven't posted a new video for three years -- but then, he's been posting on some Matlab channel, so you'll want to start with his and then move to that one.

TimWescott | 6 years ago | on: PID Without a PhD (2016) [pdf]

I wrote that article in 2000, and the really scary thing for me is that I'm now seeing code that obviously either came right out of it, or is only a few copy-pasta steps away from it that's just taken as "the way things are done".

For the record -- it's one way to do it, but the code in there was primarily written to be as easy to understand as possible, not to be the World's Best Controller Implementation.

TimWescott | 6 years ago | on: PID Without a PhD (2016) [pdf]

There are various structured ways to set PID gains.

The mentioned use of optimal control is one, although if you go there you need to be careful about setting your costs -- LQR and other optimal schemes assume a perfect model of the plant; the higher you set Q the higher the probability that your system will ring or go unstable.

There's various robust control methods, all of which I haven't used in a Good Long While, because for the most part swept-sine measurements work nice.

The one I've used most involves taking swept-sine measurements to get the plant response in Bode plot form, then using either Bode or Nyquist plots (or both) to tune my PID (or whatever controller I'm using).

For a large class of industrial problems, swept-sine measurements won't do, either because measurements need to be undertaken on production lines that are in operation, and the operators get cranky about things like noticeable sinusoidal variations in the product (think aluminum foil or paper), or because even when operated within safe limits, large machines undergoing swept-sine measurements can be downright scary. In such cases one usually ends up using random excitation or steps (often called "bump testing" if you're in an oil refinery or a paper plant) and some sort of system identification step like ARMA.

If you do end up doing testing followed by system ID, you'll most likely get an approximate plant transfer function -- so it's wise to either use a grain of salt when doing your optimal design, or to use some robust design method or other.

page 1