Pendulo Invertido Matlab

  • Uploaded by: NABE
  • 0
  • 0
  • March 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Pendulo Invertido Matlab as PDF for free.

More details

  • Words: 3,262
  • Pages: 11
Loading documents preview...
8º CONGRESO IBEROAMERICANO DE INGENIERIA MECANICA Cusco, 23 al 25 de Octubre de 2007

“MODELADO, SIMULACIÓN Y CONTROL DE UN PÉNDULO INVERTIDO USANDO COMPONENTES ANÁLOGOS SIMPLES” Tinoco Romero R.F., Orcés Pareja E.H. Facultad de Ingeniería Mecánica, Escuela Superior Politécnica del Litoral, Guayaquil, Ecuador Km. 30.5 Vía Perimetral, Campus G. Galindo. [email protected] RESUMEN. En el presente artículo se describe el diseño, simulación y pruebas realizadas con un péndulo invertido que será usado en el laboratorio de sistemas de control como un elemento didáctico sencillo y de bajo costo. El péndulo invertido es un dispositivo que simula algunos sistemas prácticos como brazos robóticos, grúas, etc., y consiste en una barra cilíndrica con libertad de oscilar alrededor de un pivote fijo. En el presente caso, el pivote es montado sobre un carro el cual puede desplazarse horizontalmente. El propósito final es conservar el péndulo en posición vertical ante la presencia de perturbaciones, aplicando para esto una fuerza de control apropiada. La fuerza correcta es establecida a través de las mediciones de los valores instantáneos de la posición horizontal y el ángulo de inclinación del péndulo. Se diseña un observador de orden mínimo usando Matlab, y se lo comprueba usando simulación. Se describe la construcción de un prototipo y un controlador mediante el uso de componentes análogos simples, y la comparación con el sistema simulado. Se analiza el efecto de factores reales tales como fricción, ruido y no linealidades del sistema. PALABRAS CLAVE: Sistemas de control, Modelado, Simulación.

CÓDIGO 842

0

INTRODUCCIÓN. El péndulo invertido es un problema de control clásico, normalmente cubierto en clases introductorias de controles y dinámica, además es muy conocido por su excelente analogía para el diseño de un controlador de vibraciones en las plataformas para el lanzamiento de un cohete, como también para la estabilización de grúas, edificaciones, robótica y sobre todo para aplicaciones didácticas, por ser un excelente medio de comprobación y evaluación de las diferentes metodologías de control. Muchos péndulos invertidos modernos usan sensores giroscópicos, codificadores ópticos con microprocesadores o computadoras completas para implementar sus algoritmos de control. Mientras la sofisticación de esos sensores y poder de estimación de estos dispositivos tiene sus ventajas, estos generan un problema de control que no es accesible para el estudiante sin conocimiento de técnicas avanzadas de control. Con el objeto de hacer más accesible la solución del problema de control a estudiantes de clases introductorias de sistemas de control, se procuró diseñar un sistema mediante el uso de componentes análogos simples tales como potenciómetros y amplificadores operacionales [1]. El propósito de este proyecto es el de diseñar un controlador que permita la estabilización del péndulo en una posición vertical bajo el control del posicionamiento del carro. Se siguió el modelo de Shahian [2] en una implementación lo más simple posible del sistema de control. El comportamiento dinámico se lo describe mediante un modelo matemático obtenido a partir de las leyes físicas fundamentales, para así llegar a la ley de control que permita obtener un sistema estable. Se utiliza la metodología de Ubicación de Polos y Regulador Cuadrático Lineal para hacer el diseño usando Matlab. MODELO DINÁMICO DEL SISTEMA Definición del sistema a controlar El Péndulo Invertido es un sistema conformado por un péndulo montado sobre un carro impulsado por un actuador. El objetivo a alcanzar es mantener el péndulo en posición vertical tanto como sea posible y tener control sobre la posición del carro. El sistema puede ser modelado como un sistema lineal considerando que las desviaciones angulares del péndulo son muy pequeñas. La bondad del diseño está dada por los movimientos que el carro necesita hacer para posicionarse sin que el péndulo se desvíe desde su posición vertical más de un cierto ángulo, lo cual debe darse en un tiempo razonable. El sistema de control tendrá dos salidas: inclinación del péndulo y posición del carro. Dichas salidas serán procesadas por el sistema de control a diseñar el cual dará como respuesta la fuerza y el sentido a aplicar al movimiento del carro, por ende la aplicación de un modelo en el espacio de estados será el apropiado. No obstante para fines didácticos se ha hecho énfasis también en el control convencional. Modelo Dinámico del Péndulo Invertido Con la finalidad de entender el comportamiento de los sistemas dinámicos y controlar los sistemas complejos, es necesario obtener modelos matemáticos para representarlos. A continuación se describe el sistema analizado, el cual consiste en una barra articulada en el punto P al carro, el cual es impulsado por una fuerza de control, como se ve en la Fig. 1. El movimiento se restringe al plano vertical.

