robot automatizado - antonio josé blanco ropero y carlos sánchez vicente

Post on 22-Apr-2015

124 Views

Category:

Engineering

7 Downloads

Preview:

Click to see full reader

DESCRIPTION

Componentes del grupo: - Antonio José Blanco Ropero. - Carlos Sánchez Vicente El proyecto consiste en el diseño y la construcción total de un robot, que simula el funcionamiento de un automóvil. Navega de forma autónoma, realizando maniobras para esquivar obstáculos. También se produce el encendido de las luces que emulan a las del "coche fantástico" y cuando hay poca luminosidad, el encendido de las luces de corto del robot. En la fases de diseño y construcción realizamos tanto el software como el hardware que conforma el robot, además del testeo del correcto funcionamiento de cada uno de los componentes así como del total del robot.

TRANSCRIPT

Robot Automatizado

Índice:

• Estructura hardware del robot.

– PIC16f883 y funcionamiento del Driver L239D.

• Estructura Software del robot.

– Funcionamiento general.

– Subrutina de interrupción.

– Subrutina de comprobación.

– Puntualizaciones.

Estructura hardware del Robot

PIC16F883 y Driver L293D

Driver L239D Bit 15 (RC5) Bit 10 (RC4) Bit 2 (RC2) Bit 7 (RC7)

Adelante 0 1 0 1

Atrás 1 0 1 0

Giro Derecha 0 1 1 0

Giro Izquierda 1 0 0 1

• Bit Enable siempre a 1. • Para el funcionamiento de los motores configuramos los bits puestos en la tabla.

Estructura Software del Robot

Subrutina de interrupción

Subrutina “comprobar”

Puntualizaciones

• Inicialización del oscilador y de los puertos.

• Conversión A/D: Tad.

• Timer0.

• Variables cinterrup (tiempo del timer0 de 1s) y comprobante.

• Oscilador: lo inicializamos a 8MHz.

• Puertos:

-PORTA: como salidas (I/O digital).

-PORTB: como entradas (I/O digital), a excepción de RB5 (entrada analógica).

-PORTC: como salidas (I/O digital).

• Conversión A/D: (adcon0 y adcon1)

-Elección del Tad: elegimos 4 us. (>1.6 us)

-Selección del canal 13.

-Go/done=0, para que no se inicie la conversión.

-Justificación de los valores a la izquierda.

-Tensión de referencia Vdd y Vss.

• Timer0: (intcon y option_reg)

- Habilitación de la bandera t0if.

- Selección de la oscilación del timer0:

Seleccionamos un prescaler: 1:256

• Variables cinterrup y comprobante:

Seleccionamos un prescaler: 1:256 (timer0)

- cinterrup: la utilizamos para que la interrupción se produzca 30 veces y la conversion A/D cada 1s.

- Comprobante: variable que utilizamos para comprobar que ha finalizado un movimiento.

valor=50

top related