Implementación de control PI para un motor de cd y demostración del uso del observador lungerber...

18
INSTITUTO TECNOLOGICO DE ORIZABA MIE Matemáticas avanzadas 21/sept/2011 1 DR. ALBINO MARTINEZ SIBAJA Elaboro: MAURICIO CHAVEZ GAMBOA

Transcript of Implementación de control PI para un motor de cd y demostración del uso del observador lungerber...

Page 1: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

INSTITUTO TECNOLOGICO DE ORIZABA MIE

Matemáticas avanzadas

21/sept/2011

1

DR. ALBINO MARTINEZ SIBAJA Elaboro: MAURICIO CHAVEZ GAMBOA

Page 2: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

IMPLEMENTACIÓN DE CONTROL PI PARA UN MOTOR DE CD Y

DEMOSTRACIÓN DEL USO DEL OBSERVADOR LUNGERBER USANDO

MATLAB.

INTRODUCCION

El control automático desempeña un papel importante en los procesos de

manufactura, industriales, navales, aeroespaciales, robótica, etc.

Este documento ha sido desarrollado de tal manera que se vea la construcción de

un controlador PI por medio de Matlab sin que sea necesario tener conocimientos

previos en electrónica.

Con la ayuda del software MATLAB ayudara a crear el sistema necesario para el

Lugar de las Raíces por medio de del sistema, el cual le dará información

importante sobre la dinámica del mismo. El conocimiento del funcionamiento del

sistema junto con el análisis de la función de transferencia de lazo abierto y del

Lugar de las Raíces darán las bases necesarias para seleccionar el controlador,

así aplicar posteriormente

En principio se mostrara el modelado de un motor de CD y a continuación se

aplicara por medio de matlab

MODELADO DE UN MOTOR DE DC

En el proceso de diseño para el control PI de un motor de CD para mantener las

revoluciones por minuto constantes sin importar las perturbaciones en la carga es

necesario tomar en cuenta varios aspectos que se plantean en la siguiente

descripción donde se muestra el modelo matemático de un motor de CD, los

parámetros requeridos para su interpretación y las variables de estado con sus

respectivas ecuaciones.

Modelo matemático de un motor de CD

Page 3: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

Dónde:

Resistencia de la bobina… (Ra) = 1.64Ω.

Inductancia del bobinado… (La) = 0.00676H.

Flujo Magnético… (Fl)= 0.345Vs.

Coeficiente de inercia… (J) = 0.0009335 kgm.

Coeficiente de fricción… (Mfl) = 0.00172 Nms.

Características nominales del motor son las siguientes:

Potencia = 1.2KW.

Velocidad (w) = 314.16

= 300

Corriente (Ia) = 10A.

Voltaje (Ua) = 110Vcd.

[

]

[

] [

]

[

]

[

] [

] [

]

Una vez definidos todos los parámetros y el comportamiento de forma matemática

se recurre a introducir los parámetros del sistema como se muestra en la

Page 4: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

ilustración 1, creando un codigo en MATLAB en donde se teclea el siguiente

código:

Ilustración 1 Código añadido en el editor de Matlab

Con los parámetros ya cargados se puede proceder a la simulación del motor

mediante MATLAB, para lo cual se diseñó el motor de acuerdo a las ecuaciones

características del mismo implementándolo mediante SIMULINK, el sistema que

se obtuvo se muestra en la ilustración 2 en la cual se simula al motor con las

corrientes nominales y en la ilustración 3 con una carga donde se muestra al

motor con una carga mayor a 0 , para la cual la corriente y la revolución se

modifican debido a la carga añadida que en este caso particular puede ser algo

normal dependiendo a lo que consideremos como carga solo así sea el peso de la

misma flecha o una carga añadida el resultado fue el siguiente:

Page 5: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

Ilustración 2 motor sin carga

Ilustración 3 Motor con carga

Con una carga igual a

