Anda di halaman 1dari 32

Proyecto

Controlador
Control de Procesos

Fernando Chicote Navaridas


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

Contenido

1. Identificacin de los sensores disponibles .......................................................................... 2


2. Modelo esttico .................................................................................................................... 4
3. Modelo dinmico (Identificacin de la planta) ................................................................... 9
4. Diseo del controlador de velocidad ................................................................................. 11
Controlador proporcional ....................................................................................................... 12
Controlador integral ................................................................................................................ 13
PI.............................................................................................................................................. 13
PI+FILTRO ................................................................................................................................ 14
HF (Polo de alta frecuencia en s=-50 para eliminar ruidos) .................................................... 14
Simulacin antes de probar en el motor................................................................................. 15
Pruebas motor real ................................................................................................................. 16
5. Diseo del controlador de posicin ................................................................................... 18
Controlador proporcional ....................................................................................................... 22
HF (Polo de alta frecuencia en s=-50 para eliminar ruidos) .................................................... 22
Simulacin antes de probar en el motor................................................................................. 23
Pruebas motor real ................................................................................................................. 24
6. Espacio de estados.............................................................................................................. 27
Pruebas motor real ................................................................................................................. 29

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

1. Identificacin de los sensores disponibles

La maqueta Feedback Control & Instrumentation 33-100 tiene un encoder incremental y un


tacmetro.

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.

Ilustracin 1. Script tacmetro

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:

Ilustracin 2. Script 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):

()[] = 400 ()[]


Una vez hechos todos los pasos previos pasaremos identificar la planta del motor con ayuda del
tacmetro.

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.

Ilustracin 3. Serie de escalones

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.

Ilustracin 4. Script modelo esttico

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.

Ilustracin 5. Simulink modelo esttico

Subsistema Motor:

Ilustracin 6. Simulink 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

Una vez obtenida la respuesta del sistema, (Simulink lo ha guardado como


datos_modelo_estatico en el formato estructura con tiempo).

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.

Ilustracin 9. Serie escalones zona muerta

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

Ilustracin 10. Curva esttica zona muerta

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.

Ilustracin 11. Script curva esttica

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

Ilustracin 12. Curva esttica

Ilustracin 13. Ganancia esttica

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

3. Modelo dinmico (Identificacin de la planta)

De manera similar al anterior, con la herramienta Signalbuilder generamos una serie de


escalones aleatorios, que introduciremos en el motor para comprobar su comportamiento
dinmico.

Ilustracin 14. Seal signalbuilder

As podremos obtener de manera aproximada la planta modelo del motor, para conseguir dicho
modelo utilizaremos la herramienta ident.

Ilustracin 15. Respuesta del sistema

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

Se utilizan estos dos tramos para la herramienta ident.

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

4. Diseo del controlador de velocidad

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 escalar el sistema se debe seleccionar un punto de operacin en el que va a trabajar el


sistema. Como la planta satura con una alimentacin cercana a los 8V, el valor seleccionado para
trabajar es 4V. Una vez obtenido el punto de trabajo se observan los lmites de tensin que son
0,3 y 8,5V, con ellos se obtiene el primer factor de escala.

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

Se disea en la sisotool sobre la planta escalada, aplicando el siguiente lazo de control.

Ilustracin 17. Lazo de control del sistema

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:

1. Respuesta al escaln de Y(s) frente a R(s) en lazo cerrado. (SALIDA)


2. Respuesta al escaln de U(s) frente a R(s) en lazo cerrado. (ACCIN DE CONTROL)
3. Respuesta al escaln de Y(s) frente a dU(s) en lazo cerrado. (PERTURBACIN)
4. Polos y ceros de lazo cerrado.
5. Bode de U(s) frente a N(s). (RUIDO)

Ilustracin 18. Respuestas a analizar sisotool

El objetivo de diseo es hacer lo ms rpido posible el sistema sin sobrepasar la accin de


control, ya que el sistema esta escalado, adems de reducir el ruido en alta frecuencia. A
continuacin se muestran los mejores controladores diseados para cada caso.

Controlador proporcional

() = 1

Ilustracin 19. Respuestas sisotool

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
() =

