Controlador
Control de Procesos
Contenido
1
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
El tacmetro lo utilizaremos para controlar el motor, ya que nos da un voltaje V(t) en funcin de
la velocidad de giro del motor (t).
() = ()
El encoder incremental lo utilizaremos para identificar la relacin entre tensin y velocidad.
Primero realizamos un programa en Matlab para medir la velocidad con el encoder.
Como este tiene 8 orificios y cada vez que pasa por uno emite un pulso:
60
=
8 /
El tiempo de muestreo (Ts) depender del motor, en nuestro caso gira a 2000 rpm.
2000
8 = 266
60
Deberemos muestrear el triple de pulsos por segundo de lo previsto para poder detectar bien
los pulsos
1
= = 0,0013
800
El ordenador muestrea a 0,01 segundos por lo que tendremos que identificar con 1000 rpm.
Con ayuda del simulink ponemos el motor a 1000 rpm y vamos capturando los pulsos del
encoder incremental con una entrada digital de la tarjeta de adquisicin conectada al bornero
A7 (o A6, es indiferente) de la placa de la maqueta.
Estos pulsos se almacenarn en una estructura con tiempo, con la que trabajaremos de ahora
en adelante.
Tomaremos los datos del segundo 6 al 8 (Ya que para calcular la constante , deberemos haber
alcanzado el rgimen permanente).
2
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Una vez hecho esto calculamos el nmero de pulsos con una sentencia if y con esto ya podemos
calcular la constante del tacmetro:
En nuestro caso:
1
= = 400
0,0025
Ya conocemos la relacin entre el voltaje V(t) de la salida del tacmetro y la velocidad de giro
del motor (t):
3
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
2. Modelo esttico
Para obtener la identificacin del sistema, someteremos a la planta (motor de cc) a una serie de
escalones que variarn de -10 V a 10 V.
Generamos un script para crear la seal (Tambin podramos utilizar la herramienta Signal
Builder de Simulink), los escalones tendrn una amplitud de 0.5 V y una anchura de pulso de 4s.
4
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Abrimos Simulink y utilizamos la seal que hemos creado previamente para someter al motor a
una serie de escalones, utilizaremos los datos del workspace que irn a la salidas analgicas 1 y
2 (0 y 1 del bornero) segn si los datos son positivos o negativos.
La entrada analgica 0 nos mostrar la salida del tacmetro multiplicada por la ganancia kt
(calculada anteriormente), que nos dir las revoluciones por minuto a la que gira el motor.
Subsistema Motor:
Subsistema entrada:
Ilustracin 7
5
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Subsistema salidas:
Ilustracin 8
Lo procesamos para obtener la curva esttica del sistema. Se realiza el mismo proceso para la
zona muerta del sistema entre -1V y 1V, en este caso los escalones tendrn un incremento de
0,1V.
6
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Con estos datos se puede obtener la curva esttica total mediante este script, as como la
pendiente (ganancia esttica) de la recta para cada punto.
7
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
8
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
As podremos obtener de manera aproximada la planta modelo del motor, para conseguir dicho
modelo utilizaremos la herramienta ident.
Previamente, hemos generado un script que obtiene los datos necesarios para utilizar en la
ident, estos datos son la entrada u1 y la salida y1 (A parte del tiempo de muestreo Ts).
9
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Ilustracin 16
Obtenemos varios modelos, el que mejor se ajusta al modelo real es el modelo de dos
parmetros (ganancia k y polo).
345.6478
() =
1 + 0.1695
10
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Para la planta obtenida se va a disear un controlador para el control de velocidad del motor.
Para ello se va a utilizar la herramienta Sisotool de Matlab. En primer lugar antes de proceder al
diseo con esta herramienta ser necesario escalar el sistema para poder trabajar
adecuadamente con ella.
Para el otro valor de escala se debe tener en cuenta los valores de velocidad del motor para el
punto de operacin, cuatro por la ganancia esttica del sistema y un valor menor, tres y otro
mayor, cinco. Esos dos valores de escala nos permitirn utilizar la planta del sistema en la
herramienta sisotool.
= min(8,5 4, 4 0 3) = 3,7
= max(5 k 4 k , 4 k 3 k ) = k
3,7 k 3,7
= =
k 1 + 0,17 1 + 0,17
11
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Para analizar los controladores a disear se van a estudiar las siguientes graficas:
Controlador proporcional
() = 1
12
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Controlador integral
2,7
() =
PI
1 + 0,067
() = 17
13
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
PI+FILTRO
1 + 0,067
() = 17
1
() =
1 + 0,067
1 + 0,067
() = 17
(1 + 0,02)
1
() =
1 + 0,067
14
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Antes de probar los controlador PI con filtro en el motor se realizan dos simulaciones para
observar el comportamiento de ste antes de la prueba real.
15
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Una vez comprobado el controlador se realiza el control real del motor con el PI con filtro.
16
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
HF (s=-50)
Como se observa una gran cantidad de ruido, se introduce un polo de lata frecuencia en el
anterior controlador para reducir la amplificacin de ruidos en alta frecuencia.
17
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Para el diseo del control de posicin para el motor es necesario en primer lugar convertir la
velocidad de la primera curva esttica que est en revoluciones por minuto.
Se desarrolla el siguiente script para obtener la velocidad para obtener la curva de velocidad del
eje de salida en radianes por segundo.
18
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Para poder disear sobre una planta aproximada del sistema se debe comprobar si con la planta
obtenida para velocidad se puede obtener la planta que relacione la tensin de entrada con la
posicin. Para ello se obtiene en una grfica tanto la salida del potencimetro, junto con la salida
de velocidad escalada a posicin en voltios como se observa en el diagrama de Simulink. Se
excita el sistema con un escaln en primer lugar de 5V y en segundo lugar por uno de 0,3V.
19
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
20
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Como las pendientes son iguales se puede disear sobre la aproximacin de la planta obtenida
para velocidad.
345 1 2 1 1,13
() = =
1 + 0,17 32 60 (1 + 0,17)
= 8
= /2
1,13 1 5,75
= =
(1 + 0,17) (1 + 0,17)
Se disea para hacer el sistema lo ms rpido posible sin superar la accin de control los valores
de saturacin, adems se busca reducir los ruidos en alta frecuencia. Se estudian los
controladores con el mismo lazo de control y las mismas grficas que el anterior controlador
para velocidad.
21
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Controlador proporcional
() = 0,51
1
() = 0,51
(1 + 0,02)
22
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
23
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
24
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
HF (s=-50)
Como se observa una gran cantidad de ruido, se introduce un polo de alta frecuencia en el
anterior controlador para reducir la amplificacin de ruidos en alta frecuencia.
25
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
26
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
6. Espacio de estados
Por ltimo se va a realizar el control de sistema en el espacio de estados y para ello en primer
lugar se deber obtener el modelo del sistema, a partir de la funcin de transferencia.
x1 (t ) x1 (t ) x 2
x (t ) x (t )
2 2
y x1 (t )
Se transforma la funcin:
() + 0,17 2 () = 1,13 ()
() + 0,17() = 1,13 ()
Sustituimos las variables de estado:
1 () + 0,172 = 1,13()
Se despeja la derivada de la segunda variable de estado:
1 1,13
2 = 2 () + ()
0,17 017
Ya se puede obtener el modelo de estado del sistema:
x1 0 1 x1 0
x 0 1 / 0,17 x 1,13 / 0,17 u
2 2
y 1 0 1 0 u
x
x2
1. Se define la planta.
2. Se comprueba la controlabilidad del sistema. Si el rango de la matriz de controlabilidad
es mximo es un sistema completamente controlable.
3. Se definen las especificaciones de control. Ubicacin de los polos de lazo cerrado, para
que la accin de control no supere los valores de saturacin.
4. Se calcula la ganancia de control realimentado.
27
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
El script es el siguiente:
En esta grfica se observa el comportamiento de las diferentes variables del sistema frente a
un escaln:
28
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Una vez obtenido el control realimentado se genera una seal en la herramienta SignalBuilder
que lleve al sistema a los extremos de trabajo (-/2 y /2), para observar el comportamiento
simulado del sistema, antes de comprobarlo en el motor.
Con Simulink simulamos el espacio de estados del sistema introduciendo las realimentaciones
que implementan el tracker. En la siguiente grfica se puede observar que el sistema se hace lo
ms rpido posible sin superar la accin de control.
29
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
Una vez simulada la respuesta se puede implementar en el sistema real. Con un tiempo de 40
segundos en primer lugar y luego de 10 segundos para observar la amplificacin de ruidos.
30
I N G E N I E R A D E C O N T R O L P R C T I C A S D E L A B O R AT O R I O
31