ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

COMPONENTES PARA REALIZAR LA MAQUETA DEL GIROPLAY

DayannafbTrabajo21 de Abril de 2017

1.323 Palabras (6 Páginas)351 Visitas

Página 1 de 6

COMPONENTES PARA REALIZAR LA MAQUETA DEL GIROPLAY.

  1. Madera de balso
  2. Pegamento de madera
  3. Silicona
  4. Alfileres
  5. Placa impresa para circuito
  6. Leds
  7. Resistencias
  8. Batería de 9V
  9. Capacitores
  10. Cables
  11. Motor a 12v

En primera instancia hay que tener en mente el modelo a seguir para realizar el prototipo, para así ir cortando cada parte de madera he ir pegándolas con su respectivo pegamento y en su orden correspondiente. Tratando de no dejar imperfecciones ya que por un desbalance puede ocurrir algún tipo de accidente.

La primera acción es que una vez ya está armada la base de madera en donde será el soporte del pic con su respectiva alimentación, procedemos a empalmar el eje del motor con la base lo más estable posible para que no hayan perturbaciones que afecten a las revoluciones.

[pic 1]

Una vez ya tenemos ensamblado el motor y la base de madera procedemos a fijar nuestra placa de circuito impreso con todos los elementos requeridos para el funcionamiento de nuestro circuito pov.

[pic 2]

Para este proyecto se usaron 2 PICs independientes, uno controla el GiroPlay y el otro se encarga del funcionamiento del Tacómetro.

GiroPlay.

El PIC de esta parte del proyecto está basado en un efecto visual llamado POV (Persistence Of Vision o Visión de Persistencia), descubierto por el científico belga Joseph Plateau que demuestra cómo una imagen permanece en la retina humana una décima de segundo antes de desaparecer completamente. La persistencia retiniana es una característica de nuestro ojo que provoca que las imágenes que se observan no se borren instantáneamente. Es una característica que hace que las imágenes que vemos queden guardadas por un instante en el cerebro.

El código de este PIC es simple solo es prender y apagar LEDs a una velocidad para que se produzca el efecto visual POV.

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

1

La figura anterior muestra un esquema de la forma en que se creó el código para la visualización de las imágenes en el GiroPlay, se usa una variable llamada “control” que se encarga de dar el tiempo que durará cada secuencia mediante el uso del ciclo “for”.

[pic 3]

En la imagen anterior se muestra el montaje físico del GiroPlay, se puede ver un integrado dedicado a la regulación de voltaje de referencia “7805” justo después de la fuente, este cumple la función de entregar 5 Volts y 1A al Pic, lo cual es suficiente para su funcionamiento. Se observa un pulsador que resetea al Pic por medio de una resistencia pull-up

Tacómetro Digital

[pic 4][pic 5][pic 6][pic 7][pic 8][pic 9][pic 10][pic 11][pic 12]

El anterior diagrama explica los bloque que componen el código del Tacómetro Digital, inicialmente se recibe una señal de un sen00sor la cual es recibida por el TMR0 del PIC, el cual está configurado como contador de eventos externos, este se incrementa cada 2 pulsos de señal. El valor anterior de la cuenta de pulsos del contador TMR0 es leído por medio de una interrupción de TMR1, este se encuentra programado para realizar una interrupción cada 500ms, se programa la interrupción a este tiempo para evitar que el TMR0 se desborde antes de obtener su valor y el valor de carga para el TMR1 se halla mediante la ecuación, “Tiempo = [(65536-carga) * PreScaler ] * Tinst”, “65536-62500=3036”, despejando la carga para un tiempo de 500ms, un PreScaler de 8 y Tinst 4/4Mhz.

La variable contador obtiene este valor de TMR1 y la convierte a RPM mediante, “contador=contador*2*60*2”, se observa que dentro de la conversión se tiene en cuenta que el TMR1 lee el valor de TMR0 cada 500ms por lo tanto se debe multiplicar por 2 para lograr 1s, también el TMR0 se incrementa cada 2 pulsos de señal debido a su configuración de “RTCC_DIV_2”, por ende se debe multiplicar nuevamente por 2 para lograr una equivalencia. Luego mediante el uso de una LCD se muestra el valor de la variable contador mediante el uso de la función “printf(lcd_putc, “ …”)” y la respectiva librería de la LCD. Para un mejor control de la LCD se emplea el oscilador interno del PIC y como al ser un frecuencia de trabajo relativamente baja no existen inconvenientes al usarlo, esto se logra por medio de la función “setup_oscillator(OSC_4MHZ|OSC_INTRC);”, lo que indica que se trabaja con un oscilador de 4MHZ.

Se hace uso de un bucle infinito mediante el ciclo while, para que este proceso se repita constantemente y el valor varié sin necesidad de un reseteo de PIC, es decir se adapte al cambio de los pulsos entrantes.

Como modo de prueba se programa una tarea de prender un LED conectado al Pin_B0, esto solo para corroborar el correcto funcionamiento del PIC.

[pic 13]

En la imagen anterior se muestra el montaje físico del Tacómetro Digital, se puede ver un integrado dedicado a la regulación de voltaje de referencia “7805” justo después de la fuente, este cumple la función de entregar 5 Volts y 1A al Pic y a la LCD, lo cual es suficiente para su funcionamiento.

Conclusiones:

En la realización del código para el Tacómetro Digital, se tuvieron inconvenientes con el reloj externo usado que era de 20MHz por lo tanto se agregó un condigo que programara el PIC y usara un reloj interno con un valor de 4Mhz. Se programó no para 20MHz como inicialmente sino para 4Mhz debido a que el PreScaler del Timer1 no acepta por encima de 8 por lo tanto en la ecuación no daba el valor para 500ms, por esto se usa un reloj de 4Mhz interno para evitar ese desbordamiento y no cause conflicto con la LCD. Se programa la interrupción de Timer1 a 500ms debido a que se desbordaba el Timer0 antes de leer su valor.

ANEXOS

CODIGO TACOMETRO DIGITAL:

#include <16f887.h>

#use delay(clock=4M)

#fuses INTRC,NOWDT,NOPROTECT,NOLVP,noPUT,NODEBUG,BROWNOUT,NOCPD,NOWRT,nomclr

#include

int16 pulsos=0; //inicializa y declara la variable contador

#int_timer1

void timer1_isr(void) //Función de interrupción por desbordamiento TMR1

{

   pulsos=get_timer0(); //Lee el valor actual del Timer0;

   pulsos=pulsos*2*120; //COmo el RTCC_DIV_2 entonces se multiplica 60*2

   //printf(lcd_putc, "\f %6lu rpm",pulsos); //escribe en la LCD

   clear_interrupt(int_timer0);

   set_timer0(0); //fija el valor inicial de la cuenta en 0

   clear_interrupt(int_timer1);

   set_timer1(3036); //carga del TMR1

}

void main()

{

   setup_oscillator(OSC_4MHZ|OSC_INTRC);  // Configuracion y Uso del Reloj interno del PIC

   set_tris_b(0);                         //Puerto B como salida

   output_high(PIN_b0);                      //Prueba de Funcionamiento del PIC

   

   setup_timer_0(rtcc_ext_h_to_l | rtcc_div_2); // timer0 como contador | RTCC_DIV_2 se incrementa el Timer cada que oprime 2 veces el pulsador

...

Descargar como (para miembros actualizados) txt (12 Kb) pdf (456 Kb) docx (230 Kb)
Leer 5 páginas más »
Disponible sólo en Clubensayos.com