Fig. 1: (a) Sistema del péndulo invertido, (b) Diagrama de cuerpo libre.

1

Las ecuaciones linealizadas para pequeñas oscilaciones alrededor de la posición vertical son las siguientes:



M

 m  x  bx  m  u

(1)



I  m   B  mg  mx 2

(2)

Tomando la Transformada de Laplace, se obtiene la función de transferencia entre la posición angular Θ(s) del péndulo y la fuerza de control U(s):

 s   U  s



 B M  m   b I  m2 S3   q 

m S q

 S  

2

 Bb   M  m  mg bmg  S  q q  

(3) donde:







q   M  m  I  m2   m

2



Modelado del Péndulo Invertido en el Espacio de Estados. Para obtener el modelo en el espacio de estados, primero se definen las variables de estado y las variables de salida, luego las ecuaciones diferenciales de la dinámica del sistema y las ecuaciones de salida.

x1   x   2

x3  X x  X

 y     x  y   1      1  y 2   X   x3 

(4)

4

0 1   x 1    M  m  m B M  m  g   x   q q 2   0 0  x 3   2 Bm     m g   x 4   q q 

0

0 mb 0  q 0 1 b I  m2 0  q





  0    x1   m   x   q     2      x3   0 2    x   I  m    4   q 

(5)

 x1     y1  1 0 0 0  x2  0  .  y  0 0 1 0  x   0.  3    2     x4  (6)

Determinación de la estabilidad del sistema en lazo abierto usando Matlab

2

La estabilidad del sistema en lazo abierto se puede determinar hallando los polos a partir de la ecuación característica del sistema de la Ec. (3). Usando valores numéricos para los parámetros del sistema, los cuales serán obtenidos en la siguiente sección, se puede trazar el lugar geométrico de las raíces como se ve en la Fig. 2. El sistema claramente es inestable pues tiene un polo en el semiplano derecho. Esto muestra la necesidad de un compensador apropiado para poder controlar el sistema.

Fig. 2: Lugar geométrico de las raíces para el sistema en lazo abierto

DETERMINACIÓN DE LOS PARÁMETROS DEL SISTEMA Tomando en cuenta factores tales como disponibilidad, costo, seguridad, peso, tamaño, confiabilidad y precisión se seleccionó como actuador del prototipo un motor de corriente continua de imán permanente, el cual mueve al carro a través de una caja reductora y un sistema de poleas (Fig.3). Las constantes del motor se midieron experimentalmente [1], y se muestran en la Tabla 1.

Fig. 3: Componentes del prototipo del sistema de péndulo invertido. Tabla 1: Valores de los parámetros del sistema

3

M

Masa del Carro

DESCRIPCIÓN

VALOR 0,435 Kg.

m

Masa del Péndulo

0,270 Kg.

l

Longitud media del Péndulo

0,165 m.

b

Coeficiente de Fricción Viscosa del Carro

0,1 N.s/m

B

Coeficiente de Fricción Viscosa del Péndulo

0,05 N.m/rad/s

K1

Constante del Par Motriz

0,27173 N.m/A

K2

Constante de la Fuerza Contra electromotriz

0,15584 V/rad/s

Ra

Resistencia de Armadura del Motor

3,69 W

Kq

Ganancia del Potenciómetro del Péndulo

1,637 V/rad

Kx

Ganancia del Potenciómetro del Carro

3,183 V/m

D

Diámetro de la Polea

0,075 m

n

Reducción de la caja Reductora

10

