You are on page 1of 52

CONTROL INDUSTRIAL 2

IDENTIFICACION DEL MODELO

INTRODUCCION
Cuando se interactua con un sistema, se
necesitan conocer algunos conceptos
para entender como se interrelacionan las
variables entre s.
El modelo es la relacin entre una
cantidad de variables observadas.

INTRODUCCION
Los modelos son de tres clases:
Modelo mental, intuitivo o verbal: No se requiere un
formulacin matemtica como la manera en que se
maneja un carro
Modelo de grficas y tablas: Cuando se utilizan
mtodos como la respuesta paso, impulso o de
frecuencias.
Modelo matemtico analtico: Relacin entre el
mundo real y las matemticas. Describe el mundo
real mediante ecuaciones diferenciales o de
diferencia. Estos modelos son usados para el
anlisis, prediccin y diseo de sistemas dinmicos y
de sus controladores y filtros.

MODELOS MATEMATICOS
La modelizacin matemtica se basa en las
leyes fsicas para describir el comportamiento
dinmico de un fenmeno o proceso.
Los sistemas de identificacin son una
aproximacin experimental, mediante los cuales
se desarrollan algunos experimentos en el
proceso y se determina un modelo, cuyos
parmetros pueden no tener un significado
fsico.

CONSTRUCCION DEL MODELO


El modelo matemtico puede construirse
analizando la totalidad del proceso o si se
dificulta dividiendo el proceso en
subprocesos que son modelados y luego
unidos matemticamente para obtener el
modelo del proceso en general.
Los modelos matemticos son llamados
Modelos blancos o de Caja Blanca.

CONSTRUCCION DEL MODELO


Los modelos pueden obtenerse directamente de
la experimentacin, donde las seales de
entrada y salida son grabadas y sujetas a un
anlisis para obtener el modelo.
Los modelos as obtenidos son llamados
Modelos negros o de Caja Negra, ya que los
parmetros pueden no tener un significado
fsico y lo que interesa es que se guarde buena
relacin entre la entrada y la salida del sistema.

PROCEDIMIENTO DE
IDENTIFICACION
El primer paso es el diseo del
experimento definiendo:
cuales son los lmites del sistema con
respecto al entorno, determinando cuales
variables son afectadas por el entorno y
cuales afectan al entorno.
En cuales variables existe algn tipo de
inters.
Cuales variables se van a medir, cuales son
las entradas y las salidas del sistema.

PROCEDIMIENTO DE
IDENTIFICACION
Como se van a hacer las mediciones.
Cual tiempo de muestreo voy a utilizar, determinado
por las constantes de tiempo del sistema. En la
prctica se utiliza una frecuencia de muestreo entre 4
y 10 veces la frecuencia mxima en la que est
interesado.
Que seales de entrada se van a aplicar, las entradas
de mayor inters son la seal impulso, paso, ruido
blanco, ruido digital, y seno con diferentes
frecuencias. En general las seales de entrada deben
ser bastante ricas en frecuencias para que todos los
modos dinmicos del sistema sean excitados.

PROCEDIMIENTO DE
IDENTIFICACION
Se debe realizar un convencimiento de la
necesidad del experimento, debido a que este
puede causar prdidas de produccin y
mayores gastos por la recoleccin y anlisis
de datos.
Los operadores del proceso deben estar lo
suficientemente preparados para aprovechar
al mximo la informacin que ellos poseen.

PROCEDIMIENTO DE
IDENTIFICACION
Segundo Paso: Los datos tomados del
experimento deben ser preprocesados
eliminando las perturbaciones y las no
linealidades.
Tercer Paso: Se debe elegir el modelo
apropiado entre un sistema SISO o uno
MIMO, mediante conocimiento a priori e
intuicin.

PROCEDIMIENTO DE
IDENTIFICACION
Cuarto Paso: Se debe averiguar si el
modelo calculado tiene uso prctico,
validndolo. La construccin del proceso
es un proceso iterativo donde se revisan
las elecciones tomadas durante el
proceso de identificacin.

MODELOS PARA SISTEMAS


LINEALES E INVARIANTES EN EL
TIEMPO

El modelo general es el siguiente:

y (k ) G (q 1 ) * u (k ) H (q 1 ) * e(k )
Donde G y H son funciones racionales, donde numerador y denominador son polinomios y
los coeficientes de estos polinomios son los parmetros. Estos parmetros son un vector
Theta que define la descripcin as:

y (k ) G (q, ) * u (k ) H (q, ) * e(k )

MODELO ARX
Este modelo se define como autoregresivo (AR) por
la parte A*y y X por la parte B*u:

B ( q 1 )
1
y (k )
*
u
(
k
)

* e( k )
1
1
A (q )
A (q )
Son la primera eleccin en un procedimiento de identificacin, el mtodo de optimizacin tendr un
conjunto de ecuaciones lineales, que mediante regresin lineal se puede resolver inmediatamente.
Este mtodo describe defectuosamente la influencia de las perturbaciones.

MODELO ARMAX
Este modelo es mas flexible que el anterior y se
adiciona la parte de un promedio mvil del error (MA:
moving average)

B ( q 1 )
C (q 1 )
y (k )
* u (k )
* e( k )
1
1
A (q )
A (q )

MODELO OUTPUT ERROR (OE)


En los modelos anteriores A es comun para G y H, lo
mas razonable es parametrizarlos diferente:

B (q 1 )
y (k )
* u ( k ) e( k )
1
A (q )
En este caso la relacin entre entrada y salida sin perturbacin puede ser
dada por una ecuacin de diferencia lineal y la perturbacin tiene un efecto
aditivo en la salida.

MODELO BOX JENKINS (BJ)


Generalizando el modelo anterior, modelando
el error se obtiene:
B (q 1 )
C (q 1 )
y (k )
* u (k )
* e( k )
1
1
F (q )
D (q )

MODELO GENERAL
Todos los modelos anteriores son un caso especial
de uno general con la siguiente estructura:
B (q 1 )
C (q 1 )
A (q ) * y (k )
* u (k )
* e( k )
1
1
F (q )
D (q )
1

La tarea es elegir el modelo dentro de los presentados de manera iterativa, en donde el conocimiento del
sistema anterior puede ser aplicado para elegir uno nuevo.
Una vez determinado el conjunto de modelos posibles, se debe buscar el modelo ptimo que tienda a
aproximarse al conjunto de datos dado.

PREPROCESAMIENTO DE
SEALES
La calidad de los modelos est
influenciado por las perturbaciones
existentes en las seales.
Las perturbaciones son picos, tendencias
(trends), desviaciones o errores (offsets) y
otros como el tiempo muerto.
El preprocesamiento trata de reducir este
ruido.

RECORTE DE PICOS

ELIMINACION DE LA TENDENCIA

FILTRADO
Lo mas importante es eliminar los efectos de
aliasing y reducir la influencia de las
perturbaciones en las seales medidas.
Por otro lado el filtrado puede causar prdida
indeseable de datos, por lo que debe ser una
etapa importante.
La frecuencia de corte debe ser tan alta que no
deje pasar cualquier frecuencia que no sea
parte de la dinmica del proceso.
El filtro se disea con base en la figura anterior.

DOBLE FILTRADO

TIEMPO MUERTO
El tiempo muerto es debido a la inercia del
sistema para producir una salida en el
mismo instante de producida la entrada,
este tiempo debe ser previsto para lograr
una representacin mas real del sistema.
El tiempo muerto tiene una funcin en
MATLAB que la representa que se
denomina PADE.

METODOS EYE BALL


Si se desea una representacin mas
sencilla del sistema, se puede realizar
esta a travs de la grfica de la respuesta
del sistema.
Generalmente, se envia una seal de
entrada al proceso y se obtiene una
respuesta paso, observando la grfica se
puede obtener la funcin de transferencia.

ENTRADA

SALIDA DEL SISTEMA DE


PRIMER ORDEN

SALIDA DEL SISTEMA DE


SEGUNDO ORDEN

CALCULOS PRIMER ORDEN


La funcin de transferencia de un sistema de
primer orden sobreamortiguado est dado
segn el Mtodo de Smith por:
d *S

e
G(S ) K P
* S 1
La ganancia se obtiene de la razn entre la entrada y el
valor de la salida en estado estacionario.
El tiempo muerto se puede leer fcilmente de la curva.

CALCULOS PRIMER ORDEN


La constante de tiempo se estima del
tiempo que toma la salida en alcanzar el
63.2% del valor final del estado
estacionario.

PROGRAMA EN MATLAB

%PROGRAMA: EXAM2c.M
%METODOS EYE BALL
%METODO DE SMITH PARA PROCESO 2

close all %Cierra todas la figuras abiertas


clear all %Cierra todas las variables del Workspace

