Академический Документы
Профессиональный Документы
Культура Документы
1. OBJETIVO: ................................................................................................................. 2
2. SOFTWARE Y MATERIALES A UTILIZAR ..................................................................... 2
3. MARCO TEORICO ...................................................................................................... 2
4. APLICACIN .............................................................................................................. 3
5. CONCLUCIONES Y OBSERVACIONES ....................................................................... 12
SINTONIZACIN DE PARAMETROS DEL CONTROLADOR
PID UTILIZANDO TECNICAS DE OPTIMIZACION
1. OBJETIVO: Desarrollar y aplicar una metodologa de sintonizacin de
parmetros PID utilizando tcnicas de optimizacin.
Simulink
matlab
toobox de optimizacion
3. MARCO TEORICO
El System Identification Toolbox de MATLAB ofrece varias funciones para realizar estos
pasos adems de una interfaz grfica (GUI) para realizar la identificacin de manera
interactiva.
Los procesos industriales generalmente estn descritos por medio de caractersticas
propias de cada sistema como viscosidades, resistencias elctricas o resistencias dadas
por vlvulas que restringen el paso de un fluido, sistemas de suspensin mecnica,
fuerzas, resortes, amortiguadores, flujos trmicos entre muchas otras variables que
indican su comportamiento; adems de estas caractersticas muchos de los procesos
estn influenciados por el tiempo, cuando esto ocurre se deben describir usando
funciones matemticas dependientes del tiempo, por medio de ecuaciones
diferenciales para modelar dichos comportamientos
4. APLICACIN
La funcin de transferencia real con una entrada Uniform Randon Numer se obtiene
una salida en scope 1 la cual se le asign el nombre de Y, y es la que llamaremos
funcin objetivo.
FUNCTION REAL
SALIDA DE LA NUEVA FUNCION MODELO
VALORES ALEATORIOS
clear all
clc
format bank
%parametros de la funcion de transferencia
%elige valores aleatorios para los diferentes valores de
Kvector=1+(20-1).*rand(500,1)
tvector=0.01+(2-0.01).*rand(500,1)
bvector=0.1+(10-0.1).*rand(500,1)
RESTRICCIONES
% valores escogidos al azar en base a restricciones
%valor de K=10
for i=1:length(Kvector)
k=Kvector(i,1);
if (k >= 9.8) && (k <= 10.2)
K=k;
end
end
K
%valor de T=0.1
for j=1:length(tvector)
d=tvector(j,1);
if (d >= 0.08) && (d <= 0.12)
T=d;
end
end
T
%valor de B=1
for n=1:length(bvector)
b=bvector(n,1);
if (b >= 0.95) && (b <= 1.1)
B=b;
end
end
B
LOS VALORES OPTIMOS SON
ESTOS VALORES SON A LOS QUE LA FUNCION SE DEBERA ACERCAR PARA OBTENER UN
SISTEMA OPTIMO CON VALORES ALEATORIOS 15 VALORES ESCOGIDOS AL AZAR CON
LA FUNCION RAND
K=10
B=1
T=0,1
DE LOS VALORES OBTENIDOS ALEATORIAMENTE
K B T
3.66 1.49 8.57
5.94 1.79 6.74
2.65 0.49 5.28
9.16 0.27 3.06
5.89 0.46 7.07
6.65 0.71 3.88
9.07 0.58 5.72
3.26 1.86 8.89
10.41 0.11 8.45
14.42 1.19 9.00
5.63 0.33 9.40
15.92 1.68 8.17
2.41 0.34 0.11
8.48 1.01 0.13
1.06 2.00 0.97
5.19 0.72 2.68
1.02 0.10 0.33
4.59 0.44 4.30
3.71 0.80 3.48
6.09 0.67 5.46
4.32 0.47 9.27
3.63 1.87 3.06
12.38 1.37 3.45
18.12 1.92 8.61
18.85 0.88 3.47
5.20 1.88 1.47
10.17 0.02 5.13
8.14 1.22 8.58
10.95 1.60 3.90
6.03 0.47 6.99
2.30 1.87 6.32
9.29 1.53 4.56
4.30 1.65 4.79
1.50 1.15 9.50
19.14 1.59 0.93
9.18 0.66 2.87
19.27 0.45 4.53
15.49 0.63 5.92
1.14 1.17 8.79
13.92 1.66 4.74
14.41 0.59 4.43
13.26 0.81 7.49
11.49 1.73 4.73
5.14 1.23 8.62
VALORES OPTIMOS ESCOGIDOS ALEATORIAMENTE
K =
9.94
T =
0.10
B =
1.01
ERROR PORCENTUAL
ERROR =
0.01
FUNCION OBJETIVO
FUNCION OPTIMA
clear all
clc
format bank
%parametros de la funcion de transferencia
%elige valores aleatorios para los diferentes valores de
Kvector=1+(20-1).*rand(500,1)
tvector=0.01+(2-0.01).*rand(500,1)
bvector=0.1+(10-0.1).*rand(500,1)
% valores escogidos al azar en base a restricciones
%valor de K=10
for i=1:length(Kvector)
k=Kvector(i,1);
if (k >= 9.8) && (k <= 10.2)
K=k;
end
end
K
%valor de T=0.1
for j=1:length(tvector)
d=tvector(j,1);
if (d >= 0.08) && (d <= 0.12)
T=d;
end
end
T
%valor de B=1
for n=1:length(bvector)
b=bvector(n,1);
if (b >= 0.95) && (b <= 1.1)
B=b;
end
end
B
sim('proyecto')
error=abs((Y(:,2)- W(:,2))./Y(:,2))*100;
disp('ERROR PORCENTUAL')
ERROR=min(error)
t=W(:,1);
hold on
plot(t,W(:,2),'r');plot(t,Y(:,2))
grid on
hold off
TRABAJAMOS EN SISTEM IDENTIFICATION PARA OBTENER UN MODELO DE FUNCION
DE TRANFERENCIA A PARTIR DE LOS DATOS DADOS
Elegimos la opcin en example y se nos habre una ventana para ingresar datos:
Despus de ingresar los datos , estimamos el modelo de funcin de transferencia
>> tf1
tf1 =
From input "power" to output "temperature":
50.76
---------
s + 5.413
Name: tf1 Continuous-time identified transfer function.
Parameterization:
Number of poles: 1 Number of zeros: 0
Number of free coefficients: 2
Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties.
Status:
Estimated using TFEST on time domain data "quenta".
Fit to estimation data: 92.55% (simulation focus)
FPE: 0.2022, MSE: 0.2002
5. CONCLUSIONES Y OBSERVACIONES