Jo

Inercia reducida al eje del Motor

2,77e-3 Kg.m

PARÁMETRO

2

Conexión dinámica del péndulo con el motor La transmisión de movimiento del motor al carro se realiza a través de un cable inelástico el cual está unido a una polea impulsora y una conducida según el esquema que se muestra en la Fig. 4.

Fig. 4: Conexión del motor con el péndulo Considerando la dinámica del motor e incluyéndola en las ecuaciones linealizadas del movimiento (1) y (2), se obtienen las siguientes ecuaciones diferenciales que describen el comportamiento del sistema.

 I  m  b  2KRKr 2

x 

1



2 2

a

q

  2 2  x   m g   Bm  K1 I  m e q q 2 Ra rq





(7)

 KK  J  J     b  1 22 m B M  m  o2  m M  m  o2  2 Ra r  mK1 2r   2r       g   x  e q q q 2 Ra rq (8)

Donde:

 J  2 q   M  m  o2  I  m2   m  2r   





4

DISEÑO DEL SISTEMA DE CONTROL Diseño mediante ubicación de polos Se controla tanto la posición del carro como la desviación angular del péndulo. Las especificaciones de desempeño que se establecen para una entrada escalón de la fuerza de control son:  Tiempo de estabilización de las variables menor a 2 segundos.  Relación de amortiguamiento en lazo cerrado de 0.5.  Error de estado estable cero. Para cumplir las especificaciones de desempeño, los polos de la función de transferencia de lazo cerrado, deben ser de -2  i3 y -20. Mediante el uso de Matlab se verifica que el problema de estado es completamente controlable; luego se aplica la fórmula de Ackermann para obtener la siguiente matriz de retroalimentación de estados la cual proporciona los polos deseados. En la Fig. 5 se muestra el esquema de retroalimentación de estados que se ha usado [3].

Fig. 5: Diagrama de bloques mostrando la retroalimentación de estados Las ganancias del control retroalimentado son las siguientes: K = [135.3076 12.6423 -72.1959 -38.8514]

(9)

Por lo que la señal de control toma la siguiente forma: μ = -135.3076  - 12.6423 ´ + 72.1959 X + 38.8514 X´

(10)

Diseño de un observador de estado Considerando que se miden solo dos de las cuatro variables de estado, se procede a diseñar un observador de estados que permita tener una medición ‘virtual’ de las variables no medidas. En primer lugar se diseña un observador de orden completo, como si no se midiera ninguna de las variables de estado. Usando Matlab se confirma la observabilidad del sistema. Se seleccionan los valores característicos del observador para que su respuesta sea estable y más rápida que la respuesta del sistema en lazo cerrado. Se seleccionan los polos del observador como -10,11,-12 y -13, con lo cual la matriz de ganancias del observador resulta la siguiente: L = [ 15.0940 -1.2452; 78.9617 -16.6433; -1.7567 23.9477; -18.3909 145.4249]

(11)

5

Fig. 6: Diagrama de bloques incluyendo el observador de orden completo Con la implementación de este observador se obtiene el siguiente comportamiento de las variables controladas (Fig. 7).

Fig. 7: Comportamiento del sistema con un observador de estado completo Se observa que tanto el desplazamiento del carro como la desviación angular del péndulo se estabilizan en un tiempo menor a 2 segundos y con cero errores de estado estable. Diseño de un observador de orden reducido La señal de control se la obtiene de la medición de dos variables de salida solamente (posición del carro y desviación angular del péndulo) lo cual se hace mediante el uso de dos potenciómetros. Es entonces necesario diseñar un observador de orden reducido para obtener las señales de las variables de estado. Usando la metodología del regulador cuadrático lineal (LQR) se puede obtener un observador de orden mínimo [3]. Esto se ha implementado en los siguientes programas de Matlab, mediante el uso de los cuales se obtiene la matriz de retroalimentación K y la del observador L.

6