load exam5b.mat %Lee archivo de datos


who %Muestra las variables cargadas con la instruccion anterior

t=[0:Ts2:80];%Crea vector de tiempo de acuerdo al periodo de


%muestreo (Ts2) y al tamao del vector ypaso2.
figure(1)
plot(t,ypaso2)%Grafica el vector ypaso2 contra el vector de tiempo
grid

PROGRAMA EN MATLAB

title('Respuesta ypaso2')
% Calculo de parametros a partir de la grafica (Kp, Td, Wn, Zita)
%Ganancia (Segn figura, el valor de estado estacionario, se supone
entrada=1)
Kp=25;
%Encontramos el mayor valor del vector ypaso2
Kov=max(ypaso2);
%Se encuentra el tiempo muerto(segn figura)
Td=11.5;
%Diferencia entre el tiempo donde se encuentra el 63.3% de la ganancia y
el tiempo muerto
T=23.28-Td;
%Oscilacin alrededor de la ganancia Kp
%n es el nmero de pasos alrededor de cero
n=5;
%Se calcula el numerador de un sistema de primer orden

PROGRAMA EN MATLAB

num2=Kp;
%Se calcula el denominador de un sistema de primer orden
den2=[T 1];
%Se calcula el sistema para el tiempo muerto, teniendo en cuenta los pasos por cero
[num1,den1]=pade(Td,n);
%Se hace la convolucion de los numeradores
numm=conv(num1,num2);
%Se hace la convolucion de los denominadores
denm=conv(den1,den2);

% Verificacion del modelo


figure(2)
plot(t,ypaso2)%Grafica el vector ypaso2 contra el vector de tiempo
title('Respuesta ypaso2')
y1=step(numm,denm,t);%Funcion calculada
hold
plot(t,y1,'r')%Compara el valor dado (azul) con el valor calculado (rojo)
grid
%El modelo se acerca mucho al valor real, por lo tanto la identificacin es buena.

CALCULO SEGUNDO ORDEN


La ganancia de
estado estacionario
Kp y el tiempo muerto
son obtenidos de la
misma forma que en
el de primer orden.
Los dems
parmetros se
obtienen as:

y ( z ) y
M (%)
y
ln M

2
2 1/ 2
(ln M )
2 *
n
2
T 1

PROGRAMA EN MATLAB

%PROGRAMA: EXAM2a.M
%METODOS EYE BALL
%METODO DE SMITH PARA PROCESO 1

close all %Cierra todas la figuras abiertas


clear all %Cierra todas las variables del Workspace

load exam5b.mat %Lee archivo de datos


who %Muestra las variables cargadas con la instruccion anterior

t=[0:Ts1:10];%Crea vector de tiempo de acuerdo al periodo de


%muestreo (Ts1) y al tamao del vector ypaso1.
figure(1)
plot(t,ypaso1)%Grafica el vector ypaso1 contra el vector de tiempo
title('Respuesta ypaso1')
grid

PROGRAMA EN MATLAB
% Clculo de parametros a partir de la grafica (Kp, Td, Wn, Zita)
%Ganancia (Segn figura, el valor de estado estacionario, se supone
entrada=1)
Kp=15;
%Valor del Sobreimpulso
Kov=max(ypaso1);%Encontramos el mayor valor del vector ypaso1
%Se encuentra el tiempo muerto(segn figura)
Td=1.2;
%Tiempo de oscilacion (entre el primer paso por el valor en estado
estacionario
% y el tiempo de asentamiento) tambien llamdo "Tao"
T=3.9-1.9;
%Calculo de sobreimpulso en porcentaje
M=(Kov-Kp)/Kp;
%Calculo del valor del factor de amortiguacion (zita)

zita=(-log(M))/(sqrt(pi^2+log(M)^2));
%Calculo de la frecuencia natural
Wn=(2*pi)/(T*(sqrt(1-zita^2)));
%nmero de pasos alrededor de cero, antes de iniciar el transitorio
n=5;
%Calculo de los factores del numerador del modelo
num2=Kp*Wn^2;
%Calculo de los factores del denominador del modelo
den2=[1 2*zita*Wn Wn^2];
%Calculo del tiempo muerto de acuerdo con los cruces por cero
[num1,den1]=pade(Td,n);
%Convolucion de los numeradores
numm=conv(num1,num2);
%Convolucion de los denominadores

PROGRAMA EN MATLAB

