Microrobot RED BULL
Construcción de la
estructura
Diseño grafico
Realización en Gerber
Fresado en CNC
Aplicación de
separadores
Montaje de motores
Montaje de rueda
loca y ruedas
motrices
Diseño y construcción de la placa
base
Programador PIC
Control de motores con L293
Circuito de alimentación
Sensores CNY-70
Sensores GP2d12
Circuito de reset
Circuito del oscilador
Programador PIC
5
9
4
8
3
7
2
6
1
P1
D B9
JP 2
JU MP E R 1
R5
10K
R7
10K
SW1
R E SE T
R6
100
R8
1K
Q1
JP 1
BC 547
JU MP E R
R4
1K5
C3
D1
Q2
1N 4148
BC 547
X1
C
2 74p F
D2
4 M Hz
U1
1
2
3
4
5
6
7
8
9
10
27pF
11
12
13
14
M CL R / VP P
R A 0 /A N 0
R A 1 /A N 1
R A 2 /A N 2
R A 3 /A N 3 /V R E F
R A 4 /T O CK I
R A 5 /S S /A N 4
VSS
O S C1 / C L K IN
O S C2 / C L K OU T
R B7
R B6
R B5
R B4
R B3
R B2
R B1
R B 0 /I NT
VD D
VSS
R C7 / R X /D T
R C6 / T X /C K
R C0 / T 1 O S 0 /T 1 C K I
R C1 / T 1 O S 1 /C C P2
R C2 / C CP 1
R C5 / S D O
R C3 / S C K/ S C L
R C4 / S D I/ S DA
28
27
26
25
24
23
22
21
20
19
18
17
16
15
P IC 1 6 F 8 7 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 La programación del PIC se
realiza a través de RB6 y
RB7.
 A través de RB7 se
leen/escriben los datos.
 RB6 es la entrada de
sincronismo.
 La patilla 1 (MCLR/VPP)
