Está en la página 1de 8

Sistema empotrado: Control de una caldera

LABORATORIO DE SISTEMAS INFORMTICOS DE TIEMPO REAL

Curso 2002-2003

-I-

INDICE

1. 2. 3. 4. 5. 6.

Descripcin del sistema ............................................................................................ 1 Objetivo .................................................................................................................... 2 Fases ......................................................................................................................... 2 Arquitectura del software ......................................................................................... 3 Informe final ............................................................................................................. 5 Anexo: Discretizacin de un sistema utilizando Matlab .......................................... 5

Sistemas Informticos de Tiempo Real

Sistema empotrado

-1-

1. Descripcin del sistema


Se utiliza una caldera de gas para calentar un caudal de agua. El objetivo es modificar la temperatura del agua, de forma que evolucione de una determinada temperatura a la entrada (T0), a una temperatura (T) de salida. La temperatura de salida del agua se controla manipulando el caudal de combustible que alimenta al quemador (o la presin del mismo justo antes del quemador), lo que se consigue abriendo o cerrando de forma apropiada la vlvula V1, tal y como se muestra en la figura. La temperatura de la corriente de entrada, (T0), puede variar, por lo que constituye la entrada de perturbacin ms importante. Supondremos que el resto de entradas se mantiene constante.
TC
Temperatura deseada: Tref

control: m

Temperatura medida: Tm

TT
agua Temperatura de entrada: T0 Temperatura de salida: T

gas P1 V1 P2

Caldera de agua caliente a gas El sistema de control de temperatura incluye: Un sensor (TT, Temperature Transmitter) que mide la temperatura de salida (T) y devuelve una seal (Tm, Temperatura medida) entre 4 y 20 mA Un dispositivo controlador (TC, Temperature Controller) que toma como entrada la seal del sensor (Tm) y genera la seal de control (m, entre 4 y 20 mA) que manipula la vlvula Un actuador (vlvula) que regula la cantidad de vapor que entra al intercambiador y que es el dispositivo final de actuacin.

Sistemas Informticos de Tiempo Real

Sistema empotrado
Se conocen las funciones de transferencia de los componentes individuales: Vlvula de regulacin:

-2-

La funcin de transferencia entre la seal de control a la vlvula V1 y la presin P2 es la correspondiente a un sistema de primer orden con una constante de tiempo de 2 segundos, una ganancia esttica de 0,5 y un tiempo muerto de 0.1 segundos. Caldera: La funcin de transferencia de la caldera (desde P2 a T) puede ser aproximada por la de un sistema de primer orden con un tiempo muerto de 1 segundo, una constante de tiempo de 15 segundos y una ganancia esttica unidad. Funcin de transferencia respecto a la perturbacin, temperatura del agua a la entrada, (desde T0 a T):

T (s) 1,4 ( C / C ) = To ( s ) (1 + 0,8s )(1 + 0,4s )


Transmisor de temperatura:

Tm ( s ) 0,29 (mA / C ) = T ( s ) 1 + 0,024s

2. Objetivo
Disear y desarrollar un sistema empotrado sobre un PC (target) ejecutando VxWorks para: Simular el comportamiento de la caldera de agua caliente a gas Disear e implementar un controlador PI para el sistema de control de temperatura Monitorizar el funcionamiento del sistema completo

3. Fases
Para cumplir con este objetivo global habr que cubrir las siguientes fases: 1. Seleccionar un periodo de muestreo (Ts) adecuado y hallar las funciones de transferencia discretizadas, suponiendo que el convertidor D/A es un retenedor de orden 0, y hallar la ecuacin en diferencias que permite calcular la salida del modelo en los instantes de muestreo. 2. Obtener la ecuacin en diferencias de un controlador PI ideal para ese periodo de muestreo.

Sistemas Informticos de Tiempo Real

Sistema empotrado

-3-

3. Implementar el sistema empotrado que simule el control de temperatura de la corriente de proceso. El diseo debe incluir el uso de tareas concurrentes, sincronizacin condicional, exclusin mutua y temporizacin, utilizando diferentes mecanismos. Se deben contemplar, al menos, las siguientes tareas: Tarea del sensor (tSensor): simula la adquisicin de datos de proceso. Como no disponemos de la planta real ni de un sistema de adquisicin de datos (tarjeta de E/S), supliremos todo ello con esta tarea. tSensor, por tanto, es una tarea peridica que simula toda la planta, tomando como entradas: m(k), seal de control en el instante kTs. Generada por tControlador To(k), entrada de perturbacin (desviacin sobre el punto de operacin). Modificable desde el teclado Esta tarea deber activarse peridicamente (a travs de una seal temporizada). Tarea del controlador_(tControlador): implementa el algoritmo de control (a partir de la ecuacin de un PI discretizado), calculando el valor necesario para la seal de control m en cada instante. Tarea monitor (tMonitor): realiza la monitorizacin del proceso presentando en pantalla los valores tabulados de las variables de proceso y almacenando (opcionalmente) esos valores en fichero para su posterior procesamiento en matlab. Tarea de atencin al teclado (tTeclado): Detecta las pulsaciones de tecla por parte del usuario y toma las medidas pertinentes para ejecutar las acciones requeridas (comienzo/fin de la simulacin, activacin/desactivacin del almacenamiento en fichero, incremento/decremento del valor de Tref y de T0)

