CONTROL DE UN SISTEMA DE BARRA Y BOLA mediante variables de estado.pdf

22 

Loading.... (view fulltext now)

Loading....

Loading....

Loading....

Loading....

Texto completo

(1)

CONTROL DE UN SISTEMA DE BARRA Y BOLA MEDIANTE VARIABLES DE ESTADO ESTUDIANTE GASPAR SOTO TRABAJO ESCRITO # 3 PROFESOR

FELIPE ANDRES OBANDO VEGA ASIGNATURA

INSTRUMENTACION Y CONTROL

UNIVERSIDAD DE ANTIOQUIA FACULTAD DE INGENIERIA

DEPARTAMENTO DE INGENIERIA MECANICA MEDELLIN

(2)

Contenido

LISTA DE FIGURAS ... 3

GLOSARIO ... 4

OBJETIVOS ... 4

MARCO TEORICO ... 6

DEFINICION DEL PROBLEMA ... 7

DESARROLLO DEL TRABAJO ... 8

1. Modelo matemático de variables de estado. ... 9

2.1 Sistema de control por realimentación de estados. Modelo de variables de estado por simulink ... 9

2.2 Sistema de control por realimentación de estados. Modelo de siemens Nx 8.0 .. 13

3. Análisis de resultados y comparación con los obtenidos en el trabajo #2. ... 15

CONCLUSIONES ... 16 ANEXOS ... 17 PROGRAMA SS1.m ... 17 RESULTADOS PROGRAMA SS1 ... 17 PROGRAMA SS2.m ... 18 RESULTADOS PROGRAMA SS2 ... 19 PROGRAMA SS3.m ... 19 PROGRAMA Nbar_ganancia_cte.m... 19 FUNCION rscale... 20

(3)

LISTA DE FIGURAS

Figura 1. Representación tradicional de un sistema ... 5

Figura 2. Ecuación 1 ... 6

Figura 3.Definición de parámetros ecuación 1 ... 6

Figura 4. Esquema del sistema barra-bola ... 8

Figura 5. Esquema del sistema para simulink ... 10

Figura 6. Respuesta del sistema a una entrada escalón ... 11

Figura 7.Esquema de corrección del error en simulink ... 12

Figura 8. Respuesta del sistema con la corrección Nbar ... 12

Figura 9. Modelo del sistema (motor, barra, bola) Nx8.0 ... 13

Figura 10. Ventana del navegador de motion simulation ... 13

Figura 11. Simulación del sensor posición instalado en la bola. ... 14

Figura 12. Motion plant creada por Nx 8.0... 14

(4)

GLOSARIO

Sistema: se entenderá como una relación entre entradas y salidas.

Sistema determinista: si a cada entrada le corresponde una y solo una salida. Sistema mono variable: Es aquel que solo tiene una entrada y una salida. Si el sistema tiene más de una entrada o más de una salida se llamará multivariable.

Sistema causal o no anticipatorio: Es aquel que su salida para cierto tiempo t1, no depende de entradas aplicadas después de t1. Obsérvese que la definición implica que un sistema no causal es capaz de predecir entradas futuras, por lo tanto la causalidad es una propiedad intrínseca de cualquier sistema físico.

Sistema dinámico: Es aquel cuya salida presente depende de entradas pasadas y presentes. Si el valor de la salida en t1 depende solamente de la entrada aplicada en t1, el sistema se conoce como estático o sin memoria.

Sistema invariante en el tiempo: Es aquel que tiene parámetros fijos o estacionarios con respecto al tiempo, es decir, sus características no cambian al pasar el tiempo o dicho de otra forma, sus propiedades son invariantes con traslaciones en el tiempo.

OBJETIVOS

 Resolver un sistema dinámico por medio de variables de espacios de estado.  Aplicar la teoría vista en la asignatura de instrumentación y control para la

solución de sistemas dinámicos.

 Emplear el software SIEMENS PLM Nx para la modelación y simulación del

sistema.

 Emplear el software MATLAB para la modelación y co-simulacion Nx-Simulink del sistema.

(5)

INTRODUCCION

El modelado y control de sistemas basado en la transformada de Laplace, es un enfoque muy sencillo y de fácil aplicación. Permite analizar sistemas utilizando una serie de reglas algebraicas en lugar de trabajar con ecuaciones diferenciales. En este enfoque tiene más valor la simplicidad que la exactitud.

Figura 1. Representación tradicional de un sistema1

Sin embargo, la descripción de sistemas mediante la función de transferencia tiene las siguientes limitaciones:

• No proporciona información sobre la estructura física del sistema.