predispone el PIC para ser
leído o programado.
J2
C ON 2 5
D4
D3
1N 4148
8V2
1N 4148
+
C5
100uF
+
C6
22uF
D5
5V1
D6
1N 4148
Control de motores con
L293B
Funcionamiento:
VC C
C5
U 2A
1
2
100Kp
RB 6
D8
1N 4007
40106
RC 2 - C CP 1
3
5V - 8V
4
5
6
U 2B
7
3
4
8
RB 4
1N 4007
EN 1
VSS
IN1
IN4
O UT 1
O UT 4
G ND
G ND
G ND
G ND
O UT 2
O UT 3
IN2
IN3
VS
EN 2
16
15
14
D 10
1N 4007
D 11
1N 4007
MOTOR
PWM2
13
12
11
D 12
10
1N 4007
D 13
1N 4007
9
JP6
40106
1
2
L293
RC 2 - C CP 1
JP5
1
2
U3
1
2
Conexión al PIC
D9
D 14
1N 4007
D 15
1N 4007
MOTOR
PWM1
Circuito de alimentación
1
CONMUTADOR
VI
VDD
U2
7805
VO
3
1
GND
1
2
U1
7808
GND
S1
JP1
VI
VO
VCC
3
C1
2
Batería
2
Regulación de los
12V. de la batería a
5V/8V
Condensador de
desacoplo lo más
cerca posible de la
entrada de los
integrados.
100KpF
Vs
Sensores CNY-70
Distancias y
colocación.
Esquema teórico del
sensor.
Conexión al PIC.
Sensores GP2D12
Funcionamiento de
los sensores.
Conexión al puerto
analógico del PIC.
Circuito de reset
Funcionamiento.
V CC
R6
Conexión al PIC.
10K
D7
1 N4 1 4 8
R ES E T
R5
SW 1 100
P UL S A DO RMIN
Oscilador 4Mhz
Funcionamiento.
Conexión al PIC.
C3
Y1
C4
27p
C RY S T A L
27p
V CC
C5
U2A
RB6
1
2
V DD
1
1
2
BATERI A
VI
VO
3
C4
P OW ER
C7
V CC
2
3
2 7p
CRYS T A L
J P5
2 7p
5 V /
1
2
U3
1 00 kP
Placa Base
1 N4 0 07
V CC
2
Y1
D9
1 N4 0 07
1
C3
D8
4 01 06
GN D
RE LO J
1 00 K p
U5
7 80 5
J P2 2
12 V
E1
E2
E3
4
5
6
U2B
RB4
7
3
4
J1
8
E N1
VSS
IN1
IN4
OUT1
OUT4
GND
GND
GND
GND
OUT2
OUT3
IN2
IN3
VS
E N2
16
15
D10
MO TO R
PW M2
D11
1 N4 0 07
14
1 N4 0 07
13
12
11
D12
10
D13
1 N4 0 07
1 N4 0 07
9
J P6
4 01 06
1
2
DB 9
5
9
4
8
3
7
2
6
1
L 29 3
D14
1 N4 0 07
R3
MO TO R
PW M1
D15
1 N4 0 07
V CC
R4
1 k5
U2C
6
J P7
5
1K
RA0 /
1
2
3
AN0
R8
J2
4 01 06
4
3
2
1
R9
D1
2 20
J P8
RA1 /
1
2
3
AN1
E5
E6
E7
1 N4 1 48
JUMPER
MCLR
E8
E9
E 10
D2
RA2 /
RA3 /
AN2
J P1 0
RA5 /
J P4
U4
U1
1
2
3
4
5
6
7
8
9
10
1 N4 1 48
AN3 / VREF
Q1
MCLR/V P P
RA 0/A N0
RA 1/A N1
RA 2/A N2
RA 3/A N3 /V REF
RA 4/T OCK I
RA 5/S S /A N4
VSS
OS C1 /CL KI N
OS C2 /CL KOUT
RB 7
RB 6
RB 5
RB 4
RB 3
RB 2
RB 1
RB 0/I NT
V DD
VSS
RC7/RX /DT
RC6/T X /CK
B C54 7
1
2
3
E / S
RB7
(RB3)
V CC
J P9
1
2
3
4 7k
JUMPER
11
12
13
14
AN4 / SS
RC0/T 1 OS0 /T 1 CKI
RC1/T 1 OS1 /CCP 2
RC2/CCP 1
RC5/S DO
RC3/S CK /S CL
RC4/S DI/ SDA
28
27
26
25
24
23
22
21
20
19
18
17
D7
D6
D5
D4
D3
D2
D1
D0
U2D
E
8
R/W
1
2
3
4
VO
J3
4 01 06
S2
RS
8
7
6
5
4
3
2
1
R11
2 20
L CD
E 12
E 13
S W DIP -4
JUMPER
4 7K
ALIMENTACIO N
E / S
(RB2)
V CC
16
V CC
R7
15
1 0K
P IC16 F87 3
T ru e
1
2
3
9
R10
U2E
10
11
V CC
C6
R12
J4
4 01 06
1 00 K p
RA4 /
J P2 3
2 20
1 0k
TOCK1
4
3
2
1
R13
R2
d6
D3
4 7K
1
2
3
+
C2
1 00 uF
+
8 V2
C1
D5
5 V1
2 2u F
E / S
D4
1 N4 1 48
1 N4 1 48
(RB1)
V CC
Q2
U2F
B C54 7
12
13
R14
J5
4 01 06
4
3
2
1
R15
2 20
4 7K
CK
/
V CC
RX / DT
(RB0)
V CC
SCK
R C6
/
/
TX
R C3
R6
E / S
RC7 /
Transm ision
R16
1 00 k
1 0K
/
C12
SCL
RC4 /
SDI / SDA
+
C11
P1
2 2 uF
RC5 /
1 N4 1 48
SD0
8
7
6
5
4
3
2
1
J P1 4
2
1
J P1 5
J P1 6
J P2 6
P ULS A DORMIN
T1OSO / T1CK 1
RC1 /
RC2 /
T1OS1 / CCP2
CCP1
BUS
I2C
SPI
C10
2 2 uF
2 2 uF
V CC
8
7
VC2C2+
C1V+
C1+
MA X2 3 2
C9
+
RC0 /
+
C8
4
3
2
1
S W 1 1 00
2
1
2
1
R5
+
RE SE T
1 00 kp
U6
D7
2 2 uF
V CC
GND
T 1OUT
R1I N
R10 UT
T 1I N
10
9
16
15
14
13
12
11
10
9
5
9
4
8
3
7
2
6
1
Programas y organigramas
Laberinto
Rastreador
Velocista
Laberinto
Objetivo de la prueba
de laberinto
Estrategia a seguir
Explicación del
organigrama
Configuración y Conversión
 Configuración de registros