Ilustracin 20. Respuestas sisotool

PI

1 + 0,067
() = 17

Ilustracin 21. Respuestas sisotool

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

Ilustracin 22. Respuestas sisotool

HF (Polo de alta frecuencia en s=-50 para eliminar ruidos)

1 + 0,067
() = 17
(1 + 0,02)
1
() =
1 + 0,067

Ilustracin 23. Respuestas sisotool

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

Simulacin antes de probar en el motor

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.

Ilustracin 24. Seal signalbuilder

Ilustracin 25. Simulacin simulink

Ilustracin 26. Respuesta simulacin simulink

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

Ilustracin 27. Respuesta simulacin simulink

Pruebas motor real

Una vez comprobado el controlador se realiza el control real del motor con el PI con filtro.

Ilustracin 28. Seal signailbuilder

Ilustracin 29. Implemenntacin controlador

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

Ilustracin 30. Respuesta motor

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.

Ilustracin 31. Respuesta motor

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

5. Diseo del controlador de posicin

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.

Ilustracin 32. Script curva esttica posicin

Ilustracin 33. Curva esttica

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

Ilustracin 34. Ganancia esttica

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.

Ilustracin 35. Simulacin simulink

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

Ilustracin 36. Respuesta 5V

Ilustracin 37. Respuesta 0,3V

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)

Como en el anterior caso es necesario escalar la planta para disear el controlador en la


herramienta sisotool. La escala se escala teniendo en cuenta donde satura el sistema y el rango
de trabajo en posicin.

= 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

Ilustracin 38. Respuestas sisotool

HF (Polo de alta frecuencia en s=-50 para eliminar ruidos)

1
() = 0,51
(1 + 0,02)

Ilustracin 39. Respuestas sisotool

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

Simulacin antes de probar en el motor

Se realizan dos simulaciones anteriores a la prueba en el motor para comprobar el


comportamiento del controlador proporcional que es que el que reeliza el emjor contorl de
psoicon del motor.

Ilustracin 40. Seal signalbuilder

Ilustracin 41. Simulacin simulink

Ilustracin 42. Respuesta simulacin

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

Ilustracin 43. Respuesta simulacin

Pruebas motor real

Ilustracin 44. Seal signalbuilder

Ilustracin 45. Implementacin motor real

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

Ilustracin 46. Respuesta motor real

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.

Ilustracin 47. Implementacin motor real

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

Ilustracin 48. Respuesta motor real

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.

Funcin de transferencia de posicin en radianes:


() 345 2 1 1 1,13
= =
() 1 + 0.17 60 32 + 0.17 2
Se toman como variables de estado:

x1 (t ) x1 (t ) x 2
x (t ) x (t )
2 2

y x1 (t )

Se transforma la funcin:

() + 0,17 2 () = 1,13 ()

Se pasa al dominio del tiempo:

() + 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

Una vez obtenido el modelo se procede a disear un controlador en el espacio de estados. Se


trata de un tracker para el seguimiento de referencias. Se genera un script que desarrolle los
siguientes pasos para disear el controlador:

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

5. Se calcula el control feedback que para los trackers es:


ALc = A Bk
BLc = Bk1
CLc = C Dk
DLc = Dk1

El script es el siguiente:

Ilustracin 49. Script espacio de estados

Se obtiene los siguientes valores para las ganancias: K1=4.81, K2=0.32.

En esta grfica se observa el comportamiento de las diferentes variables del sistema frente a
un escaln:

Ilustracin 50. Respuesta espacio de estados

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

Pruebas motor real

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.

Ilustracin 51. Seal signalbuilder

Ilustracin 52. Simulacin simulink

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

Ilustracin 53. Respuesta simulacin

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.

Ilustracin 54. Respuesta motor real 40 segundos

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

Ilustracin 55. Respuesta motor real 10 segundos

Como la amplificacin de ruidos se observa en la simulacin de 10 segundos es muy grande se


introduce un polo de alta frecuencia (son mtodos de control distintos) para reducirlos. Se
introduce el polo en s=-50.

Ilustracin 56. Simulink escpacio de estados + HF

Ilustracin 57. Respuesta motor real

31

Anda mungkin juga menyukai