• Solo es válida para sistemas lineales con una entrada y una salida e invariantes en el tiempo.

• No proporciona información de lo que pasa dentro del sistema. • Se necesita que las condiciones iniciales del sistema sean nulas.

Ningún sistema dinámico de interés cumple con estos requisitos, es decir: Los sistemas reales presentan no linealidades, pueden tener más de una entrada o salida, sus parámetros cambian en el tiempo y sus condiciones iniciales no siempre tienen un valor de cero.

Afortunadamente, para muchos sistemas es posible considerar esas limitaciones, trabajar sobre un punto de interés, linealizar y utilizar las ventajas del análisis por Laplace. Sin embargo otros sistemas son tan complejos que no es posible utilizar este enfoque. Para este tipo de sistemas se utiliza la representación en espacio de estado. La representación es espacio de estado presenta las siguientes ventajas:

• Aplicable a sistemas lineales y no lineales.

• Permite analizar sistemas de más de una entrada o más de una Salida.

• Pueden ser sistemas variantes o invariantes en el tiempo. • Las condiciones iniciales pueden ser diferentes de cero. • Proporciona información de lo que pasa dentro del sistema. • Resultados sencillos y elegantes.

(6)

MARCO TEORICO Representación por medio del espacio de estado

Con la representación en espacio de estado tenemos la capacidad de conocer y controlar en cierta medida la dinámica interna de un sistema y su respuesta. Este método principia con la selección de las variables de estado, las cuales deben de ser capaces en conjunto de determinar las condiciones de la dinámica del sistema para todo tiempo. Pueden existir varias representaciones en variables de estado para un sistema. En forma general, un sistema visto en espacio de estado tiene la siguiente forma:

Figura 2. Ecuación 1

Figura 3.Definición de parámetros ecuación 1

𝑥, 𝑢, 𝑥̇, 𝑓 𝑦 𝑔 Son generalmente mapeos suaves de clase C

El vector x representa las variables de estado y el vector u representa el control. A la ecuación (1) se le llama ecuación del espacio de estado. Para realizar la representación en el espacio de estado, se necesita manipular las ecuaciones físicas del modelo de un sistema, de tal forma que se pueda obtener la razón de cambio respecto al tiempo de cada variable de estado seleccionada.

Concepto de estado. El estado de un sistema al tiempo t0 es la cantidad de información que junto con una entrada 𝑢[𝑡0, ∞) nos permite determinar el

comportamiento del sistema de manera única para cualquier t ≥ t0

Estado. Es el conjunto más pequeño de variables (denominadas variables de estado) tales que el conocimiento de esas variables en (t =t0) conjuntamente con el

conocimiento de la entrada para t ≥ t0 determinan completamente el

comportamiento del sistema en cualquier tiempo t ≥ t0

Variables de estado. Son las variables que constituyen el conjunto más pequeño de variables que determinan el estado de un sistema dinámico. Si se requieren al menos n variables (x1, x2,…., xn) para describir completamente el comportamiento

de un sistema dinámico, se dice que el sistema es de orden n.

Vector de estado. Las n variables de estado forman el vector de estado, que generalmente es un vector columna de dimensión [n x 1]. Donde n es el número de variables de estado.

)

,

(

)

,

