Anda di halaman 1dari 7

Ball And Beam

Trujillo, Wilmer-Ariza, Edward-Restrepo, David-.Hoyos, Javier- Rubio, William.


Universidad Del Quindo, Facultad de ingeniera, Armenia, Quindo.

Resumen- Este trabajo describe como hacer el control de un


ball and beam, la construccin de este consiste en posicionar una
barra en forma de ngulo para que por esta pueda rodar una
esfera, tambin tendr un soporte en la mitad que a su vez cumple
la funcin de eje rotatorio, tambin requiere un sensor de distancia
que estar posicionado en uno de los extremos del ngulo para as
poder medir la ubicacin de la esfera, un microprocesador que nos
permitir realizar el control a emplear y por ultimo un servomotor
que nos servir como el eje que podremos manipular para as
lograr controlar el ball and beam que es el objetivo principal de
este trabajo.
Palabras clave- ball and beam, servomotor, microprocessor,
pwm, ADC.

Abstract- This paper describes how to control a ball and beam,


the construction of this bar is positioned at an angle so that it can
rotate by a sphere, also have a half support which in turn serves to
rotating shaft, also requires a distance sensor which is positioned
in one end of the angle in order to measure the location of the field,
a microprocessor which enable to control and lastly to employ an
actuator that will serve as the axis we can manipulate in order to
achieve control the ball and beam which is the main objective of
this work.
Index terms- servomotor, ball and beam, microprocessor,
sensor, pwm, ADC.
I.

INTRODUCCION

El sistema de Ball & Beam es un importante y clsico modelo para


disear ingeniera de control y sistemas. Es muy conocido debido a
que es un sistema simple y fcil de entender que puede ser utilizado
para estudiar muchos mtodos clsicos y modernos de diseo de
controladores. Posee una propiedad muy interesante: es inestable en
lazo abierto.
El esquema mostrado en la Figura 01 es un sistema muy simple, el
cual describe el funcionamiento del Ball & Beam; con una bola de
acero rodando sobre un ngulo de aluminio que est montado sobre
el eje de un servomotor. En esta configuracin, la barra puede ser
inclinada con uno de sus extremos fijos aplicando una seal de
control elctrica al controlador que maneja el motor. La posicin de
la bola en la barra es registrada con un sensor lineal capaz de medir
la posicin de la bola respecto a la pista midiendo el voltaje de la

salida de la barra de aluminio. Un servomotor controla el ngulo de


la viga, y as control de posicin de la bola.

En este documento que se presentara a continuacin, se


explica el funcionamiento y la construccin de un ball and
beam, el cual consiste en lanzar una esfera por una barra en
forma de ngulo, est esta sostenida por un soporte metlico
en la mitad con un eje que permite que la gua baje y sube.
En uno de sus extremos se encuentra ubicado un sensor de
distancia que tiene un rango de accin entre 10cm a 80cm,
en la parte baja del sensor y la barra se encuentra ubicado un
servomotor que ser utilizado como medio oscilatorio para
lograr hacer el control de la esfera ya que a este se le puede
ajustar el giro por medio de una caracterizacin para que la
esfera se estabilice. El sensor de distancia es caracterizado
mediante una relacin que consiste en una toma de medidas
que son devueltas en forma de voltaje anlogo, esta
informacin de salida del sensor se toma en el
microprocesador atmega16, este fue programado Por medio
de la herramienta de programacin Atmel Studio en el cual
realizamos el cdigo de un pwm (modulacin por ancho de
pulso) requerido para que el servomotor tenga un giro
deseado para el control del ball and beam, el ancho de pulso
del pwm ser controlado por medio del ADC este convierte
el voltaje anlogo medido por el sensor a un voltaje digital
que nos dir en qu posicin deber estar la barra para que la
esfera comience a estabilizarse.

II.

PLANTEAMIENTO DEL BALL AND BEAM.

Un ball and beam es un sistema mecnico con un rodamiento


de una esfera por una barra que le permite a esta tener un
movimiento con 1 grado libertad, este tiene un brazo como
palanca que est unido a un servomotor. Como el engranaje
servo gira por un ngulo theta, la palanca cambia el de la viga
por un ngulo alfa. Haciendo que por medio de la gravedad
la esfera ruede por la longitud de la barra.

M masa de la pelota
0,027 kg
R radio de la bola
0.01 m
d brazo de palanca acodada 0,075 m
g aceleracin de la gravedad 9,8 m / s 2
L longitud de la viga
0,29 m
J
bola momento de inercia
540Kg*m2
Tabla 1. Especificacin de contantes.

La ecuacin de Lagrange del movimiento de la bola es dada


