Implementing Linear PID controller in real world apps


Thread Starter


I want to use PID to control a dc motor with an encoder installed on it. I just want to know the algorithms that I can simply force to the system (like x(t) = Kp*e(t)+...), how can I use it?

And at last information about different forms of PID algoritm like Fuzzy, Cascade...


Darcy Guderjan

The only way to implement the system is to tune it properly. If the manufacturer gives you a graph specifying the controll signal input required (4-20ma) and the DC motor output (RPM under load or no load conditions) then this is easyer to predict, but either way you are still going to have to tune it. Also you NEED a source of negitive Feed back, a Tachometer or speed detector will do. And a chart recorder for graphed output, unless you are lucky enough for a moore353 and then just log in with your laptop.

Then get the tuneing paramiters of your process and apply the Ziggler NIcholas( or the other one to get critally damped responce or else your RPM will jump) Tuneing formaua to get the proper values. I was going to explane this myself but after I thougt about it I would ranther do it for you than try to explane, do a search on Tuneing a process, or check out Process measurement and analysis by Bela G Liptak, there is a chapter called "Responce Time and drift testing" that might help you out.

Oh and cascade is only ment for a process where you have disturbances in the manuiplated varable that have a ratio of (Pu-primary/Pu-secondary)>3

good luck,

[email protected]
Hello :)

First of all, in what type of control system are You planning implement the PID algorithm ?

If You are confident the system is capable of handling the amount and type of data You should be able to implement the algorithm directly by coding it in the actual control systems language.

Are we talking about a big machine here or a laboratory setup ?....just courious :)