%.....Regulador Cuadrático Lineal para determinar K.. M = 0.435; m = 0.270; b = 0.10; B = 0.05; g = 9.80; l = 0.165; I = m*l^2/3; %..Inercia del péndulo. r = 0.0375; %..Radio de la polea K1 = 0.27173; K2 = 0.15584; Ra = 3.69; N = 10; %...ganancia del tren de engranajes Jm = 0.00178 %...Inercia del motor Jo = Jm+(M+m)*r^2 %...Inercia referida al eje del motor E = 0.6; %..amplificador del driver del motor q = (M+m+Jo/(2*r^2))*(I+m*l^2)-(m*l)^2; % Denominador para las Matrices A y B A = [0 0 1 0; 0 0 0 1; (M+m+Jo/(2*r^2))*m*l*g/q 0 -B*(M+m+Jo/(2*r^2))/q -m*l*(b+(N*K1)*K2/(2*Ra*r^2))/q; (m*l)^2*g/q 0 -B*m*l/q -(b+(N*K1)*K2/(2*Ra*r^2))*(I+m*l^2)/q]; B=[ 0; 0; E*m*l*N*K1/(q*Ra*r); E*(I+m*l^2)*N*K1/(q*Ra*r)]; C = [1 0 0 0; 0 1 0 0]; D = [0; 0]; x = 1000; % asignacion a prueba y error de las matrices Q y R. y = 1000; Q = [x 0 0 0; 0 y 0 0; 0 0 1 0; 0 0 0 1]; R = 1; K = lqr(A,B,Q,R) Ac = [(A-B*K)]; Bc = [B]; Cc = [C]; Dc = [D]; p=eig(Ac) sys_cl = ss(Ac,Bc,Cc,Dc); T = 0:0.01:4; % Tiempo de simulación = 10 seg U = ones(size(T)); % u = 1, entrada escalón. X0 = [0 0 0 0]; % condición inicial [Y,T,X]=lsim(sys_cl,U,T,X0); % simulate plot(T,Y) legend('Pendulo [rad]','Carro [m]')

%..Regulador Cuadrático Lineal para determinar L.. M = 0.435; m = 0.270; b = 0.10; B = 0.05; g = 9.80; l = 0.165; I = m*l^2/3; r = 0.0375; K1 = 0.27173; K2 = 0.15584; Ra = 3.69; N = 10; %...ganancia del tren de engranajes Jm = 0.00178 %...Inercia del motor Jo = Jm+(M+m)*r^2 %...Inercia referida al eje del motor E = 0.6; %..amplificador del driver del motor q = (M+m+Jo/(2*r^2))*(I+m*l^2)-(m*l)^2; % Denominador para las Matrices A y B Aaa = [0 0; 0 0]; Aab = [1 0; 0 1]; Aba = [(M+m+Jo/(2*r^2))*m*l*g/q 0; (m*l)^2*g/q 0]; Abb = [-B*(M+m)/q -m*l*(b+(N*K1)*K2/(2*Ra*r^2))/q; -B*m*l/q -(b+(N*K1)*K2/(2*Ra*r^2))*(I+m*l^2)/q]; Ba = [0;0]; Bb = [ E*m*l*N*K1/(2*q*Ra*r);E*(I+m*l^2)*N*K1/(2*q*Ra*r)]; x = 10; % asignación arbitrario de las matrices Q y R. y = 10; Qo = [x 0; 0 y]; Ro = [1 0;0 1]; L = lqr(Abb',Aab',Qo,Ro) P =eig(Abb-L*Aab)

Fig. 8: Programas de Matlab para calcular las matrices K y L

Los valores obtenidos son: K =[ 76.9728 -31.6228

6.8075 -28.0053]

L = [ 9.3186 -0.2527; -0.2527

0.0555]

(12) (13)

El comportamiento del sistema con el observador de orden mínimo se muestra en la Fig. 9.

Fig. 9 Comportamiento del sistema con un observador reducido

7

El comportamiento observado (Fig. 9) muestra un mayor sobrepaso en la oscilación inicial del péndulo pero el tiempo de estabilización es menor que el obtenido antes (Fig. 7) y el error de estado estable es cero. Usando los valores obtenidos para las matrices K y L se llega a la siguiente señal de control:

  169.41   41.91 x   8.141   31.39 2  (14) El correspondiente diagrama de flujo de señales a partir del cual se implementó el circuito electrónico de compensación se muestra en la Fig. 8 [2].