por:
2
J
d r
d
0 2 m 2 mg ( sen ) mr

R
dt
dt

Figura. 1. Esquema generalizado para un ball and beam


[4].

MODELAMIENTO DEL BALL & BEAM


Una bola se coloca en un haz, donde se permite rodar con
un grado de libertad a lo largo de la longitud de la barra. Un
brazo de palanca se une a la barra en un extremo y un
servomotor en el otro. A medida que el equipo de servo se
convierte en un ngulo , la palanca de cambios en el
ngulo del haz de . Cuando se cambia el ngulo de la
posicin horizontal, la gravedad hace que la bola ruede a lo
largo de la barra. Un controlador se disea para el sistema
de modo que la posicin de la bola puede ser manipulada.
[1]

(1)

Linealizacin de la ecuacin sobre el ngulo del haz, = 0,


nos da la siguiente aproximacin lineal del sistema:
2
J
d r
2 m 2 mg
R
dt

(2)

La ecuacin que relaciona el ngulo del haz con el ngulo


de la marcha se puede aproximar como lineal por la
siguiente ecuacin:

(3)

Sustituyendo esto en la ecuacin anterior, obtenemos:


2
d
J
d r

m
2
2 mg
L
R
dt

(4)

Funcin de Transferencia: Tomando la transformada de


Laplace de la ecuacin anterior, la siguiente ecuacin se
encuentra:

mgd
J

2
( s)
2 m R( s ) S
L
R

Figura 2: Diseo del Ball & Beam


Para este problema, vamos a suponer que la bola rueda sin
deslizamiento y la friccin entre la viga y la bola es
insignificante. Las constantes y variables para este ejemplo
se definen como sigue:

(5)

Al tomar la transformada de Laplace para encontrar la


funcin de transferencia de las condiciones iniciales son
iguales a cero.
Reorganizacin nos encontramos con la funcin de

transferencia desde el ngulo del engranaje ( (s)) a la


posicin de la bola (R (s)).

R( s )
mgd
1

( s)
J
S2
L 2 m
R

(6)

Utilizando MATLAB podemos observar la respuesta a una


entrada paso:
MASA=0,027Kg
RADIO=0,02m
J=540Kg*m2
LONGITUD DE LA BARRA=0,29m
GRAVEDAD=9,8m/s2
D=0,075m
K = (m*g*d)/(L*(J/R^2+m));
Figura. 4 Respuesta a la seal paso con Kp=1
num = [-K];
den = [1 0 0];
printsys(num,den)
step(num,den)

Como se puede ver la adicin de ganancia proporcional no


hace que el sistema estable. El siguiente paso es cambiar el
valor de kp y tenga en cuenta que el sistema sigue siendo
inestable.
Ahora, vamos a aadir un trmino derivado al controlador.
kp = 10;
kd = 10;
numPD = [kd kp];
numh = conv(num, numPD);
[numc, denc] = cloop(numh, den);
t=0:0.01:5;
step(numc,denc,t)

Figura 3: Respuesta a la seal paso, en lazo abierto.


En la Figura 08 es evidente que el sistema es inestable en
lazo abierto causando que la bola ruede la derecha del
extremo de la viga. Por lo tanto, algn mtodo de control de
posicin de la bola en este sistema se requiere.
En esta figura es evidente que el sistema es inestable en
lazo abierto causando que la bola ruede la derecha del
extremo de la viga. Por lo tanto, algn mtodo de control de
posicin de la bola en este sistema se requiere.
CONTROL SOBRE EL BALL AND BEAM
Control proporcional:
kp = 1;
numP = kp*num;
[numc, denc] = cloop(numP, den)
step(numc,denc)

Figura.5. Respuesta del control proporcional-derivativo


Despus de jugar con las ganancias un poco, la trama paso
siguiente respuesta se puede lograr con kp = 10 y kd = 50:

Figura. 6. Respuesta a la seal paso con variacin de kp,


kd

Figura. 8. Esquema barra y bola modelo.

III.

Para la simulacin de la ecuacin de movimiento del ball and


beam se utiliz el software de programacin MATLAB el
cual nos brinda la herramienta SIMULINK para este tipo de
simulaciones
como lo es un sistema dinmico con
restricciones, entregando el siguiente diagrama:

Figura.7. Diagrama de simulacin en SIMULINK


La funcin barra y bola modelo de la figura 2 contiene el
esquema para la implementacin de la ecuacin de
movimiento del ball and beam que se puede observar en la
figura 3.
Ecuacin en variables de estado:
= (

+
2

) (( ) 2 )

(7)

CONTROL POR PWM MANEJADO POR ADC