cero la corriente y las

revoluciones del motor

son las nominales

Con un factor de 13 en

la carga la corriente se

dispara con un pico de

salida y la revolución

disminuye

drásticamente

Velocidad angular=

Corriente=

Velocidad angular=

Corriente=

Page 6: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

SIMULACIÓN EN LAZO CERRADO.

Los sistemas de control en lazo cerrado se definen como aquellos en los que

existe una realimentación de la señal de salida, o dicho de otra forma, aquellos en

los que la señal de salida tiene efecto sobre la acción de control. En algunas

ocasiones, la señal controlada y la señal de referencia no son de la misma

naturaleza, por ejemplo, la señal controlada puede ser una velocidad, y la señal de

referencia una tensión. El instrumento encargado de detectar la señal de salida

para utilizarla de nuevo en el captador. Este elemento mide la señal controlada y

la transforma en una señal que puedan entender los demás componentes del

sistema del controlador.

Ilustración 4 esquema de lazo cerrado

Observando detenidamente en la ilustración 4, que el proceso en nuestro lazo

cerrado es la planta del motor, en este caso el elemento de control es el P.I. y el

sensor un acondicionador de señal (el tacogenerador para checar las

revoluciones del motor), para tener solo como a señal de entrada a el voltaje

aplicado al motor y metiendo una perturbación como si consideráramos una carga

acoplada al motor para poder observar el trabajo del elemento del control que en

este caso es el Pi.

En la ilustración 5 siguiente se muestra como se complementa con un bloque de

PI y de acondicionamiento de la entrada nuestro diagrama de lazo abierto

simulando en el software de simulink.

Page 7: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

Ilustración 5 Planta del Motor con PI añadido

Después de haber identificado los cambios y las adecuaciones se diseñó un

controlador PI para cerrar el lazo de control. Ahora procederemos a diseñar

nuestro controlador para que el motor mantenga una velocidad angular de 300

RPM , para sintonizar los valores del PI se utilizó el primer método de Ziegler–

Nichols como se muestra en la ilustración 6,para lo cual se obtuvo la respuesta

transitoria del circuito en lazo abierto y con una entrada del 50% así para poder

cumplir con el primer método el cual consta en trazar una línea tangente en el

punto de inflexión de la curva que se obtiene a partir de una respuesta al escalón

como se muestra en la siguiente figura:

Ilustración 6 Método de Ziegler–Nichols

La respuesta de la planta a una entrada escalón unitario por medio de este

método se obtiene de manera experimental. Si la planta no contiene integradores

ni polos dominantes complejos conjugados, la curva de respuesta escalón unitario

puede tener forma que se observa en la figura anterior. Si la respuesta no exhibe

Bloques adicionales

Acondicionador de señal

Page 8: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

una curva de estas características, este método no el mejor. Donde se obtienen

los valores de T y L los cuales son:

T= 0.01987

L= 0.00125

Tabla 1 de Ziegler–Nichols

Con dichos valores se obtuvo el valor de la ganancia KP el cual es (T/L) y el valor

de I(s) se dejó con un valor muy grande pues en la tabla del método utilizado

indicaba que su valor era infinito. Una vez que obtuvimos estos valores se

introdujo en SIMULINK un bloque controlador PID además se una

retroalimentación y un sumador; en la ilustración 7 se muestra que para la

retroalimentación se puso una ganancia esto para adecuar las magnitudes de la

salida (velocidad) con la entrada (voltaje) para esto se multiplico la salida por

0.3492. Con estos valores se tiene el siguiente sistema:

Ilustración 7 sistema con ganancia de retro alimentación

De la simulación anterior se obtuvo la siguiente gráfica, se observa una entrada

escalón en la carga esto para verificar cómo se comporta el motor sin carga y

después al acoplarle una carga.

Page 9: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

Ilustración 8 demostración de lazo de control