denm=conv(den1,den2);
% Verificacion del modelo
y1=step(numm,denm,t);%Salida a una entrada paso del modelo
figure(2)
plot(t,ypaso1)%Grafica el vector ypaso1 contra el vector de tiempo
title('Respuesta ypaso1')
hold
plot(t,y1,'r')%Compara el valor dado (azul) con el valor calculado
(rojo)
grid
%El modelo se acerca mucho al valor real, por lo tanto la
identificacin es buena.

METODO DE VAN DER GRINTEN


El orden de los sistemas
sobreamortiguados pueden no ser
determinados a primera vista.
Por lo anterior se define un valor de a que
es igual a 1/e (e=2.7183), entonces el
modelo es de primer orden si a es igual a
este valor, de lo contrario es de segundo
orden.

METODO DE VAN DER GRINTEN

METODO DE VAN DER GRINTEN


En el modelo de primer orden:
e d *S
G(S ) K P
* S 1

En el modelo de segundo orden:


e d *S
G(S ) K P
( 1 * S 1) * ( 2 * S 1)

METODO DE VAN DER GRINTEN


Donde:

1 * 2
d 'd
1 3 * 2
3* a * e 1
1 *
1 a *e
1 a *e
2 *
1 a *e

PROGRAMA EN MATLAB

%PROGRAMA: EXAM2b.M
%METODOS EYE BALL
%METODO DE VAN DER GRINTEN PARA PROCESO 2

close all %Cierra todas la figuras abiertas


clear all %Cierra todas las variables del Workspace

load exam5b.mat %Lee archivo de datos


who %Muestra las variables cargadas con la instruccion anterior

t=[0:Ts2:80];%Crea vector de tiempo de acuerdo al periodo de


%muestreo (Ts2) y al tamao del vector ypaso2.
figure(1)
plot(t,ypaso2)%Grafica el vector ypaso2 contra el vector de tiempo
%En esta figura se traza la tangente del transitorio y el valor de estabilizacion,
%se encuentra el cruce de las dos lineas y se encuentran el tiempo de cruce con la

PROGRAMA EN MATLAB

%seal y su valor en el cruce.


grid
title('Respuesta ypaso2')
% Calculo de parametros a partir de la grafica (Kp, Td, Wn, Zita)
%Ganancia (Segn figura, el valor de estado estacionario, se supone entrada=1)
Kp=25;
%Encontramos el mayor valor del vector ypaso2
Kov=max(ypaso2);
%Se encuentra el tiempo muerto(segn figura)
Td1=11.5;
%Tiempo en el que se encuentra el cruce de la tangente con el valor de esta%bilizacion, restando el tiempo muerto.
Tao=26.5-Td1;
% Calculo de parametros a partir de la grafica (Kp, Td, tao)
e=2.7183; % Si (1/e=0.3679) diferente de a el Sistema es
% de segundo orden

PROGRAMA EN MATLAB

a=0.24; %a = Kp-19/Kp (Se define como la diferencia en porcentaje entre el valor


%de estabilizacion y el Tao.
%Como a es diferente a 1/e, el sistema es de segundo orden y se buscan los polos
%del sistema.
Tao1=Tao*(((3*a*e)-1)/(1+(a*e)));%Clculo del Polo 1 del sistema (1/Tao1)
Tao2=Tao*((1-(a*e))/(1+(a*e)));%Clculo del Polo 2 del sistema (1/Tao2)
Td=Td1-((Tao1*Tao2)/(Tao1+(3*Tao2)));%Tiempo muerto calculado
n=5;%Numero de cruces por cero en el tiempo muerto
[num1,den1]=pade(Td,n);%Calculo de la funcion de transferencia del tiempo muerto,
de
%acuerdo a los cruces por cero.
numm=conv(num1,Kp);%Convolucion de los numeradores de las funciones de
transferencia
denm=conv(conv(den1,[Tao1 1]),[Tao2 1]);%Convolucion de los denominadores de
las fun%ciones de transferencia.

% Verificacion del modelo

PROGRAMA EN MATLAB
figure(2)
plot(t,ypaso2)%Grafica el vector ypaso2 contra
el vector de tiempo
title('Respuesta ypaso2')
y1=step(numm,denm,t);%Funcion calculada
hold
plot(t,y1,'r')%Compara el valor dado (azul) con el
valor calculado (rojo)
grid
%El modelo se acerca mucho al valor real, por lo
tanto la identificacin es buena.

You might also like