movlw
movwf
movlw
movwf
clrf
movlw
movwf
b'00000110'
ADCON1
b'00001111'
TRISB
TRISA
b'11111001'
TRISC
;Configuracion DIG/ANA
;Puerta A E/S digitales
;Puerta B como salida
;RA4-RA0 salidas
laberfin.asm
Configuración de registros:
-Todas E/S del PuertoA digitales
-Puertos A y B como salidas
-RC1 y RC2 como salidas
Bucle
-Activamos ConversorA/ D
-Seleccionamos canal AN2
;RC2- RC3 salida
convAD
 Activación del conversor y
subrutina aplicada


movlw
movwf
b'10010001'
ADCON0
;Fijacion del canal para la conversion
;Fosc /32, canal AN2, ADC en On
ADRESH x b'11111000' = longitud
Canal AN2 corresponde al
sensor dirigido a la parte
frontal del robot
longitud - b'10000000' = w
Detección de la pared delantera
10cm
STATUS,Z = 0?
longitud - b'01111000' = w
No
11cm
STATUS,Z = 0?
Funcionamiento
de la detección
longitud - b'01110000' = w
No
12cm
STATUS,Z = 0?
longitud - b'01101000' = w
No
13cm
STATUS,Z = 0?
Subrutina
DERECHARRR
longitud - b'01100000' = w
No
14cm
STATUS,Z = 0?
longitud - b'01011000' = w
No
15cm
STATUS,Z = 0?
longitud - b'01010000' = w
STATUS,Z = 0?
No
16cm
No
DERECHARRR
Detección pared Izquierda
con1
Detección de la pared izquierda y
subrutinas de movimiento
3
c on 1
4
-A c tiv a m os C on v e rs o rA / D
-S e lec c ion a m o s c an a l A N 0
E l c an a l A N 0 c orre s po n d e a l
s en s o r s itu ad o a l la tera l
iz q u ierd o de l ro bo t
lo ng itu d - b '0 1 10 1 0 00 ' = w
13c m
S T A T U S ,Z = 0?
No
c on v A D
lo ng itu d - b '0 1 10 0 0 00 ' = w
A D R E S H x b'1 1 11 1 00 0 ' = lo n gitu d
lon g itud - b '1 0 0 00 0 00 ' = w
S T A T U S ,Z = 0?
1 0c m
14c m
No
D ERECH A
S T A T U S ,Z = 0 ?
No
lo ng itu d - b '0 1 01 1 0 00 ' = w
lon g itud - b '0 1 1 11 0 00 ' = w
15c m
B u c le
1 1c m
S T A T U S ,Z = 0?
No
A D E LA N T E
S T A T U S ,Z = 0 ?
No
B u c le
lon g itud - b '0 1 1 10 0 00 ' = w
1 2c m
lo ng itu d - b '0 1 01 0 0 00 ' = w
S T A T U S ,Z = 0?
S T A T U S ,Z = 0 ?
4
3
16c m
No
IZ Q U IE R D A
c o n2
B u c le
c on 2
lon g itud - b '01 0 01 0 0 0' = w
S T A T U S ,Z = 0 ?
No
lon g itud - b '01 0 00 0 0 0' = w
S T A T U S ,Z = 0 ?
No
lon g itud - b '00 1 11 0 0 0' = w
S T A T U S ,Z = 0 ?
No
lon g itud - b '00 1 10 0 0 0' = w
S T A T U S ,Z = 0 ?
Continuación de las
preguntas hasta el valor
digital correspondiente
a 80cm, después
realiza un bucle hasta
el inicio del programa
No
lon g itud - b '00 1 01 0 0 0' = w
S T A T U S ,Z = 0 ?
No
lon g itud - b '00 1 00 0 0 0' = w
S T A T U S ,Z = 0 ?
No
lon g itud - b '00 0 11 0 0 0' = w
S T A T U S ,Z = 0 ?
No
lon g itud - b '00 0 10 0 0 0' = w
S T A T U S ,Z = 0 ?
No
lon g itud - b '00 0 01 0 0 0' = w
S T A T U S ,Z = 0 ?
lon g itud - b '00 0 00 0 0 0' = w
S T A T U S ,Z = 0 ?
No
> = 8 0c m
No
IZ Q U IE R D A
Rastreador
B u c le
Subrutinas de
movimientos
simples
A D E LA N T E
DERECHA
H a b ilito los d os m oto re s en e l L 2 9 3
H a b ilito el m o tor iz qu ie rdo e n e l L 29 3
-M oto r d ere c h o a d ela n te
-M oto r iz qu ierd o a de lan te
-M oto r iz qu ierd o a de lan te
tiem p o s 1
tiem p o s 1
te m p o
te m p o
re turn
re turn
IZ Q U IE R D A
H a b ilito el m o tor d e rec h o en e l L 2 9 3
-M oto r d ere c h o a d ela n te
tiem p o s 1
te m p o
Atrás
re turn
Subrutinas de DERECHARRR y Conversión A/D
c o nv A D
D ERECH AR RR
L im p ia r w d t
H ab ilit o lo s do s m ot ore s e n e l L 2 93
T o d o e l P u e rto A c o m o e n tra da s
-M o t or d e re c ho a t ra s
-M o t or iz q u ie rd o ad e la nt e
t ie m p o s 2
C arg a d e t ie m p os
p a ra e l g iro e x a c t o d e
9 0 º (t e m p o riz ac io n d e
2 5 6x 2 5 6x 2
C on fig ura c ió n d e l P u e rto A c om o
e n trad a s a na lo gic a s
P IR 1 ,A D I F = 0
C on fig ura c ió n d e l flag
d e fin d e c on v e rs ió n
A D C O N ,G O = 1
In ic io d e la c o nv e rs ión
t e m po
I n h ab ilit o lo s do s m o t ore s e n el L 2 93
No
P IR 1 ,A D I F = 1?
t ie m p o s 3
t e m po
R ec o n fig u ra e l P ue rto A c o m o dig ital
re t u rn
Atrás
re tu rn
Inicio
Rastreador
Rastreador
Objetivo de la prueba
Estrategia a seguir
Organigrama
ra s trfin .a s m
Organigrama
principal
C on fig ura c ión d e reg is tros :
-T o d as E /S de l P u e rtoA dig itale s
-P u e rto s A y B c o m o s a lida s
-R C 1 y R C 2 c o m o s a lid a s
No
G iro a iz q u ierd a
c o n te m p oriz a c ió n
No
NB
R B 3 = 1?
NB
No
NB
R B 3 = 1?
No
R B 3 = 0?
NB
Configuración de
registros
No
NB
R B 3 = 0?
R B 3 = 1?
G iro a Iz qu ie rda
c o n te m p oriz a c ió n
No
NB
No
BN
R B 3 = 0?
R B 0 = 1?
Realización paso por
paso
No
BN
R B 0 = 0?
No
BN
R B 0 = 1?
Subrutinas NB, BN y
movimiento
No
BN
R B 0 = 0?
No
BN
R B 0 = 1?
No
BN
R B 0 = 0?
Primera parte
Inicio
No
1. Seguimiento de
Negro-Blanco para
detectar bifurcación en
RB3
2. Cambio de
programa, del negroblanco al blanco-negro
con un giro a
izquierdas temporizado
3. Seguimiento de
Blanco-Negro para
evitar la entrada de la
bifurcación contraria
No
BN
NB
RB0=0?
RB3=1?
No
No
BN
NB
RB0=1?
RB3=0?
No
BN
Giro a Izquierda
con temporización
RB0=0?
No
BN
4. Seguimiento de
Blanco-Negro para
evitar la salida de la
bifurcación contraria
1
RB0=1?
Segunda parte
Segunda parte
No
1
1. Seguimiento de BlancoNegro para detectar
bifurcación en RB0
2. Cambio de programa, del
blanco-negro al negroblanco con un giro a
derechas temporizado
3. Seguimiento de NegroBlanco para evitar la
entrada de la bifurcación
contraria
4. Seguimiento de NegroBlanco para evitar la salida
de la bifurcación contraria
NB
No
RB3=0?
BN
No
RB0=1?
NB
No
BN
RB3=1?
No
RB0=0?
NB
Giro a derchas
con temporización
RB3=0?
No
NB
Inicio
RB3=1?
Inicio
Subrutinas NB, BN y
movimiento
BN
NB
R B 2= 1?
R B 2= 0?
No
No
R B 1= 1?
R B 1= 0?
No
No
Iz quierda
D erec ha
R B 1= 0?
R B 1= 1?
No
Iz quierda
No
Iz quierda
D erec ha
D erec ha
A delante
A delante
return
return
I z qu ie rda
D e re c ha
A d e la n t e
H a b ilit a m os lo s d o s
m ot o re s en e l L2 9 3
H a b ilit a m os lo s d o s
m ot o re s en e l L2 9 3
H a b ilit a m os lo s d o s
m ot o re s en e l L2 9 3
-M ot o r d e rec h o ad e lan t e
-M ot o r iz qu ie rdo a t ra s
-M ot o r d e rec h o at ra s
-M ot o r iz qu ie rdo a d ela n t e
-M ot o r d e rec h o ad e lan t e
-M ot o r iz qu ie rdo a d ela n t e
re t urn
re t urn
re t urn
Velocista
Velocista
Objetivo de la prueba
Estrategia a seguir
Organigrama
Organigrama
principal
Velocfin.asm
Configuración de registros:
-Todas E/S del PuertoA digitales
-Puertos A y B como salidas
-RC1 y RC2 como salidas
RB2 = 1?
Configuración de
registros
Si
RB1 = 1?
Si
Subrutinas de
movimiento
No
derecha
No
izquierda
adelante
a de la nte
iz q u ierd a
d ere c h a
H a b ilito los d os m o tore s en e l L2 9 3
H a b ilito e l m o tor d e re c h o en e l L2 9 3
H a b ilito e l m o tor iz q uie rd o e n el L 2 93
-M oto r d e rec h o a d e la n te
-M oto r iz qu ierd o a de la nte
-M oto r d e rec h o a d e la n te
-M oto r iz qu ierd o a de la nte
re turn
re turn
re turn
Preguntas y respuestas
Sección de la presentación en
la que si algo no os ha gustado
podeis preguntarla.
Si veis que nos hemos quedado
mudos pedirnos que
cambiemos de diapositiva
Preguntas sin respuesta
No quiero ver reirse a nadie
(Fernando Remiro, si ves conveniente quitar estas 2 ultimas
diapositivas tienes todo el permiso)
Discurso sentimental
 Por primera vez en nuestra
vida, nos hemos sentido en
clase como en casa. Estoy
seguro de poder decir que nos
hemos juntado una de las
mejores clases, y no solo
como estudiantes, sino como
personas.
¡GRACIAS A TODOS!
Descargar

Microrobot RED BULL