Serious problems with designing PID


Thread Starter


Hi all,

I'm having serious problems designing a PID controller for this simple first order system. G(s) = 2880/(0.0523s+1). It's supposed to represent a DC motor and I need to design a PID controller to improve its performance. I'm probably missing something because for a while now I've been on it with no success. I adjust the gains but nothing happens. I've been trying to use the Zeigler-Nichols method but it isn't working for this system. I'm due to hand in my report tomorrow so at this point I really really need urgent help. Thanks in advance.
Yes you have a serious problem. You are trying to fudge an answer but the theory won't let you. (I was very successful at fudging answers but this one will be hard to do).

The answer to your problem can be explained through a root locus diagram. But since this is a text-forum I will try to explain it:

* You only have on pole on the real axis

* In step 1 of ZN tuning (poor choice by the way) you have a P only controller and increase the gain until you get an oscillation.

My question to you is how do you expect to get an oscillatory closed-loop response? On a simulation you can't. Why? because you have no deadtime and a first order process with no deadtime CANNOT oscillate even with a gain of 999999999. The explanation for this is that your pole travels to the zero point but never gets an imaginery component to it.

To have a good answer on your assignment, add deadtime and you can use a first order Pade approximation. You will then be capable to confirm that ZN is not the right tuning technique because the gain margin is bad, Real Bad.

Good luck
Ben Janvier, Enero Solutions