Fig. 8: Diagrama de flujo de señales del compensador RESULTADOS Se construyó el equipo usando un motor de CD como actuador, el cual a través de un sistema de poleas impulsaba al carro con el péndulo montado encima de él (Fig. 3). Se usaron potenciómetros de precisión para obtener señales de retroalimentación de la posición del carro y de la inclinación del péndulo. Estas señales eran procesadas por un compensador diseñado de acuerdo al diagrama de flujo de señales de la Fig. 8. CONCLUSIONES Se simuló, diseñó y construyó un prototipo de un sistema de péndulo invertido, el cual sirve para hacer demostraciones de estrategias de control usando variables de estado en un curso de sistemas de control. El sistema construido es de bajo costo y cumple parcialmente los objetivos para los cuales fue diseñado. Aunque se logró mantener el péndulo estabilizado en la posición vertical cumpliendo con las especificaciones de diseño, surgieron problemas en algunos casos, los cuales ocasionaron que este finalmente se cayera. Los principales problemas surgieron por la saturación de los componentes del sistema de control y problemas de ruido generados en los potenciómetros. Estos problemas, sin embargo, fueron superados disminuyendo la ganancia para evitar saturación y usando potenciómetros de precisión para disminuir la generación de ruido. Para futuras mejoras del sistema se hace necesaria la obtención de ganancias significativas para la retroalimentación de los estados medidos en las zonas de baja frecuencia para lograr disminuir los efectos de los disturbios tanto internos como externos. No obstante para las regiones de alta frecuencia debe atenuarse la ganancia para así reducir los efectos del ruido. REFERENCIAS 1.

R. Tinoco, Diseño y Simulación de un Sistema de Control de Péndulo Invertido, Tesis Ing. Mec., Facultad de Ingeniería Mecánica, Escuela Superior Politécnica del Litoral, Guayaquil, Ecuador, 2005

8

2.

B. Shahian y M. Hassul, Control System Design using Matlab, Prentice-Hall, New Jersey, 1993.

9

3. 4.

K. Ogata, Ingeniería de Control Moderna, Tercera edición, Prentice-Hall Hispanoamérica, México D.F., 1995. W. Messner, Control Tutorials for Matlab and Simulink, Addison Wesley Longman, 2001.

UNIDADES Y NOMENCLATURAS B b xcg ycg K1 K2 ia if d r φ(s) θ X ζ ωo ωa ω Fd G(s) ΔV g Lm Jc Jm I l A B K L C D M m i n T τo τ μi N Ra μ Mp ts tr s xi ea eb

Coeficiente de Fricción Viscosa equivalente del Reductor Coeficiente de Fricción Viscosa equivalente del Péndulo Abscisa del Centro de Gravedad del Péndulo Ordenada del Centro de Gravedad del Péndulo Constante del Par Motriz Constante de la Fuerza Contra-electromotriz Corriente de Armadura del Motor Corriente de Campo del Motor Diámetro de la Polea Radio de la Polea Polinomio Característico de la Matriz de estados Desplazamiento Angular del Péndulo Desplazamiento Lineal del Carro Relación de Amortiguamiento Relativo Frecuencia Natural Frecuencia Natural Amortiguada Frecuencia Excitadora Fuerza Excitadora Función de Transferencia del Sistema Péndulo Invertido Ganancia de Voltaje Aceleración de la Gravedad Inductancia Inercia de Carga Inercia del Motor Inercia del Péndulo Longitud del Péndulo Matriz de Estado Matriz de Entrada Matriz de Ganancia de Retroalimentación del Estado Matriz de Ganancia del Observador Matriz de Salida Matriz de Transición Directa Masa del Carro Masa del Péndulo Unidad Imaginaria Número de Estados Par desarrollado por el Motor Par desarrollado en la Polea Período Fundamental Polos del Sistema a Lazo Cerrado Reducción de Velocidad Resistencia de Armadura del Motor Señal de Control Sobrepaso máximo Tiempo de Estabilización Tiempo de Levantamiento Variable Compleja Variable de Estado Voltaje aplicado a la Armadura del Motor Fuerza Contra-electromotriz

Related Documents

Sifon Invertido
March 2021 0
Matlab
January 2021 2
Curso Pendulo
March 2021 0
Matlab Fundamentals
January 2021 2

More Documents from "Vincent ISOZ"