You are on page 1of 14

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN

FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRONICA

LABORATORIO DE TEORIA DE CONTROL AUTOMATICO 1

LABORATORIO 4:

RESPUESTA TEMPORAL DE LOS SISTEMAS DE CONTROL AUTOMÁTICO

DOCENTE:
ING. DANIEL YANYACHI

ALUMNO:
MUÑUYCO JINEZ JHONATAN ELVIS

AREQUIPA – PERU

PROCEDIMIENTO
Figura 4.1: Modelo dinámico de un motor DC.

θ̇ k
G(s) = = (4.3)
V (J s + b)(Ls + R) + k 2

tiempo de acomodación menor que 0.04 s.


overshoot menor que 16 %.
ess = 0 error en régimen permanente (steady state error

Tabla 4.1: Coeficientes para el modelo dinámico del motor DC

constante unidades descripción


J 3.2284E-6 kgm2 /s2 momento de inercia del rotor
b 3.5077E-6 N m/s coeficiente de amortecimiento del motor
k = ke = kt 0.0274 N m/Amp constante de la fuerza electromotriz
R 4Ω resistencia eléctrica del motor
L 2.75E-6 H inductancia eléctrica del motor
V ? voltaje de entrada
θ ? ángulo o posición de salida

La función de transferencia de nuestro controlador PID es de la forma:


KI KD s2 + KP s + KI
P I D(s) = KP + + K Ds = (4.4)
s s
1.- La función trasferencia de un controlador PID es de la forma:
KI K s2  K p  KI
PID( s )  K p   KDs  D
s s
Para resolver este problema, crearemos un file pidmotor.m (fig1),
function[h]=pidmotor(kp,ki,kd)
%modelo del motor G(s)
J=3.2284E-6
b=3.5077E-6
K=0.0274
R=4
L=2.75E-6
num=K
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
%F.T. del controlador PID(s)
kp=kp
ki=ki
kd=kd
numpid=[kd kp ki];
denpid=[1 0];
%F.T. en lazo abierto F(s)=G(s)*PID(s)
numf=conv(num,numpid);
denf=conv(den,denpid);
[af bf cf df]=tf2ss(numf,denf)
sysf=ss(af,bf,cf,df)
%F.T. en lazo cerrado H(s)=F(s)/1+F(s) (negative feedback)
h=feedback(sysf,1);

t=0:0.001:0.3; %tiempo de simulacion


step(h,t)
xlabel('tiempo (s)')
ylabel('posicion (rad)')
grid

% teniendo en cuenta la estructura del sistema controlado procedemos a


sintonizar los parámetros del PID

1a) Acción Proporcional (P)


*sistema con nombre accionprop.m

clear all
h=pidmotor(1.79,0,0) %llamando la función pid motor
t=0:0.001:0.3; % tiempo de la simulación
step(h,t);%respuesta al escalón
xlabel('Tiempo (s)')
ylabel('Posicion (rad)')
grid

Es una imagen ploteado en matlab.


Gráfica de la respuesta en escalón

% En esta imagen podemos ver que la gráfica se vuelve constante a partir de


0.2 segundos en adelante.

1b) Acción Proporcional Integral (PI)


*sistema ej1b.m
clear all
h=pidmotor(1.79,200,0)
t=0:0.001:0.3; % tiempo de la simluacion
step(h,t) %respuesta al escalón
xlabel('Tiempo (s)')
ylabel('Posicion (rad)')
grid

Gráfica de la respuesta en escalón en (PI)


%Esta grafica muestra un tiempo de acomodación largo el cual se puede
modificar cambiando los valores de kp y ki.
1c) Acción Proporcional Integral Derivativo (PID)
*sistema ejc.m
clear all
h=pidmotor(17,200,0)
t=0:0.001:0.3; % tiempo de la simulación
step(h,t)
xlabel('Tiempo (s)')
ylabel('Posición (rad)')
grid

Grafica de la respuesta en escalón

