Anda di halaman 1dari 27

"Año del Diálogo y la reconciliación Nacional "

CONSTRUCCION DE UN ROBOT SEGUIDOR DE LINEA

ESPECIALIDAD: ELECTROTECNIA INDUSTRIAL

SEMESTRE: IV

BLOQUE: 51EETTE402

CURSOS:
ELECTRONICA DE CONTROL

INSTRUCTOR: Larry Rivas

INTEGRANTES:
JORDY CHAMBILLA GUTIERREZ

CFP: SENATI

2018

AREQUIPA - PERÚ
INDICE

Glosario

1. PLANTEAMIENTO DEL PROBLEMA


1.1. Antecedentes (Detallados por el Instructor)
1.2. Definición del Problema (Detallado por el Instructor)
1.3. Objetivos generales
1.4. Objetivos específicos

2. MARCO TEÓRICO

2.1- Microcontrolador PIC 16F84A


2.2- El Driver Ln298n
2.3- Sensor NJL5801K
2.4- Sensor CNY 70
2.5- Motor reductor
2.6- Tipos de material para placas
2.7-Softwares de simulación y diseños de diagramas de instalación
2.8-El Software para editar el programa y el software para grabar el PIC es
respectivamente
2.9- Lenguaje de Programación – Assembler

3. METODOLOGÍA
3.1.1. Etapas del proyecto
3.1.2. Plan de trabajo
3.1.3. Listado de los materiales, equipos, maquinarias y herramientas
3.1.4. Desarrollo de las etapas del proyecto
4. PRUEBAS Y RESULTADOS
4.1. Resultados

5. CONCLUSIONES
6. Bibliografías
GLOSARIO

A ampere

C capacitador

CI Circuito

f frecuencia

F faradios

Hz Hertz

R resistencia

MHz Mega Hertz

RAM memoria de acceso aleatorio

V voltaje (DC)

TTL lógica transistor a transistor

PIC Controlador programable de interrupciones

EEPROM ROM programable y borrable eléctricamente

NOT puerta lógica que implementa la negación lógica

KB kilobyte
1- PLANTEAMIENTO DEL PROBLEMA
1.1- Antecedentes

Como proyecto final del cuarto semestre para los cursos de Electrónica de Control y Electrónica de
Potencia se dio el trabajo de diseñar y construir un robot seguidor de línea el cual deberá ser
presentado finalizado el semestre.
Respecto a la zona de desplazamiento:

 Se entiende por zona de desplazamiento al área por donde el robot se moverá


 La línea negra es el camino que el robot debe seguir. A lo largo de su trayecto, la línea
negra presentara presentará líneas rectas, líneas cruzadas, arcos circulares y otras curvas.
 El microcontrolador que será el CPU a utilizar será miembro de la familia PIC, el
recomendado es el PIC16f84a

Aspectos a considerar:

 La forma y geometría del robot son libres.


 El tipo de tracción del robot es libre. Puede usarse ruedas, bandas tipo oruga, patas
articuladas, tracción tipo gusano.
 La tracción debe ser proporcionada por motores de corriente continua.
 La alimentación del motor será con pilas o baterías.
 El tipo y configuración de los sensores utilizados para la detección de las líneas es libre.

1.2- Definición del problema

Definición del Problema

Para poder construir el robot se necesitará varias etapas, así como analizar, probar, montar y
ensamblar diversas partes, las principales:

 Placa impresa para el PIC


 Placa impresa para los sensores
 Driver controlador de los motores
 Ensamblado del chasis

1.3- Objetivos generales


 Realizar la construcción de un Robot seguidor de línea.

Objetivo Específicos Adaptar la posición de los sensores para detectar la ruta a seguir en el
trayecto y en cada bifurcación.
Elegir los componentes adecuados para el robot, entre ellos:
Elegir el chasis adecuado para el ensamblado de las partes del robot, el cual deberá cumplir ciertas
condiciones:
 Su diámetro máximo extendido no debe ser más de 30 cm.
 Lo más liviano posible, para no exigir de más a los motores.
 Debe ser uniforme.

La placa de los sensores:

 Se realizara en una placa impresa


 Sera entre los sensores njl5801k o el cny70

La placa del PIC:

 Se va a realizar en una placa impresa.


 Se va a construir en torno al PIC16F84A.
 Para mejor coordinación se pondrá leds que señalicen la salida de los sensores
Driver de los motores:
 Comprar el módulo l298n

2. Marco teórico

2.1- Microcontrolador PIC 16F84A

El PIC16F84A es un microcontrolador gama media de 8 bits que físicamente consta de 18 pines, su


