Modelado Bola Barra

July 23, 2017 | Author: José Victor Zaconeta Flores | Category: Analog Signal, Control System, Digital To Analog Converter, Sampling (Signal Processing), Equations
Share Embed Donate


Short Description

Download Modelado Bola Barra...

Description

Ejemplo: Modelación del Experimento Barra y Bola Condiciones del Problema Ecuaciones del Sistema Representación en Matlab y Respuesta a Lazo Abierto

Condiciones del Problema Se coloca una bola sobre una barra, ver figura abajo, donde se permite rodar con 1 grado de libertad a lo largo de la barra. Se adiciona un brazo de palanca a la barra en uno de sus extremos y un servo engranaje en el otro. A medida que el servo engranaje gira un angulo theta, la palanca cambia el ángulo de la barra en alpha. Cuando se cambia el ángulo a partir de la posición vertical, la gravedad ocasiona que la bola ruede a lo largo de la barra. Debe diseñarse un controlador para este sistema de modo que pueda manipularse la posición de la bola.

Para este problema, asumimos que la bola rueda sin resbalamiento y la fricción entre la barra y bola es despreciable. Las constantes y variables para este ejemplo se definen como sigue: M masa de la bola 0.11 kg R radio de la bola 0.015 m d offset de brazo de palanca 0.03 m g aceleración gravitacional 9.8 m/s^2 L longitud de la barra 1.0 m J momento de inercia de la bola 9.99e-6 kgm^2 r coordenada de posición de la bola alpha coordenada angular de la barra

theta ángulo del servo engranaje Los criterios de diseño para este problema son:  

Tiempo de Establecimiento menor que 3 segundos Sobrepico menor que 5%

Ecuaciones del Sistema El Lagrangiano de movimiento para la bola está dado por la siguiente ecuación:

La linealización de de esta ecuación alrededor del ángulo de la barra , alpha = 0, nos dá la siguiente aproximación lineal del sistema:

La ecuación que relaciona el ángulo de la barra con el ángulo del engranaje puede aproximarse a una relación lineal mediante la ecuación de abajo:

Sustituyéndola en la ecuación previa, tenemos:

1. Función de Transferencia Tomando transformada de Laplace de la ecuación de arriba, se encuentra la siguiente ecuación :

NOTA: Cuando se toma Transformada de Laplace para hallar la función de transferencia se asume que las condiciones iniciales son nulas.

Reacomodando encontramos la función de transferencia del ángulo del engranaje ( theta(s) ) a la posición de la bola (R(s)).

Debe notarse que la función de transferencia de la planta de arriba es un doble integrador. Como ésta es marginalmente estable nos proveerá de un arduo problema de control.

2. Espacio de Estado El sistema de ecuaciones linealizado puede representarse también en la forma espacio de estado. Esto puede hacerse seleccionando la posición de la bola (r) y velocidad (rdot, por r punto) como las variables de estado y el angulo del engranaje (theta) como la entrada. La representación espacio de estado se muestra abajo:

Sin embargo, para nuestro ejemplo de espacio de estado usaremos un modelo ligeramente diferente . La misma ecuación se aplica todavía para la bola pero en lugar de controlar la posición através del ángulo del engranaje, theta, controlaremos alfa doble punto. Esto es escencialmente el control del torque de la barra. La representación de este

sistema se muestra abajo:

Note: Para este sistema no deben usarse el engranaje y el brazo de palanca para controlar la posición de la bola en su lugar; un motor en el centro de la barra aplicará el torque .

Representación en Matlab y Respuesta a Lazo Abierto 1. Función de Transferencia La función de transferencia encontrada a partir de la transformada de Laplace puede implementarse en Matlab entrando el numerador y el denominador como vectores. Para lograrlo debemos crear un archivo-m y copiar el siguiente texto en él : 

m = 0.111; R = 0.015; g = -9.8; L = 1.0; d = 0.03; J = 9.99e-6; K = (m*g*d)/(L*(J/R^2+m)); num = [-K]; den = [1 0 0]; printsys(num,den) La salida debería ser: 

num/den = 0.21 / s^2