Gráfica de la respuesta en escalón en (PID)

%De la gráfica podemos ver que posee una respuesta rápida pero que el
overshoot se incrementa demasiado, para los cual se introduce kd(acción
derivativa.

2. Dado el sistema de segundo orden descrito en la Ecuación


n
H (s) 
s 2  2n s  n 2
- Plotee el mapa de polos y la respuesta temporal para los siguientes casos
i)   0.7 y n  [0 : 0.25 : 4]rad / s

t=0:0.1:5; %Rango de la respuesta temporal


zeta=0.7; %valor de zeta
wn=0:0.25:4; %valor de wn
for n=1:16 %rango de wn
num=[(wn(n))^2]; %numerador de la FT
den=[1 2*zeta*wn(n) (wn(n))^2]; %denominador de la FT
[y(1:51,n),x,t]=step(num,den,t); %función escalón
end

subplot(2,1,1)
plot(t,y) %comando para graficar (Fig.7)
grid
title('respuesta a un escalón unitario') %titulo
xlabel('t(seg)') %nombre del eje x
ylabel('Respuesta') %nombre del eje y

subplot(2,1,2)
pzmap(num,den)

Gráfica de la respuesta en escalón

%En la gráfica se puede observar los ceros y polos. También vemos un ligero
amortiguamiento en la primera gráfica.
ii)   0.5 y n  [0 : 0.25 : 4]rad / s

*sistema ej2b.m
t=0:0.1:5; %Rango de la respuesta temporal
zeta=0.5; %valor de zeta
wn=0:0.25:4; %valor de wn
for n=1:16 %rango de wn
num=[wn(n)^2]; %num de la FT
den=[1 2*zeta*wn(n) wn(n)^2]; %den de la FT
[y(1:51,n),x,t]=step(num,den,t); %función escalón
end
subplot(2,1,1)
plot(t,y) %comando para graficar
grid
title('respuesta a un escalón unitario') %titulo
xlabel('t(seg)') %nombre del eje x
ylabel('Respuesta') %nombre del eje y

subplot(2,1,2)
pzmap(num,den)
Gráfica de la respuesta en escalón unitario
%Podemos ver un ligero amortiguamiento en la primera grafica

iii)  [0 : 0.25 : 3] y n  2rad / s


*ej2c.m
t=0:0.1:5; %Rango de la respuesta temporal
zeta=0:0.25:3; %valor de zeta
wn=2; %valor de wn
for n=1:12 %rango de zeta
num=[wn^2]; %num de la FT
den=[1 2*zeta(n)*wn wn^2]; %den de la FT
[y(1:51,n),x,t]=step(num,den,t); %función escalón
end

subplot(2,1,1)
plot(t,y) %comando para graficar
grid
title('respuesta a un escalón unitario') %titulo
xlabel('t(seg)') %nombre del eje x
ylabel('Respuesta') %nombre del eje y

subplot(2,1,2)
pzmap(num,den) %diagrama de polos
Fig.10 Gráfica de la respuesta en escalón unitario

%Podemos ver que los ceros y polos se encuentran en el eje real igual a 0.

iv)  [0 : 0.25 : 3] y n  3rad / s


*ej2d.m
t=0:0.1:5; %Rango de la respuesta temporal
zeta=0:0.25:3; %valor de zeta
wn=3; %valor de wn
for n=1:12 %rango de zeta
num=[wn^2]; %num de la FT
den=[1 2*zeta(n)*wn wn^2]; %den de la FT
[y(1:51,n),x,t]=step(num,den,t); %función escalón
end

subplot(2,1,1)
plot(t,y) %comando para graficar
grid
title('respuesta a un escalón unitario') %titulo
xlabel('t(seg)') %nombre del eje x
ylabel('Respuesta') %nombre del eje y

subplot(2,1,2)
pzmap(num,den) %diagrama de polos
Fig.11 Gráfica de la respuesta en escalón unitario