4. Arquitectura del software


Sincronizacin condicional

tControlador
Datos del proceso instante k

tSensor

Semforo

Cola de mensajes

T0

mk

Tk

tMonitor

tTeclado
Tref

Sistemas Informticos de Tiempo Real

Sistema empotrado

-4-

Descripcin funcional de las tareas: tSensor: Tarea temporizada con reloj de tiempo real, CLOCK_REALTIME. El periodo de la tarea ser Ts y el timer envia la seal SIGRTMIN+2. Est bloqueada para recepcin sncrona y espera recepcin de seal antes de comenzar. Operaciones que realiza peridicamente: Lee el valor de m(k) Lee el valor de To(k) Calcula el valor de T(k) Escribe el valor de T(k) Realiza la sincronizacin con la tarea tControlador

tControlador: Tarea que ejecuta de manera continua las siguientes operaciones:. Espera sincronizacin con la tarea tSensor Lee el valor de T(k) Lee el valor de Tref(k) Calcula el valor de m(k) Escribe m(k) Escribe en la cola k, T(k) y m(k)

tMonitor:

Tarea que ejecuta de manera continua las siguientes operaciones: Espera mensaje en cola Visualiza las variables Escribe las variables en un fichero

tTeclado:

Tarea que ejecuta de manera continua las siguientes operaciones: Espera pulsacin de una tecla Segn la tecla que se hay pulsado: Finaliza el programa (liberando todos los recursos) Activa/Desactiva el almacenamiento en el fichero Vara incrementalmente Tref Vara incrementalmente T0

Sistemas Informticos de Tiempo Real

Sistema empotrado

-5-

5. Informe final
Se deber entregar en mano y enviarlo por e-mail antes del 6 de Junio Isidro: jtpcagoi@bi.ehu.es Fabin: jtplovaf@bi.ehu.es El informe constar de los siguientes apartados: Cdigo completo bien comentado Resultados en texto: ficheros de texto con los datos capturados Resultados grficos: representacin grfica (usando matlab) de variables de inters Comentarios: Hasta qu punto la prctica ha llegado a funcionar, problemas no resueltos y tentativas realizadas Se exige el funcionamiento (demostrado en clase de laboratorio) y documentacin Se entregar un informe por cada grupo de 2 personas

6. Anexo: Discretizacin de un sistema utilizando Matlab


Funcin:
C2D

c2d
Conversion of continuous-time models to discrete time. SYSD = C2D(SYSC,TS,METHOD) Converts the continuous-time LTI model SYSC to a discrete-time model SYSD with sample time TS. The string METHOD selects the discretization method among the following: 'zoh' Zero-order hold on the inputs. 'foh' Linear interpolation of inputs (triangle appx.) 'tustin' Bilinear (Tustin) approximation. 'prewarp' Tustin approximation with frequency prewarping. The critical frequency Wc is specified as fourth input by C2D(SYSC,TS,'prewarp',Wc). 'matched' Matched pole-zero method (for SISO systems only). The default is 'zoh' when METHOD is omitted.

Sistemas Informticos de Tiempo Real

Sistema empotrado
Ejemplos: Sistema sin retardo: G ( s ) =
num = [2] ; den = [1 3 2] ; sys_1 = tf (num, den) ;

-6-

2 s +3 s+2
2

% Modelo LTI Transfer function: 2 ------------s^2 + 3 s + 2 y 0.5

polos = roots (den) ; ts = 1 / 10 ;

% Polos: -1 y -2 % Constantes de tiempo = 1

% Cte de tiempo dominante = 1

sys_1_discr = c2d (sys_1, ts) ; % sistema discretizado Transfer function: 0.3996 z + 0.147 ---------------------z^2 - 0.5032 z + 0.04979

Sampling time: 1

Sistema con retardo: G ( s ) =


num = [2] ; den = [1 3 2] ; sys_2 = tf (num, den) ;

2 e s s +3 s+2
2

% Modelo LTI Transfer function: 2 ------------s^2 + 3 s + 2

sys_2.inputd

= 1 ;

% sistema con retardo 1 a la entrada Transfer function: 2 exp(-1*s) * ------------s^2 + 3 s + 2 a la salida y 0.5

sys_2.outputd = 0

% sistema sin retardo

polos = roots (den) ; ts = 1 / 10 ; sys_2_discr = c2d (sys_2, ts) ; Transfer function:

% Polos: -1 y -2 % Constantes de tiempo = 1

% Cte de tiempo dominante = 1 % sistema discretizado 0.3996 z + 0.147 z^(-1) * ------------------------z^2 - 0.5032 z + 0.04979

Sampling time: 1

Sistemas Informticos de Tiempo Real

También podría gustarte