ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......Figura 2.17 Apariencia del entorno de...
Transcript of ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......Figura 2.17 Apariencia del entorno de...
INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y
ELÉCTRICA UNIDAD ZACATENCO
TESIS
QUE PARA OBTENER EL TÍTULO DE INGENIERO EN CONTROL Y
AUTOMATIZACIÓN
PRESENTAN
AGUILAR RODRÍGUEZ LUIS ARTURO OLVERA MUNGUIA DANIEL
PONCE PALACIOS JAIR
ASESORES: M. EN C. JOSÉ DARÍO BETANZOS RAMÍREZ M EN C. HUERTA GONZÁLEZ PEDRO FRANCISCO
DESARROLLO DE APLICACIONES ELECTRÓNICAS
PARA IMPLEMENTARSE EN UNA CASA HABITACIÓN
MÉXICO, D.F. 2014
AGRADECIMIENTO
Jair Ponce Palacios
Con todo el cariño para las personas que me apoyaron en este camino y en este sueño que decidí tomar y que hoy eh logrado, gracias por siempre motivarme y hacerme sentir que podía lograr ser lo que yo me propusiera, por creer en mí y por nunca dejarme solo, a ustedes por siempre mi agradecimiento y mi admiración.
A mis padres y a mis hermanos.
Daniel Olvera Munguia
Este gran trabajo va dedicado al esfuerzo, dedicación y empeño de mi madre que ha realizado toda mi vida para concluir este triunfo.
Luis Arturo Aguilar Rodríguez
Agradezco principalmente a mi familia por su apoyo, así como también a todas las personas que nos ayudaron e influyeron en la realización de este trabajo.
Índice general
1. INTRODUCCIÓN .................................................................................................................................. 3
1.1. OBJETIVO GENERAL ........................................................................................................................ 5
1.1.1. OBJETIVOS PARTICULARES ...................................................................................................................... 5
1.2. JUSTIFICACIÓN ............................................................................................................................... 6
1.3. ANTECEDENTES .............................................................................................................................. 7
2. ANÁLISIS Y SELECCIÓN DE LOS DISPOSITIVOS ELECTRÓNICOS ........................................................... 10
2.1. SELECCIÓN DEL CONTROLADOR ............................................................................................................. 10 2.1.1. Tipos de Microcontroladores .................................................................................................... 10 2.1.2. Microcontroladores de Microchip ............................................................................................. 11 2.1.3. Microcontrolador PIC16F887 .................................................................................................... 11 2.1.4. Programación del microcontrolador ......................................................................................... 14 2.1.5. Organización de la Memoria del PIC16F877 ............................................................................. 14 2.1.6. Puertos de E/S, entrada/salida del microcontrolador PIC16f887. ............................................ 17 2.1.7. El reloj y el ciclo de instrucción. ................................................................................................ 17 2.1.8. Sistema de reinicio .................................................................................................................... 19
2.5. TECNOLOGÍA RFID (IDENTIFICACIÓN POR RADIOFRECUENCIA) ..................................................................... 19 2.5.1. Principales aplicaciones de la tecnología RFID ......................................................................... 20 2.5.2. Circuito electrónico para implementar en cerradura electrónica ............................................. 21 2.5.3. Características del Lector RFID 125kHz ..................................................................................... 22 2.5.4. Visualizador LCD 16x2 ............................................................................................................... 22 2.5.5. Memoria del LCD ...................................................................................................................... 24 2.5.6. Modo de Funcionamiento ......................................................................................................... 26 2.5.7. Comandos de control ................................................................................................................ 27
2.2. PANTALLA TÁCTIL ............................................................................................................................... 29 2.2.1. Tipos de pantallas Touchscreen ................................................................................................ 29 2.2.2. Funcionamiento de la pantalla táctil ........................................................................................ 30 2.2.3. Panel Táctil PIC18FJ .................................................................................................................. 32
2.3. SOFTWARE DE PROGRAMACIÓN, COMPILACIÓN Y SIMULACIÓN. ................................................................... 33 2.3.1. Entorno de programación MPLAB ............................................................................................ 33 2.3.2. Software Visual TFT .................................................................................................................. 34 2.3.3. mikroC PRO for PIC ................................................................................................................... 36 2.3.4. Master Prog .............................................................................................................................. 36 2.3.5. mikroBootloader USB HID v1.50 ............................................................................................... 38 2.3.6. Proteus ISIS Professional v7.7 ................................................................................................... 39 2.3.7. National Instruments LabVIEW 2012 ........................................................................................ 40
2.4. TARJETA DE ADQUISICIÓN DE DATOS CON LABVIEW ................................................................................. 40 2.4.1. Puertos E/S................................................................................................................................ 41 2.4.2. Arquitectura general de la DAQ ................................................................................................ 41 2.4.3. Comunicación entre la DAQ y LabVIEW .................................................................................... 42 2.4.4. Tecnología Bluetooth ................................................................................................................ 44
3. DISEÑO E IMPLEMENTACIÓN DEL HARDWARE ................................................................................. 47
3.1. INTRODUCCIÓN DEL HARDWARE ............................................................................................................ 47 3.2. RFID (IDENTIFICACIÓN POR RADIOFRECUENCIA) ....................................................................................... 49
3.2.1. Introducción de RFID ................................................................................................................. 49 3.2.2. Lector 125K RFID ....................................................................................................................... 50
3.3. CONEXIÓN DEL LECTOR RFID Y EL MICROCONTROLADOR PIC16F887 .......................................................... 56
3.4. LCD ................................................................................................................................................ 59 3.4.1. Introducción de LCD .................................................................................................................. 59 3.4.2. LCD JHD162A ........................................................................................................................... 60 3.4.3. Características de la LCD JHD162A ........................................................................................... 61
3.5. CONEXIÓN DE RFID EL PIC16F887 Y LA LCD JHD162A .......................................................................... 61 3.6. PROPUESTA DE UNA TARJETA DE ADQUISICIÓN DE DATOS (DAQ) ................................................................. 63
3.6.1. Introducción de la Tarjeta DAQ ................................................................................................ 63 3.6.2. Descripción del sistema de la Tarjeta DAQ propuesta .............................................................. 64 3.6.3. Propuesta de una Interfaz Hombre Máquina ........................................................................... 70
4. DESARROLLO DEL SOFTWARE ........................................................................................................... 75
4.1. PERIFÉRICOS DEL PIC16F887 ...................................................................................................................... 76 4.1.1. Entradas y salidas de propósito general ....................................................................................... 76 4.1.2. Registro STATUS ............................................................................................................................ 76 4.1.3. Convertidor Analógico-Digital del microcontrolador PIC16F887. ............................................. 77 4.1.4. EUSART (Enhanced Universal Synchronous Asynchronous Receiver Trasmitter) del microcontrolador PIC16F887. ................................................................................................................ 84
4.2. CIRCUITO ELECTRÓNICO PARA IMPLEMENTAR EN CERRADURA ELECTRÓNICA CON TECNOLOGÍA RFID 89 4.5. INTERFAZ GRÁFICA DESARROLLADA EN PANEL TÁCTIL .................................................................................. 92 4.6. TARJETA DE ADQUISICIÓN DE DATOS CON MICROCONTROLADORES PIC ....................................................... 102
4.6.1. Comunicación serie en LabVIEW ............................................................................................. 109
5. RESULTADOS EXPERIMENTALES ...................................................................................................... 122
5.1. RFID (RADIO FREQUENCY IDENTIFICATION), CONTROL DE ACCESO .............................................................. 122 5.2. TECNOLOGÍA TOUCHSCREEN, DESARROLLANDO UN HMI EN UN PANEL TÁCTIL ............................................. 128 5.3. DISEÑO DE UNA DAQ (ADQUISICIÓN DE DATOS) CON MICROCONTROLADORES FABRICADOS POR MICROCHIP
INCORPORANDO COMUNICACIÓN INALÁMBRICA BLUETOOTH ................................................................................... 135
CONCLUSIONES ........................................................................................................................................ 146
BIBLIOGRAFÍA .......................................................................................................................................... 147
ANEXOS ................................................................................................................................................... 150
Índice de tablas
Tabla 2.1 Periféricos del PIC16f887 ............................................................................... 12 Tabla 2.2 Bancos de Memoria del PIC16F887 ............................................................. 16
Tabla 2.3 Descripción de pines del Display LCD 16x2 ................................................ 24
Tabla 2.4 Comandos del módulo LCD ........................................................................... 27 Tabla 2.5 Periféricos del PIC18F87J5 ............................................................................ 33
Tabla 2.6 Entradas y Salidas de la DAQ ....................................................................... 41
Tabla 3.1 Descripción de puertos periféricos del microcontrolador PIC16F887 ..... 54
Tabla 4.1 Características principales de los circuitos electrónicos desarrollados .. 75 Tabla 4.2 Configuración para 9600 baudios ................................................................. 88 Tabla 5.1 Descripción de símbolos ............................................................................... 130
Tabla 5.2 Variaciones de voltaje ................................................................................... 141
Tabla 5.3 Estados de un botón pulsador ..................................................................... 144
Tabla 5.4 Botones de simulación de salidas digitales ............................................... 144
Índice de figuras
Figura 1.1 Diagrama General. ........................................................................................... 4
Figura 2.1 Diagrama a Bloques de la Arquitectura Mid-Range .................................. 12
Figura 2.2 Apariencia Física del PIC16f887 .................................................................. 13
Figura 2.3 Diagrama de Pines del PIC16f887 ............................................................... 14
Figura 2.4 Apariencia Física de un cristal de 20MHz .................................................. 18 Figura 2.5 Componentes básicos de funcionamiento, PIC16F887 ........................... 19
Figura 2.6 Comunicación serial RS-232, RFID Reader-MCU .................................... 21 Figura 2.7 Lector RFID a 125kHz ................................................................................... 22
Figura 2.8 Aspecto de un módulo LM016 ...................................................................... 23 Figura 2.9 Patillaje del LCD LM016L .............................................................................. 24
Figura 2.10 Lista de caracteres definidos dentro de la memoria CGROM ............... 25 Figura 2.11 Tecnología Resistiva de 4 hilos AT4 ......................................................... 30
Figura 2.12 Superficies que componen el panel táctil ................................................. 30
Figura 2.13 Red de resistencias del panel táctil ........................................................... 31
Figura 2.14 Función del Convertidor analógico a Digital............................................. 31
Figura 2.15 GLCD (Graphic Liquid Crystal Display) PIC18FJ .................................... 32 Figura 2.16 Diagrama a Bloques de la Arquitectura PIC18 ........................................ 32
Figura 2.17 Apariencia del entorno de programación MPLAB ................................... 34
Figura 2.18 Componentes para desarrollar Interfaces graficas en Visual TFT. ...... 35
Figura 2.19 Software Visual TFT. ................................................................................... 35
Figura 2.20 Software mikro C PRO for PIC ................................................................... 36 Figura 2.21 Contenido del archivo con extensión (*.HEX) .......................................... 37
Figura 2.22 Software Master Prog .................................................................................. 37 Figura 2.23 Hardware Master Prog ................................................................................. 38
Figura 2.24 Software mikroBootloader USB HID v1.50 ............................................... 38 Figura 2.25 Software Proteus ISIS Professional v7.7 .................................................. 39
Figura 2.26 Software LabVIEW ....................................................................................... 40
Figura 2.27 Arquitectura General de la DAQ ................................................................ 42
Figura 2.28 Patillaje del conector DB-9 .......................................................................... 43
Figura 2.29 Análisis en Osciloscopio del protocolo Rs-232 ........................................ 43 Figura 2.30 Modulo Bluetooth serial ............................................................................... 44
Figura 3.1 Diagrama a bloques de la implementación de hardware ......................... 48
Figura 3.2 Sistema de RFID ............................................................................................. 49 Figura 3.3 RFID 125K ....................................................................................................... 50
Figura 3.4 Instalación de RFID acceso principal de peatón ....................................... 52 Figura 3.5 Instalación de RFID acceso principal de vehículos................................... 52
Figura 3.6 Trama del sistema RFID 125K ..................................................................... 53 Figura 3.7 Diagrama a bloques del sistema RFID y un microcontrolador ................ 56
Figura 3.8 Diagrama de lector RFID 125K .................................................................... 57
Figura 3.9 Diagrama de conexión de lector RFID y el microcontrolador PIC16F887 .............................................................................................................................................. 57
Figura 3.10 LCD 2 Filas * 16 Caracteres ....................................................................... 58
Figura 3.11 Diagrama a bloques de conexión de un sistema de RFID con visualizador ......................................................................................................................... 60
Figura 3.12 Diagrama a bloques de la LCD JHD162A ................................................ 60
Figura 3.13 Diagrama de conexión entre RFID, LCD JHD162A y un microncontrolado ............................................................................................................... 62
Figura 3.14 Diagrama a bloques del sistema de una DAQ ......................................... 64 Figura 3.15 Diagrama a bloques de un sistema de adquisición de datos ................ 65
Figura 3.16 Diagrama de conexión de los elementos de una Tarjeta DAQ ............. 67 Figura 3.17 Bluetooth COM SSP y Bluetooth USB ..................................................... 69
Figura 3.18 Conexión de un Bluetooth a una PC ......................................................... 69
Figura 3.19 Diagrama del sistema HMI .......................................................................... 70 Figura 3.20 Dimensiones de la mikromedia .................................................................. 71
Figura 3.21 Puertos periféricos de la mikromedia ........................................................ 72 Figura 3.22 Control de luces con HMI ............................................................................ 73
Figura 4.1 Registro STATUS ........................................................................................... 77 Figura 4.2 Diagrama de los canales analógicos disponibles ...................................... 80 Figura 4.3 Diagrama de los canales analógicos disponibles ...................................... 80
Figura 4.4 Registro TRISB ............................................................................................... 81 Figura 4.5 Registro TRISE ............................................................................................... 81
Figura 4.6 Registro ANSEL .............................................................................................. 82
Figura 4.7 Registro ANSELH ........................................................................................... 82
Figura 4.8 Registro ADCON0 .......................................................................................... 82
Figura 4.9 Registro ADCON1 .......................................................................................... 83 Figura 4.10 Registro INTCON ......................................................................................... 86
Figura 4.11 Registro TXSTA ............................................................................................ 86 Figura 4.12 Registro RCSTA ........................................................................................... 87
Figura 4.13 Registro PIE1 ................................................................................................ 87 Figura 4.14 Diagrama de flujo para la implementación de tecnología RFID .......... 90
Figura 4.15 Diagrama de flujo, identificación del usuario tecnología RFID ............ 91 Figura 4.16 Interfaz Gráfica del piso 1 que se ejecuta en pantalla táctil .................. 92
Figura 4.17 Interfaz Gráfica del piso 2 que se ejecuta en pantalla táctil .................. 93
Figura 4.18 Paleta de Componentes de Visual TFT .................................................... 94
Figura 4.19 Propiedades del componente “Image” ...................................................... 95
Figura 4.20 Propiedad Name del componente “Button” .............................................. 96 Figura 4.21 Propiedad Caption del componente “Button” ........................................... 96
Figura 4.22 Propiedad OnClick del componente “Button” ........................................... 96
Figura 4.23 Diagrama de flujo del evento Toggle_LED2 ............................................ 97 Figura 4.24 Diagrama de flujo del evento Planta alta .................................................. 98
Figura 4.25 Diagrama de flujo de la configuración principal ..................................... 101 Figura 4.26 Diagrama general de la DAQ. .................................................................. 102
Figura 4.27 Diagrama de flujo, programación de la DAQ ......................................... 103 Figura 4.28 Interfaz gráfica de la tarjeta de adquisición de datos ........................... 106
Figura 4.29 Diagrama de flujo 1, interrupción en el PIC16F887 .............................. 107
Figura 4.30 Diagrama de flujo 2, interrupción en el PIC16F887 .............................. 108
Figura 4.31 Programación a bloques del Interfaz gráfica de la tarjeta de adquisición de datos ........................................................................................................ 110
Figura 4.32 VISA Configuración de puerto serial ....................................................... 111 Figura 4.33 Escritura en VISA ....................................................................................... 111
Figura 4.34 Nodo de propiedad ..................................................................................... 112 Figura 4.35 Lectura en VISA .......................................................................................... 112
Figura 4.36 Limpieza y clausura del buffer .................................................................. 113 Figura 4.37 Subconjuntos de una cadena de caracteres .......................................... 113
Figura 4.38 Conversión de cadena de caracteres a valor numérico ....................... 113
Figura 4.39 Ciclo While ................................................................................................... 114
Figura 4.40 Estructura Case .......................................................................................... 114
Figura 4.41 Termómetro, Push botón y LED indicador ............................................. 115
Figura 4.42 Programación a bloques del puerto serial en LabVIEW ...................... 116
Figura 4.43 Panel frontal, selección del puerto COM ................................................ 116
Figura 4.44 Panel frontal, Entrada de datos ................................................................ 116 Figura 4.45 Programación a bloques, Entradas analógicas ..................................... 117
Figura 4.46 Panel frontal, Entradas analógicas .......................................................... 118 Figura 4.47 Programación a bloques, Entradas digitales ......................................... 119
Figura 4.48 Panel frontal, Entradas digitales .............................................................. 119 Figura 4.49 Programación a bloques, Salidas digitales ............................................ 120
Figura 4.50 Panel frontal, Salidas digitales ................................................................. 120 Figura 5.1 Prototipo de una casa habitación ............................................................... 122
Figura 5.2 Tarjetas y Tag´s para RFID ......................................................................... 123
Figura 5.3 Modulo de RFID ............................................................................................ 123
Figura 5.4 LCD LM016L ................................................................................................. 124
Figura 5.5 LCD LM016L ................................................................................................. 124 Figura 5.6 Estado de la cerradura ................................................................................. 125
Figura 5.7 Puerta de la casa del prototipo ................................................................... 125 Figura 5.8 Vista aérea del acceso principal ................................................................. 126 Figura 5.9 Vista frontal del acceso principal ................................................................ 126
Figura 5.10 Ubicación del módulo RFID ...................................................................... 126 Figura 5.11 Circuito de control ....................................................................................... 127
Figura 5.12 Cortina Automática ..................................................................................... 127
Figura 5.13 Circuito de control para la cochera .......................................................... 128
Figura 5.14 Ubicación de la pantalla táctil ................................................................... 129
Figura 5.15 Interfaz de la planta baja ........................................................................... 130 Figura 5.16 GLCD físicamente ...................................................................................... 131
Figura 5.17 Funcionamiento de la HMI ........................................................................ 132
Figura 5.18 Interfaz de la planta alta ............................................................................ 133 Figura 5.19 GLCD físicamente planta alta) ................................................................. 134
Figura 5.20 Funcionamiento de la HMI planta alta..................................................... 134 Figura 5.21 Bluetooth físicamente conectado a la DAQ ........................................... 135
Figura 5.22 Interfaz en LabVIEW .................................................................................. 136 Figura 5.23 DAQ físicamente ......................................................................................... 137
Figura 5.24 DAQ conectada al circuito de simulación ............................................... 137
Figura 5.25 Potenciómetros para entradas analógicos ............................................. 138 Figura 5.26 Botones de entradas digitales .................................................................. 138
Figura 5.27 Indicador de salidas digitales ................................................................... 139
Figura 5.28 P1_A1 voltaje gráficamente en alto y bajo nivel .................................... 140
Figura 5.29 P2_A2 voltaje gráficamente en alto y bajo nivel .................................... 140
Figura 5.30 P3_A3 voltaje gráficamente en alto y bajo nivel .................................... 140
Figura 5.31 P3_A3 voltaje gráficamente en alto y bajo nivel .................................... 141
Figura 5.32 Input 8 ........................................................................................................... 142 Figura 5.33 Input 7 ........................................................................................................... 142
Figura 5.34 Input 6 ........................................................................................................... 143 Figura 5.35 Entrada digital 1 .......................................................................................... 143
Figura 5.36 Botón simulador de salidas ....................................................................... 145 Figura 5.37 Salidas digitales activadas ........................................................................ 145
1
Resumen El presente Trabajo de investigación tiene como principal objetivo desarrollar sistemas electrónicos con microcontroladores que permitan automatizar ciertas tareas que se realizan en una casa habitación, alguna oficina de trabajo o en algún proceso industrial e incorporar las más recientes tecnologías como:
Microcontroladores.
RFID (radio frequency identification).
Comunicación inalámbrica, Bluetooth.
Tecnología Touchscreen (Panel Táctil).
Desarrollo de una tarjeta de adquisición de Datos (DAQ del inglés Data Acquisition).
Desarrollo de sistemas electrónicos como:
Desarrollo de un circuito electrónico dotado con la tecnología RFID (del inglés Radio Frequency Identification) que ofrezca la posibilidad de identificar personas, que pueda ser implementado en un control de acceso electrónico, de manera que se pueda controlar la clausura o apertura de una puerta, ventana, caja fuerte o cualquier aplicación en donde intervenga una cerradura electrónica.
Desarrollo de un HMI (del inglés Human Machine Interface) en una pantalla táctil (touchscreen) a colores, desarrollando una interfaz gráfica con el propósito de controlar las luces de una casa habitación.
Diseño de una DAQ también conocida como, tarjeta de adquisición de datos que se comunica de manera inalámbrica con una interfaz gráfica desarrollada con el software LabVIEW la cual permite visualizar el estado de, entradas analógicas y de entradas y salidas digitales que contiene la tarjeta de adquisición de datos. Es importante mencionar que con el desarrollo del presente trabajo de investigación se pueden realizar múltiples proyectos de control y automatización en donde sea necesario monitorear el estado de sensores analógicos o digitales y además se puedan realizar acciones de control de manera remota desde una computadora. Con el desarrollo del presente trabajo es posible prescindir de una tarjeta de adquisición de datos de National Instrument®.
2
Capítulo 1
Introducción
3
1. Introducción El presente trabajo de investigación se desarrolla con el propósito de utilizar algunas de las más recientes tecnologías tales como: sistemas de identificación por radiofrecuencia (RFID por su siglas en inglés Radio Frequency IDentification), sistemas de comunicación utilizando Bluetooth, sistemas de interfaz gráfica táctil (Touchscreen) e incorporar una tarjeta DAQ (Data Acquisition) que permite comunicar el software LabVIEW de National Instruments con el mundo exterior para monitorear el estado de sensores y en base a eso realizar acciones de control en actuadores. Para poder implementar las tecnologías antes mencionadas se utilizan micrcontroladores fabricados por Microchip Technology Inc. los cuales son programados en lenguaje ensamblador. El software utilizado es MPLAB IDE v8.02, ya que es de libre distribución y puede ser descargado de la página del fabricante. Los microcontroladores de Microchip Technology Inc. también denominados PIC (Peripheral Interface Controller) son una familia de microcontroladores que ha tenido gran aceptación y desarrollo en los últimos años gracias a sus buenas características, bajo precio, reducido consumo de energía, pequeño tamaño, gran calidad, fiabilidad, alta velocidad de procesamiento de información y sobre todo por su comodidad y sencillez de utilización. Estos microcontroladores permiten controlar y monitorear cada una de las señales que están inmersas en los sistemas desarrollados. La tecnología RFID actualmente está presente en numerosas aplicaciones tales como: el sistema de transporte colectivo-metro, el sistema de transporte suburbano o el metrobus, identificación de productos en centros comerciales, entre otras. La identificación por radiofrecuencia es una tecnología de identificación remota e inalámbrica en la cual un dispositivo lector o reader vinculado a un equipo de cómputo, se comunica a través de una antena con un transponder (también conocido como tag o etiqueta) mediante ondas de radio. Esta tecnología que existe desde los años 40, se ha utilizado y se sigue utilizando para múltiples aplicaciones incluyendo casetas de peaje, control de acceso, identificación de ganado y tarjetas electrónicas de transporte. En el presente trabajo se utiliza la tecnología RFID para el control de acceso a una casa habitación, donde cada habitante cuenta con una llave electrónica también denominada tarjeta o Tag que permite el acceso a la casa habitación. En la vida cotidiana se tiene contacto con múltiples sistemas electrónicos tales como: celulares, tabletas electrónicas o una computadora que hacen uso de la tecnología Touchscreen la cual permite una gran reducción de hardware en cualquier sistema y proporciona al usuario una interfaz gráfica fácil de entender y de operar. Una pantalla táctil permite la entrada y salida de datos mediante un toque directo sobre su superficie, de manera que es posible darle órdenes al dispositivo, y este
4
a su vez muestra los resultados introducidos; actuando como periférico de entrada y salida de datos. En el presente trabajo se desarrolla un interfaz hombre máquina (HMI del inglés Human Machine Interface) en una pantalla táctil a colores con lo cual es posible controlar y visualizar las diferentes variables que se encuentran dentro de la casa habitación. El software LabVIEW® es un potente programa de diseño de sistemas construido específicamente para tareas realizadas por ingenieros y científicos. LabVIEW es el acrónimo de Laboratory Virtual Instrument Engineering Workbech. Es un lenguaje y a la vez, un entorno de programación gráfica en el que se pueden crear aplicaciones de una forma rápida y sencilla. Originalmente el software LabVIEW estaba orientado para aplicaciones de control de equipos electrónicos usados en el entorno de instrumentación, lo que se conoce como instrumentación virtual. En este trabajo también se desarrolla una tarjeta de adquisición de datos inalámbrica, dicha tarjeta está constituida mediante software y hardware, el hardware es una interfaz gráfica desarrollada con el software LabVIEW de manera que es posible visualizar y controlar las diferentes variables dentro de la casa. Es importante mencionar que en el presente trabajo se propone el hardware necesario para comunicar al software LabVIEW con el circuito de control y de esta forma es posible prescindir de una tarjeta DAQ (tarjeta de adquisición de datos) de National Instruments®. La comunicación entre la computadora y el circuito de control propuesto es bidireccional y la transmisión de los datos se realiza de forma inalámbrica vía Bluetooth. Es importante mencionar que el empleo de estas tecnologías es muy amplio y aunque en este trabajo se utilizan en el control y automatización de dispositivos electrónicos de una vivienda, pueden ser empleadas en diversas aplicaciones o procesos de control y automatización. En la Fig. 1.1 se muestra el diagrama general de control y monitoreo de la casa habitación.
Figura 1.1 Diagrama General.
5
1.1. Objetivo General Integrar nuevas tecnologías para una casa habitación como, identificación por radiofrecuencia (RFID) para el control de acceso, una tarjeta de adquisición de datos (DAQ) funcional, comunicada con el software de LabVIEW, junto con una interfaz hombre maquina (HMI) desarrollada en una pantalla táctil dedicada al control de diferentes dispositivos electrónicos.
1.1.1. Objetivos Particulares
Desarrollar e implementar la tecnología de identificación por
radiofrecuencia (RFID) en el control de acceso.
Realizar una tarjeta de adquisición de datos (DAQ) utilizando un
microcontrolador de microchip mediante la cual sea posible monitorear
variables físicas y realizar acciones de control.
Desarrollar un interfaz gráfica utilizando el software de LABVIEW para
monitorear variables de control y la manipulación de algunos dispositivos
electrónicos.
Programar una interfaz hombre maquina (HMI) con una pantalla táctil
(touch screen) para los diferentes controles que se requieran.
6
1.2. Justificación
El origen de la domótica se remonta a los años setenta, cuando, tras muchas investigaciones aparecieron los primeros dispositivos de automatización de edificios basados en la aún exitosa tecnología X-10 (es un conjunto de reglas de comunicaciones para el control remoto de dispositivos eléctricos). Durante los años siguientes la comunidad internacional mostró un creciente interés por la búsqueda de la casa ideal, comenzando diversos ensayos con avanzados electrodomésticos y dispositivos automáticos para el hogar. Los primeros sistemas comerciales fueron instalados, sobre todo, en Estados Unidos y se limitaban a la regulación de la temperatura ambiente de los edificios de oficinas y poco más. [1]
Más tarde, con el auge de los PC’s a finales de la década de los 80 y principios de los 90, se empezaron a incorporar en estos edificios los Sistemas de Cableado Estructurado (SCE) para facilitar la conexión de todo tipo de terminales y periféricos entre sí, utilizando un cableado estándar y tomas repartidas por todo el edificio. Además de los datos, estos sistemas de cableado permitían el transporte de la voz y la conexión de algunos dispositivos de control y de seguridad, por lo que a aquellos edificios, que disponían de un SCE, se les empezaron a llamar edificios inteligentes. [1]
Posteriormente, todos estos automatismos destinados a edificios de oficinas, se han ido aplicando también a las viviendas de particulares u otro tipo de edificios donde el número de necesidades que hay que cubrir es mucho más amplio, dando origen a la vivienda domótica. [1]
En el presente trabajo se propone una alternativa de control y monitoreo a una vivienda, esto para generar al usuario mayor accesibilidad y seguridad en su hogar, a través del uso y la implementación de tecnologías como: RFID (Radio Frequency IDentification), Bluetooth, sistemas de interfaz gráfica táctil (Touchscreen), un DAQ (Data Acquisition) que nos permite comunicar el software LabVIEW de National Instruments todas estas tecnologías no implementadas en la realización de una vivienda inteligente. Al hablar de una vivienda inteligente se entiende el término domótica el cual significa: Domótica es el conjunto de tecnologías aplicadas al control y la automatización inteligente de la vivienda, que permite una gestión eficiente del uso de la energía, además de aportar seguridad, confort, y comunicación entre el usuario y el sistema. [2] La propuesta de este trabajo generara servicios que ofrecen agrupar cuatro aspectos principales: • El ámbito del ahorro energético
7
• El ámbito del nivel de confort • El ámbito de la protección patrimonial • El ámbito de las comunicaciones
Tras una etapa de introducción a la tecnología digital, ahora estamos en los comienzos de una revolución de los servicios para el hogar, apoyados en tecnologías propuestas en este trabajo, las cuales conectarán inteligentemente todos los dispositivos del hogar, soportando una gran diversidad de servicios interactivos, los cuales evitaran cableado gracias a la comunicación remota, accesibilidad a la vivienda mediante módulos de RFID, acceso a los diferentes dispositivos mediante una pantalla táctil touchscreen haciendo más amigable el control de la vivienda con el usuario y a la vez más visible, así como también conocer los estados de los diferentes dispositivos electrónicos para el control mediante el entorno de LabVIEW y todo esto utilizando dispositivos muy versátiles como lo son los microcontroladores que nos ofrece Microchip Technology Inc. [2]
1.3. Antecedentes En el año 2001 se diseñó y desarrollo una maqueta de una casa automatizada
para enseñanza de domótica la cual implementaba sistemas como alarmas de
intruso, control de persianas, despertadores por teléfono, comunicaciones
externas vía el módem y manejar varios componentes en la casa por el mando a
distancia telefónico todo esto controlado a través de un PLC. [3]
En el mismo año se creó un prototipo de simulación de software llamado VISIR, el cual es empleado para probar programas de control de edificio en cursos de domótica y en el verdadero desarrollo de proyectos. Que es comprendido de tres componentes: Redactor, Dibujando y Simulación en el cual se establece como módulo de control un PLC el cual cuenta con interruptores, potenciómetros y led’s para simular el control de motores, lámparas o calefactores y sensores tomando como referencia de control el SCADA (Control supervisorio y adquisición de datos) con el cual se observa el estado de sensores y actuadores y realiza un control on-off. [5] En el año 2006 se llevó a cabo una implementación de control de acceso e
iluminación de un estacionamiento habitacional en el cual para tener acceso al
estacionamiento el usuario cuenta con una tarjeta la cual cuenta con la tecnología
de radiofrecuencia RFID la cual al ser mostrada a módulo de entrada este manda
una señal al controlador en este caso un PLC el cual acciona un pluma y genera el
acceso, para el control de luminaria se utiliza un sensor dualtec el cual manda una
8
señal al controlador cada que entra una persona, el controlador manda a encender
todas las amparas del lugar. [3]
En el año 2008 se presentó un trabajo de implementación de una HMI (Human
Machine Interface) orientado a una casa inteligente, utilizando una LCD
monocromática en la cual se generaron gráfico con símbolos que hacían
referencia a los diferentes sistemas de control con los cuales cuenta la casa
cumpliendo con funciones básicas como cerrar una cortina, encender la luz, abrir
la puerta, etc. [4]
En el año 2009 el sistema OBRECAD fue creado para establecer mando a distancia para sistemas de domótica en el cual permite a la comunicación entre sensores, dispositivos genéricos y actuadores. Se utiliza un diagrama de clase este creado para cualquier lenguaje de programación esto para establecer un protocolo el cual permita al usuario visualizar a distancia el estado de los componentes de control de la casa, en este caso no se establecen acciones de control, solo es a nivel supervisión a través de una PC mandando un SMS el cual se tiene acceso a otra PC mediante el uso del protocolo TCP/IP. [6]
En el mismo año se llevó a cabo el trabajo que lleva por nombre control remoto y
móvil en domótica; se realizó mediante el entorno de LabVIEW estableciendo
comunicación entre un dispositivo móvil y una PC para el control de una casa
utilizando adquisición inalámbrica y la arquitectura de distribución basada en
servidores de web integrados para el monitoreo de temperatura dentro de la casa.
[2]
9
Capítulo 2
Análisis y Selección de los dispositivos electrónicos
10
1. Análisis y Selección de los dispositivos electrónicos El presente Trabajo de investigación tiene como principal objetivo desarrollar sistemas electrónicos que permitan automatizar ciertas tareas que se realizan en una casa habitación, alguna oficina de trabajo o en algún proceso industrial e incorporar las más recientes tecnologías tales como:
RFID (radio frequency identification), Control de acceso.
Comunicación inalámbrica incorporado Bluetooth.
Tecnología Touchscreen, desarrollando un HMI en un panel táctil.
Desarrollo de una tarjeta de adquisición de datos también conocida como DAQ (Data Acquisition).
Desarrollando sistemas de: identificación por radio frecuencia, sistemas de comunicación utilizando Bluetooth, sistemas de interfaz gráfica táctil (Touchscreen) e incorporaración de un DAQ inalámbrica (Data Acquisition) que permita comunicar el software LabVIEW de National Instruments con el mundo exterior para visualizar, controlar y monitorear diferentes variables que intervienen en un proceso industrial y poder controlar el funcionamiento de diferentes actuadores.
1.1. Selección del Controlador Un Microcontrolador es un Circuito Integrado especialmente denominado computador que contiene los recursos necesarios para ser programado y poder realizar las funciones de una tarea predeterminada, recursos necesarios como: CPU (del inglés, Central Processing Unit), Unidad de Almacenamiento, Temporizadores, Puertos de Entrada y Salida y Recursos Auxiliares o también conocidos como complementos.
1.1.1. Tipos de Microcontroladores En el mercado existe gran variedad de fabricantes de microcontroladores, las principales marcas son:
Microchip
Atmel
Texas Instruments
FreeScale
11
Cada Fabricante ofrece una muy amplia gama de modelos de microcontroladores cada modelo con recursos y características diferentes.
1.1.2. Microcontroladores de Microchip Los microcontroladores de Microchip Technology Inc. también denominados PIC (del inglés Peripheral Interface Controller) son una familia de microcontroladores que ha tenido gran aceptación y desarrollo en los últimos años gracias a sus buenas características, bajo precio, reducido consumo de energía, pequeño tamaño, gran calidad, fiabilidad, alta velocidad de procesamiento de información y sobre todo por su comodidad y sencillez de utilización [1]. Microchip ofrece soluciones para las gamas de 8-bit, 16-bit y microcontroladores de 32-bits, con una arquitectura de gran alcance. 8-bit MCU’s
Baseline
Mid-Range
Enhanced Mid-Range
PIC18 16-bit
PIC24F
PIC24H/E
dsPIC30F
dsPIC33F/E 32-bit Para poder implementar las tecnologías antes mencionadas se utilizaron micrcontroladores fabricados por Microchip Technology Inc. y programados en lenguaje Ensamblador con el software MPLAB IDE v8.02, ya que es de libre distribución y puede ser descargado de la página del fabricante. Estos microcontroladores permiten controlar y monitorear cada una de las señales que están inmersas en los sistemas desarrollados del presente trabajo.
1.1.3. Microcontrolador PIC16F887
El PIC16F887 es un microcontrolador de 8 Bits de la familia Mid-Range con características ideales para las aplicaciones que se desarrollan en el presente trabajo.
12
Figura 1.1 Diagrama a Bloques de la Arquitectura Mid-Range
Tabla 1.1 Periféricos del PIC16f887
1.1.3.1. Recursos Auxiliares del PIC16f887 Según las aplicaciones a las que orienta el fabricante cada modelo de microcontrolador, incorpora una diversidad de complementos que refuerzan la potencia y la flexibilidad del dispositivo, entre los recursos más comunes se citan los siguientes [3]:
13
Circuito de Reloj: Encargado de generar los impulsos que sincronizan el funcionamiento de todo el sistema.
Temporizadores: Orientados a controlar tiempos.
Watchdog: Destinado a provocar una re inicialización cuando el programa queda bloqueado.
Conversores AD y DA: para poder leer y generar señales analógicas.
Comparadores Analógicos: Para verificar el valor de una señal analógica.
Módulo USART es decir, Puertos Seriales, I2C, Rs-232, Rs-485, SPI, entre otros.
Módulo de captura, comparación y PWM.
Sistema de protección ante fallos de la alimentación.
Estado de Reposo: en el que el sistema queda dormido o deshabilitado cuando el sistema no está en uso y el consumo de energía se reduce al mínimo.
1.1.3.2. Características principales de funcionamiento del PIC16F887
Circuito de reloj de hasta 20MHz.
Tensión de alimentación de 2.0 Volts hasta 5.5 Volts. Los recursos auxiliares del PIC16F887 que se utilizaron para desarrollar las diferentes aplicaciones del presente trabajo son:
Circuito de Reloj: con un oscilador de 20MHz.
Puerto Serial Rs-232 a una velocidad de 9600 baudios.
Sistema de protección ante fallos de la alimentación PWRT.
Conversores AD: para leer o procesar señales analógicas.
Figura 1.2 Apariencia Física del PIC16f887
14
Figura 1.3 Diagrama de Pines del PIC16f887
1.1.4. Programación del microcontrolador Para grabar la memoria de programa el microcontrolador debe llevarse a un modo especial de trabajo suministrando 13.5V a la línea MCLR y el voltaje de la línea alimentación Vdd debe estabilizarse entre 4.5V y 5.5V. La memoria de programa se puede grabar de manera serial por medio de las líneas data y clock las cuales deben separarse previamente de las líneas del dispositivo para evitar errores durante la programación [4].
1.1.5. Organización de la Memoria del PIC16F877 El microcontrolador PIC16F887 tiene tres bloques de memoria: EEPROM, Memoria de Datos y Memoria de Programa.
15
1.1.5.1. Memoria de Programa La memoria de programa está hecha con tecnología FLASH, lo cual permite programar al microcontrolador una gran cantidad de veces antes de instalarlo en dispositivo y aun después de haberlo instalado si ocurren cambios eventuales en el programa o parámetros de proceso. Las localidades de memoria son de 14 bits cada una, donde las localidades cero y cuatro están reservadas para el reset y el vector de interrupción, respectivamente.
1.1.5.2. Memoria de Datos La memoria de datos está compuesta de la memoria EEPROM y la memoria RAM. La memoria EEPROM consiste de 256 localidades de 8 bits cada una cuyo contenido no se pierde al apagar la fuente de alimentación, La memoria RAM (del inglés Random Access Memory) ocupa espacio dentro del mapa de memoria de datos, las localidades de la memoria RAM se llaman también registros GPR (del inglés General Purpose Registers-registros de propósito general) estos registros se pueden accesar sin importar el banco seleccionado. Mientras que los registros SFR (Special Function Register-registros de funciones especiales) se debe primero seleccionar su banco en memoria y después se puede tener acceso a ellos.
1.1.5.3. GPR (General Purpose Registers-registros de propósito general) Son localidades de memoria de 8 bits donde se pueden almacenar variables que se ocupen durante la ejecución del proceso (ver Tabla 2.2).
1.1.5.4. SFR (Special Function Registers-registros de funciones especiales)
Son registros de 8 bits que se encuentran almacenados en la memoria de datos y cada uno cumple con una función en específico (ver Tabla 2.2).
16
Tabla 1.2 Bancos de Memoria del PIC16F887
17
1.1.6. Puertos de E/S, entrada/salida del microcontrolador PIC16f887. El microcontrolador se comunica con el mundo exterior a través de los puertos. Estos están constituidos por líneas digitales de entrada/salida que trabajan entre 0V (nivel cero lógico “0”) y 5V (nivel lógico “1”). Los puertos se pueden configurar como entradas para recibir datos o como salidas para gobernar dispositivos externos. El PIC16F887 tiene cinco puertos, tal como se ilustra en la figura 2.3 El Puerto A con 8 líneas, pines RA0 a RA7. El Puerto B con 8 líneas, pines RB0 a RB7. El Puerto C con 8 líneas, pines RC0 a RC7. El Puerto D con 8 líneas, pines RD0 a RD7. El Puerto E con 4 líneas, pines RE0 a RE3. Normalmente en las entradas se tiene:
Interruptores
Pulsadores
Sensores
Selectores Normalmente en las salidas se tiene:
Actuadores
Luces indicadores
1.1.7. El reloj y el ciclo de instrucción. El reloj del microcontrolador es uno de los principales suministros, el cual es obtenido de un componente externo llamado el “oscilador”. El reloj entra al microcontrolador por medio de la línea RA7/OSC1/CLKIN donde un circuito interno del microcontrolador lo divide en cuatro ciclos iguales, estos cuatro ciclos constituyen un ciclo de instrucción (también llamado ciclo de maquina) durante el cual se ejecuta una instrucción [4].
18
1.1.7.1. Oscilador El microcontrolador requiere de un circuito que indique la velocidad de trabajo a este se le llama Oscilador o Reloj, Este genera una onda cuadrada de alta frecuencia que se utiliza para sincronizar todas las operaciones del sistema. En el PIC16F887 los pines RA7/OSC1/CLKIN y RA6/OSC2/CLKOUT son las líneas utilizadas para este fin, los osciladores que pueden ser empleados son:
XT. Cristal de cuarzo
RC. Oscilador con Resistencia y condensador.
HS. Cristal de alta velocidad.
LS. Cristal para baja frecuencia y baja potencia de trabajo.
Externa. Cuando se aplica una señal de reloj externa.
Figura 1.4 Apariencia Física de un cristal de 20MHz
El oscilador que se empleó para asignar la velocidad de procesamiento al PIC16F887 es un cristal de cuarzo de alta velocidad de 20MHz, sin embargo, el microcontrolador no opera a una frecuencia de 20MHz, debido a que un circuito interno divide en 4 esta frecuencia, por tanto la velocidad de procesamiento del microcontrolador está a una frecuencia de 5MHz. Definición de Frecuencia y Periodo:
𝐹 =1
𝑇 (2.1)
𝑇 =1
𝐹 (2.2)
Dónde: F = Frecuencia T = Periodo Si se tiene una frecuencia de operación de 5MHz, tenemos que cada instrucción se lee en 200ns es decir, 5 MIPS (millones de instrucciones por segundo), es una
19
forma de medir la potencia en los procesadores que contienen el mismo juego de instrucciones.
𝑇 =1
5𝑀𝐻𝑧= 200𝑛𝑠
1.1.8. Sistema de reinicio
El llamado reset en un microcontrolador provoca la re inicialización de su funcionamiento, un “comienzo a funcionar desde cero”. En los microcontroladores se requiere un pin de reset para reiniciar el funcionamiento del sistema cuando el funcionamiento del sistema queda averiado o cuando sea necesario reiniciar desde cero el funcionamiento del sistema. El pin de reset en los PIC se denomina MCLR (Master Clear) y se produce un reset cuando se le aplica un nivel lógico bajo.
Figura 1.5 Componentes básicos de funcionamiento, PIC16F887
2.5. Tecnología RFID (Identificación por radiofrecuencia)
La tecnología de identificación por radio frecuencia, RFID (del inglés Radio Frequency Identification) está basada en ondas de radio, comúnmente usadas para trasmitir y recibir información sin el uso de cables. Se ha utilizado por muchos años, en las estaciones de radio AM y FM, en la banda civil, en los hornos de microondas, en los teléfonos celulares, y en un sin número de aparatos y aplicaciones; pero no fue sino hasta hace poco que su aplicación específica para la identificación de “objetos” ha despertado interés en las empresas, sobre todo en
20
las que producen y distribuyen bienes de consumo, en el sector salud, logística, y aplicaciones gubernamentales [5].
Actualmente la tecnología de identificación por radiofrecuencia (RFID) está presente en numerosas aplicaciones tales como: el sistema de transporte metro, el sistema de transporte suburbano o el Metrobús, La identificación por radiofrecuencia o RFID, es una tecnología de identificación remota e inalámbrica en la cual un dispositivo lector o reader vinculado a un equipo de cómputo, se comunica a través de una antena con un transponder (también conocido como tag o etiqueta) mediante ondas de radio.
Esta tecnología que existe desde los años 40, se ha utilizado y se sigue utilizando para múltiples aplicaciones incluyendo casetas de peaje, control de acceso, identificación de ganado y tarjetas electrónicas de transporte.
RFID al ofrecer alternativas a las limitaciones de los códigos de barras, es una plataforma ideal para la recopilación de datos en sectores como el de salud, farmacéutico, manufactura, almacenamiento (inventarios), logística, trazabilidad y retail, implantarlo, usarlo y acoplarlo de manera armónica en los procesos empresariales depende del claro entendimiento de sus capacidades, limitaciones y fundamentos [5].
2.5.1. Principales aplicaciones de la tecnología RFID
Hoy en día la incorporación de RFID en los procesos de negocios han demostrado tener éxito en sectores como:
Administración de la cadena de suministros. En lo que se refiere a la administración de toda la cadena de abastecimientos, almacenes, depósitos, seguimiento de productos, empaques, pallets (tarimas), seguimiento de inventario, considera también fraudes, robos, falsificaciones.
21
Proceso de manufactura. Automatización de procesos de ensamblaje, producción de componente, partes y refacciones, muy aplicado en la industria automotriz.
Administración de activos. Seguimiento de equipamiento, administración de flotillas, mantenimiento de vehículos, seguimiento y rastreo de activos, aplicaciones militares y de defensa.
Seguridad y control de acceso. Considera control de acceso, seguimiento de animales, controles de encendido, acarreo de equipaje, control de acceso, y seguridad en estacionamientos y seguridad de vehículos.
Aplicaciones de consumidor. Considera identificación de personal, identificación y seguimiento de pacientes, innovadores sistemas de pago, tarjetas de fidelidad inteligentes, cajeros automáticos y pago de servicios.
Figura 1.6 Comunicación serial RS-232, RFID Reader-MCU
2.5.2. Circuito electrónico para implementar en cerradura electrónica En el presente trabajo se diseña un circuito electrónico para controlar la clausura o apertura de una puerta, ventana, caja fuerte o cualquier cosa que contenga una cerradura electrónica, esto para tener acceso a una habitación, un garaje, algún lugar de una casa habitación o de cualquier establecimiento público, utilizando la tecnología RFID; es decir al presentar una tarjeta en el módulo que se encuentra
22
en la entrada del garaje, el sistema lector manda una señal al microcontrolador, el cual evalúa si la tarjeta tiene el código correcto para que mande una señal eléctrica que accione la cerradura y de esta forma se pueda tener acceso. Si el código leído de la tarjeta o tag no coincide con la que se encuentra dentro del sistema de control, el microcontrolador no generara señal eléctrica y por tanto nunca se abriría la cerradura electrónica.
Mediante un visualizador LCD 16x2 (del inglés Liquid Crystal Display) el
circuito electronico le dara la bienvenida al usuario mostrando un
mensaje en la primer linea de “Bienvenido” y en una segunda linea mostrara si el usuario tendra o no acceso dependiendo de la tarjeta o
tag que se este utilizando.
Figura 1.7 Lector RFID a 125kHz
2.5.3. Características del Lector RFID 125kHz
Tensión de Alimentación 5V.
Comunicación Serial Rs-232 a 9600 Baudios.
Solo 4 pines en la placa para controlar.
Alta sensibilidad.
Máxima distancia de detección: 7cm.
Salida UART: Salida TTL, 9600 Baudios, 8 bits de datos y 1 bit de parada [9].
2.5.4. Visualizador LCD 16x2 Las pantallas de cristal líquido o display LCD (del inglés Liquid Crystal Display) para mensajes tienen la capacidad de mostrar cualquier carácter alfanumérico, permitiendo representar la información que genera cualquier equipo electrónico de
23
una forma fácil y económica. La pantalla consta de una matriz de caracteres (normalmente de 5x7 puntos) distribuidos en una, dos, tres o cuatro líneas de 16 hasta 40 caracteres cada línea. El proceso de visualización es gobernado por un microcontrolador PIC16F887 incorporado a la pantalla, siendo el Hitachi 44780 el modelo más utilizado [1].
Figura 1.8 Aspecto de un módulo LM016
Existen distintos fabricantes que ofrecen una gran variedad de visualizadores de cristal líquido, pero el modelo mas utilizado el es LM016L, que es un módulo de 2 líneas de 16 caracteres cada una. Su fácil manejo lo hace ideal para dispositivos que necesitan una capacidad de visualización pequeña o mediana. Sus características principales son las siguientes:
Consumo reducido, del orden de 7.5 mW
Pantalla de caracteres ASCII, ademas de los caracteres japonese Kanji,
griegos y símbolos matemáticos.}desplazamiento de los caracteres hacia la
izquierda o a la derecha.
Memoria de 40 caracteres por línea de pantalla, visualizándose 16
caracteres por línea.
Movimiento del cursor y cambio de su aspecto.
Permite que el usuario pueda programar 8 caracteres.
Pueden ser controlados de dos formas principales:
- Conexión con bus de 4 bits.
- Conexión con bus de 8 bits.
24
Figura 1.9 Patillaje del LCD LM016L
Tabla 1.3 Descripción de pines del Display LCD 16x2
2.5.5. Memoria del LCD
A continuación se muestran las características de la memoria de la LCD asi como sus tipos. 2.5.5.1. DDRAM. El LM016 posee una zona de memoria RAM llamada DDRAM (del inglés Data Display RAM) donde se almacenan los caracteres que se pueden representar. Tiene una capacidad de 80 bytes, 40 por cada línea, de los cuales solo 32 se pueden visualizar a la vez (16 bytes por línea).
SEÑAL DEFINICIÓN PINES FUNCIÓN
DB0…DB7 Data bus 7…14 Bus de datos
E Enable 6 E=0, LCD no habilitado E=1, LCD habilitado
R/W Read / write 5 R/W=0, escribe en LCD R/W=1, lee del LCD
RS Register select 4 R/S=0, modo comando R/S=1, modo carácter
𝑽𝑳𝑪 Liquid crystal driving voltage
3 Tensión para ajustar el voltaje
𝑽𝑫𝑫 Power supply voltage 2 Tensión de alimentación, +5v
𝑽𝑺𝑺 Ground 1 Masa
25
Este espacio de memoria almacena los códigos ASCII de los caracteres que aparecerán en pantalla y existe una correspondencia entre las filas de la pantalla y las posiciones consecutivas de memoria. De las 80 direcciones posibles, las dos más importantes son:
Dirección 00h (que es el comienzo de la primera línea).
Dirección 40h (que es el comienzo de la segunda línea)
Figura 1.10 Lista de caracteres definidos dentro de la memoria CGROM
26
2.5.5.2. Caracteres definidos en la CGROM. Este módulo posee una zona de memoria interna no volátil llamada CGROM donde almacena una tabla con los 192 caracteres que puedan ser visualizados (mostrados en la figura 2.10). Cada uno de estos caracteres tiene su representación binaria de 8 bits. Para visualizar un carácter debe recibir por el bus de datosel código correspondiente. Por ejemplo: Para visualizar el carácter “A” el LDC debe recibir por su bus de datos el código b’01000001’. Tambien permite la posibilidad de definir 8 nuevos caracteres de usuario, no incluidos en su tabla interna. Estos caracteres se guardan en una zona de RAM denominada CGRAM (Character Generator RAM). 2.5.6. Modo de Funcionamiento Este display tiene tres modos de funcionamiento principales:
Modo comando. Cuando por el bus de datos el LDC recibe instrucciones
como “Borrar Display”, “Mover Cursor”, “desplazar a iazquierda”, etc. Para
trabajar bajo este modo el pin RS debe estar a “0”, el pin R/W tambien debe
ser “0” para indicar que se esta realizando una operación de escritura.
Modo carácter o dato.Cuando por el bus de datos el LCD recibe un carácter
a escribir en la DDRAM. Es decir, cuando se envía al LCD el carácter ASCII
a visualizar. Para trabajar en este modo , el pin RS debe estar a “1”. El pin
R/W debe ser “0”, para indicar que se está realizando una operación de
escritura. También se puede llamar “modo carácter” o “modo registro”.
Modo lectura del “Busy Flag” o LCD ocupada.En el bit 7 del bus de dato el
LCD informa al microcontrolador de que está ocupado, (este bit es
denominado Busy Flag). Para ello se lee el bus de dato con RS=0 y R/W=1,
si el bit 7 del bus de datos es “1” indica que la pantalla LCD esta ocupada
realizando operaciones internas y no puede aceptar nuevas instruccinesni
datos. Hay que esperar a que el Busy Flag valga “0” para enviarle la
siguiente instrucción o carácter.
27
Este último modo de operación se ha ideado para evitar posibles problemas de tiempo, de manera que no se realiza ninguna operación con el LCD hasta comprobar que no está ocupado. El pin R/W permite leer el registro de estado en el modo Busy Flag que sólo sirve para comprobar si el controlador ha terminado de realizar la instrucción que se le ha enviado y asi poder enviar más. 2.5.7. Comandos de control Los comandos que admite este modulo LCD son los siguientes:
Tabla 1.4 Comandos del módulo LCD
COMANDO RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Clear Display 0 0 0 0 0 0 0 0 0 1
Return Home 0 0 0 0 0 0 0 0 1 *
Entry Mode Set 0 0 0 0 0 0 0 1 I/D S
Display Control 0 0 0 0 0 0 1 D C B
Cursor and Display Shift
0 0 0 0 0 1 S/C R/L * *
Funcion Set 0 0 0 0 1 DL N F * *
Set CGRAM Address 0 0 0 1 CGRAM Address
Set DDRAM Address 0 0 1 DDRAM Address
Read Busy Flag 0 1 BF DDRAM Address
Write RAM 1 0 Write Data
Read RAM 1 1 Read Data
Los comandos se envían através del bus de datos. Para que el LCD los reconozca hay que poner la señal RS a nivel bajo. A continuación e detallan las funciones de cada comenado:
Clear Display (00000001). Borra la pantalla y devuelve el cursor a la
posición inicial (dirección 0 de la DDRAM)
Return home (0000001x). cursor a dirección origen. Devuelve el cursor la
posición original de la DDRAM (dirección 00h) quedando intacto su
contenido.
Entry Mode Set (000001 I/D S). modo entrada establece las características
de escritura de los datos Shift e Increment/Decrement:
- S=0. La información visualizada en la pantalla no se desplaza al escribir
un nuevo carácter.
28
- S=1. La información visualizada se desplaza al escribir un nuevo
carácter. Lapantalla se desplaza en el sentido indicado por el bit I/D
cuando el cursor llega al fin de la pantalla.
- I/D=1. Incremento automático de la posición del cursor. La posición de la
DDRAM se incrementa automáticamente tras cada lectura o escritura a
la misma.
- I/D=0. Decremento de la posición del cursor. Se decrementa el puntero
de la DDRAm.
Display Control (00001DCB). Control de la pantalla:
- B=0. Blink OFF, no hay efecto de parpadeo del cursor.
- B=1. Blink ON, efecto de parppadeo con cursor rectangular.
- C=0. Cursor OFF, el cursor no se visualiza.
- C=1. Cursor ON, el cursor es visualizado.
- D=0. Display OFF, el display se apaga.
- D=1 display ON, el display se enciende.
-
Cursor and Display Shift (0 0 0 1 S/C R/L x x). control de los
desplazamientos del cursor y de la pantalla:
- R/L=0. Left, a la izquierda.
- R/L=1. Right, a la derecha.
- S/C=0. El efecto de desplazamiento se aplica solo sobre el cursor sn
alterar el contenido de la DDRAM.
- S/C=1. El efecto de desplazamiento se afecta a todo el display.
Function Set (0 0 1 DL N F x x ) características de control hardware:
- F=0. Font, caracteres de 5x7 puntos.
- F=1. Font, caracteres de 5x10 puntos.
- N=0. Number Line, pantalla de una línea.
- N=1. Number Line, pantalla de dos líneas.
- DL=0. Data Length. Comunicación con 4 bits. Indica al LCD que
solamente se van a autilizar las líneas DB7, DB6, DB5 y DB4 para
enviarle datos y que se hará enviando primero el nibble alto, y a
continuación el nibble bajo del dato.
- DL=1. Data Length. Comunicación con 8 bits.
Set CGRAM Address. Se va a escribir sobre la dirección CGRAM señalada.
29
Set DDRAM Address (1 d d d d d d d d). esta instrucción se utiliza para
modificar el puntero a la DDRAM, Así por ejemplo, si la dirección es la 08h
se escribirá en el centro de la primera línea.
Read Busy Flag. Lee el Bf indicando si hay una operación interna en curso
y lee, además el contenido de la dirección DDRAM apuntada [10].
1.2. Pantalla Táctil Una pantalla táctil es una pantalla que mediante un toque directo sobre su superficie, permite la entrada de datos y órdenes al dispositivo, y a su vez muestra los resultados introducidos; actuando como periférico de entrada y de salida de datos. El contacto se puede realizar por medio de un lápiz óptico u otras herramientas similares. Actualmente hay pantallas táctiles que pueden instalarse sobre una pantalla normal. Las pantallas táctiles son populares en la industria pesada y en otras situaciones, tales como exposiciones de museos donde los teclados y los ratones no permiten una interacción satisfactoria, intuitiva, rápida, o exacta del usuario con el contenido de la exposición. Es importante mencionar que un panel táctil también permite una notable reducción de hardware. El lápiz óptico es un periférico de entrada para computadoras, Tablets, Celulares entre otros, tomando en la forma de una varita fotosensible, que puede ser usado para apuntar a objetos mostrados en una pantalla, en una manera similar a una pantalla táctil pero con mayor exactitud posicional. Este periférico es habitualmente usado para sustituir al mouse, teclado o algún componente de entrada de algún sistema.
1.2.1. Tipos de pantallas Touchscreen Hoy en día se cuenta con muchas opciones de Tecnología Touchscreen.
Touchscreen Resistiva de 5 hilos AccuTouch.
Touchscreens de Reconocimiento de Pulso Acústico (APR).
Tecnología Resistiva de 4 hilos AT4.
Touchscreen Infrarroja CarrollTouch.
TouchscreenIntellitouch de Ondas de Superficie.
Touchscreen de Ondas de Superficie SecureTouch.
Touchscreen de Ondas de SuperficieiTouch (Touch-on-tube).
Tecnología Capacitiva Proyectada.
Tecnología Superficie Capacitiva.
30
Figura 1.11 Tecnología Resistiva de 4 hilos AT4
1.2.2. Funcionamiento de la pantalla táctil
El panel táctil contiene dos superficies (ver Figura 2.12) y cada superficie contiene
una red de resistencias (ver Figura 2.13) de donde provienen dos terminales de
cada superficie. Para conocer la coordenada sobre el eje X en donde se realiza el
contacto, es necesario energizar una superficie con 5V y realizar una medición en
la otra superficie, es decir, para conocer la posición en el eje X donde se está
realizando el tacto, se energiza la superficie A y se mide el voltaje en la superficie
B. Ahora bien, para conocer la posición en el eje Y donde se realiza el contacto se
energiza la superficie B y se mida el voltaje en la superficie A. De esta forma se
determina el punto en donde se realiza el contacto (X, Y) Dichas coordenadas
obtenidas están dadas en valores analógicos de voltaje, por tanto el sistemas de
control deberá convertir esos valores analógicos a digitales y eso se logra
mediante un ADC (del inglés Analog to Digital Converter). Una vez obtenida la
coordenada (X, Y) el microcontrolador conoce el punto donde se realizó el tacto y
es capaz de tomar decisiones en base a la lectura.
Figura 1.12 Superficies que componen el panel táctil
31
Ejemplo: Cuando la terminal-Derecha (ver Figura 2.12) se conecta a 5V, la terminal-Izquierda se conecta a GND ó 0V y en función del lugar en donde se esté realizando el contacto, se va a obtener un voltaje en la terminal-Abajo, y este voltaje es leído por el ADC de un Microcontrolador, la terminal-Arriba queda sin conexión, con esto se obtiene el punto del tacto en el eje X, para leer la posición del tacto en el eje Y, la terminal-Arriba se conecta a 5V, la terminal-Abajo a GND o 0V, la terminal-Derecha queda sin conexión y en la terminal-Izquierda se hace una medición de voltaje. Por lo tanto se puede observar que las resistencias funcionan como un circuito divisor de voltaje que está en función de la posición del contacto.
Figura 1.13 Red de resistencias del panel táctil
La conversión A/D es un proceso de cuantización en la cual una señal analógica es representada por su equivalente en estados binarios.
Figura 1.14 Función del Convertidor analógico a Digital
En el presente trabajo se desarrolla un HMI (del inglés Human machine Interface) en un GLCD (del inglés Graphic Liquid Crystal Display) a colores para controlar las luces de una casa habitación.
32
Figura 1.15 GLCD (Graphic Liquid Crystal Display) PIC18FJ
1.2.3. Panel Táctil PIC18FJ El PIC18FJ es una placa que contiene un microcontrolador PIC18F87J50, una pantalla a colores de 320x240 pixeles, un panel táctil, ranura para tarjeta microSD, un reproductor de audio mp3, comunicación USB,un acelerómetro y un bootloader que permite programar el PIC18FJ desde el software mikroBootloader USB HID v1.50 mediante su puerto USB, esto para poder prescindir de un programador externo.
Figura 1.16 Diagrama a Bloques de la Arquitectura PIC18
33
El PIC18F87J50 fabricado por Microchip Technology Inc. Es un microcontrolador de 8 Bits de la familia PIC18.
Tabla 1.5 Periféricos del PIC18F87J5
1.3. Software de Programación, Compilación y simulación. A continuación se hace un listado del software utilizado para la programación, compilación y simulación de los circuitos electrónicos e interfaces del presente trabajo, todo el software utilizado corre bajo la plataforma de Windows:
MPLAB IDE v8.02.
Visual TFT v2.71.
mikroC PRO for PIC v5.61.
Master Prog.
mikroBootloader USB HID v1.50.
Proteus ISIS Professional v7.7.
National Instruments LabVIEW 2012.
1.3.1. Entorno de programación MPLAB El MPLAB IDE® es una herramienta software de “Entorno de Desarrollo Integrado” (Integrated Development Enviroment, IDE) que se ejecuta bajo Windows. Con este entorno se pueden desarrollar aplicaciones para los microcontroladores PIC, los microcontroladores con arquitectura Mid-Range cuentan con un juego de 35 instrucciones lo que hace que sean fáciles de programar. El MPLAB® incluye todas las utilidades necesarias para la realización de proyectos con microcontroladores PIC, permite editar el archivo fuente del proyecto, además
34
de ensamblarlo y simularlo en pantalla para comprobar cómo evolucionan tanto la memoria de datos RAM (del inglés Random Access Memory), como la de programa ROM (del inglés Read-only Memory) los registros del SFR (del inglés Special Function Register), etc., según progresa la ejecución del programa. El MPLAB IDE® incluye:
Un editor de texto.
Un ensamblador llamado MPASMTM.
Un simulador llamado MPLAB SIM TM.
Un organizador de proyectos y otros. Este programa es gratuito. Se puede descargar en la dirección de internet del fabricante www.microchip.com. Su instalación es muy sencilla y similar a cualquier otro programa para el sistema operativo Windows.
Figura 1.17 Apariencia del entorno de programación MPLAB
1.3.2. Software Visual TFT Visual TFT v2.71 es un software muy parecido al entorno de desarrollo Visual Basic, Visual TFT permite crear Interfaces graficas de usuario de forma fácil y rápida ya que el diseño de la Interfaz gráfica de usuario es por medio de bloques. El Sotfware Visual TFT cuanta con 12 componentes que son suficientes para crear múltiples aplicaciones.
35
Figura 1.18 Componentes para desarrollar Interfaces graficas en Visual TFT.
Visual TFT permite crear solo la apariencia de la Interfaz Gráfica de usuario y en base a la interfaz gráfica prediseñada genera el código C para más tarde poder programar las funciones de cada bloque de la interfaz en el software mikroC PRO for PIC v5.61, ya que este último software da la posibilidad de programar en código C para manipular el funcionamiento del panel táctil, módulo de mp3, pantalla a colores 320x240 o cualquier otro elemento del PIC18FJ.
Figura 1.19 Software Visual TFT.
36
1.3.3. mikroC PRO for PIC mikroC PRO for PIC es un compilador que sirve al programador para programar microcontroladores de Microchip en código C de manera fácil y rápida ya que cuenta con múltiples librerías y herramientas que ayudan a tener un código más compacto.
Figura 1.20 Software mikro C PRO for PIC
1.3.4. Master Prog Master Prog está formado de una parte de software y otra de hardware que permite programar microcontroladores de Microchip mejor conocidos como PIC’s, la parte de Hardware se conecta vía USB a un computador mientras que el Software se ejecuta en el computador, cuando se captura un programa en MPLAB IDE, al momento de compilar el programa genera diferentes archivos que conforman un mismo proyecto. El proceso de ensamblado produce un fichero ejecutable con extensión (*.HEX) que será el que posteriormente se grabara en la memoria de programa del PIC mediante el grabador, en la figura 2.21 se puede observar que en el archivo (*.HEX) únicamente contiene números hexadecimales, que es la forma de representar ceros y unos binarios de la información que se grabara posteriormente en la memoria de programa del microcontrolador [1].
37
Master prog permite cargar el archivo con extensión (*.HEX) al microcontrolador.
Figura 1.21 Contenido del archivo con extensión (*.HEX)
Figura 1.22 Software Master Prog
38
Figura 1.23 Hardware Master Prog
1.3.5. mikroBootloader USB HID v1.50 mikroBootloader es un programa que se utilizó para programar la pantalla táctil ya que el microcontrolador que contiene el PIC18FJ es fabricado por Microchip, la función de este software es similar a la del Master prog, cargar el archivo (*.HEX) al microcontrolador.
Figura 1.24 Software mikroBootloader USB HID v1.50
39
1.3.6. Proteus ISIS Professional v7.7
Proteus es una compilación de programas de diseño y simulación electrónica, desarrollado por Labcenter Electronics que consta de dos programas principales: Ares e Isis.
El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas Inteligente) permite diseñar el plano eléctrico del circuito que se desea realizar con componentes muy variados, desde simples resistencias, hasta alguno que otro microprocesador o microcontrolador, incluyendo fuentes de alimentación, generadores de señales y muchos otros componentes con prestaciones diferentes. Los diseños realizados en Isis pueden ser simulados en tiempo real.
Figura 1.25 Software Proteus ISIS Professional v7.7
40
1.3.7. National Instruments LabVIEW 2012 El software LabVIEW® es un potente programa de diseño de sistemas construido específicamente para tareas realizadas por ingenieros y científicos. LabVIEW es el acrónimo de Laboratory Virtual Instrument Engineering Workbech. Es un lenguaje y, a la vez, un entorno de programación gráfica en el que se pueden crear aplicaciones de una forma rápida y sencilla [2]. Originalmente el software LabVIEW estaba orientado para aplicaciones de control de equipos electrónicos usados en el entorno de instrumentación, lo que se conoce como instrumentación virtual. En la interfaz se trabaja con dos ventanas principales: un instrumento real tendrá un panel frontal donde estarán su botones, pantallas, etc. y una circuitería interna. En LabVIEW estas partes reciben el nombre de Panel Frontal y Diagrama de Bloques respectivamente [2].
Panel Frontal: es la parte que vera el usuario, suele tener fondo gris.
Diagrama de Bloques: es donde se realiza la programación y suele tener fondo blanco.
Figura 1.26 Software LabVIEW
1.4. Tarjeta de Adquisición de Datos con LabVIEW Se tiene como principal objetivo realizar una tarjeta de adquisición de datos que nos permita comunicar el software LabVIEW con el mundo exterior de una manera inalámbrica para visualizar, controlar y monitorear diferentes variables que intervienen en un proceso industrial y poder controlar el funcionamiento de diferentes actuadores.
41
National Instrument ofrece en el mercado diferente tipos de DAQ (Tarjeta de Adquisición de Datos), estas tarjetas ayudan a comunicar vía USB el software LabVIEW con el mundo exterior.
1.4.1. Puertos E/S La Tarjeta de Adquisición de Datos que se va a desarrollar contiene puertos de entrada y puertos de salida como se describen en la Tabla 2-6, el voltaje de operación de dichos puertos de entradas y salidas digitales es de 0 y 5V de CD, por tanto si se deseara controlar un actuador que opera a una tensión mayor en CD o de CA es necesario utilizar un circuito externo de potencia. El rango de operación de las entradas analógicas es de cero a cinco volts 0-5V.
Tabla 1.6 Entradas y Salidas de la DAQ
Adquisición de Datos (DAQ)
Entradas 0-5V Salidas 0-5V
8 Digitales 8 Digitales
8 Analógicas -----
La tarjeta de adquisición de datos está compuesta principalmente por un microcontrolador fabricados por Microchip Technology Inc, también denominado PIC, un Bluetooth que permitirá hacer la comunicación inalámbrica entre el DAQ y la PC y diferentes elementos electrónicos como, transistores, resistencias, diodos y reguladores de tensión.
1.4.2. Arquitectura general de la DAQ El microcontrolador principal que gobierna las funciones de la tarjeta de adquisición de datos es el PIC16f887, en la figura 2.27 Se muestra un diagrama a bloques de la arquitectura general de la DAQ.
42
Figura 1.27 Arquitectura General de la DAQ
1.4.3. Comunicación entre la DAQ y LabVIEW La forma más común y sencilla de comunicar cualquier dispositivo con una computadora es a través del puerto serie. La comunicación serial consiste en él envió de un bit de información de manera secuencial, esto es un bit a la vez y a un ritmo acordado entre el emisor y el receptor. En una computadora puede haber varios puertos serie, normalmente denominados COM 1, COM 2, etc. En la Figura 2.28, se observa las terminales que constituyen a un conector DB-9. En cualquier tipo de comunicación es importante considerar la velocidad de trasmisión. El Baudio es proporcional a los bits/segundo (bps) definidos como el número de bits de información enviados por segundo.
43
La velocidad a la que pueden trabajar los puertos COM de un ordenador está normalizada a: 75, 150, 300, 600, 1200, 2400, 4800, 9600 Baudios, etc. Estos valores son demasiado pequeños para los estándares de hoy en día, Pero suficientemente rápidos para una multitud de aplicaciones [1].
1.4.3.1. Comunicación Rs-232 RS-232 significa Recommend Standard 232, y está definido por el ANSI (del inglés American National Standard Institution) como: la interfaz entre un equipo terminal de datos y un equipo de comunicación de datos utilizando un intercambio binario de tipo serie [2].
Figura 1.28 Patillaje del conector DB-9
Figura 1.29 Análisis en Osciloscopio del protocolo Rs-232
44
1.4.4. Tecnología Bluetooth
Las redes inalámbricas de área personal WPAN (Wireless Personal Area Network), son redes que normalmente cubren distancias de hasta 100 metros, normalmente utilizadas para comunicar varios dispositivos portátiles personales sin la necesidad de utilizar cables. En la tecnología Bluetooth la velocidad de transmisión va desde 1 Mbit/s hasta 24Mbit/s [6]. El Bluetooth es un tipo de comunicación inalámbrica que posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda de 2.4GHz. Algunas de las ventajas que se tiene al utilizar la comunicación Bluetooth son las siguientes:
Facilitar las comunicaciones entre equipos móviles y fijos.
Eliminar cables y conectores entre estos.
Ofrecer la posibilidad de crear pequeñas redes inalámbricas Al utilizar este tipo de comunicación se utilizan dos dispositivos:
Un adaptador de USB a Bluetooth
Un adaptador de Bluetooth a puerto serie RS232 Las velocidades de comunicación pueden ser desde 1200 – 115200 bps.
Figura 1.30 Modulo Bluetooth serial
45
El modulo Bluetooth COM es diseñado para conectarse con un MCU (del inglés Unit Central Microproccesing) que tenga como recurso auxiliar un módulo UART, las características principales son:
Tensión de Alimentación 3.3V.
Comunicación Serial Rs-232, con velocidades de trasmisión que van desde los 4800 baudios hasta los 1382400 baudios.
3 pines para la comunicación serial Rs-232, Tx, Rx y GND. [8].
46
Capítulo 3
Diseño e implementación del hardware
47
3. Diseño e implementación del hardware
3.1. Introducción del hardware La implementación de hardware es una de las partes más importantes para el desarrollo del trabajo que se presenta, porque para realizar las diferentes acciones de control se requiere instalar diferentes dispositivos electrónicos. Como hemos vivido durante los últimos años la tecnología ha avanzado tan rápido, que en un parpadeo de ojos se desarrollaron cosas que en siglos antepasados no se pudiera imaginar que se realizara; sin embargo desde los ordenadores personales que se desarrollaron apenas hace dos décadas aproximadamente los han compuesto de partes principales que son el hardware que corresponde a todos los componentes tangibles físicamente y la segunda parte que incluye todo lo que se refiere a líneas de programación o dicho de otra forma todo lo intangible o software, dicho todo esto se desarrolla este proyecto. En el capítulo cuatro se describirá adecuadamente lo que corresponde a software, pero en el capítulo tres se describe cada parte del hardware detalladamente, debido a que se desarrolló un prototipo de casa habitación. En el trabajo se diseñaron algunos circuitos impresos, se implementó un lector de RFID (Identificador por Radio Frecuencia), una comunicación vía bluetooth, una tarjeta de adquisición de datos (DAQ) que incluye una pantalla touch screen y módulos periféricos como salida de audio, puertos USART, ADC (Convertidor analógico digital), entradas y salidas digitales, módulos de memorias SD entre otras. La implementación de tecnologías inalámbricas es muy importante en cuestión de gastos de adecuaciones, combinándose con los diferentes elementos a controlar la hacen una herramienta muy poderosa, sin embargo ningún sistema puede ser en su totalidad ideal por lo que los esfuerzos para que esto funcione con la mejor efectividad son incontables. La idea de utilizar touch screen es una idea que no es nueva en cuestión de desarrollo tecnológico, pero puede ser muy útil si se enfoca de una manera adecuada para aprovechar al máximo este tipo de tecnologías. Por último el RFID puede ser una herramienta relativamente económica además de muy eficiente, porque además de brindar seguridad y confiabilidad proporciona información adicional, el solo pensar en esto no quiere decir que la única función que puede tener es dar acceso presencial si no puede ofrecer datos de quien corresponda a la etiqueta de acceso. También es importante mencionar que una parte fundamental para desarrollar este proyecto fueron los microcontroladores ya que en estos se basan bastante el control de la mayoría de los diferentes elementos que se implementaron dentro del prototipo.
48
El diagrama a bloques de la figura 3.1 se puede observar los diferentes elementos que compone el hardware.
Figura 3.1 Diagrama a bloques de la implementación de hardware
Casa Habitación
Interface hombre
máquina
Control de luces
TOUCH
Comunicación bluetooth
LabVIEW
Tarjeta de adquisición
de datosTarjeta de adquisición
de datos
Entradas y salidas
digitales
Entradas analogicas
PC
Identificación por radio
frecuencia
Control de acceso a puertas
Visualizacion por LCD
49
3.2. RFID (Identificación por radiofrecuencia)
3.2.1. Introducción de RFID
Los negocios que ponen a clientes en el control de sus opciones de intimidad en línea aumentan la fe de consumidor en el mundo en línea y promueven la aceptación mayor de comercio electrónico. Debido al amplio despliegue potencial de Identificación de Radiofrecuencia (RFID), la seguridad de sistemas RFID ha llamado la atención extensa en la industria, y el protocolo RFID de autenticación es un mecanismo importante en la seguridad de sistemas RFID. Las exigencias de seguridad deseadas de protocolos RFID de autenticación incluyen la intimidad, la integridad, la autenticación, el anonimato, incapacidad de rastreo, y aún la disponibilidad. [13]
La identificación por radiofrecuencia (RFID) es una tecnología extensamente que es usada para la dirección de cadena de suministro y el control de existencias. La arquitectura típica de usos RFID comprende etiquetas RFID, que son integradas o conectadas a un objeto, un lector RFID, e IS (servicios de información) del servidor.
En la figura 3.2 se muestra un diagrama de los componentes básicos que son necesarios para el sistema de radiofrecuencia.
Figura 3.2 Sistema de RFID
Tags
Antena
Lector
50
3.2.2. Lector 125K RFID
Un sistema completo RFID 125K comprende del lector, antena, y etiquetas. La función para cada componente es:
1. Lector: La energía electromagnética de alta frecuencia que es emitida por la
antena es generada por el lector, provoca que las etiquetas envíen la
información contenida en estas y así puede ser procesada por otro
dispositivo.
2. Antena: La antena envía señales inalámbricas a las etiquetas, y recibe el
mensaje inalámbrico de las etiquetas localizadas en la gama accesible.
3. Tags: Las etiquetas contienen las microchips en donde se programó la
información. Cada etiqueta tiene un código de ID, este código de ID es
único para la base de datos entera, y sólo puede ser identificado por la
base de datos designada o el servidor de aplicación. [14]
El lector RFID 125k (figura 3.3) lee el código en la etiqueta RFID y hace de intérprete comunicando con un el microcontrolador PIC16F887 vía una conexión alámbrica de comunicación UART. El lector RFID puede ser inmóvil o móvil. Aunque haya varios tipos de lectores de RFID en el mercado, proponemos un móvil sobre todo diseño de RFID, la tecnología que tiene varios rasgos positivos incluyendo la seguridad, la arquitectura de red, el argumento de operación, y el mecanismo de resolución de código. La modalidad de accesorio de llavero es más confiable, precios bajos, y fácil para reunirse, y por lo tanto, se hace cada vez más más popular en diseños de etiqueta RFID. [15], [16]
Figura 3.3 RFID 125K
51
El lector 125K de RFID es un módulo que solía leer uem4100 RFID la información de tarjeta con dos formatos de salida: UART y Wiegand. Esto tiene la alta sensibilidad con el máximo 7cm sintiendo la distancia. Los 4 pins de interfaz electrónico de ladrillo lo hacen muy fácilmente ser usado con Arduino o Seeeduino. [19] Algunas características especiales que describen a nuestro dispositivo pueden mencionarse en los siguientes puntos escritos dentro de este documento:
Datos específicos claves
Voltaje de suministro: 5v
Max distancia de sensibilidad: 7cm
Salida UART: TTL la salida, 9600 baudios, 8 bits de datos, 1 bit de parada,
y no verifica el bit.
Salida Wiegand: 26 bits de formato wiegand, 1 aún verifican el bit, 24 bits
de datos, y 1 impar verifican el bit. [19]
Aplicaciones
Internet de Cosa
Juguete Favorito
Sistema de control de Acceso
También, es usado para credenciales ID, el control de acceso, el mantenimiento, el equipo y el mantenimiento de partes, abarcando el control de acceso de tronco, el sistema de puerta de peaje, el rastreo de coche, el control de línea de producción, etc. [19]
Para la comunicación de radiofrecuencia con etiquetas RFID, un lector RFID lee o escribe los datos que son almacenados en una memoria de la etiqueta RFID, y también hace otras tareas de acceso de memoria incluyendo el cerrar/abrir los datos así como la incapacitación de una funcionalidad de etiqueta.
El sistema adapta las ondas de radio para explorar y registrar los datos recibidos de etiquetas RFID. El lector de RFID 125K puede ser colocado hasta unos centímetros lejos de objetos RFID etiquetados. [14]
La etiqueta RFID, que es consistida en una antena, el transceptor, y el circuito integrado con la memoria como ya se había mencionado en este papel, la etiqueta es conectada o integrada a la puerta de acceso principal del peatón o a la puerta
52
de acceso de la cochera del automóvil como se muestra en la figura 3.4 y la figura 3.5; para que el producto puede ser leído por el lector RFID que está colocado cerca de los accesos principales de la casa habitación y luego identifica el lector la información en la etiqueta presentada, a continuación muestra la información en una LCD (la cual se describirá más adelante dentro de este documento), que corresponde a la etiqueta ya sea una tarjeta o llavero dependiendo del caso en que se encuentra en cada uno de los ID de cada uno de estos.
Figura 3.4 Instalación de RFID acceso principal de peatón
Figura 3.5 Instalación de RFID acceso principal de vehículos
En general, RFID etiquetas tienden a ser móvil y los lectores son inmóviles. Esto es la arquitectura típica para el uso conocido RFID como la dirección de cadena
53
de suministro. Sin embargo, fácilmente podemos pensar los usos RFID que ambos de etiquetas RFID y lectores podrían ser móviles. [15]
La utilización de un protocolo se refiere al empleo de datos específicos de los centros de datos para que los sistemas RFID sean puestos en práctica. En otras palabras, para tener una selección entre esquemas variados o protocolos, la importancia y el valor de información almacenada o el tipo de los datos que va a ser transferido entre etiquetas y su lector correspondiente deberían estar preocupados. El protocolo más conveniente y satisfactorio el más eficiente y seguro es el protocolo RS-232. Este protocolo tiene una trama predefinida para enviar los diferentes datos que específica el fabricante del sistema de RFID 125K el cual se muestra en la figura 3.6 en donde se indica cómo deben enviarse los paquetes de información de cada una de las tarjetas, cabe mencionar que esta secuencia es la información que se lee en los tags pero no cumple ninguna acción hasta este punto. [13]
Figura 3.6 Trama del sistema RFID 125K
Para tomar una acción de control con el sistema de RFID 125K, requiere realizar una comparación para lograr esta hazaña, para que esta información sea leída se utiliza los puertos del módulo EUSART microcontrolador PIC16F887.
Proponemos el microcontrolador PIC16F887 porque contiene en sus terminales periféricas la cual corresponde a TX (transmisión asíncrona) el pin 25 y RX (recepción asíncrona) al pin 26 que se observan en la figura 2.3, estas corresponden al módulo EUSAR que tiene la característica de transmitir y recibir datos en el protocolo RS-.232 el cual es compatible con la transmisión de datos UART del lector de RFID 125K.
Los puertos restantes del microcontrolador PIC16F887 son correspondientes a la siguiente tabla 3.1 incluyendo los mencionados en el párrafo anterior.
54
Tabla 3.1 Descripción de puertos periféricos del microcontrolador PIC16F887
Nombre Número
(DIP 40)
Función Descripción
RE3/MCLR/Vpp 1 MCLR Pin de reinicio
RA0/AN0/ULPWU/C12IN0- 2 RA0 E/S propósito general PORTA
AN0 Canal 0 del convertidor A/D
RA1/AN1/C12IN1- 3 RA1 E/S propósito general PORTA
AN1 Canal 1del convertidor A/D
RA2/AN2/Vref-/CVref/C2IN+ 4 RA2 E/S propósito general PORTA
AN2 Canal 2 del convertidor A/D
RA3/AN3/Vref+/C1IN+ 5 RA3 E/S propósito general PORTA
AN3 Canal 3 del convertidor A/D
RA4/T0CKI/C1OUT 6 RA4 E/S propósito general PORTA
RA5/AN4/SS/C2OUT 7 RA5 E/S propósito general PORTA
AN4 Canal 4 del convertidor A/D
RE0/AN5 8 RE0 E/S propósito general PORTE
AN5 Canal 5 del convertidor A/D
RE1/AN6 9 RE1 E/S propósito general PORTE
AN6 Canal 6 del convertidor A/D
RE2/AN7 10 RE2 E/S propósito general PORTE
AN7 Canal 7 del convertidor A/D
Vdd 11 + Suministro de energía positiva
Vss 12 - Tierra
RA7/OSC1/CLKIN 13 RA7 E/S propósito general PORTA
OSC1 Entrada de oscilador del cristal
RA6/OSC2/CLKOUT 14 OSC2 Salida del oscilador del cristal
RA6 E/S propósito general PORTA
RC0/T1OSO/T1CK1 15 RC0 E/S propósito general PORTC
RC1/T1OSO/CCP2 16 RC1 E/S propósito general PORTC
CCP2 E/S módulos CCP1 y PWM1
RC2/P1A/CCP1 17 RC2 E/S propósito general PORTC
RC3/SCK/SCL 18 RC3 E/S propósito general PORTC
RD0 19 RD0 E/S propósito general PORTD
55
Nombre Número
(DIP 40)
Función Descripción
RD1 20 RD1 E/S propósito general PORTD
RD2 21 RD2 E/S propósito general PORTD
RD3 22 RD3 E/S propósito general PORTD
RC4/SDI/SDA 23 RC4 E/S propósito general PORTC
RC5/SDO 24 RC5 E/S propósito general PORTC
RC6/TX/CK 25 RC6 E/S propósito general PORTC
TX Salida del módulo USART
RC7/RX/DT 26 RC7 E/S propósito general PORTC
RX Entrada del módulo USART
RD4 27 RD4 E/S propósito general PORTD
RD5 28 RD5 E/S propósito general PORTD
RD6/P1C 28 RD6 E/S propósito general PORTD
RD7/P1D 29 RD7 E/S propósito general PORTD
Vss 31 - Tierra
Vdd 32 + Suministro de energía positivo
RB0/AN12/INT 33 RB0 E/S propósito general PORTB
AN12 Canal 12 del convertidor A/D
RB1/AN10/C12INT3- 34 RB1 E/S propósito general PORTB
AN10 Canal 10 del convertidor A/D
RB2/AN8 35 RB2 E/S propósito general PORTB
AN8 Canal 8 del convertidor A/D
RB3/AN9/PGM/C12IN2- 36 RB3 E/S propósito general PORTB
AN9 Canal 9 del convertidor A/D
RB4/AN11 37 RB4 E/S propósito general PORTB
AN11 Canal 11 del convertidor A/D
RB5/AN13/T1G 38 RB5 E/S propósito general PORTB
AN13 Canal 13 del convertidor A/D
RB6/ICSPCLK 39 RB6 E/S propósito general PORTB
RB7/ICSPDAT 40 RB7 E/S propósito general PORTB
Nota para la tabla 1: E/S= Entradas y salidas, A/D= Analógico ha digital. [17]
56
3.3. Conexión del lector RFID y el microcontrolador PIC16F887
Como se ha mencionado en los subtemas anteriores los elementos descritos, es un tipo de hardware que por sí mismo no realizan ningún efecto; para que su tarea que se lleve a cabo adecuadamente según sea el caso se debe de hacer una serie de modificaciones para que pueda ser efectivos, dicho de otra forma deben se conectados entre sí para que tengan comunicación entre el RFID y el microcontrolador, además del respectivo software precargado con las líneas de programación adecuadas que solucionan el problema presentado.
En la figura 3.7 se observa un diagrama a bloques del sistema de RFID y un microcontrolador en donde se puede observar el orden en que deben de conectarse para asegurar el éxito, en general no importa el tipo de RFID se escoja a utilizar ni el microcontrolador, porque el diagrama abarca la mayoría de posibles combinaciones sin importar del tipo que sean lo elementos seleccionados.
Figura 3.7 Diagrama a bloques del sistema RFID y un microcontrolador
La información del diagrama del lector RFID 125K se muestra en la figura 3.8 para conocer las terminales exteriores y establecer la conexión de estos dos elementos electrónicos. Como se puede observar contiene varias salidas y entradas de diferentes requerimientos, por mencionar algunos el sistema de alimentación, antena, indicadores tipo diodo led que dan correspondencia a la energía y la señal transmitida o recibida, pero los que nos interesan más son los que están indicando con RX y TX, ya que en estas terminales se realizara la vinculación con el
Tag de identificación
Lector de RFID Microcontrolador
57
microcontrolador PIC16F887; evidentemente la alimentación del circuito es indispensable para el funcionamiento adecuado. [19]
Figura 3.8 Diagrama de lector RFID 125K
Para completar la comunicación se presenta un diagrama de conexión en la Figura 3.9 del sistema de RFID 125K y del microcontrolador PIC16F887con las terminales adecuadas de comunicación de RS-232, para establecer un intercambio de información formal entre estos dos elementos. Cuando establezcan la interacción de datos se podrá hacer una comparación de ID que proveniente de los tags, e identificar la información de la memoria para realizar una acción de control además de mostrar la información que le corresponde.
Figura 3.9 Diagrama de conexión de lector RFID y el microcontrolador PIC16F887
RE3/MCLR/VPP1
RA0/AN0/ULPWU/C12IN0-2
RA1/AN1/C12IN1-3
RA2/AN2/VREF-/CVREF/C2IN+4
RA3/AN3/VREF+/C1IN+5
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN58
RE1/AN69
RE2/AN710
VDD11
VSS12
RA7/OSC1/CLKIN13
RA6/OSC2/CLKOUT14
RC0/T1OSO/T1CKI15
RC1/T1OSI/CCP216
RC2/P1A/CCP117
RC3/SCK/SCL18
RD019
RD120
RD221
RD322
RC4/SDI/SDA23
RC5/SDO24
RC6/TX/CK25
RC7/RX/DT26
RD427
RD5/P1B28
RD6/P1C29
RD7/P1D30
VSS31
VDD32
RB0/AN12/INT33
RB1/AN10/C12IN3-34
RB2/AN835
RB3/AN9/PGM/C12IN2-36
RB4/AN1137
RB5/AN13/T1G38
RB6/ICSPCLK39
RB7/ICSPDAT40
U1
PIC16F887-E/P
12
Y1XTAL
10K
R1
Res Semi
VCC
S1
SW-PB
GND
VCC
GND
10uF
C1Cap2
VCC
GND
58
Cuando el enlace sea adecuado con respecto al diagrama de conexión como se presentó en la Figura 3.9, el tag podrá ser leído con su correspondiente lector de RFID y la información será enviada al microntrolador PIC16F887, una vez que sea procesada la información obtenida de la etiqueta presentada nos determina que etiqueta se presenta en el lector de RFID 125K, con ayuda de las líneas adecuadas de programación precargadas con el hardware master prog que en el capítulo cuatro se describirá más a detalle.
Una vez que la información es leída puede compararse con todos lo ID’s diferentes que sean guardados de la base en datos, sin embargo no se puede visualizar la información que necesitamos saber, cómo por ejemplo a quien pertenece sus datos principales o si tiene acceso a las puerta principales entre otras cosas dependiendo de las necesidades de cada implementación, en este caso solo requerimos colocar el nombre del individuo que corresponde al tag asignado.
Ya mencionando esto, el hardware descrito anteriormente mostrados en la figura 3.9 no tiene la característica de visualizar algún mensaje por lo que se propone una LCD 2 filas*16 caracteres que se muestra en la figura 3.10 y se describirá más adelante en este papel, en donde se puede ver que ya contiene una pantalla en donde se localizan los mensajes deseados; este elemento electrónico tiene la capacidad suficiente para mostrar los caracteres de la información presencial de los diferentes tags y contiene una iluminación adecuada para el horario nocturno.
Figura 3.10 LCD 2 Filas * 16 Caracteres
59
3.4. LCD
3.4.1. Introducción de LCD
La pantalla de LCD por sus siglas en ingles pantalla de cristal líquido es utilizada para visualizar mensajes y existen de diferentes tamaños dentro del mercado.
Estos componentes son muy útiles por que proporcionan un mensaje visible y alusivo ya sea para publicidad o para obtener algún dato de información.
Esta tecnología es muy comercial por la forma sencilla de programarse y sus diferentes presentaciones, los fabrican en diferentes colores y en consecuencia ilumina los diferentes mensajes y por si fuera poco los consumibles son mínimos para este componente haciendo referencia a energía, en cuestión al precio no es muy costoso sin embargo varia tomando en cuenta en consideración el tamaño o la aplicación en donde se requiere ser utilizada.
Aun cuando esta LCD aparentemente se considerara una pantalla muy limitada se puede maximizar la eficiencia dependiendo de lo que se requiera y del adecuado desarrollo del software.
Este elemento puede ofrecer una ventaja importante como la de iluminación de ambiente nocturno ya que al tener la característica de visualizar puede incluir una iluminación independiente sin ningún aditamento especial ajeno al componente, así que también se puede mencionar que algunas LCD’s son de una forma compacta por lo que puede proporcionar una instalación sin tener mayor problema como por ejemplo construyendo espacios adicionales para que sea colocada.
Para darle utilidad a una LCD, se requiere agregar a un sistema donde sea funcional, en la figura 3.11 se puede ver cómo está conformado el diagrama de bloques con los componentes necesarios para aplicarse en acceso de puertas.
60
Figura 3.11 Diagrama a bloques de conexión de un sistema de RFID con visualizador
3.4.2. LCD JHD162A
La LCD que se propone dentro del proyecto es de dos renglones por dieciséis caracteres diferentes con el modelo JHD162A, que incluye luminaria externa. La capacidad máxima que tiene esta LCD es suficiente para visualizar los mensajes en los accesos de las casa habitación que son: la bienvenida, el nombre del usuario perteneciente al tag asignado y por ultimo un mensaje de usuario incorrecto para una etiqueta que no se encuentra registrado de la base en datos.
En la figura 3.12 se puede observar un diagrama a bloques de cada uno de los elementos que componen a la LCD instalada en el prototipo de una casa habitación. [20]
Figura 3.12 Diagrama a bloques de la LCD JHD162A
61
Algunas características que describen a la LCD JHD162A se mencionan en los siguientes puntos sin embargo no son las únicas que pudieran darnos a conocer a este componente electrónico.
3.4.3. Características de la LCD JHD162A
Puntos por carácter: 5 x 8.
Modo de conducción: 1/16D.
Tipos disponibles: TN, STN (AMARILLO VERDE, GRIS, B/W).
Reflectivo: con el led de iluminación, EL/100VAC, 400HZ LED/4.2VDC.
Parámetro: VDD=5.0V±10 %, VSS=0V, Ta=25°C. [20]
3.5. Conexión de RFID el PIC16F887 y la LCD JHD162A
La interconexión de todos los componentes electrónicos que se han descrito en las páginas anteriores, forman un sistema eficiente el cual en conjunto es la única forma de lograr este objetivo. Para ello, se presenta el diagrama de la figura 3.13, en donde se observa una manera gráfica de cómo se deben considerarse la conexión de los diferentes puertos periféricos de los dispositivos electrónicos, ya que sin esta comunicación alámbrica no puede ser posible que el sistema se comunique entre si y forme un sistema que realice un trabajo.
62
Figura 3.13 Diagrama de conexión entre RFID, LCD JHD162A y un microncontrolado
RE3/MCLR/VPP1
RA1/AN1/C12IN1-3
RA2/AN2/VREF-/CVREF/C2IN+4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RB0/AN12/INT33
RB1/AN10/C12IN3-34
RB2/AN835
RA7/OSC1/CLKIN13
RA6/OSC2/CLKOUT14
RD5/P1B28
RD6/P1C29
RD7/P1D30
RC4/SDI/SDA23
RC5/SDO24
RC3/SCK/SCL18
RC2/P1A/CCP117
RC1/T1OSI/CCP216
RC0/T1OSO/T1CKI15
RB7/ICSPDAT40
RB6/ICSPCLK39
RB5/AN13/T1G38
RB4/AN1137
RD322
RD221
RD120
RD019
RC7/RX/DT26
RC6/TX/CK25
RE2/AN710
RE1/AN69
RE0/AN58
RA3/AN3/VREF+/C1IN+5
RD427
RB3/AN9/PGM/C12IN2-36
RA0/AN0/ULPWU/C12IN0-2
U1
PIC16F887
VI1
VO3
GN
D2
U27805
X1
CRYSTAL
C11u
R1330
1
2
J2
TBLOCK-I2
LED INDICADOR
R2
10k
P1
CRYSTAL
RESET
R4
330R
1
2
J1
TBLOCK-I2
ALIMENTACION
R31k 1
2
J3
CONN-H2
SALIDA
1
2
3
4
5
6
7
8J4
CONN-SIL8
CONECTOR 1 DE LCD
1
2
3
4
5
6
7
8
J5
CONN-SIL8
CONECTOR 2 DE LCD
1
2
3
J6
TBLOCK-M3
RFID
1
J7
CONN-SIL1
SALIDA
SEÑAL DE
CONTROL
MUNGUIA
63
La propuesta para la implementación de hardware es el acceso de puertas principales mediante una sistema de seguridad con tecnología RFID, la cual tiene tag adecuado que corresponde a un individuo, para poder reconocer a cada uno de ellos se colocó una LCD de 16*2, en donde nos muestra la presencia de la persona a quien corresponda, o si no está registrado dentro de la base en datos, hasta este momento solo se han mencionado las diferentes características de los diferentes componentes, en las cuales nos llevan a hacer una serie de pruebas para logar el objetivo de manera eficiente, para obtener un resultado con una presentación en donde se pueda instalar de manera permanente, se desarrolló el diseño de los circuitos impreso en tablilla fenólica que se presentara en el capítulo 5 basado en el diagrama de interconexión de la figura 3.13.
3.6. Propuesta de una Tarjeta de adquisición de datos (DAQ)
3.6.1. Introducción de la Tarjeta DAQ
La evolución de las diferentes tecnologías para controlar los diferentes procesos industriales ha tenido mucho auge en los últimos años, en donde empresas que compiten a nivel internacional se discuten el mercado, invirtiendo en investigación científica para diseñar diferentes aparatos que pueda cumplir con las diferentes necesidades que se requiera. Para lograr ello se debe tener contacto directo con el proceso, que se desea manipular mediante un elemento primario de medición, sin embargo este tipo de componentes solo logra recopilar información mediante señales analógicas y los diferentes dispositivos para realizar el control automatizado trabajan con señales digitales, por lo que no se puede establecer una comunicación directa.
Para que se tenga en éxito en recopilación de datos del proceso, se desarrolló una tecnología llamada Tarjeta de Adquisición de Datos (por su siglas en inglés DAQ), la cual va registrando las diferentes señales analógicas y la convierte en señales digitales para que se pueda tener control, se pueda generar una bitácora o un registro de lo que sucede en las diferentes entradas conectadas.
A continuación se presenta en la figura 3.14 un pequeño diagrama a bloques de los elementos que se proponen como una DAQ, además de la comunicación con una PC para obtener control y registro de datos.
64
Figura 3.14 Diagrama a bloques del sistema de una DAQ
3.6.2. Descripción del sistema de la Tarjeta DAQ propuesta
La DAQ que se propone es un microcontrolador de la empresa microchip con conexión inalámbrica, tiene como meta, que el presupuesto que sea invertida en ella sea menor comparado con las diferentes tarjetas que se encuentran a la venta dentro del mercado internacional, por lo que podría darse alguna utilidad didáctica, porque para que sea funcional se ha utilizado una herramienta que forma parte del software de National Instrumens llamado LABVIEW el cual fue diseñado para diferentes aplicaciones, ya sea industriales o de manera educativa, principalmente en los niveles de educación medio superior y superior el cual contiene variedad dentro de sus herramientas, para comprender algunos fundamentos como controladores difusos dentro de un proceso por mencionar uno.
En la parte externa de esta tarjeta de adquisición de datos de National Instruments se pueden conectar entradas analógicas y entradas, salidas digitales las cuales están disponibles para utilizarse en cualquier aplicación.
En el siguiente diagrama a bloques de la figura 3.15, se muestra de manera general los elementos básicos como puertos físicos de entradas y salidas que se requieren estableciendo una comunicación inalámbrica mediante bluetooth con una PC porque se utiliza un software de programación grafica para realizar proyectos de control o recopilación de datos analógicos el cual describe lo que se está proponiendo.
65
Figura 3.15 Diagrama a bloques de un sistema de adquisición de datos
Ahora que se observó el diagrama de la figura 3.15, de manera inmediata se ve que está conformada básicamente por tres subsistemas, considerando que el conjunto del sistema principal consta de una PC, el bluetooth y una DAQ para reafirmar cada uno de estos individuales forman un subsistema obteniendo 3 subsistemas diferentes.
El primer subsistema y el más importante es la DAQ la cual tiene contacto directo con los diferentes componentes que se le han interconectados entre sí dentro del proyecto a realizar. En esencia la tarjeta de adquisición de datos es una propuesta que se está dando para sustituir una tarjeta ya desarrollada por las diferentes empresas que se encuentran dentro del rubro. En ella está configurado puertos de entrada y salidas para ser utilizados, dicho de otra forma mediante estos puertos obtendrá los diferentes datos de donde estén interactuando dependiendo de los componentes que lo estén integrando.
El segundo subsistema es la comunicación, en donde engloba tanto la PC como la DAQ, en este caso se utilizara el medio del aire utilizando la tecnología de Bluetooth, ya que no es necesario ningún tipo de cableado por lo que nos da una ventaja, además el área de cobertura que nos ofrece este tipo de componente no es muy pequeña, así nos ofrece una cobertura bastante amplia, cabe mencionar que su principio básico es la transición y recepción de datos con diferentes frecuencias.
Tarjeta de adquisicion de datos (DAQ)
•Entradas analogicas
•Entradas igitales
•Salidas analogicas
Bluetooth
•Medio de comunicacion
PC
•Recepcion de datos
•Envio de datos
66
Para finalizar el tercer subsistema es la PC, aun cuando es un dispositivo muy común, no hay mucho que decir acerca de esto, solo lo más relevante. Este dispositivo es la memoria y el control del sistema, porque mediante este se hacen registros, se guardan o se pueden tomar diferentes acciones de control, dicho de otra manera es el cerebro del sistema, pero el hardware solo lo utilizamos para establecer la iteración este los tres diferentes subsistemas, en si el software (capitulo 4) es el que realiza las acciones de almacenamiento y da paso a las diferentes comportamientos físicos.
3.6.2.1. Características de la Tarjeta DAQ propuesta La Tarjeta de adquisición de datos o como se le dice de manera abreviada por su significado en inglés DAQ Card (Data Acquisition Card, es un dispositivo electrónico o hardware que establece comunicación con una PC donde se interconectan diferentes elementos de control para realizar un trabajo o acciones. La tarjeta DAQ que se propone es un microcontrolador en donde se configuraron diferentes tipos de entradas y salidas electrónicas para ser utilizadas dependiendo de la necesidad y se comunica con la PC inalámbricamente con Bluetooth y realiza diferentes acciones con ayuda del software de LABVIEW. La tarjeta DAQ tiene una alimentación de energía de 9V en donde el consumo de esta es bastante ahorrativo porque los dispositivos utilizados son de nivel Transistor-Transistor Lógico (TTL) esto quiere decir que requiere solo 5V para su funcionamiento óptimo. Las características principales se enuncian a continuación:
Alimentación a 9V
8 Entradas analógicas
8 Entradas digitales
8 Salidas digitales
Conexión inalámbrica con bluetooth
Interacción con LABVIEW
Conexión a la tarjeta DAQ con borneras con tornillos En la figura 3.16 se puede ver un diagrama de interconexión de los diferentes elementos que integra a la tarjeta DAQ para realizar cualquier trabajo dependiendo de la necesidad que se tenga.
67
Figura 3.16 Diagrama de conexión de los elementos de una Tarjeta DAQ
RE3/MCLR/VPP1
RA1/AN1/C12IN1-3
RA2/AN2/VREF-/CVREF/C2IN+4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RB0/AN12/INT33
RB1/AN10/C12IN3-34
RB2/AN835
RA7/OSC1/CLKIN13
RA6/OSC2/CLKOUT14
RD5/P1B28
RD6/P1C29
RD7/P1D30
RC4/SDI/SDA23
RC5/SDO24
RC3/SCK/SCL18
RC2/P1A/CCP117
RC1/T1OSI/CCP216
RC0/T1OSO/T1CKI15
RB7/ICSPDAT40
RB6/ICSPCLK39
RB5/AN13/T1G38
RB4/AN1137
RD322
RD221
RD120
RD019
RC7/RX/DT26
RC6/TX/CK25
RE2/AN710
RE1/AN69
RE0/AN58
RA3/AN3/VREF+/C1IN+5
RD427
RB3/AN9/PGM/C12IN2-36
RA0/AN0/ULPWU/C12IN0-2
U1
PIC16F887
Microcontrolador
X1CRYSTAL
Oscilador
S1 Push Botton
Reset
R110k
Resistencia de pull up
1
2
J1
TBLOCK-I2
Alimentacion a 9V
VI1
VO3
GN
D2
U27805
Regulador a 5V
C11u
Proteccion caida
de tension
1
2
3
4
5
6
7
J2
CONN-SIL7
Conector
Bluetooth
1
2
3
4
5
6
7
8
J3
TBLOCK-I8
Entradas
analogicas
1
2
J4
TBLOCK-I2
Entradas
analogicas
1 2 3 4 5 6 7 8
J5TBLOCK-I8
Entradas digitales
1 2
J6TBLOCK-I2
Entradas digitales
1
2
3
4
5
6
7
8
J7
TBLOCK-I8
Salidas
digitales
R2
1k
Resitencia
pull down
S3Push Botton
Arranque
R31k
Resistencia
Pull up
R41k
Resistencia
Pull up
R5
1k
Resistencia entrada
analogicaR6
1k
Resistencia entrada
analogicaR7
1k
Resistencia entrada
analogicaR8
1k
Resistencia entrada
analogicaR9
1k
Resistencia entrada
analogicaR10
1k
Resistencia entrada
analogicaR11
1k
Resistencia entrada analogica
VI1
VO3
GN
D2
U37833
Regulador a 3.3V
68
Como se puede observar es una tarjeta DAQ muy sencilla pero bastante funcional pero falta comunicarla porque hasta aquí solo se obtiene el hardware en contacto con el proyecto que se realiza para ello se utilizó un módulo de Bluetooth COM (SSP) para establecer la comunicación entra la Tarjeta DAQ y la PC.
3.6.2.2. Características del Bluetooth El Bluetooth es un dispositivo el cual engloba distintos componentes electrónicos, que transforman los datos a transmitir en ondas de frecuencia para ser transmitidas y recibidas por otro dispositivo de igual frecuencia o de manera inversa. Para establecer la comunicación mediante los puertos UART del microcontrolador y enviar lo datos correspondientes, se transforma las diferentes señales analógicas y digitales a protocolo serial y la transmite por medio del aire y las recibe otro bluetooth de la misma frecuencia y viceversa, en esta aplicación se utilizó un dispositivo Bluetooth Bus Universal en Serie (USB) que va interconectado con la PC y para la parte de la Tarjeta DAQ se utilizó el Bluetooth COM (SSP). Las características del Bluetooth COM (SSP) se enlistan a continuación [18]:
Configuración como modo de esclavo y maestro
Configuración de transmisión y recepción de 1200-115200 baudios
Tamaño: módulo principal: 28mm*15mm*2.35mm, módulo completo: 35.33mm*19.6mm*3.7mm.
Corriente: 30mA máximo
Puede ser usado con todo el MCU por el puerto de UART
2 Señales luminosas Las características del Bluetooth USB se enlistan a continuación [18]:
Versión 2
Velocidad 3Mbs
Soporta redes LAN, auriculares, fax
Compatible con Windows 7 Si se analizan las diferentes características que corresponden a los 2 Bluetooth no son muy parecidas porque uno de ellos es para desarrollo y el otro ya tiene aplicaciones establecidas en la figura 3.17 se puede observar que incluso en su forma física son distintos.
69
Figura 3.17 Bluetooth COM SSP y Bluetooth USB
3.6.2.3. Especificaciones de la PC Las especificaciones de la PC no son muy extensas porque en la actualidad existen computadoras que contienen una capacidad suficiente para el desarrollo de proyectos. La PC solo debe tener un puerto USB como mínimo para poder ser interconectado el Bluetooth y tener la capacidad para que pueda ser instalado el controlador que le corresponde al bluetooth. En la figura 3.18 es un ejemplo de cómo conectar un bluetooth a una PC.
Figura 3.18 Conexión de un Bluetooth a una PC
70
3.6.3. Propuesta de una Interfaz Hombre Máquina
3.6.3.1 Introducción de la Interfaz Hombre Máquina
La Interface Hombre Máquina ha tenido un auge en el último siglo dentro de las nuevas tecnologías que se han desarrollado, porque el ser humado adapta la materia prima que tiene a su alrededor para facilitar las actividades que tiene a diario. Para poder lograr esto ha creado diferentes herramientas que pueden llamarse maquinas, a tal grado que se ha tratado de inventar partes no orgánicas para que sean sustituidas por falta de ellas, cabe mencionar que las aplicaciones son muy variadas este solo es un ejemplo. De cierto modo el hombre ha tratado de inventar tecnología para que podamos comunicarnos con los diferentes sistemas mecánicos y electrónicos. Así que se desarrolla una propuesta de esta comunicación llamada Interface Hombre Maquina (por su siglas en inglés HMI), en donde un componentes electrónico compuestos por diferentes elementos electrónicos como el touch screen. El diagrama de la figura 3.19 representa en grandes rasgos lo que compone un sistema así para que sea útil dependiendo de la necesidad presentada.
Figura 3.19 Diagrama del sistema HMI
3.6.3.2. Características de la HMI propuesta La HMI que se propone es una Pantalla de Cristal Líquido para Gráficos (por sus siglas en ingles GLCD), donde se crea un gráfico referente al control que se
Touch Screen
Pantalla Gráfica
Proceso de
analisis de
datos
Accion de
control
71
requiere y con ayuda de su pantalla táctil se da la indicación que debe de realizar, dependiendo del modo en cómo se programe. La GLCD que se utilizó es: mikromedia para PIC18FJ, que es un sistema de desarrollo compacto con muchos periféricos a bordo, que permiten al desarrollo de dispositivos con el contenido multimedia. La parte central del sistema es 8 bit PIC18F87J50 el microregulador. El mikromedia para PIC18FJ destaca módulos integrados como MP3 estéreo codec, TFT 320x240 la demostración de pantalla de toque, el acelerómetro, USB el conector, MMC/SD la ranura de tarjeta y otro. Esto viene preprogramado con USB bootloader, pero también puede ser programado con programadores externos, como mikroProg o ICD2/3. Mikromedia es compacta y delgada se puede ver por sus dimensiones en la figura 3.20, y perfectamente cabe en la palma de la mano, que lo hace la plataforma conveniente para dispositivos móviles. [21]
Figura 3.20 Dimensiones de la mikromedia
Las aplicaciones son tan variadas por la cantidad de elementos a disposición tanto en gráficos como en control por mencionar algunos y lo demuestra la figura 3.21 donde se pueden observar los puerto periféricos de entrada y salida. [21]
72
Figura 3.21 Puertos periféricos de la mikromedia
3.6.3.3. Aplicación con la HMI propuesta La aplicación que se hizo con la HMI fue el control de luces mediante la pantalla táctil y con ayuda del grafico que corresponde al plano de la localidad en donde se encuentra las diferentes lámparas, esta aplicación es muy sencilla pero si se considera la parte del touch screen y la parte grafica se le puede dar peso. Sin embargo las aplicaciones son innumerables y su modo de programación para introducir los diferentes grafico es bastante útil. Si se observa la figura 3.22 podemos detectar el grafico que se muestra en la pantalla para el control de las diferentes lámparas.
73
Figura 3.22 Control de luces con HMI
74
Capítulo 4
Desarrollo del Software
75
4. Desarrollo del Software
El desarrollo de los circuitos electrónicos del presente trabajo están conformados por software y hardware, en el presente capítulo se explica cómo se desarrolló la parte de software, el lenguaje de programación empleado es lenguaje ensamblador y lenguaje C para realizar la programación y que los microcontroladores cumplan con las funciones que se requiere. Mediante diagramas de flujo se ilustra la manera en que se desarrolló el código de programación, También se proporciona en anexos el código en lenguaje ensamblador para configurar los periféricos del PIC16F887 empleados en el presente trabajo. En la tabla 4.1 se describen los circuitos electrónicos implementados en el presente trabajo, se menciona su principal funcionamiento, el controlador empleado, sus principales características y los recursos del controlador que han sido utilizados para desarrollar los circuitos electrónicos.
Tabla 4.1 Características principales de los circuitos electrónicos desarrollados
RFID GLCD DAQ
Función
Control de acceso
Control de luces
Adquisición de datos
con LabVIEW
Controlador empleado
Microcontrolador
PIC16F887
Controlador
PIC18FJ
Microcontrolador
PIC16F887
Periféricos utilizados del controlador empleado
Puertos E/S
Comunicación serie Rs-232
Pantalla a colores de 320x240 pixeles
Panel táctil
Puertos E/S
Puertos E/S
Comunicación serie Rs-232
ADC
Lenguaje de programación
utilizado
Ensamblador
Código C
Ensamblador
Compilador
MPLAB IDE
mikroC PRO for PIC
MPLAB IDE
76
4.1. Periféricos del PIC16F887
Cuando se observó la organización básica de un microcontrolador, se mencionó que dentro de este se ubican un conjunto de periféricos. A continuación se describen algunos de los periféricos del PIC16F887 de los cuales se hace uso en el presente trabajo.
4.1.1. Entradas y salidas de propósito general
También conocidos como puertos de E/S, generalmente agrupadas en puertos de 8 bits de longitud, permiten leer datos del exterior o escribir en ellos desde el interior del microcontrolador.
Algunos puertos de E/S tienen características especiales que le permiten manejar salidas con determinados requerimientos de corriente, o incorporan mecanismos especiales de interrupción para el procesador.
Típicamente cualquier pin de E/S puede ser considerada E/S de propósito general, pero como los microcontroladores no pueden tener infinitos pines, ni siquiera todos los pines que queramos, las E/S de propósito general comparten los pines con otros periféricos. Para usar un pin con cualquiera de las características a él asignadas debemos configurarlo mediante los registros destinados a ellos.
4.1.2. Registro STATUS El registro de estado o STATUS ocupa la posición 03h del Banco 0 o la 83h del Banco 1 o el 103h del Banco 2 o el 183h del Banco 3 y es uno de los registros más importantes y utilizados. Los bits de este registro indican el estado de la última operación aritmética o lógica realizada, la causa de reset y los bits de selección de banco para la memoria de datos. A los bits del registro de estado se les suele denominar flags o banderas. A continuación se explican sus bits principales.
77
Figura 4.1 Registro STATUS
Bit 6-5 RP<1:0>: bits para la selección de bancos de memoria. 00 = Banco 0 01 = Banco 1 10 = Banco 2 11 = Banco 3 Bit 2 Z: Bit cero 1 = el resultado de una operación aritmética o lógica fue igual a cero. 0 = el resultado de una operación aritmética o lógica fue diferente a cero. Bit 0 C: Bit de acarreo 1 = por la suma: hubo acarreo en el octavo bit y por la resta: el resultado ha sido positivo. 0 = por la suma: no hubo acarreo en el octavo bit y por la resta: el resultado ha sido negativo.
4.1.3. Convertidor Analógico-Digital del microcontrolador PIC16F887.
Como es muy frecuente el trabajo con señales analógicas, éstas deben ser convertidas a digital y por ello muchos microcontroladores incorporan un conversor analógico-digital, el cual se utiliza para tomar datos de varias entradas diferentes que se seleccionan mediante un multiplexor.
Las resoluciones más frecuentes son 8 y 10 bits, que son suficientes para aplicaciones sencillas. Para aplicaciones en control e instrumentación están
78
disponibles resoluciones de 12bit, 16bit y 24bit. También es posible conectar un convertidor externo, en caso de ser necesario.
El ADC (Analogto digital converter) del PIC16F887 permite convertir señales analógicas de tensión o corriente a una representación binaria de 10-bit de esa señal, los registros asociados al módulo ADC del microcontrolador son:
TRISA // Configuración como entradas.
TRISB // Configuración como entradas.
PORTA // Donde se encuentran ubicados los canales analógicos.
PORTB // Donde se encuentran ubicados los canales analógicos.
ANSEL // Selección de los canales analógicos a leer.
ANSELH // Selección de los canales analógicos a leer.
ADRESL // Parte baja del resultado de la conversión.
ADRESH // Parte alta del resultado de la conversión.
ADCON0 // Configuración del módulo ADC.
ADCON1 // Configuración del módulo ADC. Para configurar el módulo ADC del microcontrolador se debe tener en cuenta que los registros son de 8 bits y que cada registro tiene la tarea de cumplir funciones diferentes, en algunos casos las funciones de cada uno de los 8 bits de esos registros son diferentes, en otras ocasiones los bits tienen que trabajar en grupos de 2 o más bits para configurar una sola función, a continuación se explican las funciones que tienen los bits de los registro que se requiere configurar para poder hacer uso del módulo ADC del microcontrolador PIC16F887. Es importante configurar los pines donde se van a leer señales analógicas como entradas y también indicarle al microcontrolador que dichas entradas serán analógicas y no digitales. El PIC16F887 tiene disponibles 14 canales analógicos, es decir, 14 pines que se pueden identificar con nombres que van de AN0 hasta AN13 dichos canales analógicos se encuentran en el puerto A, puerto B y puerto E, los 14 canales analógicos también pueden ser configurados como simples entradas o salidas digitales uno independientemente del otro, en la figura 4.2 se puede observar que los 14 canales analógicos están conectados mediante un multiplexor a un ADC de tal manera que no se pueden realizar lecturas en más de un canal simultáneamente, es preciso realizar una lectura de un canal y después de otro. Resolución 10-bit El microcontrolador solo acepta señales analógicas en el rango de 0Va 5V y su resolución máxima es de 10-bit, es decir, 1024 valores binarios, con estos datos se puede obtener el tamaño de las muestras y se puede interpretar en la siguiente formula.
79
𝑇𝑚 = 𝑉𝑟
1024 (4.1)
Dónde: Tm = Tamaño de las muestras. Vr = Rango de voltaje de la señal analógica. para la aplicación en el presente trabajoVr = 5V.
𝑇𝑚5𝑉
1024= 4.882 𝑚𝑉
Es decir, Un uno binario será igual a 4.882 mV Un dos binario será igual a 9.764mV Un tres binario será igual a 14.646mV Un cuatro binario será igual a 19.528mV Un cinco binario será igual a 24.41mV De modo que un mil veinticuatro será igual a 5V Tensión de referencia En la figura 4.2 se puede observar que los pines AN2 y AN3 pueden funcionar tanto como canales analógicos como pines para asignar la tensión de referencia, tensión de referencia menor para AN2 y tensión de referencia mayor para AN3, de modo que si se desea trabajar con señales analógicas muy pequeñas por ejemplo, si se desea trabajar con sensores que dan una respuesta de tensión en el orden de los mili volts no sea necesario agregar una etapa de pre-amplificación. Ejemplo con el sensor de temperatura LM35 Características del LM35
Rango de temperatura: –55 °C a +155 °C
Tensión de operación: 4 – 30 volts
Respuesta: 10mV = 1 °C Si se emplearan señales analógicas como esta, sería muy conveniente ajustar tensiones re referencia de tal manera que una tensión menor sea dividida en 1024 y se obtengan muestras más pequeñas para trabajos más precisos.
80
Figura 4.2 Diagrama de los canales analógicos disponibles
Para configurar los pines que se desean utilizar como entradas analógicas primero es necesario configurarlas como entradas mediante los registros, TRISA, TRISB y TRISE.
Figura 4.3 Diagrama de los canales analógicos disponibles
81
Bit 7-0 TRISA<7:0>: Configuración de puertos como entradas o salidas. 1 = El pin correspondiente es configurado como entrada. 0 = El pin correspondiente es configurado como salida.
Figura 4.4 Registro TRISB
Bit 7-0 TRISB<7:0>: Configuración de puertos como entradas o salidas. 1 = El pin correspondiente es configurado como entrada. 0 = El pin correspondiente es configurado como salida.
Figura 4.5 Registro TRISE
Bit 3-0 TRISE<3:0>: Configuración de puertos como entradas o salidas. 1 = El pin correspondiente es configurado como entrada. 0 = El pin correspondiente es configurado como salida. Una vez configuradas como entradas, se le indica al microcontrolador que son entradas analógicas y no digitales mediante los registros ANSEL y ANSELH.
82
Figura 4.6 Registro ANSEL
Bit 7-0 ANS<7:0>: Selección de canales analógicos. 1 = El pin correspondiente es asignado como entrada analógica. 0 = El pin correspondiente es asignado con puerto E/S Digital.
Figura 4.7 Registro ANSELH
Bit 7-0 ANS<13:8>: Selección de canales analógicos. 1 = El pin correspondiente es asignado como entrada analógica. 0 = El pin correspondiente es asignado con puerto E/S Digital.
Figura 4.8 Registro ADCON0
Bit 7-6 ADCS<1:0>: Bits para seleccionar el reloj de la conversión. 00 = Fosc/2 01 = Fosc/8 10 = Fosc/32
83
11 = Frc (oscilador RC interno = 500kHz máximo) Bit 5-2 CHS<3:0>: Bits para seleccionar el canal analógico a leer. 0000 = AN0 0001 = AN1 0010 = AN2 0011 = AN3 0100 = AN4 0101 = AN5 0110 = AN6 0111 = AN7 1000 = AN8 1001 = AN9 1010 = AN10 1011 = AN11 1100 = AN12 1101 = AN13 1110 = CVRef 1111 = Referencia fija (0.6V fijo) Bit 1 GO/DONE: Bit de estado de la conversión analógica. 1 = la conversión A/D inicia o está en proceso, cuando l conversión A/D se ha realizado este bit es puesto automáticamente a cero. 0 = la conversión A/D ha sido finalizada. Bit 1 ADON: Bit de habilitación del Módulo ADC. 1 = Módulo ADC es habilitado. 0 = Módulo ADC es deshabilitado.
Figura 4.9 Registro ADCON1
Bit 7 ADFM: selección del formato del resultado de la conversión A/D. 1 = El resultado es justificado a la derecha. 0 = El resultado es justificado la izquierda.
84
Bit 5 VCFG1: Tension de referencia. 1 = Vref- pin 0 = Vss Bit 4 VCFG0: Tension de referencia. 1 = Vref+ pin 0 = Vdd Por tanto, la configuración de registros que se empleó en el presente trabajo de investigación para realizar la lectura de señales analógicas es:
TRISA = b’11111111’
TRISB = b’11111111’
ANSEL = b’00000001’
ANSELH = b’00000000’
ADCON = b’00000000’
ADCON0 = b’11000001’
4.1.4. EUSART (Enhanced Universal Synchronous Asynchronous Receiver Trasmitter) del microcontrolador PIC16F887.
Este periférico está presente en casi cualquier microcontrolador, normalmente en forma de UART (Universal Asynchronous Receiver Transmitter) o USART (Universal Synchronous Asynchronous Receiver Transmitter) dependiendo de si permiten o no el modo sincrónico de comunicación.
El propósito común de este periférico es la comunicación con otro microcontrolador o con una PC y en la mayoría de los casos hay que agregar circuitos externos para completar la interfaz de comunicación. La forma más común de completar el puerto serie es para comunicarlo con una PC mediante la interfaz EIA-232 (más conocida como RS-232), es por ello que muchas personas se refieren a la UART o USART como puerto serie RS-232, pero esto constituye un error, puesto que este periférico se puede utilizar para interconectar dispositivos mediante otros estándares de comunicación. En aplicaciones industriales se utiliza preferiblemente RS-485 por su superior alcance en distancia, velocidad y resistencia al ruido.
Este periférico del PIC16F887 es el que controla las comunicaciones seriales como: I2C, Rs-232, Rs-485, SPI, entre otras.
85
EUSART también es conocido como Interface de comunicaciones seriales, puede ser configurado como: • Full-Dúplex Asynchronous: La mayoría de los sistemas y redes de comunicaciones modernos funcionan en modo full-dúplex permitiendo canales de envío y recepción simultáneos. • Half-Duplex Synchronous: Una conexión half-dúplex (a veces denominada una conexión alternativa o half-dúplex) es una conexión en la que los datos fluyen en una u otra dirección, pero no las dos al mismo tiempo. Con este tipo de conexión, cada extremo de la conexión transmite uno después del otro. Este tipo de conexión hace posible tener una comunicación bidireccional utilizando toda la capacidad de la línea. La configuración de este periférico de forma síncrona (Synchronous) permite comunicar el microcontrolador con un ordenador de escritorio mejor conocido como PC mientras que la comunicación asíncrona (Asynchronous) admite comunicar el microcontrolador con dispositivos ADC, memorias EEPROM o cualquier otro dispositivo electrónico que necesite de un maestro para ser controlador y para que este le asigne la velocidad de operación, los registros asociados al módulo EUSART del microcontrolador son:
PIR1 // Control de Interrupciones.
INTCON // Control de Interrupciones.
PIE1 // Control de Interrupciones.
BAUDCTL // Control velocidad en baudios.
RCSTA // Estado de la recepción.
TXREG // Contenido a enviar.
RCREG // Contenido recibido.
TXSTA // Estado de la trasmisión.
SPBRG // Asignación de la velocidad de trasmisión y recepción.
SPBRGH // Asignación de la velocidad de trasmisión y recepción. A continuación se explican las funciones de los bits utilizados que requieren ser configurados para configurar la comunicación serial Rs-232 a una velocidad de 9600 baudios, el microcontrolador realiza la función de maestro por tanto es el que gestiona las comunicaciones, por ello al momento de trasmitir información del microcontrolador al ordenador de escritorio el control de flujo de información lo tiene el microcontrolador, mientras que en la recepción de información no, el microcontrolador sabe cuándo enviar información sin embargo no sabe cuándo va a recibir información, por tal motivo es necesario configurar la recepción por medio de interrupciones, es decir, que cuando el ordenador de escritorio envié información al microcontrolador, el microcontrolador sea interrumpido, revise la información que está entrando, tome decisiones en base a eso y continúe con la ejecución del programa al finalizar la interrupción.
86
Figura 4.10 Registro INTCON
Bit 7 GIE: bit de habilitación de todas las interrupciones. 1 = Habilita todas las interrupciones. 0 = Deshabilita todas las interrupciones. Bit 6 PEIE: bit de habilitación de interrupción de periféricos. 1 = Habilita todas las interrupciones de periféricos. 0 = Deshabilita todas las interrupciones de periféricos.
Figura 4.11 Registro TXSTA
Bit 6 TX9: Noveno bit de trasmisión. 1 = 9-bit de trasmisión. 0 = 8-bit de trasmisión. Bit 5 TXEN: bit de habilitación de la trasmisión. 1 = Trasmisión es habilitada. 0 = Trasmisión es deshabilitada. Bit 4 SYNC: Modo EUSART. 1 = Modo síncrono. 0 = Modo asíncrono.
87
Bit 2 BRGH: bit para selección de alta velocidad. 1 = Alta velocidad. 0 = Baja velocidad. Bit 1 TRMT: Estado de la trasmisión. 1 = Registro secundario TSR vacío. 0 = Registro secundario TSR lleno.
Figura 4.12 Registro RCSTA
Bit 7 SPEN: bit para habilitar el puerto serial Rs-232. 1 = Puerto serial es habilitado. 0 = Puerto serial deshabilitado. Bit 6 TX9: Noveno bit de recepción. 1 = 9-bit de recepción. 0 = 8-bit de recepción. Bit 4 CREN: bit para habilitar recepción. 1 = Recepción habilitada. 0 = Recepción deshabilitada.
Figura 4.13 Registro PIE1
88
Bit 5 RCIE: bit de interrupción de recepción EUSART. 1 = Interrupción en la recepción activada EUSART. 0 = Interrupción en la recepción desactivada EUSART.
Tabla 4.2 Configuración para 9600 baudios
Por tanto, la configuración de registros que se empleó en el presente trabajo de investigación para realizar la comunicación entre un microcontrolador PIC16F887 y un ordenador es:
INTCON = b’11000000’
PIE1 = b’00100000’
BAUDCTL = b’01000000’
RCSTA = b’10010000’
TXSTA = b’00100110’
SPBRG = b’10000001’
SPBRGH = b’00000000’
89
4.2. Circuito electrónico para implementar en cerradura electrónica con tecnología RFID
En la figura 4.14 se puede ver el algoritmo utilizado en la programación para hacer uso de la tecnología RFID, dicha programación se realizó en lenguaje ensamblador haciendo uso del compilador MPLAB IDE v8.02, a continuación se explican las diferentes partes del algoritmo. Declaración de variables Como se explicó en el capítulo 2 los tags o etiquetas contienen un número de identificación denominado ID que está definido por 14 caracteres por ejemplo: .0040D5F8EA65. Por ello se declaran 14 variables de un byte que contendrán el ID del lector que se presente, también se declara una variable llamada contador y se inicializa con 14, dicha variable es la que controla que entren datos de 14 bytes y que el microcontrolador no realice comparaciones de usuarios hasta que entre el dato del ID completo. Configuración de Puertos I/O Se configura el pin RA1 como entrada, es el pin donde se conectara un interruptor para saber cuándo la puerta se cierre. Se configura el pin RE2 como salida, es el pin donde se generara la señal eléctrica para una cerradura electrónica. Configuración del puerto Serial Rs-232 En esta parte del programa se realiza la configuración de los registros correspondientes al módulo EUSART como se explicó en el presente capitulo sección 4.1, se agrega código de programación en lenguaje ensamblador en anexo A3. El microcontrolador se pone en espera de una interrupción
90
Inicio
Declaración de
variables
Configuración
de puertos E/S
Configuración del puerto serial
Rs-232 del microcontrolador
PIC16F887
Configuración del
módulo LCD 16x2
Esperando se
presente una
interrupción
Figura 4.14 Diagrama de flujo para la implementación de tecnología RFID
Cuando se acerca un tag al módulo lector, el lector envía de manera serial a una velocidad de 9600 baudios al microcontrolador el paquete de los 14 caracteres, el microcontrolador almacena los 14 caracteres y comienza a evaluar el ID guardado con los diferentes ID de los usuarios previamente grabados en el programa, si el ID almacenado es igual al de algún usuario entonces el microcontrolador genera un pulso de 5V, 20mA por medio del pin RE2 para activar alguna cerradura electrónica y comienza a evaluar el estado del interruptor que se encuentra en el pin RA1, al momento en que se encuentre pulsado el interruptor, es decir, que la puerta se halla cerrado, el microcontrolador regresa a la espera de una nueva interrupción.
91
Interrupción
Almacena la cadena
de 14 caracteres del
ID del Tag
Compara ID
recibido con el de
los usuarios
¿ID
corresponde
al usuario
Luis?
¿ID
corresponde
al usuario
Jair?
¿ID
corresponde
al usuario
Daniel?
Genera una señal eléctrica para
activar alguna cerradura
electrónica e imprime mensaje
de bienvenida
Genera una señal eléctrica para
activar alguna cerradura
electrónica e imprime mensaje
de bienvenida
Genera una señal eléctrica para
activar alguna cerradura
electrónica e imprime mensaje
de bienvenida
Espera a que
se cierre la
puerta
Espera a que
se cierre la
puerta
Espera a que
se cierre la
puerta
Termina
Interrupción
no
si
no
no
si
si
Figura 4.15 Diagrama de flujo, identificación del usuario tecnología RFID
92
4.5. Interfaz gráfica desarrollada en panel táctil En el presente trabajo de investigación se desarrolla un HMI (del inglés Human Machine Interface) en una pantalla táctil (touchscreen) para controlar las luces de una casa habitación, el panel táctil PIC18FJ contiene un microcontrolador PIC18F87J50, una pantalla a colores de 320x240 pixeles también denominado GLCD (del inglés Graphic Liquid Crystal Display), un panel táctil, ranura para tarjeta microSD, un reproductor de audio mp3, comunicación USB, un acelerómetro y un bootloader que permite programar el PIC18FJ desde el software mikroBootloader USB HID v1.50 mediante su puerto USB, esto para poder prescindir de un programador externo. Dicho microcontrolador, controla los gráficos del GLCD, el prototipo de la casa para el cual se desarrolló la interfaz gráfica en el panel táctil contiene dos plantas, planta baja y planta alta. En las imágenes siguientes se puede apreciar el interfaz de cada piso.
Figura 4.16 Interfaz Gráfica del piso 1 que se ejecuta en pantalla táctil
El interfaz está conformado por dos pantallas:
93
Pantalla Uno: es la que se ejecuta cuando se energiza la pantalla tactil, cuenta con cinco botones con la etiqueta de “OFF” para controlar las luces correspondientes del primer piso, es decir, si el usuario aplica un toque sobre la superficie de algun boton, el microcontrolador PIC18F87J50 activa uno de sus puertos para activar la luz correspondiente, también contiene una imagen que muestra la estructura en dos dimensiones de la planta baja, si el usuario aplica un toque sobre cualquier punto de la imagen el microcontrolador PIC18F87J50 muestra la pantalla dos (ver figura 4.16). Pantalla Dos: si se tiene un tacto sobre la superficie de la pantalla uno, automaticamente se muestra la pantalla dos, esta pantalla contiene cinco botones con la etiqueta de “OFF” para controlar las correspondientes luces también contiene una imagen que muestra la estructura en dos dimensiones de la planta alta, si el usuario aplica un toque sobre cualquier punto de la imagen el microcontrolador PIC18F87J50 muestra la pantalla uno (ver figura 4.17).
Figura 4.17 Interfaz Gráfica del piso 2 que se ejecuta en pantalla táctil
94
La programación de la pantalla táctil PIC18FJ se lleva a cabo mediante dos softwares:
Visual TFT v2.71.
mikroC PRO for PIC v5.61. En Visual TFT v2.71 se desarrolla la parte visual, es decir, en un componente llamado “Image” se agregó un diagrama en dos dimensiones de la casa, donde se muestra la ubicación de las habitaciones y sobre ese componente se agregaron cinco componentes del mismo tipo con nombre “Button”, para controlar las luces que se encuentran en ese piso o planta.
Figura 4.18 Paleta de Componentes de Visual TFT
Visual TFT cuenta con una paleta de 12 componentes, para la aplicación del presente trabajo se utilizaron dos componentes, cada componente tiene diferentes propiedades y es necesario variar ciertas propiedades para tener control de todos los componentes utilizados al momento de realizar la programación. En la figura 4.19 se puede observar las propiedades del componente “Image” y las propiedades que se modificaron son:
95
Name
Picture Name
OnClick
A Name se asignó la etiqueta de “Planta_Alta”, en Picture Name se adjunto la imagen con el diagrama en dos dimensiones de la planta alta de la casa y en OnClick se le coloco la etiqueta de “go_piso1” esta última propiedad OnClick es la que se emplea en la programación, cuando se compila el programa, Visual TFT crea una carpeta en donde está corriendo el proyecto y genera un código en C que debe ser ejecutado en mikroC PRO for PIC, dentro del código en C se crea automáticamente una función llamada “go_Piso1”, de modo que cuando el usuario de un click sobre la superficie de la imagen, el microcontrolador PIC18F87J50 ejecuta el código que se encuentra dentro de esa función.
Figura 4.19 Propiedades del componente “Image”
Las propiedades que se cambian en el componente “Button” son tres:
Name
Caption
OnClick En la propiedad Name del componente “Button” se le asigna la etiqueta Button_LED2, este es el nombre con el que se identifica el botón al momento que se realiza la programación.
96
Figura 4.20 Propiedad Name del componente “Button”
En la propiedad caption se le asigna la etiqueta OFF, que es el texto que aparecerá por default en el botón y es el estado en el que se encuentra el foco que se está controlando, en la figura 4.17 se puede observar que OFF es la etiqueta que tienen todos los botones, conforme se pulsen, la propiedad de caption cambiara a ON y activara o desactivara la salida correspondiente para el control de luces.
Figura 4.21 Propiedad Caption del componente “Button”
A la propiedad OnClick se le asigna la etiqueta Toggle_LED2, dicha etiqueta es la función que visual TFT creara dentro del archivo en C, el código que se encuentre dentro de esa función es el que el microcontrolador PIC18F87J50 ejecutara, en el diagrama de flujo de la figura 4.23 se describe el evento de un botón, el evento ocurre cuando hay un tacto en la superficie del botón, inicia preguntando si el pin del puerto está activado o desactivado, al inicio de la ejecución de la aplicación se encuentra desactivado por tanto si ha habido un tacto sobre su superficie, activa el pin del puerto correspondiente y cambia la propiedad caption del botón. Para los 10 botones que se encuentran en la aplicación se siguió el mismo diagrama de flujo, solo activando y desactivando puertos diferentes.
Figura 4.22 Propiedad OnClick del componente “Button”
97
Evento
Toggle_LED2
¿Esta Activado
el pin 2 del
puerto E?
Activa la salida
del puerto E
Desactiva la salida
del puerto E
Termina evento
Cambia etiqueta
Button_LED2.Caption=”OFF”
Cambia etiqueta
Button_LED2.Caption=”ON”
no
si
Figura 4.23 Diagrama de flujo del evento Toggle_LED2 En el diagrama de flujo de la figura 4.24 se describe el comportamiento del evento que ocurre cuando se toca un punto de la superficie de la pantalla uno.
98
Evento
Planta Alta
¿Se pulso la
superficie del
panel táctil?
Muestra el interfaz de la planta alta
Termina evento
no
si
Figura 4.24 Diagrama de flujo del evento Planta alta
En el programa se utilizaron dos componentes del tipo “Image” con las siguientes propiedades: Interfaz de la planta baja
Name con Planta_Baja
Picture Name se adjunta la imagen del diagrama en 2D de la planta baja
OnClick con go_piso2
99
Interfaz de la planta alta
Name con Planta_Alta
Picture Name se adjunta la imagen del diagrama en 2D de la planta alta
OnClick con go_piso1 También se utilizaron diez componentes del tipo “Button” con las siguientes propiedades: Name
Button_LED1
Button_LED2
Button_LED3
Button_LED4
Button_LED5
Button_LED6
Button_LED7
Button_LED8
Button_LED9
Button_LED10 Caption Todos con la etiqueta OFF OnClick
100
Toggle_LED1
Toggle_LED2
Toggle_LED3
Toggle_LED4
Toggle_LED5
Toggle_LED6
Toggle_LED7
Toggle_LED8
Toggle_LED9
Toggle_LED10 El PIC18FJ cuenta con nueve puertos de entrada y salida: El Puerto A con 3 líneas, pines RA2, RA3 y RA4. El Puerto B con 6 líneas, pines RB0, RB1, RB2, RB3, RB6 y RB7. El Puerto C con 7 líneas, pines RC0, RC1, RC3, RC4, RC5, RC6 y RC7. El Puerto D con 2 líneas, pines RD5 y RD6. El Puerto E con 7 líneas, pines RE1, RE2, RE3, RE4, RE5, RE6 y RE7 El Puerto F con 3 líneas, pines RF2, RF5 y RF6. El Puerto G con 5 líneas, pines RG0, RG1, RG2, RG3 y RG4. El Puerto H con 2 líneas, pines RH4 y RH6. El Puerto J con 6 líneas, pines RJ0, RJ1, RJ2, RJ3, RJ4 y RJ5.
101
Se configuro el puerto E y puerto G como salidas de los cuales cinco pines de cada puerto están destinados a controlar las luces de cada planta, en el diagrama de flujo de la figura 4.25 se describe la programación del programa principal, al energizar el PIC18FJ se configuran Puerto E y G como salidas y se pone en espera a que ocurra algún evento ya sea que se pulse algún botón de la planta baja o que se pulse algún punto de la imagen que muestra el diagrama en dos dimensiones de la planta baja.
Inicio
Configuración de
puertos E/S
Espera a que se
presente un
evento
Figura 4.25 Diagrama de flujo de la configuración principal
Se agrega en anexo A5 el código de la programación en lenguaje C que se desarrolló para esta aplicación.
102
4.6. Tarjeta de adquisición de datos con microcontroladores PIC
Figura 4.26 Diagrama general de la DAQ.
La tarjeta de adquisición de datos o DAQ (Data acquisition) desarrollada con microcontroladores contiene:
8 entradas analógicas.
8 entradas digitales.
8 salidas digitales. Tiene como principal objetivo realizar el control de 8 salidas digitales, la adquisición de 8 señales analógicas y 8 saldas digitales mediante una interfaz gráfica desarrollada en LabVIEW, teniendo la posibilidad de poder implementarla en múltiples aplicaciones de una manera sencilla, por ejemplo, aplicaciones donde se encuentren involucrados sensores que den una respuesta analógica o digital y se requiera manipular actuadores, a continuación se muestra en diagramas de flujo el algoritmo de programación que se empleó.
103
Inicio
Declaración de variables
Configuración de puertos E/S
Configuración del módulo ADC
Configuración del puerto Rs-232, Activando interrupción cuando allá
una recepción de datos
Realiza lectura de 8 entradas analógicas y se almacenan en variables
Realiza lectura de 8 entradas digitales y se almacenan en variables
Envía el estado de entradas analógicas, digitales y un 13 decimal vía Rs-232, el 13
la PC lo interpreta como un enter
Figura 4.27 Diagrama de flujo, programación de la DAQ
104
Declaración de variables El microcontrolador tiene la tarea de leer el estado de ocho entradas analógicas y de ocho entradas digitales, almacenarlas en variables y enviarlas vía Bluetooth bajo la norma Rs-232 a un computador donde se encuentra ubicada la interfaz gráfica, a cada una entrada digital se le asigna una variable de un byte ya que solo puede tener dos estados cero o uno mientras que por cada entrada analógicas se le asigna tres variables de un byte debido a que el estado de las entradas analógicas está comprendido entre 0 y 255 por tanto en el programa del microcontrolador se declaran 32 variables, estas variables son cargadas con el estado que tiene cada entrada respectivamente. Configuración de Puertos I/O Se configuran los pines RA0, RA1, RA2, RA3, RA5, RE0, RE1 y RE2 como entradas analógicas. Se configuran los pines RB0, RB1, RB2, RB3, RB4, RB5, RB6 y RB7 como entradas digitales. Se configuran los pines RD0, RD1, RD2, RD3, RD4, RD5, RD6 y RD7 como salidas digitales. Y por último se configura RA4 como entrada digital. Configuración del Módulo ADC En esta parte del programa se realiza la configuración de los registros correspondientes al módulo ADC como se explicó en el presente capitulo sección 4.1, se agrega código de programación en lenguaje ensamblador en anexo A1. Configuración del puerto Serial Rs-232 En esta parte del programa se realiza la configuración de los registros correspondientes al módulo EUSART como se explicó en el presente capitulo
105
sección 4.1, se agrega código de programación en lenguaje ensamblador en anexo A3. Realiza lectura de las ocho entradas analógicas y ocho entradas digitales. Esta etapa consta de estar actualizando el valor de las 32 variables en base a las nuevas lecturas de las entradas digitales y analógicas, cada variable es de 1 byte, es decir, 8 bits por tanto los valores son guardados en binario natural. El computador donde se encuentra la interfaz gráfica opera con el código ASCII (del inglés American Standard Code for Information Interchange) mientras que el microcontrolador en código binario por tanto es necesario realizar una conversión a BCD (Binary-Coded Decimal). La conversión de un numero expresado en binario natural o formato BCD es una de las operaciones más utilizadas en los programas con microcontroladores, por ejemplo el valor 123 expresado en binario natural seria 01111011, para expresarlo en BCD hay que separar las centenas, decenas y unidades quedando 0001 0010 0011 por esta razón para almacenar el estado de una entrada analógica es necesario tres variables, el valor de una entrada analógica va de 0 a 255, se agrega código de programación en lenguaje ensamblador en anexo A3. En la figura 4.28 se puede apreciar la parte de software de la tarjeta de adquisición de datos, esta interfaz gráfica está desarrollada en LabVIEW, contiene ocho LED’s con las etiquetas INPUT_1 a INPUT_8 que indican el estado de las ochos entradas digitales, se tiene ocho termómetros con etiquetas de Analog 1 a Analog 8 que indican el estado de las ocho entradas analógicas y en la parte de abajo cuenta con 16 botones para controlar las ocho salidas digitales de la tarjeta de adquisición de datos, de ON_1 a ON_8 para activar correspondientemente las salidasy de OFF_1 a OFF_8 para desactivarlas. Mediante un String control se introduce un password, si es correcto en otro String control muestra el estado del sistema ya sea ON = Encendido u OFF = Apagado y se activa el LED que se encuentra en la parte superior del interfaz, para hacer uso de la tarjeta de adquisición de datos es necesario ejecutar esta aplicación y conectar la parte de hardware vía Bluetooth a un computador, la comunicación se puede realizar por diferentes puertos seriales del computador denominados COM1, COM2, COM3 etc. Dependiendo del número de puertos seriales que tenga el computador, para seleccionar el puerto donde se desea comunicar el software con el hardware.
106
Figura 4.28 Interfaz gráfica de la tarjeta de adquisición de datos
107
Interrupción
Recibe el dato y lo guarda en una variable
X=A?
X=B?
X=C?
X=D?
X=E?
X=F?
X=G?
X=H?
Activa Salida O:0
Activa Salida O:1
Activa Salida O:2
Activa Salida O:3
Activa Salida O:4
Activa Salida O:5
Activa Salida O:6
Activa Salida O:7
Parte DosTermina la
Interrupción
no
si
si
si
si
si
si
si
si
no
no
no
no
no
no
no
Figura 4.29 Diagrama de flujo 1, interrupción en el PIC16F887
108
Parte Dos
X=I?
X=J?
X=K?
X=L?
X=M?
X=N?
X=O?
X=P?
Desactiva Salida O:0
Desactiva Salida O:1
Desactiva Salida O:2
Desactiva Salida O:3
Desactiva Salida O:4
Desactiva Salida O:5
Desactiva Salida O:6
Desactiva Salida O:7
Termina la Interrupción
Termina la Interrupción
no
si
si
si
si
si
si
si
si
no
no
no
no
no
no
no
Figura 4.30 Diagrama de flujo 2, interrupción en el PIC16F887
109
Como se puede observar en los diagramas de flujo, la programación del microcontrolador contiene una interrupción, el microcontrolador está en constante comunicación con el computador enviando el estado de las entradas analógicas y digitales al interfaz, si se deseara activar una salida digital de las 8 que contiene, al momento que se presiona un botón, LabVIEW envía por el puerto serial un carácter, por ejemplo: si se pulsa el botón ON_1 LabVIEW envía una letra “A” el microcontrolador recibe el dato, es interrumpido, es decir, deja de enviar el estado de las entradas analógicas y digitales y atiende la interrupción dentro de la interrupción el microcontrolador realiza una serie de comparaciones para saber qué carácter entro y en base a eso realizar una acción como activar una salida o desactivarla y al momento en que termina de atender la interrupción, el microcontrolador continua enviando al computador el estado de las entradas analógicas y digitales, se puede decir que todas estas funciones las realiza en tiempo real debido a que el tiempo que tarda en atender la interrupción está en el orden de los micro segundos. 4.6.1. Comunicación serie en LabVIEW Usando VISA en LabVIEW VISA es una API (del inglés Application Programming Interface) deE /S estándarpara la programación deinstrumentación. VersatilidaddeVISA VISA puede controlar GPIB (del inglés General-Purpose Instrumentation Bus), serial, USB del inglés Universal Serial Bus), Ethernet, PXI, VXIoinstrumentos, independientemente del protocolo que se utilice, VISA es el API ideal para controlar el puerto serial de manera que el usuario no tenga que aprender el protocolo de comunicación que se esté utilizando. A continuación se describen las principales funciones de los componentes que se requiere que sean conectados entre sí para obtener una comunicación serial a 9600 baudios con el microcontrolador que gobierna el funcionamiento de la tarjeta de adquisición de datos.
110
Figura 4.31 Programación a bloques del Interfaz gráfica de la tarjeta de adquisición de datos
111
Figura 4.32 VISA Configuración de puerto serial
VISA resource name específica el puerto COM con el que se desea establecer una comunicación también específicala sesióny clase. VISA resource name out es una copia del nombre de VISA resource name de las funciones que VISA devuelve. Error out Contiene información sobre el error, esta salida proporciona el error estándar de la funcionalidad.
Figura 4.33 Escritura en VISA
VISA resource name específica el recurso a ser abierto, es decir, el puerto COM donde se van a escribirlos datos también específicala
sesióny clase. Write buffer Contiene los datos que se van a enviar al dispositivo mediante el puerto serial.
Error in (no error) describe las condiciones de error que se producen al realizar el emparejamiento entre los dispositivos. VISA resourcenameout es una copia del nombre de VISA resource name de las funciones que VISA devuelve. Error out Contiene información sobre el error, esta salida proporciona el error estándar de la funcionalidad.
112
Figura 4.34 Nodo de propiedad
Reference es el número de referencia asociado con el objeto para el que desea establecer u obtener propiedades.
Error in (no error) describe las condiciones de error que se producen al realizar el emparejamiento entre los dispositivos.
Reference out regresa referencias asociadas sin cambios. Error out Contiene información sobre el error, esta salida proporciona el error estándar de la funcionalidad. Property 1 son ejemplos de propiedades que se desean activar, por ejemplo, numero de bytes que se desean escribir o leer
Figura 4.35 Lectura en VISA
VISA resource name específica el recurso a ser abierto, es decir, el puerto COM donde se van a leer los datos también específica la sesión y
clase.
Error in (no error) describe las condiciones de error que se producen al realizar el emparejamiento entre los dispositivos. VISA resource name out es una copia del nombre de VISA resource name de las funciones que VISA devuelve. Read buffer Contiene los datos que llegan del dispositivo mediante el puerto serial. Error out Contiene información sobre el error, esta salida proporciona el error estándar de la funcionalidad.
113
Figura 4.36 Limpieza y clausura del buffer
VISA resourcename específica el recurso a ser abierto, es decir, el puerto COM con el que se está estableciendo comunicación también
específica la sesión y clase.
Error in (no error) describe las condiciones de error que se producen al realizar el emparejamiento entre los dispositivos. VISA resource name out es una copia del nombre de VISA resource name de las funciones que VISA devuelve. Error out Contiene información sobre el error, esta salida proporciona el error estándar de la funcionalidad.
Figura 4.37 Subconjuntos de una cadena de caracteres
String es la cadena de caracteres que entra.
Offset es la posición de partida y debe ser numérico, su valor por default es cero, es decir no so se cablea a algún valor numérico. Length longitud de la cadena de caracteres que se va a filtrar, si no se cablea a un valor numérico, tomara el resto de la cadena. Substring es un fragmento de la cadena de caracteres que entro, dependiendo del valor numérico que se le allá asignado a Offset y Length.
Figura 4.38 Conversión de cadena de caracteres a valor numérico
114
String cadena de caracteres para convertir. Number el resultado de la cadena de caracteres en valor numérico.
Ciclo While El ciclo while es muy común en los lenguajes de programación de alto nivel, en LabVIEW permite mantener en constante ejecución la programación a bloques que se encuentra en su interior.
Figura 4.39 Ciclo While
Estructura case Estructura case tiene uno o más subdiagramas o casos, exactamente uno de los cuales se ejecuta cuando el programa está en ejecución. El valor del terminal cableado determina el caso a ejecutar, este puede ser booleano, cadena de caracteres, un entero o un tipo enumerado.
Figura 4.40 Estructura Case
En la siguiente imagen se observan los componentes utilizados en la interfaz para conocer el estado de las entradas analógicas y digitales también los Push botón que nos sirven para activar o desactivar alguna entrada de la tarjeta de adquisición de datos.
115
Figura 4.41 Termómetro, Push botón y LED indicador
La programación a bloques de la interfaz gráfica en LabVIEW se puede observar en la figura 4.31 dicha programación se divide en 4 partes que a continuación se describen:
Primera parte: Puerto serial Rs-232.
Segunda parte: Entradas Analógicas.
Tercera parte: Entradas Digitales.
Cuarta parte: Salidas Digitales. Primera parte: Configuración del puerto serial Rs-232 en LabVIEW Se agrega un bloque de VISA y se agrega un controlador en VISA resource name que servirá para seleccionar el puerto COM donde se desea enlazar una comunicación con la parte de hardware. Cuando el microcontrolador envía el estado de las entradas analógicas llegan a la PC por medio del bus “Lectura de Datos” para la lectura de daros se agrega un control en byte count para indicar cuantos bytes o paquetes de cuantos bytes llegaran, mientras que por el bus “Escritura de datos” LabVIEW envía al microcontrolador 16 diferentes caracteres dependiendo que botón se pulse, esto para el control de las salidas digitales.
116
Figura 4.42 Programación a bloques del puerto serial en LabVIEW
Figura 4.43 Panel frontal, selección del puerto COM
El microcontrolador envía 34 bytes, en la figura 4.44 se puede ver que los primeros 24 bytes subrayados en rojo corresponden a las entradas analógicas, después un espacio como carácter número 25, después manda 8 bytes subrayados en azul que corresponden al estado de las 8 entradas digitales y al finalizar un enter o 13 decimal, esta cadena de 34 caracteres que llega al bus “Lectura de datos” posteriormente es desfragmentarla y varias cadenas y enviarlas a sus respectivos indicadores.
Figura 4.44 Panel frontal, Entrada de datos
117
Segunda parte: Entradas Analógicas
Figura 4.45 Programación a bloques, Entradas analógicas
En el Bus “Lectura de Datos” llegan paquetes de 34 bytes dentro de estos se encuentra el estado de las entradas analógicas y las entradas digitales, los datos llegan a un componente subconjunto de cadena de caracteres para tomar solo 3 caracteres por entrada analógica y posteriormente convertirlos de cadena de tres caracteres a un dato numérico y finalmente mostrar el valor en un termómetro, esto para cada una de las ocho entradas analógicas.
118
Figura 4.46 Panel frontal, Entradas analógicas Tercera parte: Entradas digitales En el Bus “Lectura de Datos” llegan paquetes de 34 bytes dentro de estos se encuentra el estado de las entradas analógicas y las entradas digitales, los datos llegan a un componente subconjunto de cadena de caracteres para tomar solo un carácter por entrada digital y posteriormente convertirlos de cadena de caracteres a un dato numérico, realizar una comparación para saber si la entrada digital del microcontrolador está en uno o en cero lógico y finalmente mostrar el valor en un LED, esto para cada una de las ocho entradas digitales.
119
Figura 4.47 Programación a bloques, Entradas digitales
Figura 4.48 Panel frontal, Entradas digitales
120
Cuarta parte: Salidas digitales Para esta última parte se encuentran anidados 16 estructuras case, cada estructura contiene dos casos, true y false que se evalúan mediante un botón, si el botón esta pulsado ejecuta el código que se encuentra dentro de true, si el botón no está pulsado se ejecuta la programación a bloques que se encuentra en false, en false se van anidando las estructuras mientras que si se cumple la condición, el botón esta pulsado se envía un carácter, los caracteres enviados son de la “A” a la “P”, estos caracteres los recibe el microcontrolador dependiendo que botón se halla pulsado.
Figura 4.49 Programación a bloques, Salidas digitales
Figura 4.50 Panel frontal, Salidas digitales
121
Capítulo 5
Resultados experimentales
122
5. Resultados experimentales Al obtener los conocimientos teóricos del funcionamiento de cada sistema que se implementa en el prototipo y su estructura electrónica se parte a la descripción de cada sistema físicamente.
Figura 5.1 Prototipo de una casa habitación En el presente trabajo existes tres sistemas que rigen el prototipo, se desglosara cada uno de ellos y se mencionara la función que cumple dentro de la casa habitación.
5.1. RFID (radio frequency identification), Control de acceso La tecnología RFID se contempló para realizar el acceso a la casa mediante uno o varios códigos los cuales se otorgaran a los usuarios a través de tarjetas o tag’s con las cuales se tendrá acceso a la casa (figura 5.2).
123
Figura 5.2 Tarjetas y Tag´s para RFID
El método de acceso se basa en lo siguiente:
I. Al presentar la tarjeta al lector RFID que se encuentra en la entrada
principal y en la entrada de la cochera el microcontrolador PIC16F877
evalúa el código que contiene la tarjeta o tag.
Figura 5.3 Modulo de RFID
II. El microcontrolador PIC16F877 verifica a través de una comparación con
los códigos asignados por default en el programa del mismo si el código
presentado es el correcto, si esta cumple el acceso es permitido
desplegando el siguiente mensaje en la LCD:
124
Figura 5.4 LCD LM016L
III. Si una persona que no habita en la casa y quiere tener acceso presentando
una tarjeta con un código que no está almacenado en el microcontrolador
PIC16F877 el acceso es denegado y al igual genera un mensaje de usuario
incorrecto indicando así que no se abrirán las puertas de la casa.
Figura 5.5 LCD LM016L En el acceso principal se cuenta con una cerradura electrónica la cual al ser energizada retrocede su vástago y se abre la puerta, al detectar el microcontrolador PIC16F877 que el código es correcto manda un 1 lógico a un pin del puerto configurado como salidas en el cual está conectada la cerradura, al
125
cerrar la puerta la cerradura se desenergiza y su vástago vuelve a su posición realizando la función de candado sobre la puerta.
Figura 5.6 Estado de la cerradura
Figura 5.7 Puerta de la casa del prototipo Indicaciones de componentes electrónicos en la entrada de la casa.
126
Figura 5.8 Vista aérea del acceso principal
Figura 5.9 Vista frontal del acceso principal
Figura 5.10 Ubicación del módulo RFID
En la Figura 5.8 Vista aérea del acceso principal se aprecia el circuito electrónico para el control de acceso y a continuación se muestra su diseño final.
127
Figura 5.11 Circuito de control En el acceso a la cochera se cuenta con un motor de CD (Corriente Directa). La función del motor es para subir y bajar la cortina que se tiene como puerta, al pasar la tarjeta frente al lector de RFID y si el código de acceso es el correcto se abre la cortina de la cochera, ya dentro de ella se cierra la cortina con un pulsador.
Figura 5.12 Cortina Automática
128
En la siguiente imagen se muestra el circuito para controlar la apertura y cierre de la cortina automática.
Figura 5.13 Circuito de control para la cochera
5.2. Tecnología Touchscreen, desarrollando un HMI en un panel táctil
La HMI se desarrolló y se implementó para realizar un entorno más amigable con el usuario. La pantalla GLCD (Graphic Liquid Crystal Display) PIC18FJ presenta una gran versatilidad para el manejo del usuario además de ser compacta. La función primordial de esta HMI es tener un fácil acceso a la luminaria de la casa, con lo cual el usuario podrá encender o apagar cualquier lámpara de cualquier área de la casa.
129
Se instaló a un costado del acceso principal en el interior de la casa como se muestra en la figura 5.14, esto para que el usuario al accesar a la casa encienda la luminaria de la misma.
Figura 5.14 Ubicación de la pantalla táctil
El entorno se realiza mediante Visual TFT v2.71, este permite crear Interfaces graficas de usuario de forma fácil y rápida. El prototipo consta de dos pisos en los cuales en cada área se encuentra una lámpara, cada lámpara en la GLCD tiene un botón en forma gráfica el cual tiene 2 estados: on y off. A continuación se muestra las pantallas de la HMI las cuales presentan en forma virtual las áreas de la casa.
130
Figura 5.15 Interfaz de la planta baja
En la figura 5.15 aparecen 2 tipos de simbología, cada una cumple a función de acuerdo a la tabla 5.1:
Tabla 5.1 Descripción de símbolos
Simbolo Descripción
Indicador luminoso. Indica en que parte del prototipo está instalado un led el cual su objetivo es ejemplificar un tipo de luminaria.
Botón pulsador En estado ON indica que al pulsarlo se encenderá el led.
Botón pulsador En estado OFF indica que al pulsarlo se apagara el led.
131
La forma de realizar acciones de control de luminaria es sencilla y fácil para el usuario ya que solo se necesita pulsar en los recuadros que indican un botón con los cuales se pueden encender y apagar los leds de la planta baja. A continuación se muestra la GLCD físicamente y con la interfaz para el control de luminaria de la planta baja (Figura 5.16).
Figura 5.16 GLCD físicamente Funcionamiento.
I. Al pulsar ON en la GLCD se enciende el led del prototipo en el area
indicada en la pantalla (Figura 5.17).
132
Figura 5.17 Funcionamiento de la HMI Nota: Al pulsar el boton ON automaticamente se prende el led y cambia la leyeda del boton a OFF para que indique que al siguiente pulso se apague el led.
133
El siguiente punto a considerar es la planta alta en donde se desplega otra pantalla (Figura 5.18) con un grafico diferente para diferenciar los dos pisos.
Figura 5.18 Interfaz de la planta alta
La simbología es la misma que en la planta baja, solo se realiza un cambio de color en la pantalla para que se diferencie en que piso se va a realizar el control de luminaria. En la siguiente imagen se muestra la GLCD con la interfaz para la planta alta (Figura 5.19).
134
Figura 5.19 GLCD físicamente planta alta)
El funcionamiento se lleva a cabo igualmente como en la planta baja al pulsar ON la GLCD enciende el led del prototipo en el area indicada en la pantalla.
Figura 5.20 Funcionamiento de la HMI planta alta
Nota: Al pulsar el boton ON automaticamente se prende el led y cambia la leyeda del boton a OFF para que indique que al siguiente pulso se apague el led.
135
5.3. Diseño de una DAQ (Adquisición de datos) con Microcontroladores fabricados por Microchip incorporando comunicación inalámbrica Bluetooth Se pensó en diseñar una DAQ con un microcontrolador en este caso el PIC16F877 para que si el usuario quiere implementar sistemas de medición tales como monitoreo de temperatura, sensores de humo o sistemas de alarmas solo se acoplen a la DAQ. Como se mencionó una DAQ es una tarjeta que adquiere datos y que actúa conforme a ellos. Al crear una DAQ se pensó en hacerla compacta y más funcional. De acuerdo a la comunicación se establece mediante bluetooth adquiriendo datos desde la interfaz creada en LabVIEW (Figura 5.21).
Figura 5.21 Bluetooth físicamente conectado a la DAQ
En la computadora se tiene el software de LabVIEW en el cual se creó la interfaz que se muestra en la Figura 5.124 para visualizar el estado de las entradas tanto analógicas como digitales y las salidas digitales. Estos valores son enviados desde la DAQ a LabVIEW mediante el módulo de Bluetooth generando así una comunicación remota prescindiendo del cableado
136
En la Figura 5.22 se muestra el entorno de LabVIEW en el cual se definen:
- INPUT: Entradas
- Analog: Entradas analógicas
- ON Y OFF: Botones para activar y desactivar las salidas digitales.
Figura 5.22 Interfaz en LabVIEW
Como se muestra en la Figura 5.20 se cuentan con:
- 8 entradas analógicas dispuestas para conectar cualquier tipo de sensor
que genere señales analógicas (0-5 VCD)
- 8 entradas digitales, en las cuelas se pueden conectar interruptores,
botones o pulsadores para actuar sobre un sistemas (0-5 VCD).
- 8 salidas digitales en las cuales pueden controlar actuadores, como por
ejemplo un motor (0-5 VCD).
137
Bluetooth
PIC16F877
Figura 5.23 DAQ físicamente
Para comprobar el funcionamiento de la DAQ se verificaron las salidas y entradas tanto analógicas y digitales.
Las entradas analógicas se simularon a través de potenciómetros con los
cuales se puede regular el voltaje de entrada.
Las entradas digitales se simulan con botones pulsadores.
Las salidas digitales con leds.
En la figura 5.22 se muestra el circuito de simulación conectado a la DAQ.
Figura 5.24 DAQ conectada al circuito de simulación
138
A continuación se muestra el funcionamiento de la DAQ con la PC en la cual se encuentra la interfaz realizada en LabVIEW. Desarrollo:
1) Primero asignaremos una etiqueta a cada componente.
Figura 5.25 Potenciómetros para entradas analógicos
Nota: P1_A1 indica: P: potenciómetro 1: número de potenciómetro A: entrada analógica 1: Numero de entrada analógica
Figura 5.26 Botones de entradas digitales
139
Nota: B1_D1 indica:
B: botón pulsador. 1: número de botón pulsador. D: entrada digital 1: Numero de entrada digital
Figura 5.27 Indicador de salidas digitales
Nota: L1_O1 indica: L: Led indicador. 1: número de Led indicador. O: salida digital 1: Numero de salida digital
2) Simulación
I. Variamos los potenciómetros para observar en la interfaz el
comportamiento del voltaje.
En las siguientes imágenes se observa que se varía los potenciómetros que simulan las señales analógicas físicamente y en la interfaz se observa la variación del voltaje que va desde 0 a 5 volts.
Áreas en proceso de simulación.
140
Figura 5.28 P1_A1 voltaje gráficamente en alto y bajo nivel
Figura 5.29 P2_A2 voltaje gráficamente en alto y bajo nivel
Figura 5.30 P3_A3 voltaje gráficamente en alto y bajo nivel
141
Figura 5.31 P3_A3 voltaje gráficamente en alto y bajo nivel En las imágenes se observa que al variar el valor de la resistencia del potenciómetro a través de su perilla el voltaje llega a valores altos si se gira hacia el lado derecho, al cambiar de giro en voltaje cae a valores de voltaje bajo, su variación se muestra en la tabla 5.9.
Tabla 5.2 Variaciones de voltaje
Se varia de 0 a 5 volts
Se varia de 5 a 0 volts
Este procedimiento de verificación se emplea para todas las entradas analógicas.
II. Para verificar el funcionamiento de las entradas digitales se emplean
botones pulsadores con los cuales solo se obtienen 2 estados: 0 y 1
(ausencia o presencia de voltaje).
Áreas en proceso de simulación.
142
Figura 5.32 Input 8 Al pulsar B1_D1 en la interfaz se enciende un led el cual muestra que se recibió un 1 lógico o que hay presencia de voltaje, en este caso 5 volts.
Figura 5.33 Input 7
Al pulsar B2_D2 en la interfaz se enciende un led el cual muestra que se recibió un 1 lógico o que hay presencia de voltaje, en este caso 5 volts.
143
Figura 5.34 Input 6
Al pulsar B3_D3 en la interfaz se enciende un led el cual muestra que se recibió un 1 lógico o que hay presencia de voltaje, en este caso 5 volts.
Figura 5.35 Entrada digital 1
Al pulsar B8_D8 en la interfaz se enciende un led el cual muestra que se recibió un 1 lógico o que hay presencia de voltaje, en este caso 5 volts.
144
En las imágenes anteriores se observa que al pulsar el botón en nuestro circuito de simulación se enciende el led asignado a la entrada digital correspondiente, su activación se muestra en la tabla 5.3.
Tabla 5.3 Estados de un botón pulsador
- Al pulsar el botón existe presencia de voltaje (5 volts).
- Al dejar de pulsarlo y en estado normal el voltaje es igual a 0
III. Para simular que se puede actuar sobre las salidas digitales se simulo a
través de 2 interruptores:
Tabla 5.4 Botones de simulación de salidas digitales
Botón de encendido.
Botón para apagar.
Para ver el estado de las salidas digitales se implementó una barra de leds, en la cual se observa su estado.
145
Figura 5.36 Botón simulador de salidas Al cerrar el interruptor ON_1 dando un clic en el icono se enciende el primer led de la barra, esto comprueba que en la primera salida existe voltaje (5 volts) para desenergizar se pulsa el botón de OFF_1.
Figura 5.37 Salidas digitales activadas
146
En la figura 5.35 se muestra como las 8 salidas digitales de la DAQ se activaron mediante los botones ON, esto para observar que se puede mandar a activar cualquier dispositivo actuador como se mencionó previamente como por ejemplo:
- Una válvula solenoide de aspersores la cual puede ser activada por una
señal analógica de un sensor de humo.
- Un calefactor el cual puede ser activado por un sensor de temperatura
cuando este detecta bajas temperaturas.
- Etc.
Conclusiones
Con el desarrollo del presente trabajo se verifica el correcto funcionamiento de los dispositivos electrónicos incorporados a, la tecnología RFID, tecnología Touchscreen y a la tarjeta de adquisición de datos inalámbrica. También se validan los algoritmos de programación, de los microcontroladores, de la interfaz gráfica desarrollada en una pantalla a colores con un panel táctil y de la etapa de software de la tarjeta de adquisición de datos, la interfaz gráfica desarrollada en LabVIEW. Es importante mencionar que el empleo de estas tecnologías es muy amplio y aunque en el presente trabajo se utilizan en el control y automatización de dispositivos electrónicos de una vivienda; pueden ser empleadas en diversas aplicaciones o procesos de control y automatización.
147
Bibliografía Libros: [1] Enrique Palacios, Fernando Remiro, Lucas J. López “Microcontrolador PIC16F84 Desarrollo De Proyectos”, Tercera Edición, Editorial: Alfaomega. [2] José Rafael Lajara Vizcaíno, José Pelegri Sebastiá “LabVIEW Entorno Gráfico de Programación”, Segunda Edición, Editorial: Alfaomega. [3] José M. Angulo Usategui, Ignacio Angulo Martínez “Microcontroladores PIC16F84 Diseño Practico de Aplicaciones” Tercer Edición, MC GRAW HILL. [4] José Ignacio Vega Luna, Gerardo Salgado Guzmán, Mario Alberto Lagos Acosta, Víctor Noé Tapia Vargas “Notas del PIC16F84 para la UEA” Universidad Autónoma Metropolitana. [5] Luis Miguel Godínez González “RFID oportunidades y riesgos, su aplicación práctica”, Alfaomega Tesis: [6] Calderón Juárez Leticia, Camacho Rebollar Perla Verania, Pioquinto Ramírez Juan Manuel, “Tecnología Bluetooth” 2006 ESIME Culhuacán. [7].- Control de acceso e iluminación de un estacionamiento habitacional. 2006, México DF. ESIME Zacatenco. Artículos: [8].- Design and development of an automatic small-scale house for teaching domotics. Felipe Mateos, Victor M Gonzdlez, Reyes Poo, Marta Garcia and Rosana Olaiz. October 10 - 13,2001 reno, nv 31” aseei/ieee frontiers in education conference [9].- Remote and Mobile Control in Domotics F. Sandu*1, M. Romanca*1, A. Nedelcu1, P. Borza*1, R. Dimova*2 1Transilvania University / Department of Electronics and Computers, Brasov, Romania Technical University of Varna / Department of Communication Engineering, Varna, Bulgaria [10] Design of a portable touchscreen interface for powerline domotic Systems. Elena Mainardi. 4th IEEE Conference on Automation Science and Engineering Key Bridge Marriott, Washington DC, US August 23-26, 2008
148
[11] Visir, a simulation software for domotic s installations to improve laboratory training victor m. Gonzalez, Felipe Mateos, Antonio m. l6pez3, josb m. enguita4, marta garcia' and rosana olaiz'. 31" asee/ieee frontiers in education conference [12] Object Oriented Framework for Remote Control and Domotics. Alfredo Milani. Comparetti SpeedFan Project Leader and Developer. SOKNO S.R.L. Folco Fioretti and Paola Pierleoni Dipartimento di Ingegneria Biomedica, Elettronica e Telecomunicazioni Università Politecnica delle Marche [13] Authentication and Lightweight Cryptography in Low Cost Rfid Hoopad Mobahat LuLea University of Technology –Sweden International University of Chabahar – Iran [14] A Study for Optimizing the Reading rate of RFID Tagged Cartons in Palletizing Process Chiao-Tzu Huang*, Li-Wen Lo, Wei-ling Wang, Hsin-Lin Chen Department of Industrial Engineering and Management, National Chin-Yi University of Technology, Taichung, Taiwan 4110 [15] Mobile Platform for Networked RFID Applications Donggeon Lee, Seongyun Kim, and Howon Kim Department of Computer Engineering Pusan National University Busan, Republic of Korea [16] Characterization of RFID Strap Using Single-Ended Probe Sung-Lin Chen, Student Member, IEEE, and Ken-Huang Lin, Member, IEEE Manuales, Hojas de Datos: [17] Microchip, Datasheet PIC16f882/883/884/886/887 Microchip products meet the specification contained in their particular Microchip Data Sheet. [22] [18] Mcuzone, Bluetooth COM module User Manual. [19] 125K RFID Reader, Datasheet RDM630 Specification. [20] Manual de referencia Display LCD 16x2 [21] mikroMedia for PIC18FJ User Manual [23]
149
Internet: [22] http://www.microchip.com/ [23] http://www.mikroe.com/
150
Anexos
A1.- Código para la configuración del módulo ADC del microcontrolador PIC16F887 en lenguaje ensamblador. CBLOCK 0x78 DATO_ADC_AN0 DATO_ADC_AN1 ENDC ADC_CONFIG bcf STATUS,RP1 ; BANCO 1 bsf STATUS,RP0 ; BANCO 1 bsf TRISA,0 ; AN0 COMO ENTRADA bsf TRISA,1 ; AN1 COMO ENTRADA bsf STATUS,RP1 ; BANCO 3 bsf STATUS,RP0 ; BANCO 3 movlw b'00000011' ; movwf ANSEL ; AN0 Y AN1 COMO ENTRADA ANALOGICA clrf ANSELH ; SOLO AN0 Y AN1 call BANCO_1 ; BANCO 1 movlw b'00000000' ; JUSTIFICO MI RESULTADO A LA IZQUIERDA ADRESH ADRESL movwf ADCON1 ; Vref(-)= GND -- Vref(+)= VCC bcf STATUS,RP1 ; BANCO 0 bcf STATUS,RP0 ; BANCO 0 return ADC_AN0 bcf STATUS,RP1 ; BANCO 0 bcf STATUS,RP0 ; BANCO 0 movlw b'11000001' ; SELECCIONO -- OSCILADOR RC INTERNO movwf ADCON0 ; SELECCIONO -- A LEER AN0 -- ENCIENDO EL ADC call Retardo_20us return ADC_READ_0 bcf STATUS,RP1 ; BANCO 0 bcf STATUS,RP0 ; BANCO 0 bsf ADCON0,1 ; INICIA CONVERSIÓN WAITING btfsc ADCON0,1 ; ¿TERMINO LA CONVERSIÓN? goto WAITING ; NO ; SI movf ADRESH,W ; W = ADRESH movwf DATO_ADC_AN0 return
151
A2.- Código para la configuración del módulo LCD 16x2 en lenguaje ensamblador. #DEFINE PIN_E PORTE,0 #DEFINE PIN_RS PORTE,1 #DEFINE PUERTO PORTB ;----- INICIALIZACION DEL LCD A 8 BITS ------- LCD_INICIA bcf STATUS,RP1 ; BANCO 1 bsf STATUS,RP0 ; BANCO 1 bcf PIN_E ; PIN_E COMO SALIDA bcf PIN_RS ; PIN_RS COMO SALIDA bcf STATUS,RP1 ; BANCO 0 bcf STATUS,RP0 ; BANCO 0 bcf PIN_RS ; PIN_RS LO PONEMOS A CERO 0 bcf PIN_E ; PIN_E LO PONEMOS A CERO 0 call Retardo_20ms ; RETARDO DE 20ms movlw b'00111000' call LCD_ENVIA_COMANDO call Retardo_5ms ; RETARDO DE 5ms movlw b'00110000' call LCD_ENVIA_COMANDO call Retardo_200us ; RETARDO DE 200us movlw b'00110000' call LCD_ENVIA_COMANDO call Retardo_5ms ; RETARDO DE 5ms movlw b'00110000' call LCD_ENVIA_COMANDO call Retardo_5ms ; RETARDO DE 5ms ;------------- CONFIGURACION DEL LCD ----------- call FUNCTION_SET call ENTRY_MODE_SET call DISPLAY_CONTROL call CURSOR_AND_DISPLAY_SHIFT call CLEAR_DISPLAY return ; regreso de LCD_INICIA FUNCTION_SET movlw b'00111000' call LCD_ENVIA_COMANDO return CLEAR_DISPLAY movlw b'00000001' call LCD_ENVIA_COMANDO return ENTRY_MODE_SET
152
movlw b'00000110' call LCD_ENVIA_COMANDO return DISPLAY_CONTROL movlw b'00001100' call LCD_ENVIA_COMANDO return CURSOR_AND_DISPLAY_SHIFT movlw b'00010100' call LCD_ENVIA_COMANDO return SET_DDRAM_ADDRESS movlw b'10000000' call LCD_ENVIA_COMANDO return ESCRIBE_LINEA_DOS movlw b'11000000' call LCD_ENVIA_COMANDO return ESPACIO_BLANCO movlw ' ' call LCD_ENVIA_DATO return ESCRIBE_CGRAM movlw b'01000000' call LCD_ENVIA_COMANDO return ;----------- ENVIA DATO ------------ LCD_ENVIA_DATO bsf PIN_RS movwf PUERTO bsf PIN_E nop bcf PIN_E bcf PIN_RS call Retardo_5ms return ;----------- ENVIA COMANDO ------------ LCD_ENVIA_COMANDO bcf PIN_RS movwf PUERTO bsf PIN_E nop bcf PIN_E call Retardo_5ms retur
153
A3.- Código para la configuración del módulo EUSART del microcontrolador PIC16F887 en lenguaje ensamblador. CBLOCK 0x5A DATO_Rx COPY_W COPY_STATUS ENDC TX_RX_CONFIG bcf STATUS,RP1 ; BANCO 1 bsf STATUS,RP0 ; BANCO 1 bcf TRISC,6 ; TX SALIDA bsf TRISC,7 ; RX ENTRADA clrf SPBRGH movlw d'129' movwf SPBRG ; 9600 BAUDIOS movlw b'00100110' movwf TXSTA ; SYNC = 0 ; TXEN = 0 HABILITO TRASMISION bsf INTCON,6 ; HABILITO PEIE bsf INTCON,7 ; HABILITO GIE bsf PIE1,5 ; HABILITO RCIE bcf STATUS,RP1 ; BANCO 0 bcf STATUS,RP0 ; BANCO 0 movlw b'10010000' movwf RCSTA ; SPEN = 1 bsf STATUS,RP1 ; BANCO 3 bsf STATUS,RP0 ; BANCO 3 movlw b'01000000' movwf BAUDCTL bcf STATUS,RP1 ; BANCO 0 bcf STATUS,RP0 ; BANCO 0 return ;================================================ ENVIA_DATO movwf TXREG ; CARGO MI DATO PARA ENVIARLO bcf STATUS,RP1 ; BANCO 1 bsf STATUS,RP0 ; BANCO 1 ENVIA_Tx btfss TXSTA,1 ; TMRT ES = 1? YA SE ENVIO EL DATO? goto ENVIA_Tx ; NO bcf STATUS,RP1 ; BANCO 0 bcf STATUS,RP0 ; BANCO 0 return ;================================================ RECIBE_DATO movwf COPY_W ; REALIZA UNA COPIA DE LOS REGISTROS movf STATUS,W ; DEBIDO A QUE SUCEDIO UNA INTERRUPCION movwf COPY_STATUS movf RCREG,W ; CARGO A W EL DATO QUE ENTRO movwf DATO_Rx
154
movf COPY_STATUS,W ; CARGAMOS A STATUS movwf STATUS ; CON EL VALOR QUE TENIA ANTES DE LA INTERRUPCION movf COPY_W,W ; A W TAMBIEN bcf PIR1,5 ; LIMPIO LA BANDERA retfie A4.- Código para realizar una conversión de código decimal a BCD en lenguaje ensamblador. CBLOCK 0x6E UNIDADES DECENAS CENTENAS DVNDO DVSOR RESI COSI ENDC ;========================================================== CONVERT_DECIMAL MOVWF DVNDO ; CARGO MI DATO A CONVERTIR CLRF COSI CLRF RESI MOVLW H'A' ; DIVICIONES DE 10 MOVWF DVSOR CALL DIVISION MOVFW RESI MOVWF UNIDADES MOVFW COSI MOVWF DVNDO CALL DIVISION MOVFW RESI MOVWF DECENAS MOVFW COSI MOVWF CENTENAS Return ;========================================================== DIVISION CLRF COSI CLRF RESI DIVI MOVF DVSOR,W SUBWF DVNDO,F BTFSS STATUS,0 GOTO RESID INCF COSI,F GOTO DIVI RESID ADDWF DVNDO,W MOVWF RESI return ;==========================================================
155
A5.- Código Principal del HMI void main() { TRISE = 0B00000000; PORTE = 0B00000000; TRISG = 0B00000000; PORTG = 0B00000000; Start_TP(); while (1) { Check_TP(); } } Eventos #include "Toggle_LED_objects.h" #include "Toggle_LED_resources.h" //--------------------- User code ---------------------// //----------------- End of User code ------------------// // Event Handlers void Toggle_LED() { if(PORTE.F2 == 0) { // SI PORTE,2 ES CERO LO MANDA UNO PORTE.F2 = 1; Button_LED1.Caption = "OFF" ; } else { // SI ES UNO LO MANDA A CERO PORTE.F2 = 0; Button_LED1.Caption = "ON" ; } } void Toggle_LED2() { if(PORTE.F3 == 0) { // SI PORTE,2 ES CERO LO MANDA UNO PORTE.F3 = 1; Button_LED2.Caption = "OFF" ; }
156
else { // SI ES UNO LO MANDA A CERO PORTE.F3 = 0; Button_LED2.Caption = "ON" ; } } void Toggle_LED3() { if(PORTE.F4 == 0) { // SI PORTE,2 ES CERO LO MANDA UNO PORTE.F4 = 1; Button_LED3.Caption = "OFF" ; } else { // SI ES UNO LO MANDA A CERO PORTE.F4 = 0; Button_LED3.Caption = "ON" ; } } void Toggle_LED4() { if(PORTE.F5 == 0) { // SI PORTE,2 ES CERO LO MANDA UNO PORTE.F5 = 1; Button_LED4.Caption = "OFF" ; } else { // SI ES UNO LO MANDA A CERO PORTE.F5 = 0; Button_LED4.Caption = "ON" ; } } void Toggle_LED5() { if(PORTE.F6 == 0) { // SI PORTE,2 ES CERO LO MANDA UNO PORTE.F6 = 1; Button_LED5.Caption = "OFF" ; } else { // SI ES UNO LO MANDA A CERO PORTE.F6 = 0; Button_LED5.Caption = "ON" ; } } void Toggle_LED6() {
157
if(PORTG.F0 == 0) { // SI PORTE,2 ES CERO LO MANDA UNO PORTG.F0 = 1; Button_LED6.Caption = "OFF" ; } else { // SI ES UNO LO MANDA A CERO PORTG.F0 = 0; Button_LED6.Caption = "ON" ; } } void Toggle_LED7() { if(PORTG.F1 == 0) { // SI PORTE,2 ES CERO LO MANDA UNO PORTG.F1 = 1; Button_LED7.Caption = "OFF" ; } else { // SI ES UNO LO MANDA A CERO PORTG.F1 = 0; Button_LED7.Caption = "ON" ; } } void Toggle_LED8() { if(PORTG.F2 == 0) { // SI PORTE,2 ES CERO LO MANDA UNO PORTG.F2 = 1; Button_LED8.Caption = "OFF" ; } else { // SI ES UNO LO MANDA A CERO PORTG.F2 = 0; Button_LED8.Caption = "ON" ; } } void Toggle_LED9() { if(PORTG.F3 == 0) { // SI PORTE,2 ES CERO LO MANDA UNO PORTG.F3 = 1; Button_LED9.Caption = "OFF" ; } else { // SI ES UNO LO MANDA A CERO PORTG.F3 = 0; Button_LED9.Caption = "ON" ; } }
158
void Toggle_LED10() { if(PORTG.F4 == 0) { // SI PORTE,2 ES CERO LO MANDA UNO PORTG.F4 = 1; Button_LED10.Caption = "OFF" ; } else { // SI ES UNO LO MANDA A CERO PORTG.F4 = 0; Button_LED10.Caption = "ON" ; } } void go_piso2() { DrawScreen(&Screen2); } void go_piso1() { DrawScreen(&Screen1); }