Ahora, le gustaría observar la respuesta de la bola a una entrada escalón de 0.25 m . Para hacerlo necesitará agregar la siguiente linea a su archivo-m: 

step(0.25*num,den)

NOTA: Los comandos del Matlab de la toolbox Control de Sistemas se resaltan en rojo.

Debería verse la figura siguiente mostrando las posiciones de la bola como función del tiempo:

De esta figura es claro que el sistema es inestable a lazo abierto, causando que la bola se deslice afuera de la barra. Por lo tanto, se requiere de algún método para controlar la posición de la bola en este sistema. Abajo se listan tres ejemplos de diseño del controlador para el problema de la FT . Puede elegir entre PID, Lugar de Raíces, y Respuesta en Frecuencia.

2. Espacio de Estado Las ecuaciones de espacio de estado pueden representarse en Matlab con los siguientes commandos (estas ecuaciones son para el modelo de control de torque).               

m R g J

= = = =

0.111; 0.015; -9.8; 9.99e-6;

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];

La respuesta al escalón de 0.25m (posición deseada) puede verse corriendo el comando siguiente:  

step(A,B*.25,C,D)

La salida debería verse como la de abajo:

Al igual que el esquema para la función de transferencia, esta figura muestra que el sistema es inestable y que la bola se va a salir de la barra. Por lo tanto, requiremos algun método de control de la posición de la bola en este sistema. Abajo se muestra el ejemplo de cómo implementar un controlador en Espacio de Estado para este tipo de sistema.

Ejemplo: Solución al Problema de la Barra y Bola Usando Control PID Representación a Lazo Cerrado Control Proporcional Control Proporcional-Derivativo La función de transferencia a lazo abierto de la planta para experimento de la barra y bola se da abajo:

Los criterios de diseño para este problema son:  

Tiempo de establecimiento menor que 3 segundos Sobrepico menor que 5%

Para ver de dónde salen las ecuaciones para este problema pinche en barra y bola :página de Modelación.

Representación a Lazo Cerrado El diagrama en bloque para este ejemplo con un controlador y realimentación unitaria de la posición de la bola se muestra abajo:

Primero estudiaremos la respuesta del sistema mostrado abajo cuando se usa un controlador proporcional. Entonces, se adicionará si es necesario control integral y/o derivativo. Recordemos, que la función de transferencia para un controlador PID es:

Control Proporcional

La función de transferencia a lazo cerrado para un controlador proporcional con una ganancia proporcional (kp) igual a 100, puede modelarse copiando las siguientes líneas de código de Matlab a un archivo-m m R g L d J

= = = = = =

0.111; 0.015; -9.8; 1.0; 0.03; 9.99e-6;

K = (m*g*d)/(L*(J/R^2+m));

%simplifica entrada

num = [-K]; den = [1 0 0]; kp = 1; numP = kp*num; [numc, denc] =

cloop(numP, den)

NOTE: Los comandos Matlab de la toolbox de control de sistema se destacan en rojo.

El numerador y denominador deberían ser: numc = 0

0

0.2100

1.0000

0

0.2100

denc =

Ahora, podemos modelar la respuesta del sistema a una entrada escalón de 0.25 m. Agregue la siguiente línea de código a su archivo-m y ejecútelo: step(0.25*numc,denc)

Debería obtenerse la siguiente salida:

Como puede ver la adición de ganancia proporcional no estabiliza el sistema . Pruebe cambiando el valor de kp y note que el sistema permanece inestable.

Control Proporcional-Derivativo Ahora, agregaremos un término derivativo al controlador. Copie las siguientes líneas de código a un archivo-m y ejecútelo para ver la respuesta del sistema a este método de control. m R g L d J

= = = = = =

0.111; 0.015; -9.8; 1.0; 0.03; 9.99e-6;

K = (m*g*d)/(L*(J/R^2+m));

%simplifica entrada

num = [-K]; den = [1 0 0]; kp = 10; kd = 10; numPD = [kd kp]; numh = conv(num, numPD); [numc, denc] = cloop(numh, den); t=0:0.01:5; step(0.25*numc,denc,t)

El diagrama debería ser similar al siguiente:

Ahora el sistema es estable pero el sobrepico es demasiado alto y el tiempo de asentamiento necesita bajarse un poco. De la página tutorial de PID en la sección de características de controladores P, I, y D , vemos que incrementando kd podemos bajar el sobrepico y disminuir apenas el tiempo de establecimiento. Por lo tanto, haga kd = 20 en su archivo-m y ejecútelo de nuevo. La salida debería ser:

El criterio de sobrepico está logrado pero el tiempo de establecimiento necesita bajarse un poco. Para bajar el tiempo de establecimiento podemos intentar incrementar apenas kp para incrementar el tiempo de elevación. La ganancia derivativa (kd) puede también incrementarse para bajar algo del sobrepico que el incremento kp causará. Luego de experimentar un poco con las ganancias, puede lograrse la siguiente respuesta al escalón con kp = 15 y kd = 40:

como puede ver de la figura de arriba todos los objetivos de control han sido logrados sin el uso de un controlador integral (el tiempo de establecimiento para este ejemplo se considera logrado cuando la respuesta es menor que el 2% de su valor final). Recuerde, que para un problema de control hay más que una solución.

Tutorial de Control Digital Introducción Mantenedor de orden Cero Conversión con c2dm Estabilidad y Respuesta Transitoria Lugar de Raíces Discreto

Los comandos de Matlab usados en este tutorial son: c2dm pzmap zgrid dstep stairs rlocus Nota: Los comandos Matlab de la toolbox de control de sistema se destacan en rojo.

Introducción La figura de abajo muestra el típico sistema continuo realimentado que hemos considerado hasta ahora en este tutorial. Casi la totalidad de los controladores continuos pueden implementarse usando electrónica analógica.

El controlador analógico, encerrado en el cuadrado a trazos, puede reemplazarse por un controlador digital, como se muestra abajo, el cual hace la misma tarea de control que el controlador analógico. La diferencia básica entre estos controladores es que el sistema digital opera con señales discretas (o muestras de la señal sensada) en lugar de señales continuas.

Los diferentes tipos de señales en el esquema digital de arriba pueden representarse por las figuras siguientes.

El propósito de este Tutorial de Control Digital es mostrarle cómo trabajar con funciones discretas ya sea en la forma función de transferencia o en la forma espacio de estado para diseñar sistemas de control digital.

Mantenedor de orden Cero En el esquema de arriba del sistema de control digital, vemos que el sistema de control digital contiene partes discretas y analógicas. Cuando se diseña un sistema de control digital, necesitamos hallar el equivalente discreto de la parte continua de modo que sólo necesitamos manejarnos funciones discretas. para esta técnica, consideremos la siguiente parte del sistema de control digital y re ordenemos como sigue.

El reloj conectado a los conversores D/A y A/D suministra un pulso cada T segundos y cada D/A y A/D envía una señal solo cuando llega el pulso. El propósito de tener este pulso es que Hzoh(z) tiene sólo muestras u(k) para tratar y produce sólo muestras como salida y(k); por lo tanto, Hzoh(z) puede ser implementado como función discreta. La filosofía del diseño es la siguiente. Queremos hallar una función discreta Hzoh(z) de modo que para una entrada constante a tramos al sistema continuo H(s), la salida muestreada del sistema continuo sea igual a la salida discreta. Suponga que la señal u(k) representa una muestra de la señal de entrada. Existen técnicas para tomar esta muestra u(k) y mantenerla para producir una señal continua uhat(t) (por u circunflejo). El croquis abajo muestra que uhat(t) se mantuvo constante a u(k) en el intervalo kT a (k+1)T. La operación de mantener uhat(t) constante durante el tiempo de muestreo se denomina mantenedor de orden cero.

La señal mantenida uhat(t) pasa por H2(s) y el A/D para producir la salida y(k) que será la misma señal a tramos como si fluyera u(t) continua a través de H(s) para producir la salida continua y(t).

Dibujemos ahora el esquema, poniendo Hzoh(z) en lugar de la parte continua.

Mediante Hzoh(z), podemos diseñar sistemas de control digital tratando solamente con funciones discretas.

Nota: Existen ciertos casos donde la respuesta discreta no coincide con la respuesta analógica debido a los circuitos de retención implementados en sistemas de control digital. Para más información, vea Efecto de retardo asociado al mantenedor.

