suspensión autobus

25
I.T. INFORMATICA DE SISTEMAS S S i i s s t t e e m m a a d d e e s s u u s s p p e e n n s s i i ó ó n n a a u u t t o o m m á á t t i i c c o o d d e e u u n n a a u u t t o o b b ú ú s s Alumnos: Vicente Herrera García Ana Romero Ruiz

Upload: vicente-herrera-garcia

Post on 14-Feb-2017

236 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Suspensión autobus

I.T. INFORMATICA DE SISTEMAS

SSiisstteemmaa ddee ssuussppeennssiióónn aauuttoommááttiiccoo

ddee uunn aauuttoobbúúss

Alumnos:

Vicente Herrera García

Ana Romero Ruiz

Page 2: Suspensión autobus

INDICE:

1. Enunciado de la práctica pag 2

2. álculo de la función de transferencia pag 5

C

. Respuesta del sistema ante un escalón pag 9

3

4. Análisis según las variables de estado pag 11

5. Modelo en Simulink pag 16

6. Controlador Proporcional pag 18

7. Controlador Derivativo pag 19

8. Controlador PD pag 21

9. Controlador PI pag 23

10. Controlador PID, notas finales pag 24

- 1 -

Page 3: Suspensión autobus

ENUNCIADO DE LA PRÁCTICA PROPUESTA

DISEÑO FÍSICO: Diseñar un sistema de suspensión automático para un autobús es un problema

muy interesante de control. Para simplificar el problema se modela 1/4 del autobús (sólo una de las ruedas) de manera que tengamos un "simple" sistema unidimensional de masa – resorte – amortiguador. Un posible esquema del sistema sería:

Donde:

Masa del cuerpo (m1) = 2500 Kg Masa suspensión (m2) = 320 Kg Constante elástica del sistema de suspensión (k1) = 80000 N/m. Constante elástica del neumático (k2) = 500000 N/m. Constante de amortiguamiento de suspensión (b1) = 350 Ns/m. Constante de amortiguamiento del neumático (b2) = 15020 Ns/m. Señal de control (u) = fuerza desde el controlador. REQUERIMIENTOS DE DISEÑO Y FUNCIONAMIENTO: Un buen sistema de suspensión debería tener habilidad para un seguimiento

satisfactorio de la carretera así como proporcionar confort a los pasajeros cuando se conduce sobre baches o badenes. Cuando el autobús experimenta cualquier perturbación de la carretera (por ejemplo, agujeros, bordillos, y pavimento defectuoso), el cuerpo del autobús no debería tener oscilaciones grandes y las oscilaciones deberían desaparecer rápidamente.

- 2 -

Page 4: Suspensión autobus

Ya que la distancia X1 – W es muy difícil de medir, y la deformación del neumático X2 – W es despreciable, se usará la distancia X1 – X2 en lugar de X1 – W como salida del problema. Por supuesto es solo una estimación, pero da idea del problema.

La perturbación de la carretera W será simulada por una entrada escalón. Este escalón podría representar al autobús saliendo de un bache.

ECUACIONES DEL MOVIMIENTO: Del esquema anterior se pueden deducir mediante las leyes de Newton las

ecuaciones diferenciales que describen el modelo del sistema:

u(t)(t))x(t)(xk(t))x(t)x(b(t)xM····

=−+−+ 21121111

)())()(())()(())()(())()(()( 2112

·

1

·

122

·

2

·

22

··

2 tutxtxktxtxbtwtxktwtxbtxM −−+−=−+−+

CÁLCULOS: Además del análisis del sistema mediante la Función de Transferencia y el

método de las variables de estado se pide evaluar el efecto de los controladores industriales vistos en teoría P, PD, PI y PID para controlar el sistema, de tal manera que ante una entrada escalón la salida (X1 – X2) tenga un sobreimpulso menor del 5% y un tiempo de respuesta menor que 5 segundos. Por ejemplo, cuando el autobús atraviese un escalón de 5 cm de altura, el cuerpo del autobús debería oscilar +/- 5 mm y retornar a una posición de equilibrio en menos de 5 segundos.

- 3 -

Page 5: Suspensión autobus

CÁLCULO DE LA FUNCIÓN DE TRANSFERENCIA Empezamos con el modelo del sistema a partir de las ecuaciones en el tiempo:

U)XW(K)XW(b)XX(K)XX(bXM

U)XX(K)XX(bXM

222221121122

21121111

−−+−+−+−=

+−−−−=&&&&&&

&&&&

Aplicando la transformada de Laplace, obtenemos las ecuaciones en el espacio de las frecuencias complejas: ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ( ) ( )) ( ) ( ) ( ) ( )M s b s K X s b s K X s U s

b s K X s M s b b s K K X s b s K W s U s1

21 1 1 1 1 2

1 1 1 22

1 2 1 2 2 2 2

+ + − + =

− + + + + + + = + − Si etiquetamos los términos de una manera genérica:

=+=+

22212

12111

C)s(XB)s(XAC)s(XB)s(XA

donde:

)s(U)s(W)Ksb(C)s(UC

)KK(s)bb(sMB

)Ksb(BAKsbsMA

222

1

21212

22

1112

112

11

−+==

++++=

+−==++=

y resolvemos el sistema de dos ecuaciones con dos incógnitas, considerando X1 y X2 como incógnitas, obtenemos:

2112

12122

2112

12211

ABABCAAC)s(X

ABABBCBC)s(X

−−

=

−−

=

Como tenemos dos entradas en el sistema, utilizamos el principio de superposición para averiguar las funciones de transferencias del sistema en función de cada una de las entradas. Es decir, primero consideramos U(s)=0, y averiguamos la función de transferencia del sistema. Luego hacemos lo mismo para W(s)=0, y el sistema completo será la suma de ambos resultados. Para W(s)=0, llamaremos G1(s) a la función de transferencia. La salida del sistema es Y(s)=X1(s)-X2(s), y la entrada en este caso U(s).

- 4 -

Page 6: Suspensión autobus

2112

2112

2112

2112211

2

1

ABABAABB

)s(U1·

ABABA)s(UA)s(UB)s(UB)s(U

)s(U)s(X)s(X)s(G

)s(UC)s(UC

0)s(W

−+++

=−

+++=

−=

−==

⇒=

Para U(s)=0, calculamos G2(s)

D·ABAB

AB)Ksb(·ABAB

AB)s(W

C·ABAB

AB)s(W

)s(X)s(X)s(G

)s(W)Ksb(C0C

0)s(U

2112

1122

2112

112

2112

11212

222

1

−−−

=+−−−

=−−−

=−

=

+==

⇒=

donde hemos llamado: D=(b2s+K2) Ya tenemos las funciones de transferencia para cada una de las entradas como:

D·ABAB

AB)s(G0)s(U

ABABAABB

)s(G0)s(W

2112

112

2112

21121

−−−

=⇒=

−+++

=⇒=

- 5 -

Page 7: Suspensión autobus

Para resolver del todo este cálculo, dejaremos que Matlab haga el trabajo sucio. Definimos con el siguiente programa el valor de A1, A2, B1, B2 y D como polinomios donde introducimos los valores del problema, b1, b2, K1, K2, M1, y M2; y averiguamos el valor de G1 y G2.

Recordemos que en Matlab, un polinomio se escribía como una matriz, donde el coeficiente de cada término del polinomio corresponde a un elemento de la matriz. No debemos olvidar hacer cero los coeficientes de los polinomios de menor grado, para que todas las matrices tengan el mismo orden (es necesario para algunas funciones). La función conv (producto de convolución) nos sirve para multiplicar dos matrices. La función tf (transfer function, función de transferencia), nos almacena el numerador y el denominador de una función de transferencia en una sola variable, que nos es útil después para facilitar los cálculos. Pero si queremos obtener de nuevo estos datos, los podemos recuperar con tfdata, donde el parámetro ‘v’ indica que queremos almacenar el resultado en una matriz.

- 6 -

Page 8: Suspensión autobus

Del anterior programa, obtenemos como resultado: G1(s)= Transfer function: 2820 s^2 + 15020 s + 500000 ---------------------------------------------------------------- 800000 s^4 + 3.854e007 s^3 + 1.481e009 s^2 + 1.377e009 s + 4e010 G2(s)= Transfer function: -3.755e007 s^3 - 1.25e009 s^2 ---------------------------------------------------------------- 800000 s^4 + 3.854e007 s^3 + 1.481e009 s^2 + 1.377e009 s + 4e010 Ya tenemos las funciones de transferencia. Un modelo sencillo, directo e intuitivo de utilizar estas funciones en Simulink sería mediante el siguiente diagrama de bloques:

Otros modelos como el propuesto en http://www.engin.umich.edu/group/ctm/examples/susp/susp.html son equivalentes al nuestro, según se puede demostrar mediante el álgebra de los diagramas de bloques, y de él se obtienen los mismos resultados. No vemos la necesidad de utilizar ese modelo, ya que no parece introducir ninguna ventaja: cuando con nuestro diagrama ya tenemos el modelo resuelto, este otro solo parece conseguir hacer el significado físico de los bloques más críptico, e introduce más cálculos. Y lo más fundamental, cuando intentemos introducir las ecuaciones en Simulink, tenemos el problema de que el orden del denominador no puede ser mayor que el denominador, lo que nos obliga a aproximar las ecuaciones por otras (ver http://www.engin.umich.edu/group/ctm/examples/susp/PID1.html). Nada de esto es en realidad necesario.

- 7 -

Page 9: Suspensión autobus

RESPUESTA DEL SISTEMA ANTE UN ESCALON Veamos la respuesta del sistema a un escalón para cada una de las entradas: En el caso de U(s) (la fuerza de suspensión del autobús), mediante la instrucción step(G1) en Matlab, obtenemos la respuesta a un escalón unitario:

Vemos que el sistema oscila al principio entre aproximadamente 2’25·10-5 y 0’25·10-5. Esta oscilación es tan pequeña porque U es una fuerza medida en Newtons, estamos probando un escalón de 1N de fuerza; y el autobús es muy pesado, 2500 kg. El controlador que utilicemos deberá proporcionar bastante ganancia en el lazo cerrado, para que una diferencia en X1-X2 de pocos cm (es decir, del orden de 10-2) se convierta en U en una señal de muchos Newtons. También vemos que el tiempo de asentamiento es bastante grande. Este factor tiene más importancia en la respuesta de G2, como vamos a ver ahora.

- 8 -

Page 10: Suspensión autobus

Para G2, en vez de un escalón unitario (que correspondería a un desnivel de 1m), vamos a provocar un escalón de 5cm (0.05m), que se aproxima más a un bache real. Esto lo hacemos mediante la instrucción step(G2*0.05), ya que es como si anteponemos una ganancia de 0.05 a una entrada escalón unitario.

Vemos que al principio, el autobús oscila 4 cm hacia arriba y hacia abajo (es decir, 8 cm en total); y que pasados 10 segundos, este oscila casi 2 cm a cada lado todavía. Esto, creednos, es bastante molesto.

- 9 -

Page 11: Suspensión autobus

ANÁLISIS DEL SISTEMA MEDIANTE EL MÉTODO DE LAS VARIABLES DE ESTADO

El sistema de suspensión automático de un autobús puede ser modelado

igualmente con el Editor de Ecuaciones Diferenciales (DEE) que presenta el MatLab. Para utilizar este método tendremos que crear un sistema de ecuaciones

empleando para ello las variables de estado. Si partimos de las ecuaciones del movimiento del sistema:

u(t)(t))x(t)(xk(t))x(t)x(b(t)xM····

=−+−+ 21121111

)())()(())()(())()(())()(()( 2112

·

1

·

122

·

2

·

22

··

2 tutxtxktxtxbtwtxktwtxbtxM −−+−=−+−+

podemos establecer que:

)(

)(

)()(

2

·

4

1

·

3

22

11

txz

txz

txztxz

=

=

==

Si derivamos las variables de estado obtenemos:

42·

42

·2

·31

·

31

·1

·

)(

)(

zzztxz

zzztxz

=→==

=→==

12114313

·12112

·

1

·

11

··3

·

/))()()((

/))())()(())()((()(

mtuzzkzzbz

mtutxtxktxtxbtxz

−−⋅+−⋅−=→

→−−⋅+−⋅−==

2224

·

22114314

·2222

··

22112

·

1

·

1

2

··

4

·

/))())(())(()()((

/))())()(())()(())()(())()(((

)(

mtuztwkztwbzzkzzbz

mtutxtwktxtwbtxtxktxtxb

txz

−−⋅+−⋅+−⋅+−⋅=→

−−+−+−+−=

==

Como se puede observar existen dos entradas en el sistema, u(t) y w(t). El problema que se nos plantea a la hora de introducir este sistema de ecuaciones en el Editor de Ecuaciones Diferenciales de MatLab es que ninguna de las entradas puede aparecer derivada. Por ello vamos a utilizar un pequeño truco para engañar al programa.

- 10 -

Page 12: Suspensión autobus

El término w(t) que aparece derivado en una de las ecuaciones lo vamos a tomar como una tercera entrada del programa:

)(1 tuu = u u )(2 tw= )(·

3 tw=

Finalmente nuestras ecuaciones quedan de la siguiente forma:

212224322114314

·112114313

·42

·31

·

/))()()()((

/))()((

muzukzubzzkzzbz

muzzkzzbz

zz

zz

−−+−+−+−=

−−+−−=

=

=

Estas ecuaciones se le pasarán al DEE indicándole al mismo que existen tres entradas y que la salida será z1-z2, es decir, x1(t)-x2(t).

X1-X2

dW/dt

W

U

du/dt

Derivative

Differential Equation Editor

DEE

Al igual que en la simulación con los bloques de Simulink, las gráficas obtenidas como respuesta del sistema ante una entrada escalón son las mismas.

- 11 -

Page 13: Suspensión autobus

Por esto primero vamos a hacer la simulación del cuerpo del autobús cuando le aplicamos la entrada escalón al mismo.

La respuesta del cuerpo del autobús ante una entrada escalón es la siguiente:

- 12 -

Page 14: Suspensión autobus

Si queremos observar la respuesta del sistema ante una entrada en la suspensión del autobús utilizaremos el siguiente diagrama de bloques:

La gráfica que obtenemos al aplicar una entrada escalón de 5 cm al sistema será:

- 13 -

Page 15: Suspensión autobus

Al observar las respuestas de los componentes del sistema por separado podemos llegar a la conclusión que la respuesta del conjunto será la misma que la anteriormente obtenida al utilizar las funciones de transferencia, es por esto, que consideramos innecesaria creación de un nuevo diagrama de bloques utilizando el DEE para tal fin.

Como ambos métodos proporcionan los mismos resultados utilizaremos los diagramas de bloque obtenidos con las funciones de transferencia para implementar el sistema usando los controladores industriales que nos permitan obtener respuestas que cumplan las especificaciones planteadas por la práctica, es decir, que la máxima sobreoscilación sea menor del 5% del valor de la entrada escalón y que el tiempo de asentamiento sea menor que 5 segundos.

- 14 -

Page 16: Suspensión autobus

MODELO EN SIMULINK Vamos ahora a construir nuestro modelo en Simulink utilizando las funciones de transferencia G1 y G2. Como según el principio de superposición, el sistema completo es la suma de las respuestas ante cada uno de las entradas, nuestro sistema debe tener la forma:

Si conectamos una señal escalón a una entrada, una constante cero a la otra, y un “scope” a la salida, obtendremos las mismas respuestas que hicimos antes mediante el comando sep de Matlab. Nuestro interés en utilizar el modelo en Simulink es la facilidad con la que podemos añadirle un controlador. En primer lugar, vamos a modificar el sistema para que funcione en lazo cerrado:

La entrada en escalón debe provenir de un desnivel en el suelo, luego corresponde a W(s), y la diferencia de altura debe activar el sistema de suspensión, luego la salida la conectamos en lazo cerrado a la suspensión. Como el sistema necesita un valor alto en la entrada de suspensión para que el efecto de esta se note, añadimos una ganancia y le damos un valor inicial de 105.

- 15 -

Page 17: Suspensión autobus

Este modelo responde a un escalón unitario de la siguiente forma:

(Hemos retrasado el escalón para que se produzca en t=1seg) Es una respuesta bastante mala. El sobreimpulso máximo pasa de 0.6 (o sea, más del 60%) y el tiempo de asentamiento más de 10 segundos. Esta ganancia, que es en realidad un controlador proporcional, debe ser ajustada para mejorar la respuesta, y debemos además probar con otro tipo de controladores. El objetivo: un sobreimpulso menor del 5% y un tiempo de asentamiento menor de 5 segundos.

- 16 -

Page 18: Suspensión autobus

CONTROLADOR PROPORCIONAL Ajustamos el esquema anterior aumentando el valor de la ganancia, hasta que llegamos a un resultado mejor en 2·108

La respuesta que obtenemos de este sistema es:

(Hemos retrasado el escalón para que se produzca en t=1seg)

- 17 -

Page 19: Suspensión autobus

Con este controlador proporcional hemos conseguido que el sobreimpulso máximo no llegue, por poco, a 0,05; y el tiempo de asentamiento es bastante bueno. Sin embargo, introduce una oscilación inicial bastante alta, y no pensamos que un sistema fisico real pueda soportarlo sin romperse o deteriorarse rápidamente. CONTROLADOR DERIVATIVO Añadimos un bloque derivativo y una ganancia previa, que corresponde al valor de la constante de dicho sistema de control. Ajustando su valor, llegamos a un valor optimo en 106.

- 18 -

Page 20: Suspensión autobus

(Hemos retrasado el escalón para que se produzca en t=1seg) El sobreimpulso máximo es 0.025, muy bueno; y se han reducido considerablemente las oscilaciones iniciales. El tiempo de asentamiento podría decirse que es menor de 3 segundos, pero no es así. Si nos fijamos con detalles existe un problema, y es que el sistema no llega a alcanzar la posición cero. Existe un error estático de posición de algo menos de un 10% del sobreimpulso máximo, y esto de nuevo no es deseable. Vemos que el controlador derivativo mejora la oscilación y el sobreimpulso máximo, pero aparece un error en la posición final del sistema.

- 19 -

Page 21: Suspensión autobus

CONTROLADOR PROPORCIONAL DERIVATIVO (PD) Este controlador consiste en la aplicación de uno derivativo y otro proporcional, sumando sus efectos. Las ganancias de ambos sistemas son 106.

Obtenemos con estos valores un sobreimpulso menor de 0.025 seg, y un tiempo de asentamiento menor de 3.5 seg.

- 20 -

Page 22: Suspensión autobus

En este controlador, a medida que aumentamos el efecto de la parte proporcional, aumenta en la salida el efecto de este: mayor oscilación, menor tiempo de asentamiento y error. Haciendo mayor la parte derivativa, obtenemos: menor oscilación, menor tiempo de asentamiento a su vez, pero mayor error. Hay que llegar a un compromiso entre ambos para conseguir las especificaciones deseadas.

- 21 -

Page 23: Suspensión autobus

CONTROLADOR PROPORCIONAL INTEGRAL (PI) No hemos incluido el controlador integral por si solo, ya que no se consigue ningun resultado interesante con el. Utilizamos ahora un proporcional integral. La ganancia de la parte proporcional es 106 y la de la integral 107.

Los resultados son mucho peores que los anteriores, sobreimpulso de 0.6, tiempo de asentamiento mayor de 5 seg. No nos es nada útil, pero puede ser interesante para otro tipo de sistemas.

- 22 -

Page 24: Suspensión autobus

COTROLADOR PROPORCIONAL INTEGRAL DERIVATIVO (PID) Para el controlador PID, probamos con las ganancias especificadas en la solución del problema dada en la página web http://www.engin.umich.edu/group/ctm/examples/susp/susp.html Otros valores de las ganancias que hemos probado no nos devuelven resultados muy diferentes.

- 23 -

Page 25: Suspensión autobus

Obtenemos en este caso un sobreimpulso de menos de 0.025 y tiempo de asentamiento menor de 3.5 seg. Este sistema es también bastante bueno, pero siendo más sencillo el controlador PD preferimos la utilización de ese, ya que será más sencillo de implementar el circuito de control, y los resultados son similares. Hemos podido observar levemente que la ganancia del integrador disminuye en parte el error. Es posible que en otros modelos sea más evidente su efecto.

- 24 -