Demostrando que el lazo de control cerrado y que el PI funciona correctamente

como se muestra en la ilustración 8 donde se puede observar una perturbación

después de un tiempo en la señal que genera el scope que observa la velocidad

nominal del motor, se procede a analizar el observador.

OBSERVADOR LUENBERGER

El observador de Luenberger es un estimador de estado, es decir, un algoritmo

que permite estimar el estado interno oculto (no medible) de un sistema dinámico

lineal a partir de las mediciones de la entrada y la salida de dicho sistema. [2]

Finalmente se realizó el observador de luenberger para el motor de CD el cual

quedo de la siguiente manera donde se para la ganancia de K se obtuvieron a

partir del comando PLACE en matlab donde se ubicaron los polos en [-100+100i; -

100-100i] esto es porque entre más alejados estén los polos del origen el sistema

se vuelve más rápido, y deben de estar de lado izquierdo del plano , ya que si está

en el lado derecho el sistema de vuelve completamente inestable.

Se diseñó un observador luenberger para el sistema y el diagrama es el siguiente:

Page 10: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

Ilustración 9 diagrama de planta en lazo abierto y observador

Para simular el diagrama anterior se introduce el siguiente comando en la consola

de MATLAB: k=place(A, B, P). Con esto se ejecuta y se simula teniendo las

siguientes salidas y en los parámetros de nuestro scrib se modifican:

Ilustración 10 Código con la instrucción PLACE

Page 11: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

En los parámetros anteriores se agregan tres parámetros más los cuales son el

lugar de los polos P y K que es un comando que se usa en matlab llamado place.

¿Qué es K y como usamos la función place para obtenerla?

Considere un sistema de control

en donde

Vector de estado

u = señal de control (escalar)

A = matriz de coeficientes constantes n X n

B = matriz de coeficientes constantes n X 1

Seleccionaremos la señal de control como

u=K*x

La matriz K de 1 = n se denomina matriz de ganancias de la realimentación del

estado. Esto significa que la señal de control se determina mediante un estado

instantáneo. Tal esquema se denomina realimentación del estado. La matriz K

de 1 X n se denomina matriz de ganancias de la realimentación del estado. En el

análisis siguiente suponemos que u no tiene restricciones.

Se muestra el sistema definido mediante la ecuación

Se trata de un sistema de control en lazo abierto, porque el estado x no se

realimenta a la señal de control u

Page 12: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

La figura anterior muestra el sistema con una realimentación del estado.

Éste es un sistema de control en lazo cerrado, porque el estado x se realimenta a

la señal de control u.

Sustituir la ecuación u=K*x en la ecuación anterior produce

K(t) = (A - BK)x(t)

Los valores característicos de la matriz A - BK se denominan polos

reguladores.

Si éstos se ubican en el semiplano izquierdo del plano s, entonces x(t) tiende a 0

conforme t tiende a infinito. El problema de ubicar los polos en lazo cerrado en las

posiciones deseadas se denomina problema de ubicación de polos.

Es importante señalar que la matriz K no es única para un sistema

determinado, sino que depende de las ubicaciones de los polos en lazo cerrado

deseados (los cuales determinan la velocidad y el amortiguamiento de la

respuesta).

La selección de los polos en lazo cerrado deseados, o de la ecuación

característica deseada, es un compromiso entre la rapidez de la respuesta del

vector de error y la sensibilidad ante perturbaciones y el ruido en la medición. Es

decir, si incrementamos la velocidad de la respuesta de error, por lo general

se incrementan los efectos adversos de las perturbaciones y el ruido en la

medición. Si el sistema es de segundo orden, su dinámica (las características de

respuesta) se correlaciona precisamente con la ubicación de los polos en lazo

cerrado deseados y los ceros de la planta. Para sistema de orden superior, la

ubicación de los polos en lazo cerrado y la dinámica del sistema (las

características de respuesta) no se correlacionan fácilmente. Por tanto, al

