Está en la página 1de 4

CONTROL 2

Control II Planta de segundo orden


Juan Camilo morales 76701 Jaime Cardona 14941, Sergio Esteban Rubiano 30945
Carlos Andrés Torres Pinzón
11 de noviembre de 2023

Función de transferencia

Gs = tf ([8.3], [1 2 8.2])

Gsd =

0.01002 z + 0.009692

----------------------

z^2 - 1.885 z + 0.9048

Se configura una función de transferencia continua de segundo orden Gs con coeficientes [1 ,2, 8.2].
Se determina un intervalo de muestreo Ts y se convierte la planta a su forma discreta utilizando el
método de retención de orden cero (‘zoh’). Simulación de la respuesta al escalón de la planta en sus
formas continua y discreta: Se realiza la simulación de la respuesta al escalón de la planta en su
forma continua (Gg) y en su forma discreta (Gsd). Diseño de un controlador PID: Se especifica un
tiempo de asentamiento requerido (tsLA) y un sobre impulso requerido (Sp) para el diseño de un
controlador PID. Los parámetros del controlador se determinan en función de estos requerimientos.
Diseño de un segundo controlador PID: Se especifica un segundo tiempo de asentamiento requerido
(tsLC), un factor de amortiguamiento requerido (zitaLC), y se determinan los parámetros del
controlador PID discreto. Simulación de la respuesta al escalón de la planta con control PID: Se realiza
la simulación de la respuesta al escalón de la planta con el controlador PID discreto (H).
Implementación del PID discreto mediante un bucle for: Se realiza la implementación manual del
controlador PID discreto en un bucle for, calculando la salida del sistema en cada instante de tiempo.
Código de Matlab para la planta de segundo orden.

clear all
clc
% función de transferencia
Gs = tf ([8.3], [1 2 8.2]); %planta de segundo orden
Ts = 0.05; %tiempo de muestreo
Gsd = c2d (Gs, Ts, 'zoh') %comando para discretizar mi planta
tsim = 20; %tiempo de simulación
step (Gsd, tsim) %mostrar la grafica
hold on
s=tf('s');
a=2;
b=8.3;
c=8.2;
Gg=(b/(s^2+a*s+c));
step (Gg,15)
hold on
%-----------------------------------------
tsLA=3.55;
Sp=30.9/100;
zita_LA= -log (Sp)/(sqrt(pi^2+(log (Sp))^2));
%----------------------------------------
tsLC=1.6;
zitaLC=0.7;
WnLC=4/(tsLC*zitaLC);
alfa=10;
%------------------------------------------
Kd=(1/b) * ((alfa+2*zitaLC)*WnLC-a)
Kp=(1/b) * ((2*zitaLC*alfa+1) * WnLC^2-c)
Ki=(alfa*WnLC^3)/b
PID=(Kd*s^2+Kp*s+Ki) / s;
H=minreal (PID*Gg/(1+PID*Gg));
Gsd_1 = c2d (H, Ts, 'zoh') %comando para discretizar mi planta
step (1.012*Gsd_1,15)
hold on;
step (1.012*H,15)
hold on;

%PID Discreto
ukm1=0;
ukm2=0;
ykm1=0;
ykm2=0;
k=0:Ts:tsim;
for i=1:length(k)
yk(i)=1.144*ykm1-0.6065*ykm2+0.2027*ukm1+0.171*ukm2;
ykm1=yk(i);
ukm1=1;
if i>2
ukm2=ukm1;
ykm2=ykm1;
end
end
%
%PID Discreto
ukm1=0;
ukm2=0;
ykm1=0;
ykm2=0;
k=0:Ts:tsim;
for i=1:length(k)
yk(i)=1.144*ykm1-0.6065*ykm2+0.2027*ukm1+0.171*ukm2;
ykm1=yk(i);
ukm1=1;
if i>2
ukm2=ukm1;
ykm2=ykm1;
end
end

Grafica sin discretizar


Grafica con discretización

Conclusión

Este código lleva a cabo la creación y simulación de un controlador PID para una planta de
segundo orden, en sus versiones continua y discreta, y contrasta las respuestas al escalón de la
planta con y sin el controlador PID.

También podría gustarte