identificación y control de un servomecanismo de posición

Anuncio
PRÁCTICA 4: IDENTIFICACIÓN Y CONTROL DE UN
SERVOMECANISMO DE POSICIÓN
CURSO 2007/2008
LABORATORIO DE CONTROL AUTOMÁTICO.
3er CURSO ING. TELECOMUNICACIÓN
1. OBJETIVOS
En esta práctica se pretende que el alumno tome contacto con un servomecanismo de posición real,
mediante su identificación y control haciendo uso de programas de ordenador, al tiempo que se ponen de
manifiesto los problemas de implantación y limitaciones físicas (ruidos, zonas muertas, saturaciones, …)
que surgen al trabajar con equipos reales.
2. DESCRIPCIÓN DEL SERVOMECANISMO DE POSICIÓN
En esta práctica de laboratorio se va a controlar un servomecanismo de posición Feedback 33-100, que se
muestra en la figura
Carga
Motor
Engranaje
Este sistema consta de las siguientes partes:
1.
Motor de corriente continua, que acciona una determinada carga en forma de disco. Este disco se
puede frenar de forma manual mediante un freno magnético. En este eje se aloja un
tacogenerador, o sensor de velocidad, que proporciona una medida de la velocidad del eje.
2.
Engranaje de relación 32:1 que transmite el movimiento del eje motor a una carga.
3.
Carga cuya posición se desea controlar. Para ello, se dispone de un sensor óptico de posición
(encoder) que proporciona una medida de la posición.
Así pues, el sistema consta de un motor accionado por su tensión de alimentación que acciona, a través de
un engranaje, el eje de carga en el que se sitúan los sensores de posición y velocidad. Este sistema se
puede representar mediante el siguiente el diagrama de bloques funcional
u(t)
Carga
motor
MCC
engranaje
Carga
Tacogenerador
Encóder
p(t)
v(t)
Las ecuaciones que modelan este sistema, despreciando el efecto de la inductancia del motor, se pueden
expresar mediante el siguiente diagrama de bloques
U
K1
τ 1s + 1
V
K2
s
P
en el que U(s) es la señal de tensión aplicada al motor, V(s) es la velocidad del eje de la carga y P(s) es la
posición del mismo.
Hay que resaltar el hecho de que este modelo es una idealización pues el sistema real presenta no
linealidades tales como
ƒ
ƒ
Zona muerta: el motor no responde cuando los valores de tensión aplicada están por
debajo de un cierto límite. Esto se debe principalmente al efecto de la fricción de
Coulomb.
Saturación de las señales, lo cual limita a un intervalo la tensión de actuación así como
el rango de medida de los sensores.
3. SISTEMA DE IDENTIFICACIÓN Y CONTROL POR ORDENADOR
Para identificar y controlar el sistema, se dispone de un PC con una tarjeta que convierte señales
analógicas en señales digitales (conversión A/D) y señales digitales en señales analógicas (conversión
D/A). La conversión A/D permite tomar valores de señales analógicas y convertirlos en formato digital
para su procesamiento en el PC. Este proceso se denomina muestreo y se suele hacer de forma periódica
con un periodo de muestreo pequeño. Obsérvese que esto permite transmitir al ordenador señales medidas
del equipo, tales como la velocidad y posición. Así, mediante un programa que se ejecuta en el PC se
puede tomar esos datos y calcular de forma numérica la tensión necesaria a aplicar sobre el motor para
controlar el sistema; es decir, que de esta forma el PC puede implementar el controlador.
Por otro lado, la conversión D/A permite crear señales en el PC y transformarlas en señales analógicas.
Gracias a esto, las actuaciones calculadas se pueden aplicar al motor de corriente continua y así se puede
actuar sobre el sistema.
El sistema de control dispuesto se muestra en la siguiente figura.
Programa
de
Control
p
v
Tarjeta A/D-D/A
u
El programa de identificación y control diseñado parar esta práctica (llamado controlmotor.vi) ha sido
programado con la herramienta LabView y presenta la siguiente interfaz de usuario:
1
2
3
4
6
7
5
9
10
8
Los distintos elementos que aparecen (de izquierda a derecha, y de arriba abajo) son los siguientes:
1.
2.
3.
4.
Período de muestreo del programa y puesta en marcha. El botón ON debe estar pulsado y, a
continuación, pulsar sobre la flecha “RUN” para ejecutar el programa.
Selección del tipo de entrada aplicada al motor: escalón (“STEP”), senoidal (“FREQUENCY”),
control pid de la velocidad de giro del motor (“PID VELOCIDAD”) o compensación con red de
avance de la posición del motor (“RED AVANCE POS”). Además permite fijar los parámetros
para: entrada escalón (amplitud) y entrada senoidal (amplitud, frecuencia en radianes por
segundo y desplazamiento).
Señal aplicada a la entrada del motor. Será un escalón, senoide o señal de control en velocidad o
posición, dependiendo de lo seleccionado en 2.
Tiempo transcurrido del experimento.
5.
Representación de la velocidad del motor (en azul) y de la referencia de velocidad (verde).
Nótese que la referencia de velocidad sólo tiene sentido en el caso en que se esté realizando un
control de la velocidad de giro del motor.
6. Parámetros del controlador PID para control de la velocidad de giro: velocidad de giro deseada,
acción proporcional, acción integral y acción derivada). Sólo se aplican si la opción “PID
VELOCIDAD” está seleccionada en 2.
7. Error entre la velocidad de giro deseada (referencia) indicada en 6 y la velocidad de giro actual
del motor.
8. Representación de la posición de la carga (verde) y de la referencia de posición (azul). Nótese
que la referencia de posición sólo tiene sentido en el caso en que se esté realizando un control de
la posición.
9. Parámetros de la red de avance para el control de la posición de la carga: posición deseada, valor
de acción proporcional, alpha y tau. Sólo se aplican si la opción “RED AVANCE POS” está
seleccionada en 2.
10. Error entre la posición deseada de la carga (referencia) indicada en 9 y la posición actual de la
carga.
4. DESCRIPCIÓN DE LA PRÁCTICA
La práctica se puede dividir en 3 partes: una primera de identificación usando la respuesta temporal y
frecuencial del sistema; posteriormente, el diseño de un controlador PI para el control en velocidad y, por
último, diseño de una red de avance para el control de posición del servomotor.
4.1. Identificación del servomecanismo
En esta parte se va a identificar los parámetros del modelo del motor para obtener la función de
transferencia del sistema en bucle abierto.
Como ya se ha comentado en la introducción, aunque el sistema en estudio no es de segundo orden, éste
se puede modelar de forma bastante aproximada mediante un sistema de primer orden para la velocidad y
un integrador con ganancia debida a la reductora para la salida en posición. Es decir el diagrama de
bloques del sistema será:
u
K1
1 + τs
v
K2
s
p
donde u es la señal de control, v la velocidad del motor y p la posición del mismo, todo ello medido en
voltios de tensión.
En primer lugar, el alumno debe identificar la zona muerta y la saturación en velocidad del sistema.
La zona muerta es la señal de entrada mínima que se requiere para que el sistema responda. En este
apartado se pretende identificar la misma. Para ello, será necesario hallar los dos umbrales upos y uneg a
partir de los cuales la señal de control comienza a ser efectiva. Para identificar la zona muerta introducir
escalones pequeños (seleccionando “STEP”) en la señal de control hasta que el motor comience a
moverse. Repetir lo mismo con escalones negativos, con lo que se tendrán identificados los umbrales de
la zona muerta.
Una vez identificada la zona muerta se aumentará la señal de control hasta que un aumento en la misma
no produzca un aumento en la velocidad del motor. Este valor máximo de velocidad será el
correspondiente a la saturación y será útil para decidir el valor máximo de la referencia cuando se
controle la velocidad de giro del motor.
Ya conocidos los valores de zona muerta y saturación se elegirá un punto de trabajo del sistema entre
ambos valores y, después de parar y volver a arrancar el programa para empezar un nuevo experimento,
se fijará dicho punto de trabajo en el valor de la referencia del escalón.
Una vez ha transcurrido el tiempo necesario para que se haya estabilizado la velocidad de giro, se da un
escalón en la señal de actuación u y se observa la salida en velocidad y posición del motor, guardándose
en un fichero los resultados obtenidos. Para almacenar el archivo es necesario poner el botón “ON” a
“OFF”, de modo que aparecerá una pantalla para seleccionar el directorio y nombre de archivo similar a
la siguiente:
A continuación se cargan los datos en MATLAB para su análisis usando la siguiente secuencia de
comandos
>> load nombre.extension
>>
>>
>>
>>
u=nombre(
v=nombre(
p=nombre(
t=nombre(
1
2
3
4
,
,
,
,
:
:
:
:
%
%
%
%
%
%
%
para guardar los datos en una matriz llamada nombre
la matriz tiene 4 filas con los datos del experimento
la primera tiene la señal de control u
la segunda la salida en velocidad v (CANAL 0)
la tercera la salida en posición p (CANAL 1)
la cuarta el vector de tiempos t
a continuación se separan en variables distintas
);
);
);
);
Una vez separadas se pueden representar usando:
>> plot(t,u,t,v,t,p);
y sobre la gráfica resultante hay que identificar los parámetros K1, τ y K2 .
Una vez identificado el sistema se realiza en MATLAB el diagrama de bode teórico del sistema de primer
orden (velocidad) y se identifican las frecuencias de interés para el control (frecuencias cercanas al polo,
anteriores y posteriores, se recomienda identificar 1 década antes y después del polo).
Conocidas esas frecuencias se pasa a comprobar el bode teórico con el experimental introduciendo,
después de parar y volver a arrancar el programa para empezar un nuevo experimento, en la señal de
actuación del sistema señales senoidales (seleccionar “FREQUENCY”) a las frecuencias de interés,
poniendo en OFFSET el valor del punto de trabajo y con una amplitud que haga que el motor no cambie
de sentido ni sature en velocidad.
Con los datos obtenidos se vuelve a MATLAB y, tras cargar los datos del experimento, se mide la
relación de amplitudes y el desfase entre la onda senoidal de entrada y de salida, comprobándose los
resultados con los obtenidos con el bode teórico.
4.2. Diseño de un PI para el control en velocidad
Se pretende controlar la velocidad de giro del motor de forma que se minimice el error al alcanzar la
velocidad de giro deseada y se reduzca el tiempo necesario para alcanzar dicha velocidad deseada. Para
ello se utilizará un control PI, cuyos parámetros se calcularán de forma que:
•
•
El cero del PI sea igual al polo del sistema
La constante de tiempo del sistema en bucle cerrado sea la mitad de la del sistema sin
compensar.
Una vez calculados analíticamente los parámetros del PI se introducen en la parte correspondiente de la
pantalla (zona 6), poniendo Td a cero y seleccionando “PID VELOCIDAD” en el tipo de entrada (zona 2
de la pantalla) .
Se probará la eficacia del controlador diseñado mediante una serie de experimentos en los cuales la
referencia del sistema en bucle cerrado tenga escalones en distintas zonas. Los resultados se archivarán
para su posterior presentación gráfica en la memoria de la práctica. Se modificarán los parámetros del PI
de su punto de diseño y se verá cómo afectan a la respuesta en bucle cerrado. Se cambiará también la
referencia de manera que se sature la velocidad del motor y se volverá a dar una referencia alcanzable
para ilustrar el efecto de la saturación del término integral.
4.3. Diseño de una red de avance para el control en posición
En este apartado se pretende diseñar una red de avance para que la posición del motor se ajuste a una
referencia dada.
Para ello se elegirá en primer lugar un controlador proporcional que produzca un error en posición
suficientemente pequeño (hacer α=1 y τ=1 y modificar Kc) en la parte de Red de Avance en la pantalla
(zona 9) y seleccionar “RED AVANCE POS” en el tipo de entrada (zona 2).
Una vez determinada la ganancia del controlador diseñar una red para mejorar el régimen transitorio del
sistema calculando los valores de α y τ. Variar dichos parámetros hasta que se encuentre una respuesta
adecuada y grabar los datos del experimento. Para el cálculo de estos parámetros puede utilizarse el bode
del modelo teórico del motor pero incluyendo también la ganancia del controlador Kc.
5. MEMORIA DE LA PRÁCTICA
Cada grupo que realice la práctica deberá entregar una memoria justificativa del trabajo realizado,
incluyendo todos los resultados obtenidos en el transcurso de la misma, así como la explicación de los
modelos y controladores usados y comentarios sobre los problemas y soluciones encontrados durante la
realización de la práctica.
Adicionalmente, se pide que se de una valoración de la práctica, se indique si ha sido útil en el contexto
de la asignatura, así como sugerencias de posibles modificaciones para mejorarla.
Descargar