Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ncleo de Anzotegui
Postgrado en Ingeniera Elctrica
Programa de Especializacin en Automatizacin e Informtica Industrial
Realizado por:
Adriana Mndez C.I 16.064.183
Revisado por:
Prof. Danilo Navarro
Usando la ley de Newton, las ecuaciones de modelado para este sistema son:
m=1000;
b=50;
u=10;
num=[1];
den=[m b];
%FUNCION DE TRANSFERENCI DEL SISTEMA DE CONTROL DE MARCHA%
SCM=tf(num,den)
%RESPUESTA A LAZO ABIERTO%
subplot(1,2,1)
step(u*SCM)
title('RESPUESTA A LAZO ABIERTO')
% PASO 1. REPRESENTACION EN ESPACIO DE ESTADO PARA obtener la forma
tpica que requiere el algoritmo de Runge-Kutta.%
%
A = [-b/m];
B = [1/m];
C = [1];
D = 0;
step(A,u*B,C,D);
title('REPRESENTACION EN ESPACIO DE ESTADO')
%Aplicando el Metodo de Runge-Kutta%
% PASO2. se escoge el paso de simulacin del sistema. Dado que el
tiempo de crecimiento del sistema realimentado
%es aproximadamente 40 segundos, para obtener muy buena precisin se
puede dividir entre 1000 para obtener as
%un paso de simulacin h = 0.04
%Aplicando el Metodo de Runge-Kutta%
v(1)=0
tiemposim=120
h=0.04
for i=1:3000
k1=(u/m)-(b/m)*(v(i))
k2=(u/m)-(b/m)*(v(i)+(1/2)*(k1*h))
k3=(u/m)-(b/m)*(v(i)+(1/2)*(k2)*h)
k4=(u/m)-(b/m)*(v(i)+k3*h)
v(i+1)=v(i)+(1/6)*(k1+2*k2+2*k3+k4)*h
end
subplot(1,2,2)
plot([0:3000]*h,v)
title('Respuesta al escalon obtenida mediante RUNGE-KUTTA')
ylabel('Velocidad (m/s)')
xlabel('Tiempo(s)')
Respuesta obtenida:
Amplitude
0.15
0.1
0.05
0
20
40
60
80
100
120
Time (seconds)
Velocidad (m/s)
0.2
0.15
0.1
0.05
0
20
40
60
Tiempo(s)
80
100
120
Control P Y PI
Del mismo modo se desarrollo un algoritmo donde se representan varios controladores
continuos. Ver archivo controlmarchacontinuio2.m
m=1000;
b=50;
u=10;
num=[1];
den=[m b];
%FUNCION DE TRANSFERENCI DEL SISTEMA DE CONTRoL DE MARCHA%
SCM=tf(num,den)
%RESPUESTA A LAZO ABIERTO%
subplot(4,2,1)
step(u*SCM)
title('RESPUESTA A LAZO ABIERTO')
% REPRESENTACION EN ESPACIO DE ESTADO%
A = [-b/m];
B = [1/m];
C = [1];
D = 0;
step(A,u*B,C,D);
title('REPRESENTACION EN ESPACIO DE ESTADO')
%Aplicando el Metodo de Runge-Kutta%
v(1)=0
tiemposim=120
h=0.04
for i=1:3000
k1=(u/m)-(b/m)*(v(i))
k2=(u/m)-(b/m)*(v(i)+(1/2)*(k1*h))
k3=(u/m)-(b/m)*(v(i)+(1/2)*(k2)*h)
k4=(u/m)-(b/m)*(v(i)+k3*h)
v(i+1)=v(i)+(1/6)*(k1+2*k2+2*k3+k4)*h
end
subplot(4,2,2)
plot([0:3000]*h,v)
title('Resapuesta al escalon obtenida mediante RUNGE-KUTTA')
ylabel('Velocidad (m/s)')
xlabel('Tiempo(s)')
% control proporcional continuo%
kp=100;
u=10;
num=[kp];
den=[m b+kp];
t=0:0.1:20;
subplot(4,2,3)
step(u*num,den,t)
axis([0 20 0 10])
title('control proporcional, kp=100')
ylabel('Velocidad (m/s)')
xlabel('Tiempo(s)')
%El sistema a lazo cerrado %
subplot(4,2,4)
kp=10000
[numc,denc]=cloop(kp*num,den,-1);
t = 0:0.1:20;
step(u*num,den,t)
axis([0 20 0 10])
title('control proporcional, kp=10000')
ylabel('Velocidad (m/s)')
xlabel('Tiempo(s)')
%control proporcional integral PI A LAZO CERRADO%
kp = 600;
ki = 1;
m=1000;
b=50;
u=10;
num=[kp ki];
den=[m b+kp ki];
t=0:0.1:20;
subplot(4,2,5)
step(u*num,den,t)
title('control proporcional-Integral, kp=600,ki=1')
ylabel('Velocidad (m/s)')
xlabel('Tiempo(s)')
axis([0 20 0 10])
% otra forma de obtener la respuesta del PI A LAZO CERRADO%
num = [1];
den = [m b];
num1= [kp ki];
den1= [1 0];
num2=conv(num,num1);
den2=conv(den,den1);
[numc,denc]=cloop(num2,den2,-1);
t=0:0.1:20;
subplot(4,2,6)
step(u*numc,denc,t)
axis([0 20 0 10])
title('control proporcional-Integral, kp=600,ki=1')
ylabel('Velocidad (m/s)')
xlabel('Tiempo(s)')
% control proporcional integral PI A LAZO CERRADO, variando kp=800 y
ki=40%
kp = 800;
ki = 40;
num = [1];
den = [m b];
num1= [kp ki];
den1= [1 0];
num2=conv(num,num1);
den2=conv(den,den1);
[numc,denc]=cloop(num2,den2,-1);
t=0:0.1:20;
subplot(4,2,7)
step(u*numc,denc,t)
axis([0 20 0 10])
title('control proporcional-Integral, kp=800,ki=40')
ylabel('Velocidad (m/s)')
xlabel('Tiempo(s)')
RESPUESTA OBTENIDA:
m=1000;
b=50;
u=10;
num=[1];
den=[m b];
e(k)=Setpoin-salida
u(k)=u_1+850.4*e(k)-899.6*e_1+50*e_2 % control calculado en el
instante k%
u_1=u(k)
e_2=e_1
e_1=e(k)
clear x1
x1(1)=estado(k)
%para la simulacion mediante Runge-Kutta utilizaremos pasos de
%simulacion de h=0.004
h=0.004
%por lo tanto sera ts/h=0.02/0.004
for i=1:5
k1=(u(k)/m)-(b/m)*(x1(i))
k2=(u(k)/m)-(b/m)*(x1(i)+(1/2)*(k1*h))
k3=(u(k)/m)-(b/m)*(x1(i)+(1/2)*(k2)*h)
k4=(u(k)/m)-(b/m)*(x1(i)+k3*h)
x1(i+1)=x1(i)+(1/6)*(k1+2*k2+2*k3+k4)*h
end
estado(k+1)=x1(i+1)
end
subplot(1,2,2)
plot([0:600]*h,estado)
title('Resapuesta al Controlador discretizado obtenida mediante RUNGEKUTTA')
ylabel('Velocidad (m/s)')
xlabel('Tiempo(s)')
Resultados obtenidos:
control proporcional-Integral-derivativo, kp=800,ki=40, kd=1
Velocidad (m/s)
10
10
Tiempo(s) (seconds)
Velocidad (m/s)
10
0.5
1.5
Tiempo(s)
2.5