Professional Documents
Culture Documents
A01168139
A01167631
A01169881
A01184343
Contenido
Introduccin ............................................................................................................................................... 2
Desarrollo ................................................................................................................................................. 10
Control por retroalimentacin del estado ............................................................................................... 33
Diseo del controlador ............................................................................................................................ 34
Simulacin del comportamiento en lazo cerrado .................................................................................... 36
Bibliografa ................................................................................................................................................... 39
Introduccin
Objetivos del proyecto
El pndulo de Furuta es un sistema no lineal e inestable, la ventaja de este sistema es que su
comportamiento se puede linealizar, lo cual lo hace ms sencillo de controlar. El pndulo de
Furuta o pndulo rotacional invertido consiste en una base donde se encuentra un motor que
controla el movimiento rotacional de una barra perpendicular a la base que contiene un
sensor que detecta la posicin del pndulo que est colocado en el extremo de la barra.
El objetivo del proyecto es lograr equilibrar el elemento subactuado del sistema, es decir
lograr que el movimiento rotacional del pndulo contrarreste el efecto de la gravedad y lo
regrese a un punto de equilibrio.
Existen diferentes formas de abordar el problema de lograr el control de la estabilidad del
pndulo de Furuta, todas ellas comienzan con la determinacin del comportamiento
dinmico es decir el modelo matemtico que describe al sistema, posteriormente se
implementa un control por retroalimentacin esttica de los estados cuyo objetivo es resolver
el problema de la regulacin a cero de las variables de estado.
Es por lo tanto indispensable conocer las variables de nuestro sistema, tratamos de lograr la
regulacin a cero de la posicin del pndulo mediante un voltaje (positivo o negativo) en las
terminales del motor, una explicacin detallada de las partes involucradas que permiten
modelar el comportamiento del sistema y la forma en que se logra el objetivo se puede
consultar en la seccin de diseo de control de este mismo documento.
Las componentes que integran al prototipo realizado son:
Sensores
El control del pndulo como se especifica ms adelante requiere de conocer las posiciones y
velocidades de los diferentes eslabones del sistema, es decir conocer en todo momento el
ngulo y velocidad del pndulo y del brazo que componen al sistema.
Para esto se opt por utilizar encoders incrementales debido a la gran resolucin que permiten
obtener de las variables del sistema.
Principio de funcionamiento
Para conocer la direccin y sentido de un movimiento rotacional, un encoder utiliza
principalmente dos seales conocidas como A y B. Es importante conocer el papel de las
salidas A y B de forma que se pueda determinar la posicin y aceleracin. Tanto el brazo
como el pndulo contaran con un encoder aunque como el brazo tendr el encoder integrado
en el motor.
Existen diferentes tipos de encoder, de entre los de tipo incremental o tambin conocidos
como de cuadratura existen diferentes posibles salidas que se conocen con los nombres de
A, B y Z. Un encoder incremental puede tener todas las siguientes posibles salidas:
A
A, B
A, B y Z
Internamente un encoder puede ser modelado como un interruptor, los encoders tienen un
nmero de incrementos o pasos determinados para cada giro completo de su estructura
(revolucin), por cada paso podemos considerar que internamente se cierra el interruptor.
Un encoder tiene por lo general sus salidas en estado ALTO y cuando el paso ocurre esta
pasa a el estado BAJO durante un instante y regresa a su estado ALTO tras concluido el paso.
Un encoder permite conocer el ngulo del eje/motor al que se encuentra acoplado tras sumar
por cada incremento una cantidad que corresponde a la resolucin del mismo. La velocidad
se puede determinar por software contando la frecuencia de los pulsos ocurridos. Un encoder
que solamente cuenta con la salida A es posible determinar la velocidad de giro siguiendo la
metodologa previamente descrita sin embargo es imposible saber la posicin puesto que un
giro a la izquierda o a la derecha produce la misma seal. Es por eso que la mayora de los
encoders vienen con las seales A y B; siendo que si podemos modelar el encoder como
interruptores que se cierran cuando se incrementa en un paso, es posible determinar el sentido
de giro del motor desfasando las seales A y B y viendo cual ocurre primero, con esto
podemos determinar el sentido de giro. La salida Z produce un pulso por cada revolucin
completa del sistema.
El encoder utilizado para conocer la posicin del pndulo es el encoder modular incremental
AMT102 de CUI INC
Parmetro
unidad
Fuente de
poder
Consumo de
corriente
Salida en alto
Salida en
bajo
Salida de
corriente
Tiempo de
subida/bajada
Parmetro
Canal
Forma de
onda
Diferencia de
fase
Resolucin
en cuadratura
ndice
Precisin
Ciclo de
trabajo en
cuadratura
VDD
3.6
5.5
mA
VDD-0.8
0.4
V
V
mA
30
ns
unidad
Grados
PPR
Grados
%
%
%
Actuadores
En cuanto al motor a utilizar se determin que ser el motor con encoder Pololu 37 D, que
es un motor con caja de engranes de 12 V corriente directa.
Tamao
37D x 64L mm
Peso
7.5 oz
Dimetro de la flecha
6 mm
Relacin de transmisin
19:1
256 rpm
250 mA
2500 mA
42 oz in
500 rpm
300 mA
5000 mA
84 oz in
Una de las ventajas de utilizar este tipo de motores es que cuenta con un encoder integrado
por lo que ser relativamente sencillo lograr el ngulo que permita corregir la posicin del
pndulo mediante el control
Color
Funcin
Rojo
Voltaje motor
Negro
Voltaje motor
Verde
Tierra encoder
Azul
Amarillo
Salida A
Blanco
Salida B
El encoder integrado en este motor tiene una resolucin de 64 cuentas por revolucin de la
flecha del motor, sin embargo el motor tiene una caja de engranes con una relacin de 18.75:1
y corresponde a 1200 cuentas por revolucin de la salida de la caja de engranes. Su
funcionamiento es exactamente igual al encoder previamente descrito.
Microcontrolador
Las caractersticas y el modelo de nuestro microcontrolador es STM32F3DISCOVERY
La cual es una tarjeta de desarrollo de STM basada en ARM, cuyas caractersticas son
Se opt utilizar este microcontrolador principalmente debido a que cuenta con un mdulo llamado
QEI (Quadrature Encoder Interface), el cual permite de forma muy sencilla hacer una interface con
8
los encoders utilizados. Adems de que cuenta con un reloj de 72 MHz que permite un
procesamiento veloz de los datos lo cual es importante para aplicar control digital.
Materiales utilizados
Ilustracin 4. STMStudio
Esta interfaz permite al usuario modificar los valores deseados como lo es las dimensiones de las
grficas, a qu velocidad o periodo debe capturar informacin pero lo que consideramos ms
eficiente de esta herramienta es que, si se programa la tarjeta correctamente, se pueden cambiar
valores de variables declaradas en la tarjeta, es decir que si se habilitan los parmetros del control
para que sean modificables, estos pueden ser cambiados antes de que comience el programa a correr
sin tener que cambiar lneas de cdigo. En nuestro caso usamos esta herramienta para visualizar la
seal de posicin y velocidad del brazo del pndulo y del pndulo, estas se obtienen de los
encoders, el del pndulo y el del motor que va al brazo. De igual manera visualizamos la ley de
control y seales de prueba que usamos para verificar el modelo matemtico del prototipo. Como
9
ya se mencion, tambin tenemos la habilidad de cambiar ciertos parmetros sin cambiar lneas de
cdigo, es decir desde la interfaz.
Esta herramienta es relativamente fcil de usar una vez que se conoce todas las opciones con las
que cuenta. Este software es muy flexible y fcil de leer, una vez que comienza a correr, va
guardando la grfica de los valores que se van obteniendo, una vez que se detiene el programa, el
usuario puede revisar la grfica y consultar todos los valores obtenidos.
Su uso es muy sencillo, solo hace falta importar el archivo .axf producido al compilar el cdigo y
seleccionar las variables que se desea visualizar como se puede apreciar en la siguiente ventana.
En la anterior ventana se muestran todas las variables globales del cdigo elaborado y
seleccionamos nicamente aquellas de inters.
Desarrollo
Diseo mecnico
Para el diseo del prototipo se opt por una forma geomtrica que permitiera realizar los clculos
del modelo matemtico de forma sencilla, el modelo final se muestra en la figura.
10
Para la maquinacin de esta pieza se utiliz una sierra cinta vertical por la cual introducimos la
madera y realizamos el corte en forma hexagonal, este corte es importante para que el pndulo
pueda moverse libremente en su posicin no invertida.
11
Soportes:
Los soportes no requirieron mucha manufactura, fueron comprados en una cancelera cortados a la
medida de 30 cm y posteriormente se utiliz un taladro para barrenar los extremos para permitir
realizar un diseo modular unido por tornillos.
Chumacera:
12
Ilustracin 9. Chumacera
Esta pieza fue elaborada mediante una sierra cinta para metal, mediante la cual se cort el metal a
la medida de un cuadrado de 7 x 7 cm, al cual se le hicieron 2 agujeros utilizando la fresadora para
poder colocar el balero, uno para el eje del motor por debajo de la pieza y uno para sujetar el eje
del motor y colocar el prisionero. Para la colocacin del tornillo prisionero es necesario dar cuerda
a la pieza, para esto se emplea un maneral y un machuelo con la medida del tornillo.
Soporte motor:
El soporte del motor es de madera y fue cortado nuevamente con la sierra cinta vertical y se le
taladr un agujero al centro para colocar el motor.
13
Pndulo:
El pndulo consiste de una varilla de aluminio que mediante una dobladora se realiz el ngulo de
90 justo a la mitad para que finalmente cada lado fuera de 40 cm.
Diseo electrnico
Un circuito de transistores Push-Pull es aquel que tiene la capacidad de controlar tanto la velocidad
como el sentido de giro de un motor de corriente directa, a partir de una sola seal de control. Esta
seal de control puede ser analgica o digital. Si la seal es analgica, se podr controlar tanto el
sentido de giro como su velocidad. Si la seal es digital, el sistema que proporciona la seal de
control debe ser capaz de mandar valores negativos, o de lo contrario el motor girar en un solo
sentido. Se puede utilizar el mtodo de modulacin de ancho de pulso (PWM), para controlar la
velocidad del motor, con una seal digital.
Dependiendo del tamao del motor, es la cantidad de corriente elctrica que ste demandar a la
etapa de potencia, y por ende a su fuente de alimentacin. Es por esto que se debe seleccionar
cuidadosamente qu tipo de transistores vamos a utilizar para armar el circuito. En nuestro caso,
utilizaremos transistores con encapsulado TO-220. Especficamente, se utilizarn los transistores
TIP32 y TIP31. Esto es porque ambos tipos de dispositivo toleran una corriente de colector de 3
de corriente directa, y tienen un consumo mximo de potencia de 40W. Dependiendo de la letra
(A, B o C), que venga en el nombre, es el voltaje al que pueden ser sometidos. Debido a la
existencia de estos componentes en la tienda de electrnica, se consiguieron los transistores
TIP31A, y TIP32C. Dado esto, el voltaje mximo al que puede ser sometido el de 60V de DC.
14
Una buena prctica es aislar las corrientes que circulan por la etapa de potencia y la etapa de
control, principalmente porque los voltajes que ambos sistemas utilizan pueden variar
dependiendo de la implementacin. Existen muchos mtodos por los cuales podemos aislar las
corrientes de los sistemas. Uno de ellos es colocar un amplificador operacional, en su
configuracin de seguidor. Este circuito integrado deber estar conectado entre el sistema de
adecuacin de la seal de control y la etapa de potencia. Para este punto, se utilizar el integrado
TL081CN. Este dispositivo es ventajoso, ya que nos provee una seal ms fidedigna que un
amplificador LM741, puede tener una alimentacin de 18V de DC, y maneja seales de corriente
entre 2 y 60 mA.
15
A, el voltaje mximo que podremos poner entre el colector y el emisor es de 60V. Esto ser de
utilidad para los motores medianos. Ambos transistores permiten un flujo de 3A en su colector.
Por lo que debemos evitar conectar motores que demanden ms de esta corriente para manejarlos.
En esta configuracin, los transistores estn anodados en sus emisores. Es decir, la configuracin
es de emisor comn. Esto es debido a que el motor ser conectado en este nodo. As mismo, las
bases de ambos transistores estn conectadas en el mismo nodo. Esto es porque son las bases las
partes de los transistores que sirven para poder dispararlos. Una resistencia de base ser necesaria
para poder limitar la corriente, ya que cuando un transistor entre en saturacin, existir un corto
circuito entre la base y el emisor, lo cual puede provocar un dao en el amplificador operacional
que controla el disparo. Los colectores debern estar conectados a alimentacin: el colector de
transistor NPN debe ir a alimentacin positiva, y el colector del transistor PNP debe ir a
alimentacin negativa. Preferentemente, estas alimentaciones deben ser idnticas en magnitud,
para no limitar al motor en su giro.
Al momento en que el amplificador recibe una seal positiva, ste emitir una seal negativa
(debido a que es inversor). Esto har que el transistor PNP se ponga en saturacin y el NPN en
corte. Al hacer esto, el motor girar en sentido contrario a las manecillas del reloj, ya que la
corriente motriz provendr de la referencia a tierra, cruzar por el motor, y finalmente llegar a la
fuente de alimentacin negativa, a travs del transistor PNP. En caso de que el amplificador reciba
una seal negativa, el seguidor emitir una seal positiva, saturando al transistor NPN y cortando
al transistor PNP. Esto har que el motor gire en el sentido de las manecillas del reloj. Si la seal
de control es cero, el motor no se mover.
NOTA: No se debe dejar mucho tiempo el motor sin movimiento, ya que el transistor PNP tratar
de ponerse en modo de saturacin sin lograrlo, y se calentar mucho. Esto puede daar a la larga
al transistor. Si el motor est girando por mucho tiempo, los componentes se entibiarn, pero no
tendrn una temperatura considerable como para que se quemen o que calienten alguna otra parte
del sistema.
17
Diseo de control
Obtencin del modelo matemtico terico
Un modelo genrico del pndulo de Furuta y de las variables involucradas es
Donde:
( cero) es la posicin angular (radianes) del brazo medida respecto a una posicin de
referencia ARBITRARIA
( uno) es la posicin angular (radianes) del pndulo medida respecto a su posicin
vertical invertida
es el par (torque) generado por el motor elctrico y que es aplicado sobre el brazo
18
( I cero ) es la inercia del brazo cuando gira alrededor de uno de sus extremos ms la
inercia del motor
( L cero ) es la longitud del brazo
m1 es la masa del pndulo nicamente
l1 es la ubicacin del centro de masa del pndulo
J1 es la inercia del pndulo (suponiendo que gira alrededor de su centro de masa).
NOTESE QUE EL PNDULO EST CONSTITUIDO POR UNA VARILLA DE
MASA NO DESPRECIABLE
g = 9.81[m/s^2] Aceleracin de la gravedad
+
2
19
Con los anteriores parmetros y siguiendo la metodologa D-H encontraron la siguiente matriz de
transformacin que describe el sistema coordenado 2 en relacin al sistema coordenado 0.
sin sin
cos sin
0
2 =
cos
[
0
sin cos
cos cos
sin
0
cos
sin
0
0
=[
33
13
31
]=[
Por lo que el vector de traslacin nos permite conocer la posicin del sistema coordenado 2 (la
punta del pndulo) en todo momento por ecuaciones que dependen de los ngulos y
Todos los clculos obtenidos de esta seccin se toman de seguir el procedimiento utilizado en el
libro Control automtico: Teora de diseo, construccin de prototipos, modelado, identificacin
y pruebas experimentales del Instituto Politcnico Nacional (Hernndez, Silva & Carrillo)
El pndulo de Furuta consta de dos cuerpos que interactan, encontramos el modelo usando las
ecuaciones de Euler Langrange, dichas ecuaciones se reducen a
Donde L es el Lagrangiano.
Las ecuaciones estn igualadas a la fuerza en cada coordenada generalizada, en la ltima expresin
se iguala a cero pues no existe ningn motor pegado al pndulo que aplique una fuerza.
El Lagrangiano est definido como
L=K-P
20
K = K0 + K1
La energa cintica del sistema est compuesta por la energa cintica del brazo (K0) y la energa
cintica del pndulo (K1)
En cuanto a la energa potencial, nicamente el pndulo tiene energa potencial pues el brazo se
mueve en un plano horizontal por lo que su energa potencial es constante y puede ser considerada
igual a cero.
El clculo de la energa cintica de un cuerpo cuya masa est distribuida en todo su volumen, puede
simplificarse si se descompone en dos partes: una parte debida al movimiento traslacional de su
centro de masa (considerado como una partcula) y otra parte debido al movimiento giratorio del
cuerpo suponiendo que rota alrededor de su centro de masa.
Si el movimiento del cuerpo puede ser descrito de manera sencilla entonces no es necesaria la
descomposicin, por ejemplo el movimiento del brazo es descrito como el movimiento giratorio
de una varilla alrededor de uno de sus extremos y el giro del rotor del motor alrededor del mismo
eje.
Por lo tanto encontramos que
El movimiento del pndulo es ms complejo pues depende de movimientos combinados del brazo
y del pndulo. En este punto es conveniente descomponer el movimiento del pndulo en dos partes.
Se descompone en movimiento traslacional de una partcula de masa m1 colocada en su centro de
masa, y en el movimiento rotacional de una varilla que gira sobre el eje que pasa por el centro de
masa del pndulo:
donde X es un vector que representa las coordenadas cartesianas del centro de masa del pndulo.
21
La posicin cartesiana de este centro de masa la podemos encontrar de varias formas, una posible
manera es a travs de trigonometra , nosotros la encontramos a partir de los parmetros DH y solo
resta considerar que el ltimo eje coordenado de la metodologa se encuentra en el centro de masa
del pndulo, por lo tanto obtenemos
Como recordatorio:
Vase la siguiente imagen para las relaciones geomtricas del pndulo de Furuta
22
1
1
2
J11 []2 + m1(L02 0 []2 + l12 Sin[1[]] 0 []2
2
2
+ 2 L0 l1Cos[1[]]0 []1 [] + l12 1 []2 )
23
k0 =
1
Io0 []2
2
Sabemos que
= k0 + k1
Por lo tanto
1
1
1
= Io0 []2 + J11 []2 + m1(L02 0 []2 + l12 Sin[1[]]2 0 []2
2
2
2
+ 2L0l1Cos[1[]]0 []1 [] + l12 1 []2 )
Para la energa potencial del pndulo tomamos como referencia el punto donde 1 = 0 (ver imagen
vista del plano perpendicular), Sea h una relacin encontrada trigonomtricamente de la siguiente
manera.
En esta parte del proyecto se intenta demostrar que el modelo matemtico numrico coincide con
el sistema fsico elaborado.
Para el clculo del modelo matemtico numrico es necesario sustituir los valores reales del
prototipo construido en el modelo previamente encontrado donde
En base a las ecuaciones anteriores calculamos el Lagrangiano para obtener
24
Los puntos de estabilidad del sistema exigen 2 condiciones, que la velocidad en cada articulacin
sea igual a cero (vease documento para ms detalle), ademas exige dos condiciones ms que se
resumen a
Estas son todas las condiciones del sistema sin embargo no existe ninguna condicin que deba
cumplir x1, es totalmente arbitraria su eleccin (se elige como cero), y para x3 usamos n = 0 pues
se desea equilibrar el pndulo en su posicin vertical invertida.
25
Con dichas condicionantes podemos encontrar las matrices A y B que linealizan el sistema.
Donde
=
1 =
1 =
0 =
26
0 =
1 =
1 = 0.032
1 = 0.2
0 = 0.4
Para los momentos de inercia se considera la forma de los componentes fsicos del prototipo
construido
0 = + +
Brazo:
27
Prisma:
28
Rotor
El momento de inercia del rotor es un momento difcil de calcular, existen diversas tcnicas, una
de ellas es estimar el peso del rotor como la mitad del peso del motor y adems estimar el radio
del mismo como la mitad del radio de la carcasa, haciendo estas estimaciones podemos calcular el
momento de inercia como
Finalmente el momento de inercia 0 del primer vnculo est dado por la suma de
0 = + + = 0.00055243 2
1 =
29
Se determina el momento de inercia del pndulo a partir de su centro de masa y como si el eje de
rotacin atravesara el mismo, por lo tanto
30
Para verificar la validez del modelo hicimos una prueba rpida, ingresamos una seal de voltaje al
sistema como la siguiente
31
32
Figura.
Figura.
Con la anterior prueba verificamos que el modelo es una representacin aproximada del sistema
fsico a controlar, por lo tanto es posible pasar a la etapa del diseo del controlador con dicha planta
a controlar.
= ( )
Donde la forma de la respuesta de la ecuacin z(t) depende de los eigenvalores de . Lo
eigenvalores deben de ser asignados arbitrariamente de forma que se tenga el comportamiento
deseado, para obtener dicho comportamiento es necesario seleccionar correctamente K y obtener
los eigenvalores en las posiciones deseadas.
El procedimiento es bsicamente
Encontrar la matriz
Que se usa en la siguiente ecuacin (como el nuevo valor de A) para obtener un polinomio que
depende de las ganancias K
Proponer eigenvalores en lazo cerrado y calcular el polinomio que dichos eigen valores producen.
Realizar una igualacin de trminos para obtener el vector de K.
(Hernndez Guzmn, Silva Ortigoza, & Carrillo Serrano, 2013)
]
0.
54.572334
Sea
= [k1
k2
k3
k4]
34
Encontramos ahora
35
Donde
Y adems
Por lo tanto podemos realizar una simulacin de la ecuacin diferencial del anterior sistema
apoyados de Simulink, dicha simulacin es
36
Es importante mencionar que para dicha simulacin el ngulo del pndulo es sacado de su punto
de equilibrio para poder observar cmo se estabiliza el sistema. Por lo tanto el resultado es
37
Se observa que el voltaje requerido para lograr el control es menor a los 2 Volts, por lo tanto es un
controlador posible de implementar.
Finalmente es posible realizar una desratizacin del modelo en espacio de estados la cual dado el
polinomio deseado en el dominio s (tiempo continuo), usando los mismos parmetros que se
usaron para obtener el polinomio deseado en el dominio s se obtiene el polinomio deseado en el
dominio z, usando las frmulas adecuadas y considerando un periodo de muestreo de 0.001
segundos. Una vez que se obtiene el polinomio deseado en el dominio z, se transforma la matriz A
y B al dominio z y se hace el mismo procedimiento que para el control in tiempo continuo es decir,
se obtiene la matriz An, se encuentran los eigenvalores de zI An y se iguala el polinomio deseado
al polinomio del sistema el cual da de resultado las ganancias de K. El control discreto es
exactamente el mismo procedimiento que para el tiempo continuo, la nica diferencia son las
consideraciones que se hacen en el domino z como lo es el tiempo de muestreo. Aunque es posible
determinar dichas matrices numricamente se opt por utilizar el modelo en el tiempo continuo
pues la bibliografa utilizada no abarcaba dichas consideraciones y las pruebas realizadas fueron
satisfactorias con el modelo en tiempo continuo.
38
Bibliografa
Hernndez Guzmn, V. M., Silva Ortigoza, R., & Carrillo Serrano, R. V. (2013). Control Automtico: Teora
de diseo, construccin de prototipos, modelado, identificacin y pruebas experimentales.
Mxico: Instituto Politcnico Nacional.
39