Los ceros y polos coinciden con el eje 0 real. Además de una curva sin amortiguamiento
aparente en la gráfica de respuesta al escalón unitario.

3.- Plotee la respuesta temporal de sistema


2600
G( s) 
4s  128s  1053s 2  1990s  2600
4 3

*definimos el sistema con ej3.m


clear all %limpiando las variables
G=tf([2600],[4 128 1053 1990 2600]) %definiendo la función de
transferencia
step(G) %ploteando la respuesta al escalón
Data=stepinfo(G) %nos da la información

Gráfica de la respuesta en escalón


Comentario: De la gráfica podemos deducir que hay un rebase máximo notorio(primer pico),
además se puede ver que aproximadamente en 5.5 segundos la respuesta alcanza un
amortiguamiento constante.
Podemos repasar los tiempos diferentes que existen en una gráfica:
tr: Tiempo de levantamiento (rise time)
tp: Tiempo de pico (peak time), tiempo requerido para que la respuesta alcance su primer pico
máximo
ts: Tiempo de asentamiento (settling time), tiempo requerido para que la respuesta entre en la
banda de tolerancia permisible
Mp: Sobrepase máximo (overshoot), el cual mencionamos al inicio del comentario como
primer pico máximo.

4.- Considere el sistema de la ecuación. Determine los valores de  y n para que


el sistema responda a una entrada escalón con un sobrepaso de aproximación de
5%y con un tiempo de asentamiento (ts) de 2 segundos. (use el criterio de 2% para
la tolerancia permisible. Compare con los resultados analiticos)

*sistema ej4.m
D=input('Ingrese el sobrepaso de aproximación: ');
%programa para ingresar los valores de de D
tr=input('Ingrese el tiempo de asentamiento: ');
%programa para ingresar el valor de tr
zeta=sqrt(1/(1+(pi/log(D/100))^2));
%formula para hallar el valor de zeta, esta se sacó analíticamente
wn=2/zeta;
%formula para hallar wn, se saco para banda de tolerancia del 2%
zeta=zeta %halla zeta
wn=wn %halla wn
%A continuación ingresamos el sobrepaso de aproximación y el tiempo e
asentamiento en la ventana de comandos del matlab.

5.- Implemente una nueva función (similar a la función pidmotor del ítem1).
Usando esa nueva función, encuentre los parámetros del controlador PID (Kp,
Ki, Kd) para el sistema mecánico siguiente.
X ( s) 1
 2
F ( s) ms  bs  k
dónde:
m= 2Kg masa del móvil
b=15Ns/m (Coeficiente del amortiguador)
k= 25N/m (coeficiente del resorte)

*nombre del sistema ej5a.m


clear all
m=2; % kg
b=15; % Ns/m
k=25; % N/m
num=1; %numerador
den=[m b k]; %denominador
Kp=300; %tanteando kp
num=[Kp]; %renombrando con kp
den=[m b k+Kp]; %renombrando con kp
t=0:0.01:2; %vector de tiempo
step(num,den,t) %respuesta al escalon
grid
title('respuesta a un escalón unitario') %titulo
xlabel('t(seg)') %nombre del eje x
ylabel('Respuesta') %nombre del eje y

Gráfica de la respuesta en escalón

En esta parte solo trabajamos con una acción proporcional (P), Kp=300

*nombre del sistema ej5b.m


clear all
m=2; % kg
b=15; % Ns/m
k=25; % N/m
num=1; %numerador de ft
den=[m b k]; %denominador de ft
Kp=30; %tanteando kp
Ki=70; %tanteando ki
num=[Kp Ki]; %renombrando el numerador con kp y ki
den=[m b k+Kp Ki]; %renombrando el denominador con kp y ki
t=0:0.01:2; %vector de tiempo
step(num,den,t) %respuesta al escalon
grid
title('respuesta a un scalon unitario') %titulo
xlabel('t(seg)') %nombre del eje x
ylabel('Respuesta') %nombre del eje y
Gráfica de la respuesta en escalón
En esta segunda parte trabajamos con una acción proporcional integral (PI), Kp=30 Ki=70