determinar la matriz de ganancias de realimentación del estado K para un sistema

determinado, es conveniente examinar mediante simulaciones de

computadora las características de respuesta del sistema para varias matrices

K diferentes.

Page 13: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

En matlab utilizamos la función place que es place donde nos indica la situación

los polos dominantes, K = place (A,B,P) la cual Calcula la matriz o vector K de

tal forma que los autovalores de A – B*K (matriz de transición de estados del

sistema en bucle cerrado) sean los especificados en el vector P donde se

propones los valores para P en ubicaciones imaginarias y alejadas de los ejes

según sea el orden del sistema analizado.

Ilustración 11 efecto sobre la respuesta transitoria de los polos de lazo cerrado

Page 14: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

Bueno al verificar el comportamiento del observador en lazo abierto de nuestro

sistema del motor de cd sin la implementación del PI nos damos cuenta que

conforme tú des el cambio en los valores de carga y la salida del motor afecte en

su rendimiento el observador de luenberger en cuanto a la variación de

revoluciones de ser de él orden de 300rpm disminuye drásticamente por el efecto

de la carga.

Ilustración 12 señales comparadas de observador con el motor

Para observar más detalladamente el funcionamiento del observador se tiene el

siguiente diagrama en el que se toman dos retroalimentaciones, una a la salida del

motor y otra a la salida del observador así se pondría el observador con el

diagrama a lazo cerrado y así poder interactuar para usar y demostrar entre la

retroalimentación y el observador el comportamiento del diseño

Salida del motor con el observador

acoplado Salida del Observador.

Page 15: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

Ilustración 13 implementación de observador con planta del motor

La finalidad del diagrama anterior es dar a conocer las características principales

de un observador, considerando en cuenta que la señal de retroalimentación que

tiene el PI es considerada un sensor cuando haces el cambio con el switch

manual absolutamente no tiene variaciones en el comportamiento por que la

finalidad es compensar en este caso los transductores o parámetros que pueden

afectar el desempeño del sistema si este se deja sin supervisión.

Las salidas del sistema son las siguientes, esto al tener seleccionada la

retroalimentación de la salida del motor:

Switch para simular las

condiciones del observador

Page 16: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

Ilustración 14 salida del motor con perturbacion

Ilustración 15 salida con retroalimentación y la perturbación.

Page 17: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

Enseguida se mostrara lo que es capaz de hacer el observador:

Después se cambió el interruptor esto para seleccionar la retroalimentación que

viene de la salida del observador, y se muestra lo siguiente.

Ilustración 16 comportamiento de señales

La ilustración 16, tiene las mismas propiedades tanto para la salida del motor y la

salida del observador

Al introducir una perturbación en el comportamiento del motor, la única salida que

se mantiene es la del observador cuando esta seleccionada esta misma como

retroalimentación, entonces lo que se necesita es un sistema que detecte

variaciones en el sensor (tacómetro=, y que active la salida del observador como

retroalimentación.

Lo anterior para garantizar que el sistema seguirá funcionando aunque el sensor

(tacómetro) se encuentre dañado ya que el observador cumple con la condición

exactamente de observar el acontecimiento del motor y las características

dependiendo no del sensor mismo si no de los parámetros de entrada que tiene el

observador .

Velocidad angular=

Corriente=

Page 18: Implementación de control PI  para un motor de cd y demostración  del uso del observador lungerber  usando matlab 2222

APLICACIONES DE ECUACIONES DIFERENCIALES Y SUS DIFERENCIAS 21/sept/20111

Mauricio Chávez Gamboa

Bibliografía.

Control de sistemas lineales, Gabriela Peretti[1]

TUTORIAL DE ANÁLISIS Y CONTROL DE SISTEMAS USANDO MATLAB., Manuel

Vargas Villanueva[2]

Ingeniería de Control Moderna, Katsuhiko Ogata[3]