memoria de programa es de tipo flash, lo que nos permitirá grabarlo hasta unas 10000 veces. Es
realmente sencillo de manejar, por eso será nuestro punto de partida para el estudio del lenguaje
ensamblador y microcontroladores.

Descripción de los pines: El PIC 16F84A contiene 13 líneas I/O (entrada o salida), 5 pertenecen al puerto
A y 8 pertenecen al puerto B.
Sus características
principales son:

 Set de solo 35 instrucciones


 Memoria de programa de 1 KB (equivale a 1024 instrucciones)
 Máxima velocidad de operación: 20 MHz
 68 bytes de RAM
 64 bytes de EEPROM
 4 fuentes de interrupción
 2 puertos de salida
 13 líneas de I/O configurables individualmente
 25 mA de corriente por pin

2.2- El Driver L298N


El módulo cuenta con todos los componentes necesarios para funcionar sin necesidad de elementos
adicionales, entre ellos diodos de protección y un regulador LM7805 que suministra 5V a la parte
lógica del integrado L298N. Cuenta con jumpers de selección para habilitar cada una de las salidas
del módulo (A y B). La salida A esta conformada por OUT1 y OUT2 y la salida
B por OUT3 y OUT4. Los pines de habilitación son ENA y ENB respectivamente.
Circuito 555 Astable

2.3- Sensor NJL5801K


El NLJ5801K es este reflector fotográfico digital tipo salida de salida que consta de un nuevo JRC original diseñado
con un chip IC de recepción de fotos y salida de alta altura Led.

APLICACIÓN

 sensor de fin de cinta


 sensor de rotación del carrete
 lector de código de barras

Diagrama de conexión
2.4- Sensor CNY 70

El dispositivo CNY70 es un sensor óptico infrarrojo, de un rango de corto alcance (menos de 5 cm) que se
utiliza para detectar colores de objetos y superficies. Su uso más común es para construir pequeños robots
sigue líneas. Contiene un emisor de radiación infrarroja -fotodiodo- y un receptor -fototransistor-. El
fotodiodo emite un haz de radiación infrarroja, el fototransistor recibe ese haz de luz cuando se refleja sobre
alguna superficie u objeto.

El sensor CNY70 Puede utilizarse como entrada digital o analógica. En este ejemplo se ha utilizado como
entrada digital para distinguir dos colores: blanco o negro. Cando el sensor está orientado hacia una
superficie u objeto de color negro éste absorbe gran parte de la luz emitida por el diodo. Entonces el sensor
enviará un valor alto (HIGH – 1) a Arduino. A su vez cuando el sensor se sitúa sobre una superficie u objeto
de color blanco gran parte de la luz emitida por el diodo será reflejada al fototransistor. Entonces, el sensor
enviará un valor alto (LOW- 0) a Arduino. El CNY70 tiene cuatro terminales.

2.5- Motor reductor


Descripción
Los reductores ó motorreductores son apropiados para el accionamiento de toda clase de máquinas y
aparatos que necesitan reducir su velocidad en una manera segura y eficiente. Las transmisiones de
fuerza por correa, cadena o trenes de engranajes que aún se usan para la reducción de velocidad
presentan una regularidad perfecta tanto en la velocidad como en la potencia transmitida, mayor
eficiencia en la transmisión de la potencia suministrada por el motor. Este motor reductor es ideal, para
usar en los proyectos donde requieres girar una polea, un elevador o para las llantas de tu robot.
2.6- Tipos de material para placas
BAQUELITA

Fibra de Vidrio

Placa de Teflón
2.7- Softwares de simulación y diseños de diagramas de instalación

PROTEUS (simulador digital y analógico)

Se trata de un completo programa que permite diseñar y simular circuitos


electrónicos de forma práctica y accesible.
A todos aquellos que trabajen en el ámbito de la electrónica les interesará la
aplicación Proteus. Se trata de un completo programa que permite diseñar y simular
circuitos electrónicos de forma práctica y accesible. Proteus está formado por dos
utilidades principales: ARES e ISIS, y por los módulos Electra y VSM. Si
necesitas crear componentes con Proteus e ISIS será una tarea fácil. Prueba las
herramientas ARES e ISIS de Proteus al descargar el programa.

Principales características

 La aplicación ISIS permite generar circuitos reales, y comprobar su funcionamiento en un PCB


(printed circuit board).
 Entorno de diseño gráfico de esquemas electrónicos fácil de utilizar y con efectivas herramientas.
 Entorno de simulación con la tecnología exclusiva de Proteus de modelación de sistemas
virtuales (VSM).
 Herramienta ARES para el enrutado, ubicación y edición de componentes, utilizado para la
fabricación de placas de circuito impreso.
 Interfaz intuitivo y atractivo estandarizado para todos los componentes de Proteus.

PCB Wizard

PCB Wizard es un software para la creación de placas de circuito impreso muy intuitivo y fácil de usar.
Si bien está pensado para estudiantes o aficionados se pueden lograr placas de mediana complejidad
en poco tiempo.
Si utilizamos a su “hermano” Livewire para dibujar y simular los circuitos podemos capturar el diagrama
esquemático creado en éste y automáticamente generar la placa de circuito impreso haciendo uso de la
función “Convertir diseño”. Aunque el PCB generado no es el mejor nos puede sacar de algún apuro.
PCB Wizard cuenta con muchas opciones que nos facilitarán el trabajo, como ser: generación de
reportes, creación de archivos NC Drill y Gerber y múltiples opciones de impresión, entre otras.
Si bien cuenta con las librerías y encapsulados más comunes puede que este sea el punto flojo del
software. Igualmente, no nos debemos preocupar demasiado ya que podemos crear nuestros propios
componentes y guardarlos como librerías para su utilización en otro momento.
Algo a tener en cuenta es que posee un práctico sistema de visualización. Gracias a unas pestañas
podemos elegir entre diferentes vistas y ver cómo está quedando nuestro trabajo.
2.8- El Software para editar el programa y el software para grabar el PIC es
respectivamente
Block De Notas

De seguro que muchos usuarios del sistema operativo Windows prefieren trabajar en Word o
WordPad antes que usar el editor de texto denominado “Bloc de notas” o “Notepad” en inglés,
perdiendo la oportunidad de sacarle provecho a esta herramienta. Esto se debe a que el editor de
texto sólo tiene las funcionalidades básicas en comparación a los otros programas de edición.

Sin embargo, El bloc de notas se ha convertido en la aplicación preferida para los diseñadores de
páginas web, quienes han encontrado ventajas en este sencillo y básico editor de texto. A
continuación, conozcamos más sobre el Bloc de notas, editor de texto gratuito y simple que viene
incluido en el Windows.

PICkit 2

El PICkit™ 2 programador/depurador de desarrollo es una herramienta con una interfaz fácil de


usar para programación y depuración de las familias de microcontroladores Microchip. Compatible
con todas las funciones de Windows además de una interfaz de programación visual para las
gamas base (PIC10F, PIC12F5xx, PIC16F5xx), gama media (PIC12F6xx, PIC16F), PIC18F, PIC24,
dsPIC30, dsPIC33, y las familias PIC32 de 8 bits, 16 bits y microcontroladores de 32 bits, además
de otros productos como memorias EEPROM. Compatible con el poderoso IDE (Integrated
Development Environment) MPLAB de Microchip el cual permite la depuración del circuito en la
mayoría de los microcontroladores PIC.

Programador PICkit 2
2.9- Lenguaje de Programación – Assembler

El lenguaje ensamblador es el lenguaje de programación utilizado para escribir programas informáticos de


bajo nivel, y constituye la representación más directa del Código máquina específico para cada arquitectura
de computadoras legible por un programador. Aun hoy se utiliza en la programación de handler o
manipuladores de dispositivos de hardware.

Características

 El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido
directamente por un ser humano ya que su estructura se acerca más bien al lenguaje
máquina, es decir, lenguaje de bajo nivel.
 El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para
un Microprocesador, suele necesitar ser modificado, muchas veces en su totalidad para
poder ser usado en otra máquina distinta, aun con el mismo Microprocesador, solo pueden
ser reutilizados secciones especiales del código programado.
 Los programas hechos en lenguaje ensamblador, al ser programado directamente
sobre Hardware, son generalmente más rápidos y consumen menos recursos del sistema
(memoria RAM y ROM). Al programar cuidadosamente en lenguaje ensamblador se pueden
crear programas que se ejecutan más rápidamente y ocupan menos espacio que con
lenguajes de alto nivel.
 Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por
un Microprocesador por lo que se pueden crear segmentos de código difíciles de programar
en un lenguaje de alto nivel.
 También se puede controlar el tiempo en que tarda una Rutina en ejecutarse, e impedir que
se interrumpa durante su ejecución.
 El lenguaje ensamblador es un código estructurado y gravitatorio desarrollado sobre un
archivo de programación (.ASM), en el cual pueden existir varios programas, macros o
rutinas que pueden ser llamados entre si.

CICLO DE INSTRUCCION

Pudiera haber un ciclo de instrucción de retardo si el resultado de ejecutar la instrucción anterior modifica el
contenido del Contador de Programa (Ej: GOTO ó CALL). Esto implica suspender el entubado (pipelining) de
las instrucciones durante un ciclo para que la instrucción a donde se salta se traiga a la CPU.

El juego de instrucciones: SEGÚN SU FUNCIONALIDAD

Instrucciones de CARGA
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
clrf f 00 (f) Z
clrw 00 (W) Z
movf f,d (f) (destino) Z
movlw k k (W) Ninguno
movwf f (W) (f) Ninguno
Instrucciones de BIT
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
bcf f,b Pon a 0 el bit ‘b’ del registro ‘f’ Ninguno
bsf f,b e a 1 el bit ‘b’ del registro ‘f’ Ninguno
Pon
e
Instrucciones ARITMÉTICAS
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
addlw k (W) + k (W) C – DC - Z
addwf f,d (W) + (f) (destino) C – DC - Z
decf f,d (f) - 1 (destino) Z
incf f,d (f) + 1 (destino) Z
sublw k K - (W) (W) C – DC - Z
subwf f,d (f) - (W) (destino) C – DC - Z
Instrucciones LÓGICAS
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
andlw k (W) AND k (W) Z
andwf f,d (W) AND (f) (destino) Z
comf f,d (/f) (destino) Z
iorlw k (W) OR k (W) Z
iorwf f,d (W) OR (f) (destino) Z
rlf f,d Rota (f) a izquierda (destino) C
rrf f,d Rota (f) a derecha (destino) C
swap f,d Intercambia nibbles (f) (destino) Ninguno
xorlw k (W) XOR k (W) Z
xorwf f,d (W) XOR (f) (destino) Z
Instrucciones de SALTO
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
btfsc f,b Salta si el bit ‘b’ de ‘f’ es 0 Ninguno
btfss f,b Salta si el bit ‘b’ de ‘f’ es 1 Ninguno
decfsz f,d (f) - 1 (destino) y salta si es 0 Ninguno
incfsz f,d (f) + 1 (destino) y salta si es 0 Ninguno
goto k Salta a la dirección ‘k’ Ninguno
Instrucciones de manejo de SUBRUTINAS
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
call k Llamada a subrutina Ninguno
retfie Retorno de una interrupción Ninguno
retlw k Retorno con un literal en (W) Ninguno
return Retorno de una subrutina Ninguno

Instrucciones ESPECIALES
NEMÓNICO DESCRIPCIÓN FLAGS AFECTADOS
clrwdt Borra Timer del Watchdog /TO - /PD
nop No operación Ninguno
sleep Entra en modo de bajo consumo /TO - /PD
LAS CLAVES DE INSTRUCCIONES

Campo Descripción

f Posición de memoria de datos (Register file address) (0x00 to 0x7F)

W Registro de trabajo(acumulador)

b nº Bit dentro de una posición de memoria (0-7)

k Valor literal, constante o etiqueta (puede de 8 o 11 bits)

x No importa el valor (0 ó 1)
El ensamblador genera código con x=0.

d Selección de destino:

d = 0: almacena el resultado en W,

d = 1: almacena el resultado en una posición de la memoria de datos f.

dest Destino es el registro W o la posición de memoria de datos especificada

label nombre de etiqueta

TOS Cima de la pila

PC Contador de programa

PCLATH Latch de la parte alta del contador de programa

GIE Bit de habilitación de interrupción global

WDT Temporizador Watchdog

TO Time-out bit

PD Power-down bit

[] Optional

() Contenido
Asignado a

<> Register bit field

En el conjunto de

Italics termino definido por el usuario (Courier)


3- Metodología

3.1.1- Etapas del proyecto


Esquema para el PIC
16F84

Diagrama De los
sensores

Diseño y
construcción
Realización de la pista

Construcción
de un chasis

Montar el circuito

CONSTRUCCION DE UN
ROBOT SEGUIDOR DE Programar y
LINEA grabar

Uso del block de Escribir el


notas programa

Uso del PICkit 2 Grabar

Pruebas Probar Robot


seguidor de línea en
la pista
3.1.2- Plan de trabajo

Actividad Primera Segunda Tercera


Etapa Etapa Etapa
Diseño y
construcción x
Programar y
grabar x
Pruebas
x
3.1.3- Listado de los materiales, equipos, maquinarias y herramientas

02 placa cobre de maquelita o fibra de vidrio 12 x 12 cm