(

x

t

g

x

t

f

x

g

y

f

dt

dx

x

R

u

R

x

n

,

m

,

,

(7)

DEFINICION DEL PROBLEMA

1. Obtener el modelo matemático en variables de estado que describa la dinámica del sistema.

2. Diseñar un sistema de control por realimentación de estados que permita mantener la bola en una posición deseada. Simular el comportamiento para diferentes valores de posición y utilizando tanto el modelo en variables de estado como el modelo proporcionado por el software NX.

3. Analizar los resultados obtenidos y compararlos con los resultados obtenidos en el trabajo anterior.

(8)

DESARROLLO DEL TRABAJO

Figura 4. Esquema del sistema barra-bola

Símbolo del parámetro

significado

m Masa de la bola

R Radio de la bola

d Offset de brazo de palanca

g Aceleración gravitacional

L Longitud de la barra

J Momento de inercia de la bola

r Coordenada de posición de la bola

α Angulo de rotación de la barra

Ɵ Angulo de rotación del servo motor

Tabla 1. Definición de parámetros del sistema barra-bola

La ecuación que relaciona el desplazamiento de la bola y el ángulo de rotación del servomotor es:(𝑅𝐽2+ 𝑚) 𝑟̈ = −𝑚𝑔 ∗ (

𝑑

𝐿) 𝜃 Ecuación 1.

Y su respectiva función de transferencia es: 𝐹𝑏𝑎𝑟𝑏𝑎𝑙𝑙(𝑠)=𝜃(𝑠)𝑟(𝑠)= −𝐿∗(𝑚𝑔∗𝑑𝐽 𝑅2+𝑚)

∗ 1

𝑠2= [

𝑚𝑡 𝑟𝑎𝑑]

Parámetro Valor Unidades

m 0,77 Kg R 0,105 m d 0,21 m g 9,81 m/s{2 L 7 m J 0,0033957 Kg*m^2 α variable Radianes Ɵ variable Radianes r variable m

(9)

1. Modelo matemático de variables de estado.

Las ecuaciones del sistema linealizado también pueden ser representadas en forma de espacio de estado. Esto puede hacerse mediante la selección de la posición de la bola (r) y la velocidad {r}´como la variable de estado y el ángulo del servo motor (Ɵ) como la entrada. La representación en espacio de estado se muestra a continuación:

[𝑟𝑟̈̇] = [0 1 0 0] [ 𝑟 𝑟̇] + [ 0 𝑚𝑔𝑑 𝐿( 𝐽𝑅2 + 𝑚) ] 𝜃

Sin embargo, para este problema de espacio de estado se va a utilizar un modelo ligeramente diferente. La misma ecuación para la bola todavía se aplica pero en lugar de controlar la posición a través del ángulo del servo motor (Ɵ) se controlará el par de torsión de la viga. A continuación se muestra la representación de este sistema:

[ 𝑟 𝑟 𝛼 𝛼̈̇ ̈ ̇ ] = [ 0 1 0 0 0 0 𝐽 −𝑚𝑔 𝑅2 ⁄ + 𝑚 0 0 0 0 0 0 0 0 0 ] [ 𝑟 𝑟 𝛼 𝛼̇ ̇ ] + [ 0 0 0 1 ] 𝑢 𝑦 = [1 0 0 0] [ 𝑟 𝑟 𝛼 𝛼̇ ̇ ]

Al correr en Matlab el programa de editor de texto “SS1” se obtiene como resultado el sistema de variables de estado para este problema. Ver anexos

“SS1” y “resultados SS1”

2.1 Sistema de control por realimentación de estados. Modelo de variables de estado por simulink

Para llevar esto a cabo se requiere que en este sistema no se utilicen la manivela y el brazo de palanca (biela), en lugar de ellos se hará uso de un motor en el centro de la biarra; el cual aplicará torsión a la barra, para controlar la posición de la pelota.

Los criterios de diseño para este problema son:

* Tiempo de estabilización menos de 3 segundos * Sobre pico menor a 5%

(10)

Figura 5. Esquema del sistema para simulink

En la figura anterior se puede observar el sistema con un controlador por realimentación de estados incluido dentro del laso de control.

Para este trabajo se desea un sobre pico menor que el 5%, lo que corresponde a un Z=0.7 En el trabajo anterior por medio del lugar geométrico de las raíces este criterio se representó como una línea de 45 grados que inicia desde el origen y se extiende hacia fuera en la parte izquierda del plano. Se desean colocar los polos sobre ó por debajo de esta línea.

El siguiente criterio es un tiempo de asentamiento de menos de 3 segundos, que corresponde a σ = 4,6 / Ts = 4,6 / 3 = 1,53, representado por una línea vertical en -1,53 en el lugar de raíces. Cualquier cosa más allá de esta línea en la parte izquierda del plano es un lugar adecuado para los polos. Por lo tanto se procede a colocar los polos en -2 + 2i y -2-2i. Para comenzar con el lugar de ellos a -20 y -80. A continuación se procede a usar estos polos en MATLAB para encontrar el controlador (matriz K) utilizando el comando “place”. Ver anexos: “programa SS2”

y “resultados SS2” con dichas instrucciones se obtiene la matriz K mostrada a

continuación:

K = 1.0e+03 * (1.8286 1.0286 2.0080 0.1040)

Después de agregar la matriz K, las ecuaciones de espacio de estado ahora se convierten en:

Ahora procede a simular la respuesta de lazo cerrado ante una entrada escalón de 0.25m con el comando “lsim”. Ver anexos “programa SS3”. Al ejecutar este programa se obtiene la gráfica que se muestra a continuación:

(11)

Figura 6. Respuesta del sistema a una entrada escalón

En esta figura se observa que hay un gran error en estado estacionario, para compensar esto, se debe añadir una compensación por medio de un compensador o controlador. Sin embargo, se cumplen los criterios de ganancia y de Tiempo de asentamiento.

Entrada de referencia

A continuación se va a corregir el error de estado estacionario. A diferencia de los otros métodos de diseño, en los que la retroalimentación de la salida se compara con la entrada de referencia para calcular un error, con un controlador por realimentación completa de estado lo que se hace es calcular cuál es el valor de estado estacionario que los estados deben tomar,. Esto puede hacerse mediante la adición de una ganancia Nbar constante después de la referencia. El esquema siguiente muestra esta relación:

(12)

Figura 7.Esquema de corrección del error en simulink

La ganancia denominada Nbar se puede encontrar mediante la función rscale definida en los anexos.

Nbar = 1.8286e+03

Figura 8. Respuesta del sistema con la corrección Nbar

Como se observa en la figura el error estacionario ha sido eliminado y se cumplen todos los criterios de diseño.

(13)

2.2 Sistema de control por realimentación de estados. Modelo de siemens Nx 8.0

Figura 9. Modelo del sistema (motor, barra, bola) Nx8.0

En la figura 9 se pude observar el ensamble del sistema elaborado en Nx8.0. ver archivos adjuntos: assembly1. La barra y la bola fueron modeladas directamente en Nx 8.0 el motor fue modelado en solidedge v17 con la interface de traceparts e importado al ensamble ya mencionado en Nx 8.0.

(14)

Figura 11. Simulación del sensor posición instalado en la bola.

En la figura 11 se puede observar la trayectoria de la bola gracias al sensor posición. Los parámetros de esta simulacion fueron: time=10s ; step=1000; nmotor=10 rpm. Ver el video movie1 para mayores detalles. Ver archivos

motion1 y solution_2 en Nx 8.0

Figura 12. Motion plant creada por Nx 8.0

En la figura 12 se puede observar el modelo de bloques en simulink que incluye el bloque que Nx arroja para la planta luego de realizar la cosimulacion Nx-Matlab. El archivo que da origen a este bloque es cosimulation_solution_1_plant.m

(15)

Figura 13. Respuesta del sistema por cosimulacion en simulink En la figura 13 se puede observar la grafica del desplazamiento de la bola obtenida en simulink por cosimulacion con Nx 8.0

3. Análisis de resultados y comparación con los obtenidos en el trabajo #2.

A diferencia del trabajo anterior, donde se debía controlar el ángulo de la marcha del servo motor que le transmitía movimiento a la biela para así controlar la barra y la bola, en el presente trabajo se está controlando esencialmente un par de torsión aplicado en el centro de la viga por un motor. Por lo tanto, la ausencia del sistema manivela-biela ya introduce una interesante diferencia entre los dos sistemas. Lastimosa mente a pesar de que en Nx la bola no se salía de la barra cuando hice la cosimulacion la bola salía despedida de la barra por lo cual obtuve la gráfica de la figura 13 sin oscilaciones para entrar a corregir con el controlador.

Al comparar el trabajo 2 y 3 realizado en Matlab y simulink se observan

comportamientos muy similares de las respuestas del sistema antes y después de compensar por medio del controlador. Con parámetros de diseño muy similares.

(16)

CONCLUSIONES

 El método de espacios de estado con sus respectivas variables de estado es un método eficiente de resolver sistemas complejos de múltiples

entradas y salidas.

 El modelado de un sistema dinámico no es exclusivo de Laplace y las funciones de transferencia; las variables de estado es otra forma de modelo matemático confiable para solucionar dichos sistemas.

 La modelación y simulación no son métodos exactos y traen sus frutos al simular varias veces para lo cual se requiere mucho tiempo para ejecutar técnicas de ensayo y error pero con muy bajos costos si se compara con las pruebas reales de modelos a escala , en las que hay que hacer grandes inversiones.

(17)

ANEXOS PROGRAMA SS1.m

%ECUACIONES DE ESPACIO DE ESTADO

%MODELO DE CONTROL DE PAR DE TORSION EN LA VIGA %definicion de los parametros del modelo

m = 0.77; R = 0.105; g = -9.8; L = 7.0; d = 0.21; J = 0.0033957;

%ecuaciones de espacio de estado (ss)

H = -m*g/(J/(R^2)+m) A = [0 1 0 0 0 0 H 0 0 0 0 1 0 0 0 0] B = [0 0 0 1]' C = [1 0 0 0] D = [0] system_barball_ss = ss(A,B,C,D) RESULTADOS PROGRAMA SS1 >> SS1 H = 7.0000 A = 0 1.0000 0 0 0 0 7.0000 0 0 0 0 1.0000 0 0 0 0 B = 0 0 0 1 C = 1 0 0 0 D = 0

(18)

system_barball_ss = a = x1 x2 x3 x4 x1 0 1 0 0 x2 0 0 7 0 x3 0 0 0 1 x4 0 0 0 0 b = u1 x1 0 x2 0 x3 0 x4 1 c = x1 x2 x3 x4 y1 1 0 0 0 d = u1 y1 0

Continuous-time state-space model.

PROGRAMA SS2.m

Al programa SS1 agregarle las siguientes instrucciones

%introduciendo los polos

p1 = -2+2i; p2 = -2-2i; p3 = -20; p4 = -80; %calculando la matriz k K = place(A,B,[p1,p2,p3,p4])

(19)

RESULTADOS PROGRAMA SS2

K = 1.0e+03 * 1.8286 1.0286 2.0080 0.1040

PROGRAMA SS3.m

Al programa SS2 agregarle las siguientes instrucciones

%respuesta en lazo cerrado a una entrada tipo escalón

t = 0:0.01:5; u = 0.25*ones(size(t)); sys_cl = ss(A-B*K,B,C,D); [y,t,x] = lsim(sys_cl,u,t); plot(t,y) PROGRAMA Nbar_ganancia_cte.m

%ECUACIONES DE ESPACIO DE ESTADO

%MODELO DE CONTROL DE PAR DE TORSION EN LA VIGA %definicion de los parametros del modelo

m = 0.77; R = 0.105; g = -9.8; L = 7.0; d = 0.21; J = 0.0033957;

%ecuaciones de espacio de estado (ss)

H = -m*g/(J/(R^2)+m) A = [0 1 0 0 0 0 H 0 0 0 0 1 0 0 0 0] B = [0 0 0 1]' C = [1 0 0 0] D = [0] system_barball_ss = ss(A,B,C,D)

%introduciendo los polos

p1 = -2+2i; p2 = -2-2i; p3 = -20; p4 = -80; %calculando la matriz k K = place(A,B,[p1,p2,p3,p4])

(20)

%respuesta en lazo cerrado a una entrada tipo escalón t = 0:0.01:5; u = 0.25*ones(size(t)); sys_cl = ss(A-B*K,B,C,D); [y,t,x] = lsim(sys_cl,u,t); plot(t,y)

% operando con Nbar

Nbar = rscale(system_barball_ss,K) t = 0:0.01:5; u = 0.25*ones(size(t)); [y,t,x]=lsim(Nbar*sys_cl,u,t); plot(t,y) FUNCION rscale function[Nbar]=rscale(a,b,c,d,k) % APLICANDO rscale

% Dado el sistema lineal de una sola entrada: % . % x = Ax + Bu

% y = Cx + Du

% y la retroalimentacion de la matriz K,

% la funcion rscale(sys,K) ó rscale(A,B,C,D,K)

% encuentra el factor N escalar que va a Eliminar el error de estado estacionario a una referencia de paso

% Para un tiempo continuo, el sistema de entrada única

% Con realimentación completa de estado mediante el siguiente esquema: % % /---\ % R + u | . | % ---> N --->() ---->| X=Ax+Bu |--> y=Cx --|--> y % -| \---/ % | | % |<---- K <----| % error(nargchk(2,5,nargin));

% --- Determine cual sintaxis se utiliza ---

nargin1 = nargin;

if (nargin1==2) , % forma del sistema

[A,B,C,D] = ssdata(a); K=b;

elseif (nargin1 == 5), % A,B,C,D matrices

A=a; B=b; C=c; D=d; K=k;

(21)

error('entrada debe ser de la forma (sys,K) or (A,B,C,D,K)') end; % opere Nbar s = size(A,1); Z = [zeros([1,s]) 1]; N = inv([A,B;C,D])*Z'; Nx = N(1:s); Nu = N(1+s); Nbar=Nu + K*Nx;

RESPUESTA PROGRAMA Nbar_ganancia_cte.m >> Nbar_ganancia_cte H = 7.0000 A = 0 1.0000 0 0 0 0 7.0000 0 0 0 0 1.0000 0 0 0 0 B = 0 0 0 1 C = 1 0 0 0 D = 0 system_barball_ss = a = x1 x2 x3 x4 x1 0 1 0 0 x2 0 0 7 0 x3 0 0 0 1

(22)

x4 0 0 0 0 b = u1 x1 0 x2 0 x3 0 x4 1 c = x1 x2 x3 x4 y1 1 0 0 0 d = u1 y1 0

Continuous-time state-space model.

K = 1.0e+03 * 1.8286 1.0286 2.0080 0.1040 Nbar = 1.8286e+03

Figure

Actualización...

Referencias

Actualización...

Related subjects :