2011 TP2 - Controladores Digitales - FCEIA

Anuncio
DEPARTAMENTO DE ELECTRONICA
FACULTAD DE CIENCIAS EXACTAS, INGENIERIA Y AGRIMENSURA
UNIVERSIDAD NACIONAL DE ROSARIO
CONTROL II
TRABAJO PRACTICO 2:
CONTROLADORES DIGITALES
CONTROL II
2011
1. INTRODUCCION
El objetivo del Trabajo Práctico 2 es el de calcular diferentes equivalentes discretos de un sistema
continuo utilizando los métodos brindados en la teoría, optando luego por el más adecuado para
diseñar controladores digitales para satisfacer determinados requerimientos dinámicos y estáticos. El
cálculo de dichos controladores se llevará a cabo usando diversas técnicas, destacando las similitudes y
diferencias obtenidas en la respuesta del sistema realimentado frente al diseño realizado sobre el
sistema continuo en el Trabajo Práctico 1.
Se presentarán además las herramientas disponibles en MATLAB para realizar los cálculos
mencionados, prestando especial atención a las funciones y comandos pertenecientes a la librería
dedicada al control automático denominada “Control Toolbox”.
1.1. Equivalente Discreto de Funciones Continuas
El propósito del equivalente discreto de un sistema continuo es el de encontrar un sistema discreto
que tenga características similares, ya sea en el dominio tiempo y/o el frecuencial, a las del sistema
continuo en cuestión.
Existen varios métodos de cálculo para resolver este problema, entre los de uso más frecuente se
encuentran los métodos de integración numérica. Estos aproximan las funciones continuas con
funciones rectangulares o trapezoidales dando lugar a los métodos denominados Regla rectangular
por adelanto, Regla rectangular por atraso y Regla trapezoidal.
Otro de los métodos utilizados para encontrar el equivalente discreto de un sistema continuo es el
llamado Mapeo de Polos y Ceros. El mismo consiste en utilizar la relación
plano
z = e sT existente entre el
s y el plano z para llevar los polos y ceros desde el primero hacia el segundo.
Finalmente existe el llamado Método del Bloqueador Equivalente, en este caso se define al
equivalente discreto como
 H (s) 
H ( z ) = (1 − z −1 ) Z 
 s 