Conversión con c2dm Existe una función en Matlab, denominada c2dm, que convierte un sistema continuo dado (ya en la forma función de transferencia o en la forma espacio de estado) al sistema discreto usando la operación de retención de orden cero explicada arriba. El comando básico para este comando c2dm es alguno de los siguientes. [numDz,denDz] = c2dm (num,den,Ts,'zoh') [F,G,H,J] = c2dm (A,B,C,D,Ts,'zoh')

El tiempo de muestreo (Ts en seg/muestra) debería ser menor que 1/(30*BW), donde BW es el ancho de banda a lazo cerrado .

1. Función de Transferencia suponga que tiene la siguiente función de transferencia continua

   

M = 1 kg b = 10 N.s/m k = 20 N/m F(s) = 1

Asumiendo que el ancho de banda a lazo cerrado es mayor que 1 rad/seg., elegiremos el tiempo de muestreo (Ts) igual a 1/100 seg. Ahora, cree un archivo-m nuevo e ingrese los siguientes comandos. M=1; b=10; k=20; num=[1]; den=[M b k]; Ts=1/100; [numDz,denDz]=c2dm(num,den,Ts,'zoh')

Luego de correr este archivo-m en la ventana de comandos le debería dar las siguientes matrices numDz y denDz. numDz = 1.0e-04 * 0

0.4837

0.4678

denDz = 1.0000 -1.9029

0.9048

De estas matrices, la función de transferencia discreta puede escribirse como

Nota: Las matrices numerador y denominador estarán representadas en potencias descendentes de z. Para más información sobre representación, refiérase por favor a Representación Matlab.

Ahora tiene la función de transferencia en la forma discreta.

2. Espacio de Estado suponga que tiene el siguiente modelo en espacio de estado continuo

Todas las constantes son las mismas que anteriormente El siguiente archivo-m convierte el espacio de estado continuo a espacio de estado discreto de arriba. M=1; b=10; k=20; A=[0 -k/M

1; -b/M];

B=[ 0; 1/M]; C=[1 0]; D=[0]; Ts=1/100; [F,G,H,J] =

c2dm (A,B,C,D,Ts,'zoh')

Cree un nuevo archivo-m y copie aquellos comandos. Corriendo este archivo-m, la ventana de comandos del Matlab le debería dar las siguiente matrices. F = 0.9990 -0.1903

0.0095 0.9039

G = 0.0000 0.0095 H = 1

0

J = 0

De estas matrices, el espacio de estado discreto puede escribirse como

Ahora tiene el modelo en espacio de estado de tiempo discreto.

Nota: Para más información sobre el espacio de estado discreto , refiérase a Espacio de Estado Discreto .

Estabilidad y Respuesta Transitoria Para sistemas continuos, sabemos que ciertos comportamientos resultan de la diferente ubicación de los polos en el plano s . Por ejemplo, un sistema es inestable cuando cualquier polo se ubica a la derecha del eje imaginario. Para sistemas discretos , podemos analizar los comportamientos del sistema para diferentes ubicaciones de los polos en el plano z . Las características en el plano z pueden relacionarse con las del plano s por la expresión

  

T = tiempo de muestreo (seg/muestra) s = Lugar en el plano s z = Lugar en el plano z

La figura de abajo muestra el mapeo de líneas de coeficiente de amortiguamiento constante (zeta) y la frecuencia natural (Wn) del plano s al plano z mediante la expresión de abajo.

Si se dio cuenta en el plano z , el límite de estabilidad ya no es el eje imaginario, sino el círculo unitario |z|=1. El sistema es estable cuando todos los polos se ubican dentro del círculo unitario e inestable cuando cualquier polo se ubica afuera de él. Para analizar la respuesta transitoria de ubicaciones de polo en el plano z , todavía puede aplicarse las siguientes tres ecuaciones usadas en diseños de sistemas continuos .

donde     

zeta = coeficiente de amortiguamiento Wn = Frecuencia natural (rad/seg.) Ts = Tiempo de establecimiento Tr = Tiempo de Subida Mp = Máximo sobrepico

