Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proyecto de Microprocesadores y
ensambladores.
Robot Mini sumo Con Servomotores
Universidad del Valle, Diciembre 2008
CESAR FERNANDO NEIRA PEÑA 0325091, YEISON CASTAÑO 0330471
EVADIR OBSTACULOS
Palabras clave------Microcontrolador, sensor de distancia,
comunicación serial, servomotores, sensores ópticos, lenguaje El robot será capaz de desplazarse por un área con
ensamblador. obstáculos localizándolos a medida que avanza y evitando
chocarse con ellos.
SERVOMOTORES
PWM
Respecto al manejo de los temporizadores se
manejaron los registros asociados a cada uno, para el
temporizador 0 y 1 se tiene el registro TCON Y
TMOD :
Figura 5. Potenciómetro del servomotor
TCON:
Para otros valores rotara para la derecha (si se le pide
un ángulo mayor a 90°) o la izquierda (si se le pide
ángulo menor) de manera indefinida mientras el pulso
este presente ya que nunca tendrá una referencia para
saber que llego y que tiene que parar. Teniendo este
control sobre la dirección de la rotación ya se puede
manejar el movimiento del robot enviándole a cada De este registro lo único que se utilizara será los bits
llanta el pulso correspondiente al ángulo Φ que dará TR1 Y TR0 que se usan para que los contadores
el movimiento deseado. inicien la cuenta.
PROYECTO MICROPROCESADORES – ROBOT MINISUMO 4
M1 M0 MODO DE
OPERACIÓN
0 0 MODO 0
0 1 MODO 1
1 0 MODO 2
1 1 MODO 3
T2CON:
REGISTRO IE
correspondientes ET2 y ET0 que hacen referencia a comunicación serie estándar con niveles TTL a 9600
las interrupciones de los timers 2 y 0 baudios.
correspondientemente, las cuales se activan cada que
los contadores llegan a su cuenta máxima para los
modos que se están usando que es de tipo 16 bits la
cuenta máxima a la que se podrá llegar será FFFFH lo
que equivale a 32,767mseg que es suficiente para
cubrir el ciclo del PWM del servo que es de 20mseg.
SENSOR UTILIZADO
CARACTRERISTICAS GENERALES
Finalice
Tensión de alimentación 5Vcc FIGURA No 3. REGISTRO DE CONTROL DEL
Consumo típico de 4mA PUERTO SERIE.
Frecuencia ultrasónica de 40KHz
Control automático de ganancia RI bandera de interrupción de recepción.
Rango de medidas de 15 cm hasta 6 m TI bandera de interrupción de transmisión.
La comunicación serie con la que se controlo este RB8 es el noveno bit recibió en modo 2 y 3
sensor se explica a continuación: TB8 es el noveno bit a transmitir en modo 2 y 3
REN habilitación de la recepción
COMUNICACION SERIE SM2 habilitación del modo multiprocesador
SM0, SM1 especificación del modo de operación
MODO SERIAL DEL SENSOR SRF02
Para el proyecto se trabajo con el puerto serie en
Este modo de interfaz entre el SRF02 y el master es modo 1 el cual posee las siguientes características
seleccionado realizando la conexión de pines que se
muestra en la figura No 2, así se configura una Comunicación Full dúplex.
Asíncrono
PROYECTO MICROPROCESADORES – ROBOT MINISUMO 6
PARTE
X X X X X X X X
ALTA
COMPARAR
1 1 1 0 0 0 0 0
CON C0H
2. MODO SEGUIMIENTO DE LINEA Se usaron sensores CNY70 que son de tipo óptico
(Figura 9.)
El siguiente diagrama de flujo (diagrama de flujo
#4) presenta el funcionamiento de este modo en
manera general:
Figura 9. CNY70
SNY enviando al puerto del microcontrolador el primera fase que es la búsqueda del contrincante para esto
nivel correspondiente. se envía a los servos la señal correspondiente al
movimiento girar, y se pide al sensor frontal (SRF 02)
como se hizo en el modo esquiva obstáculo informe sobre
la presencia de un objeto en la cercanía (contrincante), pero
en vez de buscar esquivarlo después de encontrado se envía
la orden ir hacia él, cabe anotar que en este modo pelea, la
velocidad de los servomotores al girar es mucho menor que
la que tiene cuando emprende una envestida, esto para
darle tiempo al sensor de ultrasonido de ubicar
correctamente al contrincante y tomar la dirección correcta.
3. MODO PELEA:
4. SIMULACIONES
C1 U1
19 39
XTAL1 P0.0/AD0
38
P0.1/AD1
18p 37
P0.2/AD2
18 36
X1 XTAL2 P0.3/AD3
35
C2 CRYSTAL P0.4/AD4
18p
9
RST
P0.5/AD5
P0.6/AD6
P0.7/AD7
34
33
32
Figura 16. Diagrama esquemático robot mini sumo
21
P2.0/A8 A
22
P2.1/A9
23
P2.2/A10 B
29 24
PSEN P2.3/A11
30 25
ALE P2.4/A12 C
31 26
EA P2.5/A13
27
P2.6/A14 D
28
C3 P2.7/A15
10u 1 10
P1.0/T2 P3.0/RXD
2 11
P1.1/T2EX P3.1/TXD
3 12
P1.2 P3.2/INT0
4 13
P1.3 P3.3/INT1
5 14
P1.4 P3.4/T0
6 15
R1 7
P1.5 P3.5/T1
16
8K2 P1.6 P3.6/WR
8 17
P1.7 P3.7/RD
AT89C52
DBG_TRACE=0
330
10k
JMP ISR_INT_EXT0
ORG 000BH
JMP ISR_INT_CT0
ORG 0013H
Figura 16.2 Robot vista inferior.
JMP ISR_INT_EXT1
ORG 001BH
JMP ISR_INT_CT1
ORG 0023H
JMP ISR_INT_SERIAL
ORG 002BH
JMP ISR_INT_CT2
; DEFINICIÓN DE VARIABLES Y
CONSTANTES
Stop2:
SETB REN
MOV TMOD,#21H ;CT0 y CT1
temporizadores en modo 2 reviso2p:
MOV TH1,#0f3h ;Valor de
recarga para generar jb Ri,GUARDAp
MOV TL1,#0f3h ;9600 baudios
con 16 MHZ ajmp reviso2p
MOV TCON,#50H ;Se
habilita el temporizador CT1 GUARDAp:
MOV SCON,#40H
;Serial en modo 1. Recepcion CLR TI
deshabilitada MOV R4,SBUF
MOV PCON,#80H ;El CLR RI
bit SMOD se coloca en 1 (n=16) MOV PALTA,R4
CLR RI
CLR TI reviso3p:
sensor0p: jb Ri,GUARDA2p
mov SBUF,#00H ajmp reviso3p
reviso0p:
GUARDA2p:
jb Ti,RECIVAp
CLR TI
ajmp reviso0p
MOV R5,SBUF
MOV PBAJA,R5
RECIVAp:
CLR RI
MOV TMOD,#21H ;CT0 y CT1
temporizadores en modo 2 CJNE R4,#00H,SCAN1p
MOV TH1,#0f3h ;Valor de CJNE R5,#00H,sigap
recarga para generar
MOV TL1,#0f3h ;9600 baudios jmp scan1p
con 16 MHZ
MOV TCON,#50H ;Se sigap:
habilita el temporizador CT1
MOV SCON,#40H MOV 074H,072H
;Serial en modo 1. Recepcion MOV 075H,073H
deshabilitada MOV A,075H
MOV PCON,#80H ;El ORL 074H,A
bit SMOD se coloca en 1 (n=16)
PROYECTO MICROPROCESADORES – ROBOT MINISUMO 16
MOV A,EV1
MOV R2,#05H
CALL DELAY
CJNE A,#00H,SIGA4p
AJMP SCAN0p MOV IE,#0FFH
CLR IE1
CLR IE0
SIGA4p:
ANL 072H,#0FFH MOV R2,#05H
ANL 073H,#0C0H CALL DELAY
CALL GIRO1
MOV R4,PALTA
MOV R5,PBAJA MOV TH0,TH_PWM
; tomo decisión dependiendo de el dato MOV TL0,TL_PWM
entregado en el sensor MOV TH2,TH1_PWM
MOV TL2,TL1_PWM
CJNE R5,#00H,BOBADAp
AJMP SCAN1p
AJMP ATACARp
Finaliza el modo pelea.
BOBADAp: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV R7,#00H
PROYECTO MICROPROCESADORES – ROBOT MINISUMO 17
RET DEC R2
CJNE R2,#00,Ciclo
RET
AdelanteL:
MOV TH1_PWM,#0F5H
MOV TL1_PWM,#074H ;************************************
MOV TH1_PWM_B,#06EH ********************
MOV TL1_PWM_B,#04cH ;ISR DE LA INTERRUPCION EXTERNA 0
ISR_INT_EXT0:
MOV TH_PWM,#0F6H MOV R7,#02H
MOV TL_PWM,#13H MOV IE,#0FAH
MOV TH_PWM_B,#06DH RETI
MOV TL_PWM_B,#0ABH
;************************************
RET ********************
;ISR DE LA INTERRUPCION DEL
Adelante: CONTADO TEMPORIZADOR 0
MOV TH1_PWM,#0EEH
MOV TL1_PWM,#008H ISR_INT_CT0:
MOV TH1_PWM_B,#075H
MOV TL1_PWM_B,#0B8H MOV C,P2.0
JC P_BAJA
MOV TH_PWM,#0FDH
MOV TL_PWM,#0A8H MOV TH0,TH_PWM
MOV TH_PWM_B,#066H MOV TL0,TL_PWM
MOV TL_PWM_B,#018H SETB P2.0
MOV R6,#0FFH RETI
RET P_BAJA:
MOV TH0,TH_PWM_B
Atras: MOV TL0,TL_PWM_B
MOV TH_PWM,#0EEH CLR P2.0
MOV TL_PWM,#008H RETI
MOV TH_PWM_B,#075H
MOV TL_PWM_B,#0B8H ;************************************
********************
MOV TH1_PWM,#0FDH ;ISR DE LA INTERRUPCION EXTERNA 1
MOV TL1_PWM,#0A8H
MOV TH1_PWM_B,#066H ISR_INT_EXT1:
MOV TL1_PWM_B,#018H MOV R7,#02H
MOV IE,#0FAH
RET
Delay: RETI
MOV R0,#0FAH
MOV R1,#0C8H ;************************************
********************
Ciclo: ;ISR DE LA INTERRUPCION DEL
CONTADO TEMPORIZADOR 1
DEC R0
nop ISR_INT_CT1:
CJNE R0,#00H,Ciclo
MOV R0,#0FAH RETI
DEC R1
CJNE R1,#00H,Ciclo ;************************************
MOV R1,#0C8H ********************
PROYECTO MICROPROCESADORES – ROBOT MINISUMO 18
ISR_INT_SERIAL:
RETI Respecto a los sensores ópticos se debe tener
especial cuidado ya que las condiciones del
ambiente como la luz o las superficies que no es
;************************************ una constante pueden alterar la respuesta de los
******************** mismos de un momento a otro, para esto basta con
;ISR DE LA INTERRUPCION DEL una buena calibración dejando un rango aceptable
CONTADO TEMPORIZADOR 2 para evitar que sea demasiado sensible.
DB
0AAH,0AAH,0AAH,0AAH,0AAH,0 BIBLIOGRAFIA
AAH
Notas de clase, micropocesadores y
ensambladores 2008, Ing. Henry Jiménez
END ;FIN DE TODO EL PROGRAMA Rosero, Universidad Del Valle.
MCS®51 MICROCONTROLLER
FAMILY USER’S MANUAL, INTEL,
CONCLUSIONES febrero 1994, formato pdf.