donde esta última relación equivale a suponer la presencia de un bloqueador de orden cero considerado
únicamente sólo a los efectos de realizar el cálculo de
H(z).
1.2. Cálculo del Equivalente Discreto con MATLAB
En MATLAB existen funciones que realizan el cálculo de equivalentes discretos utilizando los
diferentes métodos ya mencionados. Durante el desarrollo del Trabajo Práctico se usarán las funciones
c2d y bilin para realizar dichos cálculos. Se muestra a continuación cómo utilizar dichas funciones:
Siendo g una función transferencia de un sistema continuo en formato zpk, su equivalente discreto
para un intervalo de muestreo T se puede calcular con
>> gz = c2d( g, T, ’matched’)
utilizando mapeo de polos y ceros
>> gz = c2d( g, T, ’zoh’)
utilizando el método del bloqueador equivalente
>> gz = c2d( g, T, ’tustin’)
utilizando la regla trapezoidal
>> gz = recadel( g, T)
utilizando la regla rectangular por adelanto
>> gz = recatras( g, T)
utilizando la regla rectangular por atraso
Trabajo Práctico 2
Controladores Digitales
Pág. 2 de 10
CONTROL II
2011
Las funciones recadel y recatras no forman parte del Control Toolbox de MATLAB, dichas
funciones fueron escritas a partir de la función bilin. En el apéndice 3.2 ubicado al final de esta guía
puede verse la programación de dichas funciones.
1.3. Cálculo de la Transformada W con MATLAB
La función bilin permite calcular la transformada W de funciones transferencia de sistemas
discretos. Para resolver el problema se escribieron dos funciones a partir de bilin. Se muestra a
continuación cómo utilizar dichas funciones:
Siendo gz una función transferencia de un sistema discreto en formato zpk, su transformada W se
puede calcular con
>> gw = transform( gz)
Siendo gw la transformada W de una función transferencia en el plano W, su transformada a una
función transferencia en el plano Z para un intervalo de muestreo T se puede de calcular con
>> gz = antitransform( gw, T)
En el apéndice 3.2 ubicado al final de esta guía puede verse la programación de dichas funciones.
NOTA: dado que MATLAB sólo permite el uso de las variables s y z para representar sistemas
continuos y discretos, las funciones transferencia en el plano W estarán expresadas en la variable s.
Trabajo Práctico 2
Controladores Digitales
Pág. 3 de 10
CONTROL II
2011
2. DESARROLLO DEL TRABAJO PRACTICO
2.1. Cálculo y simulación de Equivalentes Discretos
El punto 3.1 del apéndice presente en esta guía describe el modelo matemático del sistema de
control de nivel en un tanque ya utilizado en el Trabajo Práctico 1 para el diseño de controladores
continuos.
Durante el desarrollo del Trabajo Práctico 1 se calcularon diferentes controladores para dicho
sistema, en particular en el punto 2.1.2 se calculó un controlador del tipo PD aproximado para cumplir
con especificaciones de tiempo de respuesta y sobrevalor. Se utilizará ahora dicho controlador, llamado
de aquí en más J(s), para realizar las siguientes actividades:
2.1.1) Calcular los equivalentes discretos del controlador PD aproximado J(s) indicados a
continuación, utilizando como intervalos de muestreo T1= 0.2 seg y T2= 0.015 seg.
Utilizar el formato zpk para J(s).
- Bloqueador de orden cero;
- Mapeo de polos y ceros.
- Regla trapezoidal;
- Regla rectangular por adelanto;
- Regla rectangular por atraso;
En este punto es necesario incluir como mínimo:
Listado detallado de las funciones usadas para el cálculo de cada equivalente
discreto,
Valores de los equivalentes discretos pedidos en el formato zpk.
2.1.2) Graficar la respuesta en frecuencia de los equivalentes discretos anteriores y compararlas
con la del controlador continuo J(s).
Para ello realizar sólo dos gráficas:
- Diagrama de Bode de magnitud de los equivalentes discretos calculados con el intervalo T1
más el controlador continuo.
- Diagrama de Bode de magnitud de los equivalentes discretos calculados con el intervalo T2
más el controlador continuo.
En este punto es necesario incluir como mínimo:
Las gráficas mencionadas,
Conclusiones derivadas de la comparación de las mismas.
2.1.3) Comparar la respuesta temporal obtenida con los equivalentes discretos calculados y la
obtenida con el controlador continuo J(s).
Trabajo Práctico 2
Controladores Digitales
Pág. 4 de 10
CONTROL II
2011
Para ello construir un modelo en Simulink con el sistema a LC sin tener en cuenta la
perturbación (caudal de salida ∆v) ni el retardo por transporte. Utilizar una entrada escalón
en la entrada de referencia de nivel ∆hREF a partir del instante t=0.
Utilizar para la comparación los equivalentes discretos construidos con la regla trapezoidal y
con la regla rectangular por adelanto.
Realizar gráficas con:
- Respuestas obtenidas con el controlador continuo y los equivalentes discretos calculados el
intervalo T1,
- Respuestas obtenidas con el controlador continuo y los equivalentes discretos calculados el
intervalo T2,
En este punto es necesario incluir como mínimo:
Modelo del sistema construido en Simulink,
Respuestas al escalón en la salida controlada y en la entrada de control,
Conclusiones derivadas de las simulaciones realizadas.
Trabajo Práctico 2
Controladores Digitales
Pág. 5 de 10
CONTROL II
2011
2.2. Diseño de un Controlador Digital
Se utilizará el método de la transformada w y la herramienta de Matlab SISO-Tool para realizar el
diseño de un controlador digital que cumpla con los mismos requerimientos utilizados para el diseño del
controlador continuo. Para ello realizar paso a paso las siguientes actividades:
2.2.1) Partiendo de la función transferencia G(s) a lazo abierto del sistema calcular la función
transferencia discreta G(z) . No tener en cuenta la perturbación (caudal de salida ∆v) ni el
retardo por transporte.
Utilizar el formato zpk para G(s).
Utilizar el método del bloqueador de orden cero y el intervalo de muestreo T2 para calcular
G(z).
En este punto es necesario incluir como mínimo:
Descripción de la función utilizada para realizar el cálculo y sus resultados.
2.2.2) A partir de la función transferencia G(z) calculada hallar su transformada W ( G(w) ).
En este punto es necesario incluir como mínimo:
Descripción de la función utilizada para realizar el cálculo y sus resultados.
2.2.3) Eliminar de G(w) el cero de alta frecuencia, corrigiendo además convenientemente la
ganancia de la misma.
En este punto es necesario incluir como mínimo:
Descripción de las funciones utilizadas para realizar los cálculos y sus
resultados.
2.2.4) Diseñar un controlador PD aproximado ( C(w) )para que el sistema a LC presente las
mismas características dinámicas a las solicitadas para el PD aproximado
continuo del TP1.
Utilizar SISO-Tool para el diseño utilizando los criterios de la técnica de avance de fase.
Ignorar la presencia del caudal de salida ∆v (perturbación).
En este punto es necesario incluir como mínimo:
Lugar de las raíces del sistema corregido,
Respuesta al escalón indicando la verificación de los requerimientos pedidos.
Trabajo Práctico 2
Controladores Digitales
Pág. 6 de 10
CONTROL II
2011
2.2.5) A partir de la función transferencia del controlador C(w) producto del diseño con SISO-Tool
hallar su transformada al plano Z ( C(z) ).
En este punto es necesario incluir como mínimo:
Descripción de la función utilizada para realizar el cálculo y sus resultados.
2.2.6) Comparar la respuesta temporal obtenida con el controlador discreto C(z) calculado y la
obtenida con el controlador continuo J(s).
Para ello construir un modelo en Simulink con el sistema a LC sin tener en cuenta la
perturbación (caudal de salida ∆v) ni el retardo por transporte. Utilizar una entrada escalón
en la entrada de referencia de nivel ∆hREF a partir del instante t=0.
En este punto es necesario incluir como mínimo:
Modelo del sistema construido en Simulink,
Respuestas al escalón en la salida controlada y en la entrada de control,
Conclusiones derivadas de las simulaciones y cálculos realizados.
Trabajo Práctico 2
Controladores Digitales
Pág. 7 de 10
CONTROL II
2011
3. APENDICE
3.1. Modelo matemático: Control de nivel en tanque
La figura 3.1 muestra los elementos principales que componen el sistema a controlar. El tanque sirve
de cisterna para el suministro de líquido a consumidores alimentados por la bomba centrífuga, dicha
bomba extrae del tanque el caudal v [m3/h]. La reposición de líquido en el tanque se realiza a través de
la válvula proporcional, que suministra el caudal u [m3/h] a un sistema de canaletas abiertas que llega
hasta el tanque.
El objetivo del control es el de mantener el nivel h de líquido en el tanque en el valor ajustado hREF,
manejando la apertura x de la válvula para suministrar el caudal v requerido por los consumidores.
Válvula proporcional
u
Canaletas
x
Adaptación
Control
k
J
ε
h
_
+
hREF
v
A
h: nivel de líquido en el tanque [m]
A: área de la base del tanque [m2] = 28m2
k: constante de adaptación [%/m] = 15%/m
Bomba
centrífuga
Figura 3.1
x:
u:
v:
señal de apertura de la válvula [%]
caudal de salida de la válvula [m3/h]
caudal consumido del tanque [m3/h]
Luego la expresión del nivel ∆h(s) en función de las entradas ∆hREF(s) y ∆v(s) es:
∆h( s ) =
J ( s )kGv ( s )G ( s )
G( s)
∆hREF ( s ) −
∆v( s )
1 + J ( s )kGv ( s )G ( s )
1 + J ( s )kGv ( s )G ( s )
(3.1)
donde deben considerarse:
G (s) =
1
1
=
As 28s
Gv ( s ) =
10
1+ s
(3.2)
El modelo puede mejorarse considerando el retardo de transporte en la canaleta de alimentación del
tanque. En ese caso, llamando ∆u al caudal de salida de la válvula de control, ∆u1 al caudal de entrada
al tanque y τ r al retardo temporal entre ambos caudales, se puede escribir:
∆u1 (t ) = ∆u (t − τ r )
Trabajo Práctico 2
(3.3)
Controladores Digitales
Pág. 8 de 10
CONTROL II
2011
∆u1 ( s ) = ∆u ( s )e −τ r s
(3.4)
y el modelo de la planta se modifica a:
1
G( s) =
28s
Trabajo Práctico 2
10e −τ r s
Gv ( s ) =
1+ s
Controladores Digitales
(3.5)
Pág. 9 de 10
CONTROL II
2011
3.2. Funciones especiales para el cálculo
Se muestra a continuación el listado de las funciones utilizadas para el desarrollo del Trabajo
Práctico:
function [gz]=recadel(gs,T)
% Calcula G(z) usando la regla rectangular por adelanto.
%
% gs -> debe ser un sistema continuo en formato zpk.
% T -> intervalo de muestreo.
gz=zpk(bilin(ss(gs),1,'FwdRec',T));
function [gz]=recatras(gs,T)
% Calcula G(z) usando la regla rectangular por atraso.
%
% gs -> debe ser un sistema continuo en formato zpk.
% T -> intervalo de muestreo.
gz=zpk(bilin(ss(gs),1,'BwdRec',T));
function [gw]=transfw(gz)
% Calcula G(w) (Transformada W) de la
% funcion transferencia G(z).
%
% gz -> debe ser un sistema discreto en formato zpk.
% gw contiene la transformada W en formato zpk, pero expresada en la
variable s.
gw=zpk(bilin(ss(gz),-1,'Tustin',get(gz,'Ts')));
function [gz]=antitransfw(gw,Ts)
% Calcula la funcion transferencia G(z) a partir de la
% transformada W G(w).
%
% gw contiene la transformada W en formato zpk, pero expresada en la
variable s.
% gz -> sistema discreto en formato zpk.
gz=zpk(bilin(ss(gw),1,'Tustin',Ts));
Trabajo Práctico 2
Controladores Digitales
Pág. 10 de 10
Descargar