Importante: La frecuencia natural (Wn) en el plano z posee las unidades de rad/muestra, pero cuando usa las ecuaciones que aparecen abajo, la Wn debe estar en unidades de rad/seg..

Suponga que tenemos la siguiente función de transferencia discreta

Cree un nuevo archivo-m y entre los siguientes comandos. Luego de correr este archivom en la ventana de comandos ,verá la figura siguiente con las líneas de coeficiente de amortiguamiento y la frecuencia natural constantes . numDz=[1]; denDz=[1 -0.3 0.5];

pzmap(numDz,denDz) axis([-1 1 -1 1])

zgrid

De esta figura, vemos que los polos se ubican aproximadamente a la frecuencia natural de 9pi/20T (rad/muestra) y la razón de amortiguación de 0.25. Asumiendo que tenemos un tiempo de muestreo de 1/20 seg (que lleva a Wn = 28.2 rad/seg.) y usando las tres ecuaciones de abajo, podemos determinar que este sistema debería tener un tiempo de elevación de 0.06 seg, el tiempo de establecimiento de 0.65 seg. y el sobrepico máximo del 45% (0.45 más que el valor de estado estacionario). Obtengamos la respuesta al escalón y veamos si estos son correctos. Agregue los comandos siguientes al archivo-m anterior y ejecútelo nuevamente en la ventana de comandos. Debería obtenerse la siguiente respuesta al escalón . [x] = dstep (numDz,denDz,51); t = 0:0.05:2.5;

stairs (t,x)

Como se puede ver del gráfico, el tiempo de elevación, el tiempo de establecimiento y el sobrepico quedan como hemos esperado . Probaremos aquí que podemos usar los lugares de los polos y las tres ecuaciones de arriba para analizar la respuesta transitoria del sistema. Para mayores análisis con ubicaciones de polos y respuesta transitoria, vea Respuesta Transitoria.

Lugar de Raíces Discreto El lugar de raíces es el lugar de los puntos donde puede hallarse las raíces de la ecuación característica mientras se varía una ganancia de cero a infinito. La ecuación característica de un sistema de realimentación unitaria es

donde G(z) es el compensador implementado en el controlador digital y Hzoh(z) es la función de transferencia de la planta en z . La mecánica para dibujar el lugar de las raíces es la misma en el plano z que en el plano s . Recordemos del Tutorial del Lugar de Raíces continuo, hemos usado la función del Matlab denominada sgrid para hallar la región del lugar de raíces que proporciona la ganancia correcta (K). Para el análisis discreto del lugar de raíces , usamos la función zgrid que posee las mismas características que sgrid. El comando zgrid(zeta, Wn) dibuja líneas de coeficiente de amortiguamiento (zeta) y frecuencia natural constante (Wn). Suponga que tenemos la siguiente función de transferencia discreta

y los requerimientos de tener coeficiente de amortiguamiento mayor que 0.6 y frecuencia natural mayor que 0.4 rad/muestra (esto puede hallarse a partir de los requerimientos de diseño: tiempo de muestreo (seg/muestra) y las tres ecuaciones vistas en la sección precedente ). Los comandos siguientes dibujan el lugar de raíces con las líneas de coeficiente de amortiguamiento y de frecuencia natural constantes. Cree un nuevo archivo-m y entre los siguientes comandos. Luego de correr este archivo-m le debería dar el siguiente gráfico de lugar de raíces. numDz=[1 -0.3]; denDz=[1 -1.6 0.7];

rlocus (numDz,denDz) axis ([-1 1 -1 1]) zeta=0.4; Wn=0.3; zgrid (zeta,Wn)

De esta figura, ya habrá notado que el sistema es estable porque todos los polos se ubican dentro del círculo unitario. Asimismo, ve dos líneas punteadas de coeficiente de amortiguamiento y de frecuencia natural constantes. La frecuencia natural es mayor que 0.3 fuera de la línea de Wn constante, y el coeficiente de amortiguamiento es mayor que 0.4 dentro de la línea de zeta constante. En este ejemplo, ya tenemos dibujado el lugar de raíces en la región deseada. Por lo tanto, una ganancia (K) elegida en la región deseada le debería dar la respuesta que satisfaga los requerimientos de diseño.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF