Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MICROPROCESADORES II
La Paz – Bolivia
Julio – 2020
INDICE
INTRODUCCIÓN ............................................................................................................ 1
PLANTEAMIENTO DEL PROBLEMA ..................................................................... 2
JUSTIFICACIÓN ......................................................................................................... 3
OBJETIVOS DEL PROYECTO .................................................................................. 4
GENERAL ................................................................................................................ 4
ESPECÍFICOS .......................................................................................................... 4
DELIMITACIONES ........................................................................................................ 5
TEMPORAL ................................................................................................................. 5
ESPACIAL ................................................................................................................... 5
TEMÁTICA .................................................................................................................. 5
CAPÍTULO I .................................................................................................................... 6
1. MARCO TEÓRICO .................................................................................................. 6
TEORÍA SOBRE LA COMPUTADORA BÁSICA ........................................................ 6
1.1. CARACTERÍSCTICAS .................................................................................... 6
1.2. CODIFICACIÓN ............................................................................................... 7
CAPÍTULO II ................................................................................................................. 12
2. MARCO TEÓRICO ................................................................................................ 12
TEORÍA SOBRE PERIFÉRICOS DE ENTRADA Y SALIDA.................................... 12
2.1. DETECTOR DE OBSTÁCULOS IR .............................................................. 12
2.2. MÓDULO RELÉ ............................................................................................. 13
2.3. PUENTE H DOBLE L298N ............................................................................ 14
CAPÍTULO III ............................................................................................................... 17
3. MARCO TEÓRICO ................................................................................................ 17
TEORÍA SOBRE EL GRABADOR DE MEMORIA 28C64B ..................................... 17
CAPÍTULO IV ............................................................................................................... 21
4. ALGORITMO ......................................................................................................... 21
CAPÍTULO V................................................................................................................. 24
5. CÓDIGO ................................................................................................................. 24
CAPÍTULO VI ............................................................................................................... 32
6. EJECUCIÓN DEL PROYECTO ............................................................................ 32
6.1. ESTRUCTURA ORGÁNICA DEL PROYECTO .......................................... 32
6.2. INFRAESTRUCTURA ................................................................................... 35
6.3. ASPECTOS FINANCIEROS .......................................................................... 41
6.3.1. COSTO TOTAL POR COMPONENTES ................................................ 41
CONCLUSIONES .......................................................................................................... 43
BOBLIOGRAFÍA .......................................................................................................... 44
INTRODUCCIÓN
Aunque parezca cosa del futuro, cada vez son más los que optan por incorporar algún
electrodoméstico inteligente para su casa.
A este concepto se lo conoce con el nombre de Internet de las Cosas, un término del
que seguramente ya se ha oído hablar mucho a lo largo de estos últimos meses.
Y es que el futuro de los hogares inteligentes está más cerca de lo que pensamos.
1
PLANTEAMIENTO DEL PROBLEMA
Debido a la reciente crisis por COVID 19 muchas personas prefieren evitar salir de sus
hogares y realizar su trabajo de forma remota. El personal de limpieza de muchas
empresas también se vio afectado por esta crisis, y los ambientes se encuentran
empolvados o sucios y no hay personal suficiente para realizar el aseo.
Una manera de facilitar este trabajo sería con aspiradoras automáticas, pero actualmente
el mercado de electrodomésticos está más elevado y adquirir este equipo es muy caro.
Además que es cada día más necesario poder controlar los electrodomésticos mediante
el celular.
2
JUSTIFICACIÓN
A medida que la tecnología avanza, cada vez la gente hace mayor uso de los
electrodomésticos controlados por celular, pues cada vez el celular está siendo más
utilizado para realizar otras actividades, así que la sociedad no solo acepta la tecnología,
sino que la requiere.
3
OBJETIVOS DEL PROYECTO
GENERAL
ESPECÍFICOS
Crear un dispositivo electrónico que logre desplazarse en dos ejes mediante motores DC
con caja de reducción.
Crear un programa para que la computadora básica sea el cerebro controlador del
dispositivo electrónico.
4
DELIMITACIONES
TEMPORAL
ESPACIAL
Este proyecto está planificado para ambientes cerrados como oficinas, tiendas, galerías
entre otros. De preferencia debe ser lugares planos donde se pueda desplazar. No es
recomendable utilizarlo para exteriores debido a la potencia de los motores DC en las
llantas.
TEMÁTICA
5
CAPÍTULO I
1. MARCO TEÓRICO
1.1.CARACTERÍSCTICAS
La placa que se utilizó de cerebro para el presente proyecto es una computadora básica
en base al microprocesador MC6802. Esta placa es un entrenador que cuenta con
entradas digitales y un puerto serie para comunicación RS232.
Para continuar con la explicación es necesario dimensionar los espacios utilizados para
la memoria de trabajo (RAM) y memoria de programa (ROM), además de las
direcciones de los registros de configuración de puertos y dirección de los mismos
Las líneas rojas representan la manera en la que el microprocesador activa cada una de
las memorias y de las interfaces asignándoles direcciones específicas. Si el
decodificador recibe una combinación a su entrada binaria a su entrada, éste solo
activará una salida correspondiente a alguna memoria o interfaz.
6
interfaz o enviar datos a la misma, de igual manera con la memoria RAM. Sin embargo
sólo puede leer datos de la memoria ROM, y no escribir datos en ella
1.2.CODIFICACIÓN
Es muy recomendable saber qué hace cada una de estas instrucciones y la combinación
de las mismas, por lo cual a continuación se hará énfasis en la forma de utilizar las
instrucciones del microprocesador Motorola 6800-6802 en un sistema de computador
básico.
7
8
9
Una forma de realizar proyectos de manera sencilla utilizando las instrucciones
anteriormente mostradas, es logrando realizar algoritmos e interpretarlos en lenguaje
ensamblador; por lo cual el objetivo de este material es interpretar mediante nemónicos
y código los algoritmos aprendidos anteriormente. A continuación se muestra los
elementos principales de un algoritmo.
PROCESO
CONDICIONAL
CICLO
SUB FUNCION
ENTRADA O SALIDA
CONECTOR O SALTO
INICIO O FINAL
10
El algoritmo más sencillo es el que solo contiene procesos sencillos de realizar.
Una vez elaborado el algoritmo, con las instrucciones disponibles se puede traducir el
algoritmo elaborado en nemónicos y códigos del microprocesador 6800, o de algún otro
lenguaje o procesador.
11
CAPÍTULO II
2. MARCO TEÓRICO
Los detectores de obstáculo suelen proporcionarse con una placa de medición estándar
con el comparador LM393, que permite obtener la lectura como un valor digital cuando
se supera un cierto umbral, que se regula a través de un potenciómetro ubicado en la
placa.
12
Pese a esta limitación son ampliamente utilizados para la detección de obstáculos en
pequeños vehículos o robots. Su bajo coste hace que sea frecuente ubicarlos en el
perímetro, de forma que detectemos obstáculos en varias direcciones.
También son útiles en otro tipo de aplicaciones como, por ejemplo, detectar la presencia
de un objeto en una determinada zona, determinar una puerta está abierta o cerrada, o si
una máquina ha alcanzado un cierto punto en su desplazamiento.
2.2.MÓDULO RELÉ
Controlar un módulo de relé es lo mismo que controlar cualquier otra salida digital. El
consumo de corriente de una de sus entradas es el mismo que se necesita para encender
un led.
13
Un optoacoplador posee una entrada de dos pines (1 y 2 en el diagrama) que conectan a
un led (diodo emisor de luz) y una salida de dos pines que conectan a un fototransistor
(3 y 4 en el diagrama). El encendido del led pone en conducción al fototransistor, lo que
cierra circuito entre su colector (pin 4) y su emisor (pin 3). Lo más importante del
funcionamiento es que no hay contacto eléctrico entre entrada y salida. El único
contacto es la luz emitida por el led, lo que implica una aislación muy elevada entre
entrada y salida (en el orden de los 5000V), protegiendo las entradas (en este caso
conectadas a un microcontrolador) ante cualquier riesgo de alto voltaje producido en el
área de salida.
El módulo de relé de la foto del principio de este artículo tiene dos canales (los relé son
las piezas azules). Hay otros modelos con uno, cuatro, ocho y hasta dieciséis canales.
Este módulo debe ser alimentado con 5V.Hay otros módulos de relé que funcionan con
3,3V, ideal para ESP32, ESP8266 y otros microcontroladores, y también hay modelos
de 12V.
El rango de tensiones en el que trabaja este módulo va desde 3V hasta 35V, y una
intensidad de hasta 2A. A la hora de alimentarlo hay que tener en cuenta que la
14
electrónica del módulo consume unos 3V, así que los motores reciben 3V menos que la
tensión con la que alimentemos el módulo.
Además el L298N incluye un regulador de tensión que nos permite obtener del módulo
una tensión de 5V, perfecta para alimentar nuestro Arduino. Eso sí, este regulador sólo
funciona si alimentamos el módulo con una tensión máxima de 12V.
Si el jumper del regulador está cerrado activaremos el regulador de tensión del L298N,
y en V lógico tendremos una salida de 5V, que podremos usar para lo que queramos,
por ejemplo para alimentar una placa Arduino.
15
Además el regulador sólo funciona con tensiones hasta 12V en Vin, por encima de este
valor tendremos que quitar el jumper y alimentar la parte lógica del módulo desde otra
fuente.
El resto de conexiones se usan de una u otra forma dependiendo si vamos a manejar dos
motores de continua o un motor paso a paso. En esta sesión nos vamos a centrar en el
control de motores DC.
Las salidas para los motores A y B nos darán la energía para mover los motores. Tened
en cuenta la polaridad al conectarlos, para que cuando más tarde hagamos que se
muevan adelante, funcionen como deberían. Si no fuera así, no tendríamos más que
invertir las conexiones.
Los pines IN1 e IN2 nos sirven para controlar el sentido de giro del motor A, y los
pines IN3 e IN4 el del motor B. Funcionan de forma que si IN1 está a HIGH e IN2 a
LOW, el motor A gira en un sentido, y si está IN1 a LOW e IN2 a HIGH lo hace en el
otro. Y lo mismo con los pines IN3 e IN4 y el motor B.
Para controlar la velocidad de giro de los motores tenemos que quitar los jumpers y usar
los pines ENA y ENB de forma que le enviemos un valor entre 0 y 255 que controle la
velocidad de giro. Si tenemos los jumpers colocados, los motores girarán a la siempre a
la misma velocidad.
16
CAPÍTULO III
3. MARCO TEÓRICO
Para poder grabar código en una memoria EEPROM paralela, es necesario recurrir a su
hoja de datos para saber que pines utilizar y que secuencia.
En este caso se utiliza una memoria 28C64B, la cual tiene el siguiente patillaje
Se puede apreciar que solo existe un pin de lectura y un pin de escritura y el resto son
pines de direcciones y datos. A continuación se muestra la manera en que se realiza la
lectura y escritura en esta memoria.
17
18
Ambos casos son muy similares, para leer un dato, el pin OE debe estar en bajo y WE
en alto. En este instante la EEPROM mostrará en sus pines de datos (pines de salida) lo
que hay en el contenido donde sus pines de dirección (pines de entrada) indiquen.
En el caso de escritura el pin WE debe cambiar de 1 a 0 por cada escritura, y debe pasar
un cierto tiempo (1 a 5 ms) para realizar la escritura. En ese instante lo que le llegue a
los pines de datos (pines de entrada) será lo que guarde en la dirección indicada por los
pines de dirección (pines de entrada).
Para poder realizar un grabador, se debe usar un microcontrolador que tenga suficientes
pines de direcciones, o utilizar un contador binario TTL para ahorrar en pines de
direcciones.
De esta manera se realizó un grabador en base a una tarjeta ARDUINO UNO, pues tiene
los pines suficientes para controlar un contador binario y los pines de datos, además de
los pines de control. Arduino tiene la facilidad de comunicarse con una computadora a
través de su puerto USB-TTL incorporado que en este caso servirá para transferir los
datos desde una computadora hasta el ARDUINO.
Este grabador consta de un contador 4040 para las direcciones, y el resto de pines de
datos y control irán directamente a los pines del Arduino. Para que se pueda ver si el
grabador está funcionando se adicionaron leds que sirven de guía. Estos se encienden
cada vez que se realiza una escritura y lectura.
19
Una vez se crea la placa conectada al ARDUINO, se creó un software el visual basic
para poder darle órdenes al Arduino de encender y apagar bits, de modo que haga que el
contador de las direcciones correctas y entregue el dato correcto.
20
CAPÍTULO IV
4. ALGORITMO
21
Para la aplicación del celular se utilizó el software AppInventor, el cual es un software
que crea bloques como algoritmo.
El algoritmo hace que cada que se presiona una tecla, mediante bluethooth envíe un
carácter con el número que indica la tecla. Queda de la siguiente manera:
22
Implementado en el celular queda del siguiente modo.
23
CAPÍTULO V
5. CÓDIGO
clra
staa crb ;ingresar a configuracion pines pb
ldaa #%11111111 ;
staa pb ; pb como salida
ldaa #04 ;no hay interrupciones
staa crb ;salir de configuracion pines pb
24
;-----------parametros ACIA-------
ldaa #03 ;reset ACIA
staa cr
ldaa #%00010110 ; desactivada interrupcion, desactivado RTS en bajo, 8
bits, no paridad, 1 bit stop, division frecuencia 64 (equ a 9600 baudios con cristal
11,0592 MHz)
staa cr
;----------parpadeo de led--------------
ldaa #03
staa cont
for_cont3:
ldaa #%10000000
staa pb
jsr delay_500m
clr pb
jsr delay_500m
dec cont
bne for_cont3
;-----principal-----
clr var
clr cont
clr pa
bucle:
jsr leer_ps
ldaa var
cmpa #01
beq derecha
cmpa #02
beq izquierda
cmpa #03
beq arriba
cmpa #04
25
beq abajo
cmpa #05
beq ini_s
cmpa #06
beq fin_s
cmpa #07
beq encen
cmpa #08
beq apag
bra bucle
apagar:
clr pb
bra bucle
derecha:
ldaa var
staa cont
ldaa pa
anda #%00000001
bne apagar
ldaa #01
staa pb
jmp bucle
izquierda:
ldaa var
staa cont
ldaa pa
anda #%00000010
bne apagar
ldaa #02
staa pb
jmp bucle
arriba:
ldaa var
staa cont
26
ldaa pa
anda #%00000100
bne apagar
ldaa #04
staa pb
jmp bucle
abajo:
ldaa var
staa cont
ldaa pa
anda #%00001000
bne apagar
ldaa #08
staa pb
jmp bucle
ini_s:
ldaa pa
anda #%00010000
beq apagar
jmp secu
fin_s:
jmp fin
encen:
ldaa #%10000000
staa pa
ldaa cont
staa var
jmp bucle
apag:
clr pa
ldaa cont
staa var
jmp bucle
secu:
27
jsr delay_5s
ldaa #%10000000
staa pa
etapa1:
jsr leer_ps
ldaa var
cmpa #06
beq fin_s
ldaa #01
staa pb
ldaa pa
anda #%00000001
beq etapa1
ldaa pa
anda #%00000100
bne etapa3
ldaa #04
staa pb
jsr delay_500m
etapa2:
jsr leer_ps
ldaa var
cmpa #06
beq fin_s
ldaa #02
staa pb
ldaa pa
anda #%00000010
beq etapa2
ldaa pa
anda #%00000100
bne etapa3
ldaa #04
staa pb
28
jsr delay_500m
bra etapa1
etapa3:
jsr leer_ps
ldaa var
cmpa #06
beq fin
ldaa pa
anda #%00010000
bne fin
ldaa #01
staa pb
ldaa pa
anda #%00000001
beq etapa3
ldaa pa
anda #%00001000
bne etapa4
ldaa #08
staa pb
jsr delay_500m
etapa4:
jsr leer_ps
ldaa var
cmpa #06
beq fin
ldaa pa
anda #%00010000
bne fin
ldaa #02
staa pb
ldaa pa
anda #%00000010
beq etapa4
29
ldaa pa
anda #%00001000
bne etapa3
ldaa #08
staa pb
jsr delay_500m
bra etapa3
fin:
clr pb
clr pa
clr var
clr cont
jmp bucle
;----------subrutinas--------------------
leer_ps:
ldaa sr
anda #01
bne leer
rts
leer:
ldaa ps
suba #48
staa var
rts
;------------------------------------
delay_5s:
ldaa #10
staa $0012
for_5s:
jsr delay_500m
dec $0012
bne for_5s
30
rts
;-------------------------------
delay_500m:
rts ;(i)5~
;(f+e)x256=2560
;~t=b+c+d+(h+g+2560)x194+i=498600~
31
CAPÍTULO VI
También se tendrá la opción de recorrido automático activado por el celular. Con esta
opción la aspiradora hará un recorrido de izquierda a derecha y de arriba abajo. Cuando
un obstáculo sea detectado por los sensores de proximidad, la aspiradora cambiará de
ruta y de esa manera podrá limpiar todo el ambiente.
Hay un quinto sensor, un sensor magnético, el cual se situará al inicio del recorrido.
Cuando la aspiradora retorne al punto de inicio, el sensor avisará que el recorrido ha
terminado y se apagará la aspiradora.
33
Circuito de módulo relé
34
Circuito de la computadora básica
6.2.INFRAESTRUCTURA
35
El segundo modo es el automático: Mediante el celular se mandará a la aspiradora a
realizar un recorrido automático. Para ello se debe situar el sensor magnético en un punto
de partida. El recorrido de la aspiradora será en dos ejes (x, y) y cada que esté a punto de
llegar a un obstáculo cambiará de ruta, siguiendo el recorrido que se muestra en la figura.
Una vez llega al final de su recorrido, retornará al inicio y se detendrá.
36
En este modo, ya no se puede mover la aspiradora de forma manual hasta que acabe su
recorrido. Pero mediante el celular se puede interrumpir el recorrido automático.
Para esta ocasión, se hará una simulación del funcionamiento del proyecto. Se utilizará
un simulador diseñado en Visual Basic 6.0
Este simulador cuenta con un COM virtual, al cual en forma física representa al puerto
serial.
37
Además cuenta con un visor de memoria RAM para poder apreciar los cambios que
tienen las variables del código del proyecto. Sin embargo solo se podrá visualizar las
salidas de los puertos como leds encendidos y apagados. Esto no ayuda a la
visualización del proyecto por los sensores que tiene, ni en el modo de recorrido
automático que tiene. Este simulador no cuenta con ningún componente electrónico para
ser simulado.
Para poder realizar la simulación del proyecto se hará una modificación al código del
simulador, para poder incorporar de forma gráfica un carro que haga un recorrido en
una habitación.
Cuando las coordenadas del cuadrado pequeño se acerquen a las coordenadas de los
lados del cuadrado grande esto debe representar la activación de los sensores de
proximidad. Finalmente hay un cuadrado color lila que representará a una pieza del
sensor magnético, cuando el cuadrado del medio se aproxime a las coordenadas de este
pequeño cuadrado, debe representar la activación del sensor magnético. Para ello se
hará uso del elemento “timer” el cual debe cambiar la posición del cuadrado aspiradora,
y verificar si se aproxima a los lados del cuadrado pared.
38
Este código hace uso de las variables “a” y “b” que para el simulador representan los
puertos A y B de la computadora básica.
Virtual serial port creará un puente entre los COM 6 y 7, como se muestra en la figura:
39
“Putty” hará la función de mandar caracteres vía serial como un módulo bluethooth, y el
simulador los recibirá gracias a este puente virtual de puertos seriales.
40
6.3.ASPECTOS FINANCIEROS
6.3.1. COSTO TOTAL POR COMPONENTES
de 4 pines (Esclavo)
[5V] LED
tornillos, pasadores)
Sensor IR de proximidad 4 10 40
mAh 2S
MC6802 1 70 70
41
MC6821 1 70 70
MC6850 1 50 50
28C64B 1 45 45
TOTAL 885 Bs
42
CONCLUSIONES
Se logró desarrollar un sistema electrónico que realice la limpieza y que sea controlado
vía celular para oficinas y ambientes cerrados.
El sistema logra desplazarse en dos ejes y cuenta con sensores que evita que el sistema
tenga choques con obstáculos.
Este sistema recibe instrucciones a través de un puerto serie, lo que hace posible la
comunicación con un celular vía bluethooth.
43
BOBLIOGRAFÍA
44