01 envase de ácido férrico
01 taladro
01 cautín
1 metro de silicio para soldar
01 tira de espadines
01 porta PIC
01 pulsador
01 cristal de 4 mhz
01 diodo Zener 104148
02 display cátodos
02 capacitadores cerámicos de 27 pF
01 capacitador cerámico de 10 nF
01 capacitador electrolítico de 10 uF
01 PIC 16F84A
04 sensores cny70
04 resistencias 220
04 resistencias de 330
02 resistencias de 100
01 resistencia de 10 k
03 resistencia de 1 k
01 resistencias 100k
02 Protoboard
Cables para la instalación hembra y macho
01 multímetro
01 computadora
01 grabador de PIC
01 bateria
01 rueda loca
02 llantas
02 motores Dc reductores
01 Draiver Ln298n
3.1.4- Desarrollo de las Etapas del Proyecto

Esquema para el PIC 16F84A

RA4
RA3
RA2
RA1
RB0 RA0
RB1
RB2
RB3
RB4
RB5
RB6
RB7

Diagrama de sensores
Diagrama del robot Seguidor de Línea
Construcción de la Placa de PIC
Nota:
Teniendo ya el diseño del PIC usaremos un software para diseñar nuestro circuito para la
fabricación placa.
En este caso usaremos el software PCB Wizard

 Primero lo imprimiremos en una impresora Láser con papel cauche.

 Ahora procederemos planchar el diseño a la placa con una plancha casera.


 Ahora procederemos a quemar la placa para cual necesitaremos los siguientes materiales
Acido férrico
Envase para liquido

 Procedemos a limpiar la placa y perforar


Montar los componentes

 Soldar los componentes


Contracción del chasis

Chasis tamaño y peso

Longitud : 20 cm
Anchura : 15 cm
Altura : 7cm
Peso : 450g
Diámetro de
las ruedas : 6 cm
ACABADO DEL SEGUIDOR DE LINEA

CONSTRUCION DE UNA PISTA


Programar
PROGRAMACION PARA ROBOT SEGUIDOR DE LINEA
list p=16f84A v75 call t1ms

__config 3ff1h call t1ms

status equ 0x03 call t1ms

porta equ 0x05 bcf portb,0

portb equ 0x06 call t1ms

trisa equ 0x85 goto home

trisb equ 0x86 v50 call t1ms

pcl equ 0x02 call t1ms

bcf portb,0

tmr0 equ 0x01 call t1ms

intcon equ 0x0b call t1ms

opt_reg equ 0x81 goto home

tabla addwf pcl,1

org 00 retlw 0x03 ;0

goto inicio retlw 0x31 ;1

org 0x05 retlw 0x51 ;2

inicio bsf status,05 retlw 0x71 ;3

clrf trisb retlw 0x95 ;4

movlw 0x1f retlw 0xB5 ;5

movwf trisa retlw 0xCD ;6

movlw 0x03 retlw 0xEB ;7

movwF opt_reg

bcf status,05 t1ms movlw d'193'

movwf tmr0

home movf porta,0 bcf intcon,2

andlw 0x07 rebos3 btfss intcon,2

call tabla goto rebos3

movwf portb return

btfsc porta,4

goto v50 end


Colocamos el PIC al grabador

Uso del software PICkit 2 para la grabación

Selección del programa

Abrimos el archivo

El nombre del PIC


16F84A
Carro seguidor. hex Selección del archivo
prender un led. hex
tipo. hex
7 segmentos. hexContador de
pulsos_16f84a. hex

Debe estar en 5 v

presionamos write

Finalmente le damos
verificar
4- PRUEBAS

5- Conclusiones

Se diseñó e implementó, un robot seguidor de línea, el funcionamiento del robot fue adecuado a la
meta propuesta. Se demostró que a pesar de que se usaron componentes básicos de electrónica
son suficientes para realizar un proyecto interesante y vistoso. El robot cumple las expectativas
esperadas además este sirve como base para adentrarse en el campo de la electrónica y robótica.

- Se logro el objetivo principal el cual fue la realización del proyecto en este caso un robot seguidor
de línea, gracias a los conocimientos adquiridos en la asignatura.

- Se noto que la ubicación de los sensores encargados de mantener el carro sobre la línea es
prácticamente fundamental ya que, si no, no se encuentran donde deberían estar el robot no hace
lo deseado así la parte electrónica y de programación estén en perfecto estado.

- Se encontró que los sensores infrarrojos pueden enviar estados lógicos erróneos a la memoria si
estos no se encuentran protegidos contra fuentes externas de luz

Anda mungkin juga menyukai