La modulacin por ancho de pulsos de una seal es una


tcnica en la que se modifica el ciclo de trabajo de una seal
peridica, ya sea para transmitir informacin a travs de un
canal de comunicaciones o para controlar la cantidad de
energa que se enva a una carga. Es una modulacin tcnica
utilizada en sistemas de comunicaciones para codificar la
amplitud de una seal en el ancho del pulso (duracin) de
otra seal. Aunque esta tcnica de modulacin puede
utilizarse para codificar la informacin para su transmisin,
su uso principal es permitir el control de la potencia
suministrada a los dispositivos elctricos, especialmente a las
cargas inerciales tales como motores. Adems, PWM es uno
de
los
dos
algoritmos
principales
utilizados
en fotovoltaicos cargadores de bateras solares.
Este pwm se utiliz para codificar los ngulos en los cuales
se hara el control deseado para que la esfera cuando
estuviera en cualquier parte de la barra se estabilizara en un
punto X de la barra, pero este debi antes haber pasado por
otro proceso el cual se denomina como una conversin
anlogo-digital (ADC) este es un conversor de una unidad
fsica a un nmero digital que representa la amplitud de la
cantidad, este se utiliz para poder convertir el voltaje
medido por el sensor en una medida digital para utilizar esta
medida en tiempo real para manejar la posicin de la barra
por medio del PWM el cual fue asociado a cada valor digital
del voltaje medido en la longitud de la barra.
La implementacin del cdigo de control se hizo en el
software de programacin ATMEL ESTUDIO.
Este entorno de programacin se presenta unas funciones y
registros que permiten por defecto utilizar las caractersticas
propias del microprocesador Atmega 16, donde por defecto
el puerto A es de entradas al ADC y el puerto B para trabajar
el PWM. Al utilizar estos registros es fcil activar comandos
que presentan una facilidad para trabajar el PWM y el ADC.

A continuacin se muestra el cdigo usado:

IV.

MATERIAL
SERVO MOTOR HITEC
HS -311
SENSOR
GP2Y0A21YK0F
CONECTOR SENSOR
MICROPROCESADOR
ATMEGA16 CON
BOARD
PROTOBOARD

#include <avr/io.h> //libreras


#include <util/delay.h>
int main(void)
{
DDRB=0x08; //Puerto B como salida PIN03 - OC0
TCCR0=(1<<WGM01)|(1<<WGM00)|(1<<COM01)|(1<<CS02)|(1<<
CS00);
//Fast pwm pre escalado a 1024 y no invertido
TCNT0=0;
//Es fast PWM porque se necesita alguna precisin en el
movimiento del servo.
ADMUX=(0<<REFS1)|(1<<REFS0)|(1<<ADLAR)|(0<<MUX4)|(0<<
MUX3)|(0<<MUX2)|(0<<MUX1)|(0<<MUX0);
//Activacin de los registros internos del micro controlador 8 bits
ADCSRA = (1<<ADEN) |(0<<ADSC)
|(0<<ADATE)|(1<<ADPS2)|(0<<ADPS1)|(1<<ADPS0);
while(1) //Ciclo infinito
{
for (uint8_t i=0; i<4; i++)
//Para que realice conversiones en 'tiempo real'
{
ADCSRA|=1<<ADSC|1<<ADEN;
//Actualizar registros
while ((ADCSRA & (1<<ADIF))==0);

if((ADCH>0x54)&&(ADCH<0x5C))
//voltaje entre 0.80 y 1.14
{
OCR0 = 36; //90
}
else if((ADCH>0x5C)&&(ADCH<=0x72))
//voltaje entre 1.14 y 1.53
{
OCR0 = 22; //0
}
ADCSRA |= (1<<ADIF);
ADMUX = (ADMUX & 0xE0) | i;
}

Cantidad
1
1
4
1-1
1

Tabla 2. Especificacin De materiales

V.
1.

RESULTADOS

PWM

Para obtener los valores utilizados para el control de


servomotor por medio de la programacin, fue de la siguiente
manera:
Por defecto de fabrica el servomotor trabaja a una frecuencia
de 50 Hz, por ende se escogi un valor pre escalado de 1024
por que se aproxima a la frecuencia de trabajo, adems de
que esta frecuencia se alcanzara con un pre escalado de
1250, el cual no est permitido ya que el Atmega16 es de 8
bits.
=

16
= 61.035
1024 256

(8)

Se toma un pre escalado de 1024 porque permite una mejor


precisin, ya que para este tipo de sistemas se necesita un
movimiento ms preciso al valor de grado.
El periodo del pulso est dado por:

}
}

MATERIALES

