Transcript
Page 1: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

Robot Automatizado

Page 2: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

Í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.

Page 3: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

Estructura hardware del Robot

Page 4: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

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.

Page 5: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

Estructura Software del Robot

Page 6: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

Subrutina de interrupción

Page 7: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

Subrutina “comprobar”

Page 8: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

Puntualizaciones

• Inicialización del oscilador y de los puertos.

• Conversión A/D: Tad.

• Timer0.

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

Page 9: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

• 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).

Page 10: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

• 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.

Page 11: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

• Timer0: (intcon y option_reg)

- Habilitación de la bandera t0if.

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

Seleccionamos un prescaler: 1:256

Page 12: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

• 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.

Page 13: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

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

valor=50

Page 14: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente
Page 15: Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente

Top Related