Você está na página 1de 9

Alunos: Henrique Vitorino, Matheus Bicalho

Controle Digital de Sistemas Dinâmicos

1)​num = [4];
den = [1 6 11 6];

sys = tf(num,den);
sys1 = feedback(sys, 1)

step (sys1);
grid;

sys1 =

4
-----------------------
s^3 + 6 s^2 + 11 s + 10

Figura 1: Resposta ao degrau da função de transferência contínua em malha fechada

O sistema não alcança seu set point, uma vez que o set point é 1, e a resposta ao degrau
unitário não ultrapassa 0,5.
2)​num = [4];
den = [1 6 11 6];

sys = tf(num,den);
sys1 = feedback(sys, 1);

T = 0.1;
FTd = c2d(sys, T);
sys2 = feedback(FTd, 1);

step(sys1, sys2)
legend(​'Contínuo'​, ​'Discreto'​)
grid;

FTd =

0.0005745 z^2 + 0.00198 z + 0.0004256


-------------------------------------
z^3 - 2.464 z^2 + 2.018 z - 0.5488

Sample time: 0.1 seconds


Discrete-time transfer function.

sys2 =

0.0005745 z^2 + 0.00198 z + 0.0004256


-------------------------------------
z^3 - 2.464 z^2 + 2.02 z - 0.5484

Sample time: 0.1 seconds


Discrete-time transfer function.
Figura 2: Gráfico com as respostas em degrau das funções de transferência de malha
fechada, contínuo em azul e vermelho em discreto.

O sistema não alcança seu set point, uma vez que o set point é 1 e ambas as respostas ao
degrau unitário tanto no contínuo quanto discreto não ultrapassa os 0,5.

3)a)

num = [4];
den = [1 6 11 6];
kcr = 15;

sys = kcr * tf(num,den)


sys1 = feedback(sys, 1)

step(sys1)

grid;

sys =

60
----------------------
s^3 + 6 s^2 + 11 s + 6

Continuous-time transfer function.

sys1 =

60
-----------------------
s^3 + 6 s^2 + 11 s + 66

Continuous-time transfer function.

Figura 3: Resposta ao degrau oscilatória.

b) ​Pcr = 2,98 - 1,12 = 1,86

c)
Kp = 9
Ti = 0,93
Td = 0,23
Ki = 9,67
Kd = 2,09

d)

Pid = tf([Kd Kp Ki],[1 0])


Pid =

2.093 s^2 + 9 s + 9.677


-----------------------
s

Continuous-time transfer function.

Pids = Gc * Pid;

Pids =

8.37 s^2 + 36 s + 38.71


--------------------------
s^4 + 6 s^3 + 11 s^2 + 6 s

Continuous-time transfer function.

e)
​Pids = Gc * Pid
FPids = feedback(Pids, 1)

step (FPids)

FPids =

8.37 s^2 + 36 s + 38.71


--------------------------------------
s^4 + 6 s^3 + 19.37 s^2 + 42 s + 38.71

Continuous-time transfer function.


Figura 4: Gráfico com da resposta ao degrau do controlador PID contínuo.

4)
close;
clear ​all​;
clc;

sym ​z​;

num = [4];
den = [1 6 11 6];
kcr = 15;
pcr = 1.86;
Ts = 0.1;

Gc = tf(num,den);

Gc =

4
----------------------
s^3 + 6 s^2 + 11 s + 6

Continuous-time transfer function.

Kp = 0.6*kcr;
Ti = 0.5*pcr;
Td = 0.125*pcr;
Ki = Kp*Ts/Ti;
Kd = Kp*Td/Ts;

Kp = 9
Ti = 0,93
Td = 0,23
Ki = 0,96
Kd = 20,92

z = tf(​'z'​, Ts)

Pid = Kp + Ki/(1 - 1/z) + Kd * (1 - 1/z)

Pid =

30.89 z^2 - 50.85 z + 20.93


---------------------------
z^2 - z

Sample time: 0.1 seconds


Discrete-time transfer function.

Gz = c2d(Gc, Ts)

Gz =

0.0005745 z^2 + 0.00198 z + 0.0004256


-------------------------------------
z^3 - 2.464 z^2 + 2.018 z - 0.5488

Sample time: 0.1 seconds


Discrete-time transfer function.

Pidz = Pid * Gz

Pidz =

0.01775 z^4 + 0.03197 z^3 - 0.07554 z^2 + 0.0198 z + 0.008906


-------------------------------------------------------------
z^5 - 3.464 z^4 + 4.482 z^3 - 2.566 z^2 + 0.5488 z

Sample time: 0.1 seconds


Discrete-time transfer function.

FPidz = feedback(Pidz, 1)

FPidz =

0.01775 z^4 + 0.03197 z^3 - 0.07554 z^2 + 0.0198 z + 0.008906


-------------------------------------------------------------
z^5 - 3.447 z^4 + 4.514 z^3 - 2.642 z^2 + 0.5686 z + 0.008906

Sample time: 0.1 seconds


Discrete-time transfer function.

step(FPidz)

Figura 5: Gráfico com da resposta ao degrau do controlador PID discreto.

step(FPidz, FPids)
legend(​'Discreto'​, ​'Contínuo'​)
grid;
Figura 6: Gráfico com os dois controladores, o PID contínuo em vermelho, e o discreto em
azul.

O controlador PID contínuo obteve uma maior estabilidade do que o discreto, visto que o
discreto oscilou bastante antes de estabilizar.

Você também pode gostar