1
= 16.384

(9)

Relacionando estos valores con los dados por el fabricante,


se encuentran los siguientes porcentajes de error.
% =

% =

50 61.035
100
50
= 22.07%

(10)

20 16.384
100
20
= 18.08%

(11)

3.

Pruebas y simulacin

Los resultados en tiempo real se simularon en Proteus, se


muestran valores muy cercanos y reales a los esperados.
Donde el sensor se cambi por un potencimetro, y por el
puerto C del Atmega16 se aprecia el resultado del ADC en
leds.
Figura 9. Valor en tiempo del movimiento en grados

Partiendo la anterior imagen se hace una regla de 3 para


encontrar el valor en grados correspondientes al periodo para
introducir al Atmega para controlar el servomotor.
100%

(12)

Donde X es el valor en grados, T el periodo utilizado, y T


grados en valor del periodo de grados del datasheet.
=

(100)()

(13)

Grados

Valor terico

Valor experimental

-90

7.5

9.155

3.662

VI.

Para el valor de -90, 0 y 90 se utilizaron valores 36, 22, 9


respectivamente puesto que se notaban que eran los valores
ms lejanos donde el servomotor se alcanzaba un ngulo sin
terminar en un esfuerzo de est.

ADC

Debido a que el Atmega es de 8 bits, se utiliz la siguiente


formula:
=

256

ANALISIS DE RESULTADOS

Al momento de comprobar el funcionamiento del servomotor


se present cierto error puesto que se tuvieron que utilizar
unos valores diferentes:

90
12
14.664
Tabla 3. Valor en grados utilizados en el PWM
2.

Figura 10. Esquemtico de la simulacin en el software Proteus


donde los leds indican el sentido de giro del motor.

Con estos valores se procede a encontrar el periodo de


funcionamiento despejando T de la ecuacin 9 y encontrando
que la frecuencia de trabajo de la formula 5, se tiene que:

(14)

Donde Vin es el voltaje de entrada del sensor y Vref es 5V.


Este valor de ADC se guardara de manera virtual donde
equivale a una combinacin en binario de 8 bits, en el cdigo
utilizado por defecto el valor de la conversin se guarda en
el registro ADCH y este valor se puede utilizar para realizar
operaciones lgicas como se muestran en el cdigo para
determinar los intervalos de direccin del servomotor.

Valor en gados

Periodo de
trabajo (ms)

Frecuencia de
trabajo (Hz)

36 (-90)

6.857

145.83

22 (0)

6.818

146.67

9 (90)

6.667

150

Tabla 4. Valores real en grados utilizados

VII.

CONCLUCIONES

Se prob el sistema de forma manual, y se trat de equilibrar


la bola, a partir de lo cual se concluy que cuando la esfera
estaba muy cerca del punto deseado, haba que dar un ngulo
pequeo, para solo mover la bola un poco, pero debido a que
la bola a veces se frenaba, un ngulo demasiado pequeo no
la mova y uno mayor generaba un movimiento demasiado
grande para controlar, esto para romper la inercia de la esfera.
El control del servo, dependa proporcionalmente a la seal
enviada el sensor de proximidad, y este a su vez dependa del
ngulo de inclinacin de la barra angular, la cual contena la
esfera, donde se calcul un error aproximado para calibrar
estos, aunque en la prctica, el servo no mostro el error que
desebamos controlar.
Se llev a cabo la propuesta del sistema de lazo abierto que
se requera en esta implementacin de control, controlndose
con los voltajes requeridos para accionar el servo al ngulo
deseado.
Cuando se implement el lazo de control, lazo abierto, y
tomar el comportamiento deseado de acuerdo a los
modelados, se concluye que el sistema es controlable.
Este tipo de sistemas, son ideales para implementar en la
academia, ya que teniendo la nocin y experiencia de control
bsico como este, permite llegar a pensar y elaborar
modelados de sistemas dinmicos de tipos areos o
espaciales.

VIII.

REFERENCIAS

[1] https://www.academia.edu/9376466/BALL_and_BEAM
[2]
Atmel, 8 bit ACR microcontroller with 16K Bytes in system
programmable flash.
[3] SHARP datasheet sensor GP2Y0A21YK optoelectronic device.
[4] Sites Sistemas Dinmicos, Proyecto final Ball and Beam,
https://drive.google.com/viewerng/viewer?a=v&pid=sites&srcid=ZGVmY
XVsdGRvbWFpbnxzaXN0ZW1hc2RpbmFtaWNvc2luZ2VsZWN1cXxne
DoyNjI2OTU4OWQ1ZDZiY2Fj

Anda mungkin juga menyukai