how to calculate Plant transfer function in PID control system?

45 views (last 30 days)
MIJONG KIM
MIJONG KIM on 30 Jan 2020
Answered: Prasanna Gude on 5 Mar 2020
I make simple PID control system example.
in continuous sys
Pid contorl system : Gc=tf([1 1],[1 0]);
Plant system : Pc=tf([1 1],[1 1 1]);
and make simple feed back system As below
All system : Ac=(Gc*Pc)/(1+Gc*Pc);
And I make discrete systme like this
Discrete Control system : Gd=c2d(Gc,0.1);
All System : Ad=c2d(Ac,0.1);
As u know that i can get very easely to use c2d funcion to verigy Plant system in discrete system like to use Pd=Ad=c2d(Pc,0.1);
But i try to use solve the equation of feed back system like this
Pd=Ad/(Gd-Gd*Ad);
after that i test the step response test
figure(1)
step(Ac,Ad,100)
figure(2)
step(Gc,Gd,100)
Pd=Ad/(Gd-Gd*Ad);
figure(3)
step(Pc,Pd,100)
figure 1 and 2 are good but figure 3 Plant is different with continuous ans discrete
is there some mistake ? i Dont konw i Just follow the thory
can you help me??

Answers (1)

Prasanna Gude
Prasanna Gude on 5 Mar 2020
As of my understanding, your problem arises due to the following command:
Pd = Ad/(Gd-Gd*Ad);
The above mathematical equation and the c2d function follow different approaches to get the output.
In the mathematical equation, infinite series associated with each transfer function will be computed to get the Discrete Plant transfer function. Whereas in c2d function, ‘zoh’(Zero-order hold) Discretization method is followed to discretize the continuous signal.
Instead use the following commands to obtain the output that you are expecting:
Pd = c2d(Pc,0.1);
step(Pc,Pd,100)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by