Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informtica Electrnica
Proyecto de Aplicacin:
Grupo N 10
Integrantes:
Ao: 2012
Introduccin
Se plantea como proyecto de aplicacin la implementacin de un display de
persistencia de la visin radial para montaje en ruedas de bicicleta.
El presente informe describe la solucin de del proyecto de aplicacin implementada
con el microcontrolador MC9S08QE8 montado el la placa de desarrollo DEMOQE.
Si se tiene una tira de leds a la cual se le puede variar el patrn con el que se
encienden instante a instante y esta se desplaza rpidamente con respecto al
observador, este percibir una imagen fija en el espacio determinada por el patrn de
control de los leds.
Ejemplo:
Km
V fullPOV = 22.5
h
1 2 R
V = R = 2 f R T fullPOV = = = 326 ms
f fullPOV V fullPOV
2 2 2
V V V fullPOV m
ar = R = R =
2
arfullPOV = 2 R = = 122,07 2 = 12,46 g
R R R s
Posibles Soluciones
Acelerometro
a y = at + g cos t
ar
ar = 2 R =
R
ar
= 0 + dt = dt
R
ay = g
Por ende se puede utilizar esta condicin para detectar que la rueda se
encuentra el ngulo cero y as a partir de ese instante integrar y calcular
instantneamente el ngulo.
Otra forma de calcular los instantes en los que se cambia el patrn de leds
usando estos mismos conceptos es computar solo y conocer n (numero de patrones
o rayos distintos de la imagen a mostrar). Luego, cuando se detecta la condicin de
ngulo cero se inicia un contador (CNT) que, cuando alcanza un valor de cuenta
Trot 1 2
CNTray = Tray = = =
n n f rot n
Esta solucin tiene mucho potencial ya que este dispositivo podria montarse en
cualquier elemento rotante y sin hacerle modificaciones al mismo y funcionar siempre y
cuando se culpan las condiciones antes mencionadas.
Sensor Magntico
Si se coloca en el dispositivo un sensor o switch de efecto hall y un imn en el
cuadro de la rueda (angulo cero) se puede detectar el instante en el que la rueda da
una vuelta completa.
Cada vez que la rueda da una vuelta se inicia un temporizador y a la siguiente
vuelta se lee el valor del mismo, dicho valor es el periodo T con el que la rueda gira el
cual se actualiza en cada vuelta.
Ahora, si se tiene una imagen, al igual que en el caso anterior, que cambia el
patrn de la tira de leds en n ngulos distintos (n sectores circulares distintos p ) y
CNT es el valor actual del contador, entonces:
CNT
p=
(T / n)
Por lo que se puede determinar fcilmente que patrn de leds debe mostrarse
en cada instante.
Este mtodo es muy simple pero implica agregar elementos al medio donde se
va a instalar el dispositivo.
T fullPOV
t = 2.55ms
128
T fullPOV Km
t = 0.5ms Vmax = V fullPOV = 31.83
128t h
Tiempos de este orden pueden ser contabilizados por el RTC pero solo tiene 8
bits, por lo que puede contar hasta
El circuito esta diseado para consumir aproximadamente 10ma por led por lo
cual, para 2 pilas de 1000mah y despreciando el consumo del micro, el sistema podra
funcionar durante:
ma
2 x1000
t max = h = 12.5h
16 x10ma
Implementacion de la solucin
A continuacin se muestran las funciones empleadas, las cual estn
detalladamente comentadas.
Definiciones de variables
////////////////////////////////////////////////////////////////
// ICS_FEI
//--------------------------------------------------------------
// intitializes ICS for FEI mode with DCOH
////////////////////////////////////////////////////////////////
void ICS_FEI() {
ICSC1 = ICSC1_FEI;
ICSC2 = ICSC2_FEI;
ICSSC = ICSSC_FEI;
while (ICSC1_CLKS != ICSSC_CLKST) {}
// wait for clk state to match clk select
}
Inicializacin de perifricos
////////////////////////////////////////////////////////////////
// PeriphInit
//--------------------------------------------------------------
// Initializes various registers and peripherals
////////////////////////////////////////////////////////////////
void PeriphInit(void)
{
// Disables COP and Enable STOP instruction and RESET and BKGD
pin
SOPT1 = 0x23;
////////////////////////////////////////////////////////////////
// Display
//--------------------------------------------------------------
// Muestra en los leds bit a bit el int ingresado
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
// ReadMag
//--------------------------------------------------------------
// Lee la tension del sensor magnetico, la convierte y almacena
////////////////////////////////////////////////////////////////
word ReadMag(void)
{
byte adc;
adc=ADCRL;
return adc;
////////////////////////////////////////////////////////////////
// ReadPeriod
//--------------------------------------------------------------
// Obtiene el periodo de rotacion de la rueda
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
// MAIN
//--------------------------------------------------------------
// Entry point
////////////////////////////////////////////////////////////////
void main(void){
for(;;){
ReadPeriod(); //calculo del periodo
//fin informatica
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//semiplano ingferior
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//E
0xFF,
0xDB,
0xC3,
//espacio
0x00,
//L
0xFF,
0xC0,
0xC0,
//espacio
0x00,
//E
0xFF,
0xDB,
0xC3,
//espacio
0x00,
//C
0xFF,
0xC3,
0xC3,
//espacio
0x00,
//T
0x03,
0xFF,
0x03,
//espacio
0x00,
//R
0xFF,
0x33,
0xCF,
//espacio
0x00,
//O
0xFF,
0xC3,
0xFF,
//espacio
0x00,
//N
0xFF,
0x0C,
0x30,
0xFF,
//espacio
0x00,
//I
0xC3,
0xFF,
0xC3,
//espacio
0x00,
//C
0xFF,
0xC3,
0xC3,
//espacio
0x00,
//A
0xFC,
0x33,
0xFC,
// fin eca
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
Interrupcion del RTC
}
Resultados obtenidos
Para poder probar el sistema se fijo con precintos el kit a la rueda de una
bicicleta, luego la placa de leds con el sensor y se conectaron mediante el bus antes
mencionado.
Por ultimo se tomaron fotos con una cmara con diafragma abierto para poder
apreciar el efecto de persistencia de la visin.
Posibles mejoras al sistema
Impresin de la velocidad de la bicicleta.
Interfaz serie para el ingreso de textos a imprimir.
Interfaz serie para el ingreso de imgenes radiales.
Interfaz serie para el ingreso y conversin imgenes a imgenes radiales.
Multiplexado de los puertos para agregar tiras de leds y reducir la velocidad
mnima para que el sistema funcione correctamente.