CONTROL INTELIGENTE NRC: 2033 DISEÑO DE · PDF filediseÑo de controlador...
Transcript of CONTROL INTELIGENTE NRC: 2033 DISEÑO DE · PDF filediseÑo de controlador...
CARRERA DE INGENIERÍA EN ELECTRÓNICA EN AUTOMATIZACIÓN Y
CONTROL
CONTROL INTELIGENTE NRC: 2033
Profesor:
Ing. Víctor Proaño
Elaborado por:
Johanna Almachi Denis Flores Diego Soria Carlos Vaca
03 DE JULIO DE 2014
DISEÑO DE CONTROLADOR NEURONAL PARA LA
UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM
DISEÑO DE CONTROLADOR NEURONAL PARA LA UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM 3 de julio de 2014
CONTROLADOR NEURONAL INVERSO Página 1
Contenido
I. Tema ............................................................................................................................................. 2
II. Objetivos ....................................................................................................................................... 2
III. Descripción del Modelo Matemático del Sistema ..................................................................... 2
IV. Identificación de la Planta ......................................................................................................... 3
V. Obtención de parámetros de entrenamiento ............................................................................... 5
VI. Control utilizando redes neuronales inversas ........................................................................... 8
VII. Resultados Prácticos ............................................................................................................... 11
VIII. Conclusiones ........................................................................................................................... 12
DISEÑO DE CONTROLADOR NEURONAL PARA LA UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM 3 de julio de 2014
CONTROLADOR NEURONAL INVERSO Página 2
I. Tema
Diseño de controlador neuronal para la unidad Air Flow Temperature Control System
II. Objetivos
Diseñar un controlador con redes neuronales y verificar la funcionalidad del
controlador.
Realizar el experimento del control neuronal con modelo inverso para la unidad “Air
Flow Temperature Control System”.
Realizar el experimento y representar gráficamente los resultados para distintos
valores de referencia.
III. Descripción del Modelo Matemático del Sistema
La unidad Air Flow Temperature Control System es un sistema que existe un intercambio de masa y
energía con el ambiente puesto que al cambiar las perturbaciones mediante la placa se varía el
intercambio de calor entre aire caliente y aire frío.
Ilustración 1. Unidad Air Flow Temperature Control System.
Las variables que tienen relación con nuestro sistema son:
La masa de aire
El volumen
La densidad y presión
La temperatura (variable por la niquelina).
La propagación del calor en la planta se realiza mediante conducción, por convección y radiación.
El objetivo es conocer la forma en que responde la temperatura de salida, a los cambios en el voltaje de la niquelina en la entrada. El flujo de calor en el sistema de temperatura se da por convección, es decir, se transfiere energía entre una superficie, que es la niquelina, y un fluido que se mueve sobre esta que en este caso es el aire. Mediante el ventilador se fuerza al aire a fluir a través de la niquelina y el conducto, a esto se lo denomina convección interna forzada y la transferencia de calor.
DISEÑO DE CONTROLADOR NEURONAL PARA LA UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM 3 de julio de 2014
CONTROLADOR NEURONAL INVERSO Página 3
Dentro de la planta el aire es calentado por conducción mediante una niquelina allí ascenderá por
convección y se pondrá en contacto con el ventilador cediendo parte de su calor al aire frío
volviendo hacia el ventilador para que posteriormente sea enviado de forma laminar (todas las
moléculas pasan ordenadamente dentro del tubo) al tubo en donde se verá afectado también por
fenómenos de convección y radiación de la niquelina.
Ilustración 2. Diagrama de Bloques del Sistema
Como se puede observar en la ilustración 2 se obtiene el modelo matemático de primer orden
característico de un sistema intercambiador de temperatura, el mismo que se verá afectado por la
resistencia térmica que es controlada mediante las perturbaciones en la entrada de flujo del aire
ambiente y de la capacitancia térmica que será afectada por la potencia de la niquelina como se
explicó en la interpretación física de la planta.
IV. Identificación de la Planta
Para el modelamiento de la planta se recurrió a un procedimiento experimental, siguiendo los pasos
que se detallan a continuación:
Adquisición de datos.
Identificación del modelo matemático de la planta.
El modelo que se ha definido seguir para la planta de temperatura es de primer orden como se
muestra en la figura a continuación.
Ilustración 3. Modelo de Primer Orden a Seguir.
Mediante el modelo mostrado podemos lograr representar la dinámica de la planta en su casi
totalidad, de esta manera pudiendo proseguir a la identificación de sus constantes K y tau.
Para la obtención de dichos parámetros se utiliza la herramienta ident de MATLAB mediante la cual
al ingresar los datos tomados en el laboratorio por parte del Ing. Víctor Proaño con un valor en la
entrada de 4 voltios y con un periodo de muestreo de 0.1 segundos obtenemos los parámetros y
procedemos a la respectiva comparación con los datos reales.
Los datos nos muestran una dinámica del proceso como se muestra en la siguiente figura, siendo el
eje X el tiempo y el eje Y la temperatura de salida.
DISEÑO DE CONTROLADOR NEURONAL PARA LA UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM 3 de julio de 2014
CONTROLADOR NEURONAL INVERSO Página 4
Ilustración 4. Datos Obtenidos de la Planta con 4 Voltios de entrada en 200 segundos.
Tenemos que considerar que los datos tomados parten a partir de 22.8 Grados Centígrados que se
los considerará como temperatura Ambiente.
En la Herramienta ident ingresamos los datos y obtenemos los parámetros del modelo.
Ilustración 5. Ingreso de datos obtenidos a ident.
Con los datos provistos a ident procedemos a obtener el modelo de primer orden y se obtiene los
siguientes parámetros
Ilustración 6. Parámetros obtenidos para el modelo de temperatura.
DISEÑO DE CONTROLADOR NEURONAL PARA LA UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM 3 de julio de 2014
CONTROLADOR NEURONAL INVERSO Página 5
Parámetros:
Con dichos valores procedemos a comparar si los datos se cumplen reemplazando los valores en el
modelo de simulink como se muestra en la figura a continuación.
Ilustración 7. Simulación de la planta con los parámetros obtenidos
Con este resultado obtenido podemos empezar a trabajar con la obtención de los patrones de
entrenamiento, se puede decir que el modelo aprueba el comportamiento de los datos obtenidos en
un 90% y es altamente aceptable.
V. Obtención de parámetros de entrenamiento
Se utiliza el modelo matemático en lazo abierto para obtener los valores objetivos.
Planta
Ilustración 8. Simulación de la planta con los parámetros obtenidos
Para obtener estos valores objetivos, se ha desarrollado el siguiente algoritmo en Matlab:
Código Matlab
Especificación de los rangos de operación de la temperatura y el voltaje
tempP=25:1:65; %Temperatura de referencia uP=0:0.1:5; %Estado inicial
DISEÑO DE CONTROLADOR NEURONAL PARA LA UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM 3 de julio de 2014
CONTROLADOR NEURONAL INVERSO Página 6
Generación de los patrones p=combvec(tempP,uP); %Parámetros de entrada
%Identificación de los parámetros for i=1:length(p) temp0=p(1,i); u=p(2,i); sim('planta',0.5); dtemp(i)=temp.signals.values(length(temp.signals.values))-temp0; i end
plot(dtemp) title('Variación de temperatura [°C]');
Tm(1,:)=dtemp;
Entrenamiento de la Red
net=newff(minmax(p), [4 1], {'tansig', 'purelin'}, 'trainlm'); net.trainParam.show=50; net.trainParam.lr=0.05; net.trainParam.epochs=400; net.trainParam.goal=1e-7;
[net tr]=train(net,p,Tm);
a=sim(net,p);
figure(2) plot(a(1,:)) title('Variación de temperatura [°C]');
Ilustración 9. Resultados obtenidos – variación de temperatura.
Ilustración 10. Simulación de la Red Neuronal
Como observamos en la figura la red alcanza entrenarse en 167 iteraciones y tener el error mínimo
estableció de igual manera al hace clic en el botón performance obsemanos el proceso de
entrenamiento de la red la cual fue entrenada exitosamente.
0 500 1000 1500 2000 2500-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6Variación de temperatura [°C]
0 500 1000 1500 2000 2500-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6Variación de temperatura [°C]
DISEÑO DE CONTROLADOR NEURONAL PARA LA UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM 3 de julio de 2014
CONTROLADOR NEURONAL INVERSO Página 7
Ilustración 11. Entrenamiento de la Red Neuronal
Creación de la red
gensim(net,50e-3)
Ilustración 12. Bloque Red Neuronal
Comparación con el modelo de la planta
En la figura 13, se muestra el diagrama Simulink donde se compara la Red Neuronal creada y
entrenada con el modelo de la planta para verificar su funcionamiento.
Ilustración 13. Comparación Red Neuronal – Planta
En la figura 14 se muestra el comportamiento de la red en trenada para como la planta antes
modelada.
DISEÑO DE CONTROLADOR NEURONAL PARA LA UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM 3 de julio de 2014
CONTROLADOR NEURONAL INVERSO Página 8
Ilustración 14. Resultados obtenidos de la comparación Red Neuronal – Planta
VI. Control utilizando redes neuronales inversas
El control por modelo inverso es una técnica, que busca cancelar la dinámica de la planta al colocar
un elemento en cascada con ella, en este caso una red neuronal, siendo este una aproximación
matemática del inverso de la planta.
Para diseñar el controlador neuronal inverso como su nombre lo dice invertimos los patrones de
entrenamiento y el target
% %% Controlador Neuronal Inverso
Pm1(1,:)=p(1,:); %Entrada T0 Pm1(2,:)=Tm; % Variacion de Temperatura Tm1(1,:)=p(1,:); % Señal control
Entrenamiento de la red del controlador cet = newff(minmax(Pm1),[4 1],{'tansig' 'purelin'},'trainlm'); Y = sim(cet,Pm1); cet.trainParam.epochs = 50; cet.trainParam.goal=1e-7; cet = train(cet,Pm1,Tm1); Y = sim(cet,Pm1);
DISEÑO DE CONTROLADOR NEURONAL PARA LA UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM 3 de julio de 2014
CONTROLADOR NEURONAL INVERSO Página 9
Como observamos el entrenamiento de la red del controlador es exitoso con 4 neuronas y una salida.
Ilustración 15.Entrenamiento de la Red Neuronal
Para poder realizar pruebas usamos el comando gensim (cet) para tener el bloque de la red neuronal como tal luego realizamos el modelo de simulación.
Ilustración 16. Simulación de la planta con el controlador.
V. Resultados de simulación
Después de obtener este modelo en simulink realizamos las respectivas pruebas donde el valor de temperatura de Set Point es de color amarillo y el valor de temperatura de la planta es de color morado y la señal de control de la red neuronal es de color verde claro cómo podemos observar en las figura presentadas a continuación el tiempo de establecimiento es pequeño aproximadamente de 30 segundos y el error en estado estacionario es muy pequeño por lo que procedió a realizar las pruebas de este controlador en junto con la planta física real.
DISEÑO DE CONTROLADOR NEURONAL PARA LA UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM 3 de julio de 2014
CONTROLADOR NEURONAL INVERSO Página 10
SP = 30 grados
Ilustración 17. Resultados de simulación del sistema con una referencia de 30 grados.
SP = 40 grados
Ilustración 18. Resultados de simulación del sistema con una referencia de 40 grados.
SP = 50 grados
Ilustración 19. Resultados de simulación del sistema con una referencia de 50 grados.
DISEÑO DE CONTROLADOR NEURONAL PARA LA UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM 3 de julio de 2014
CONTROLADOR NEURONAL INVERSO Página 11
VI. Resultados Prácticos
Al poder realizar las pruebas prácticas en laboratorio el día 3 de Julio del 2014, se obtuvo resultados
exitosos en el desempeño del controlador mediante redes neuronales, a continuación se muestra el
resultado con una referencia de 40 grados.
La figura 17 muestra la salida de las tres variables involucradas en el sistema, la línea de color
morado es la salida del sistema que como se aprecia se ajusta rápidamente a la línea amarilla que es
la referencia de 40 grados ingresada, finalmente la línea celeste es la salida del control de la red en
voltaje.
Ilustración 20.Resultados prácticos obtenidos en el sistema con una referencia de 40 grados.
El rendimiento es bastante bueno ya que en las pruebas realizadas se obtienen resultados de
referencia aproximadamente a los 30 segundos obteniendo un desempeño exitoso del controlador
implementado, para poder realizar la ejecución del programa solamente se reemplazó el modelo de
primer orden obtenido para simulaciones por el bloque de representación del sistema.
DISEÑO DE CONTROLADOR NEURONAL PARA LA UNIDAD AIR FLOW TEMPERATURE CONTROL SYSTEM 3 de julio de 2014
CONTROLADOR NEURONAL INVERSO Página 12
Ilustración 21. Modelo de Simulink Utilizado para Pruebas Prácticas en el laboratorio.
VII. Conclusiones
Se pudo realizar el controlador inverso mediante redes neuronales para el sistema de
temperatura Air Flow Temperature Control System, empleando un sistema de primer orden,
obteniendo resultados exitosos en la práctica para distintos valores de referencia.
Se pudo observar que al representar la planta en una red neuronal artificial, esta no posee el
comportamiento reflejado al 100% del sistema real, por lo que la generación de patrones de
entrenamiento mediante el modelo obtenido tiene que ser el mejor posible, estableciendo
rangos de trabajo de cada una de las variables adecuadamente.
Mediante la implementación del controlador se pudo comprobar la utilidad de las redes
neuronales en las tareas de control, a pesar de ser este un experimento con un sistema
sencillo no se aprecia al 100% su utilidad, pero por el hecho de lograr la identificación de
sistemas se justifica como una herramienta poderosa en diseño de controladores para
sistemas no lineales, complejos y sin modelos de referencia.
La obtención de parámetros de la planta se pudo plantear de dos maneras distintas, la
utilizada en este trabajo mediante la herramienta ident es una, mientras que al utilizar
comandos para aproximación de funciones en base al error como fminsearch también se
obtiene un modelo con un grado de aproximación superior a 90%.