Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente
-
Upload
carlos-sanchez-vicente -
Category
Engineering
-
view
124 -
download
7
description
Transcript of Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente
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