*nombre del sistema ej5c.m

clear all
m=2; %masa en kg
b=15; %coeficiente de amortiguamiento en Ns/m
k=25; %coeficiente del resorte en N/m
num=1; %nombrando al numerador
den=[m b k]; %nombrando al denominador
Kp=350; %tanteando kp
Ki=300; %tanteando ki
Kd=50; %tanteando kd
num=[Kd Kp Ki]; %renombrando al denominador
den=[m b+Kd k+Kp Ki]; %renombrando al denominador
t=0:0.01:2; %vector de tiempo
step(num,den,t) %respuesta al escalón
grid
title('respuesta a un escalón unitario') %titulo
xlabel('t(seg)') %nombre del eje x
ylabel('Respuesta') %nombre del eje y
Gráfica de la respuesta en escalón

En esta tercera parte trabajamos con una acción proporcional integral derivativa (PID),
Kp=350 Ki=300 Kd=50

CONCLUSIONES:
- En el presente laboratorio vimos de manera grafica las diferentes graficas de tipo de
controladores, P, PD,PI y PID comparandola en si con una funcion escalon que nos sirvio
como base para ver la estabilidad en el tiempo de uno de esos controladores que vimos en
la presente.
- De este último trabajo podemos entender mejor el funcionamiento de los sistemas
controlados, mayormente presentando una respuesta rápida, un sobrepaso no muy
grande (en algunos casos mínimos) y un error de régimen permanente nulo (esto
quiere decir que el amortiguamiento llevara a que la respuesta en un tiempo
determinado sea cero)
- Gracias a estos ejercicios podemos utilizar como ayuda el matlab. De una manera
práctica podemos establecer los sistemas de control, buscando su respuesta temporal,
basándonos en las características que nos ofrezca el ejercicio (Kp, Ki, Kd).
- Es muy importante saber entender lo que se gráfica para que sea mas fácil explicar los
archivos.m
- Bibliografia

- https://www.youtube.com/watch?v=tw2CROsoUTY
- https://www.youtube.com/watch?v=w3QsMVV8Zro
- https://www.youtube.com/watch?v=giAU5yn7xV8
- http://es.scribd.com/doc/96355044/Respuesta-en-Frecuencia-de-Los-Sistemas-de-Control-
Automatico#scribd
- http://www.ie.itcr.ac.cr/gaby/Licenciatura/Analisis_Sistemas_Lineales/Presentaciones/11_D
ominio_Frecuencia_Bode_v08s02.pdf
- https://www.google.com.pe/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=
8&ved=0CC8QFjAD&url=http%3A%2F%2Fecaths1.s3.amazonaws.com%2Fcontrolautomatico
frtutn%2F910867267.Programa.pdf&ei=uXRqVdfvO8v9gwSHlYPICQ&usg=AFQjCNFp7hssLhX
5oV2sjOKF5S5Ll7HI3w&sig2=swK-Db-jNTB8NlOdq45d2A&bvm=bv.94455598,d.eXY
- https://books.google.com.pe/books?id=GyWr6cT8SEsC&pg=PA543&lpg=PA543&dq=Respue
sta+en+frecuencia+de+los+Sistemas+de+Control+Autom%C3%A1tico&source=bl&ots=M3TZ
KXcQyq&sig=wV6sWaysGYOtvELAqFaY2rrDDT4&hl=es&sa=X&ei=uXRqVdfvO8v9gwSHlYPICQ
&ved=0CDUQ6AEwBA#v=onepage&q=Respuesta%20en%20frecuencia%20de%20los%20Sist
emas%20de%20Control%20Autom%C3%A1tico&f=false
- http://www.buenastareas.com/ensayos/Respueste-En-Frecuencia-De-Los-
Sistemas/4476761.html

You might also like