Instrumentación de un sistema para el monitoreo de pozos de explotación de agua potable

Documentos relacionados
PIC16F882/883/884/886/887

TEMA 20 EL CONVERSOR A/D

TUTORIAL Comunicación Serial

Práctica 5. Comunicación serie y entradas analógicas

PIC16F88. Características

USB232. Hoja de datos

Figura 2. Formato de un dato serie síncrono.

Circuito de Offset

MICROCONTROLADORES PIC

PIC16F882/883/884/886/ Funcionamiento de Timer1 6 EL MODULO TMR1 CON PUERTA DE CONTROL Selección de Fuente de reloj

NT 3 PROGRAMACION ON-LINE DE TODA LA FAMILIA APPCON

PCF8574 EXPANSOR REMOTO 8-BIT I/O PARA I²C-BUS

INTRODUCCIÓN A LAS COMUNICACIONES POR RADIOFRECUENCIA

PRODUCTO P05 SOFTWARE EMBEBIDO PARA EL CONTROL DEL CIRCUITO GENERADOR DE CORRIENTE DE LAS FORMAS DE ONDAS PARA ELECTROTERAPIA

Tema 10: Transmisión de datos

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA DIVISIÓN DE INGENIERÍA ELÉCTRICA DEPARTAMENTO DE INGENIERÍA EN COMPUTACIÓN

COMUNICACIÓN SERIE (RS232)

FUNDAMENTOS DE TELECOMUNICACIONES MULTIPLEXACIÓN. Marco Tulio Cerón López

SelectRAM+memory Bloques de memoria RAM En las FPGAs Spartan IIE

Taller de Firmware. Introducción al PIC16F877. Facultad de Ingeniería Instituto de Com putación

Conversor RS232-RS485/RS422 Aislado MCV1-C485-IA-IS. Manual del Usuario. Power. TX Data. RX Data MCV1. Internet Enabling Solutions.

PIC 18F45XX CARACTERÍSTICAS GENERALES

SISTEMAS DE RADIOCOMUNICACIONES. Práctica # 3: SISTEMA DE RADIO MÓVIL EN LA BANDA DE VHF

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

El Espectro Electromagnético Radiación Ionizante y NO Ionizante

RECURSOS FUNDAMENTALES

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III

Principios básicos de PLC y familia DirectLogic

II Unidad Diagramas en bloque de transmisores /receptores

FEDERACIÓN MEXICANA DE RADIOEXPERIMENTADORES, A.C.

UART. Diseño de Sistemas con FPGA 1er cuatrimestre 2013 Patricia Borensztejn

El Espectro Electromagnético Radiación Ionizante y NO Ionizante

Comunicación Bluetooth y generación de señales analógicas mediante modulación por ancho de pulso López, Juan Manuel Matrícula: 11.

SISTEMAS ELECTRÓNICOS DIGITALES

G O B L I N 2 / M A N U A L

Tipos de Filtros Introducción

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Pines de entrada/salida (I/O) de propósito general. Mediante ellos, el micro PIC puede monitorizar y controlar otros dispositivos.

DESCRIPCIÓN DE LOS MONTAJES Y TARJETAS DE CIRCUITO IMPRESO

2.1 Diseño de un sistema básico de biotelemetría

Laboratorio de Microondas, Satélites y Antenas. Práctica #1. Introducción al Equipo de Laboratorio

CAPITULO 1 INTRODUCCION AL PROYECTO

Hoja de Datos NoMADA Advance [DAT001A NoMADA Advance 02/16]

Guía de Inicio Rápido

MODBus RTU en los registradores CAMRegis

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O

CAPÍTULO 1 INTRODUCCIÓN

Medios de Transmisión Guiados y No Guiados.

Tecnológico Nacional de México INSTITUTO TECNOLÓGICO DE SALINA CRUZ

Arquitectura de computadoras

Prueba del Driver ModBus

TECNOLOGÍA DE REDES. Temario 01/04/2008. Unidad 2. LAS WAN Y LOS ROUTERS (Segunda Parte)

Guía rápida para gestionar el puerto paralelo del PC

Registros SFR vistos hasta ahora: Microcontroladores PIC

Ventajas del BUS I2C

Desde 1987, Ingeniería, Desarrollo y Fabricación en España MDV6/MD6V. TRANSMISOR/RECEPTOR 4xVIDEO,DATOS,AUDIO Y CONTACTO

PIC MICRO ESTUDIO Reloj en tiempo real RTCU2 Clave: 719

Desarrollo de una interfaz RS-232 para el manejo de un coche de radiocontrol desde el PC

INFORME DE MONTAJE Y PRUEBAS DEL CIRCUITO ELECTRÓNICO PARA ADQUIRIR LOS POTENCIALES EVOCADOS AUDITIVOS

Teoría de Comunicaciones

Buceando en el HC908...

Práctica 5MODBUS: Bus Modbus

4.2 Servicio de exploración de E/S

Bus I 2 C. Introducción

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE LENGUAJE DE PROGRAMACIÓN

MPI. Índice. Tecnologías de Control. TEMA MPI 1. Subred MPI. 2. Comunicación de Datos Globales. 3. Funciones Básicas S7. 4.

PIC 18F45XX EL TIMER 0

Tema: Manejo del Puerto Serie con LabView

Práctica 2. Control de velocidad mediante el autómata CP1L y el variador MX2 de Omron

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

CONVERSOR ANALÓGICO DIGITAL DEL PIC16F877 GRUPO A02-A03

Maestría en Ciencias área Telemática

Redes de Comunicaciones. Ejercicios de clase Tema 3

Transmisi n de Datos a Trav s de un PIC

EC02 CONTROLADOR ELECTRONICO PROGRAMABLE

CICLOS DEL PROCESADOR

Compatibilidad Electromagnética

Electrónica Digital II

MODULO ANALOGICO REMOTO

configuración de tu equipo. Rellena la siguiente tabla y contesta a las siguientes preguntas:

Redes y Servicios. Módulo I. Fundamentos y modelos de red. Tema 2. Fundamentos. Parte B. Nivel de enlace

Trabajo 3. PROTOCOLOS DE COMUNICACIÓN SERIAL INDUSTRIALES Edwin Gilberto Carreño Lozano, Código:

SISTEMA AUTONOMO CON PATROL IP Manual de Usuario VERSION 1.0 PRELIMINAR

Redes y Comunicaciones

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Organización y Estructura del Computador II Semestre I-2014.

Módulo de relé PowPak

Manejo de Entrada-Salida. Arquitectura de Computadoras

Se inicia con las especificaciones del módulo fotovoltaico.

Una dirección IP es una secuencia de unos y ceros de 32 bits. La Figura muestra un número de 32 bits de muestra.

5. Microcontroladores de 32 bits. (C) 2007 Ibercomp S. A.

Tema: Microprocesadores

Arquitectura (Procesador familia 80 x 86 )

CIRCUITO 1: CIRCUITO RC

Nota Técnica / Microchip Tips & Tricks

Technology GOBLIN 2 / MANUAL

En la actualidad diversos productos de consumo propio e industriales utilizan la

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN

SUPER CONTROLADOR DE SERVOS S310175

2.1 Características Técnicas

Tema: Uso del analizador espectral.

Transcripción:

División de Ciencias Básicas e Ingeniería Departamento de Ingeniería Eléctrica Licenciatura de Instrumentación de un sistema para el monitoreo de pozos de explotación de agua potable Desarrollado por: López García Fernando 200215526 Hernández Mora Raúl 200215241 Asesor: Martínez González Alejandro México D.F. a Julio del 2004

CONTENIDO OBJETIVO...1 INTRODUCCIÓN...1 ESTADO DEL ARTE...4 DESARROLLO...5 PRUEBAS Y RESULTADOS EXPERIMENTALES...6 CONCLUSIONES...16 ANEXO 1...18 ANEXO 2...21 ANEXO 3...27 ANEXO 4...45 BIBLIOGRAFÍA...49

Objetivo: Desarrollar un sistema de instrumentación para la telemetría de parámetros para un pozo de explotación de agua potable, como son : nivel de agua del pozo, conductividad del agua, medición de PH, así como mediciones indirectas tales como velocidad y dirección del viento, presión atmosférica y precipitación pluvial. Introducción: La disponibilidad de los recursos hídricos para los diferentes usos, no sólo depende de los volúmenes de agua superficial y subterránea, sino también de la calidad de estos recursos. Sin embargo, aún no conocemos la potencialidad de este recurso: bajo el suelo las minas no son solo de oro y, en nuestra geología las formaciones son una gran despensa de agua dulce. El tema del recurso hídrico presenta gran diversidad de aspectos: variado tipo de fuentes de suministro, diversidad de usos y cuantía de la demanda, distintas condiciones de aprovechamiento, incidencia del uso del recurso sobre el medio ambiente, calidades del líquido, factores climáticos, variables culturales, participación del sector público y privado en los procesos de estudio, inversión y explotación del agua entre otros. La provisión de sistemas confiables de abastecimiento de agua potable es actualmente un objetivo para todos los países del mundo como parte de muchos programas internacionales. En la actualidad hay un incremento de la demanda de agua, la cual está asociada a problemas de cantidad y calidad. El agua subterránea, en ciertas condiciones, constituye un importante recurso de abastecimiento de agua para distintos usos. En algunas ocasiones, las características propias del sistema natural determinan que la cantidad, accesibilidad y en especial la calidad del agua subterránea se torne inadecuada para algunos o todos los usos requeridos. Por lo tanto, es importante dejar claro que el agua subterránea no siempre es sinónimo de recurso disponible. En muchas ocasiones, los recursos hídricos subterráneos suelen perder tal categoría al estar afectados por distintas actividades contaminantes que 1

incorporan al agua subterránea una variedad de substancias tóxicas (metales pesados, compuestos orgánicos, organismos patógenos, etc.). Por ello la necesidad de monitorear las características de las aguas subterráneas determinando así su calidad. Aunque algunas veces estas mediciones se tienen que observar acudiendo hasta los pozos acuíferos. Para esto se plantea que dichas mediciones sean transmitidas a los laboratorios donde se analizan estas propiedades, teniendo así un acceso más rápido a esta información. La transmisión de esta información puede ser llevada a cabo por medio de dispositivos inalámbricos que operen en rangos de frecuencia que no requieran de proceso legal de regularización que en el caso de México, la entidad reguladora del radio espectro es la Comisión Federal de Telecomunicaciones (COFETEL, http://www.cft.gob.mx ) y la Secretaría de Comunicaciones y Transportes (SCT, http://www.sct.gob.mx ). para poder ocupar un canal en el espacio electromagnético. La asignación de bandas del espectro varia de país a país y en el caso de México pueden consultar el cuadro de atribución de frecuencias en el Área de Ingeniería y Tecnología de la COFETEL en la siguiente dirección: http://www.agitec.gob.mx/cuadro/index_espectro.html. Cada subconjunto o banda de frecuencias dentro del espectro electromagnético tiene propiedades únicas que son el resultado de cambios en la longitud de onda. Por ejemplo, las frecuencias medias (MF, Medium Frequencies) que van de los 300 khz a los 3 MHz pueden ser radiadas a lo largo de la superficie de la tierra sobre cientos de kilómetros, perfecto para las estaciones de radio AM (Amplitud Modulada) de la región. Las estaciones de radio internacionales usan las bandas conocidas como ondas cortas (SW, Short Wave) en la banda de HF (High Frequency) que va desde los 3 MHz a los 30 MHz. Este tipo de ondas pueden ser radiadas a miles de kilómetros y son rebotadas de nuevo a la tierra por la ionosfera como si fuera un espejo, por tal motivo las estaciones de onda corta son escuchadas casi en todo el mundo. Los estaciones de FM (Frecuencia Modulada) y TV (televisión) utilizan las bandas conocidas como VHF (Very High Frequency) y UHF (Ultra High Frequency) localizadas de los 30 MHz a los 2

300 MHz y de los 300 MHz a los 900 MHz, este tipo de señales debido a que no son reflejadas por la ionosfera cubren distancias cortas, una ciudad por ejemplo. La ventaja de usar este tipo de bandas de frecuencias para comunicaciones locales permite que docenas de estaciones de radio FM y televisoras en ciudades diferentes puedan usar frecuencias idénticas sin causar interferencia entre ellas. Para nuestro uso tenemos la frecuencia de 900 MHz la cual esta ubicado en la banda UHF, que dentro de esta banda cae en el rango de los 896-902 MHz en la cual el servicio atribuido por las entidades regulatorias mencionadas arriba es el de servicio móvil terrestre 1. En el rango de los 902-928 MHz el servicio atribuido por las entidades regulatorias es el de servicio de aficionado, móvil y fijo 1. Para el uso de estos radios no era necesario regularizarse ante las entidades federativas arriba mencionadas para poder transmitir utilizando el espectro electromagnético. La información proporcionada por MAXSTREAM, acerca de las bandas de operación normalizadas en México son: a) 902-928 MHz para uso de interiores con antenas omnidireccionales y una potencia máxima de30 mw b) 902-928 MHz para uso de exteriores con antenas direccionales con una potencia máxima de 1 W c) 2400-2483.5 MHz para uso de interiores y campus con antenas omnidireccionales y una potencia máxima de 30 mw a 250 mw d) 2450-2483.5 MHz para uso de exteriores con antenas direccionales con una potencia máxima de 1 W Y sus 9XStream radio modems tienen una potencia de 140mW. Los 24XStream (2.4GHz) tienen una potencia de 55mW Las características de propagación de las ondas electromagnéticas utilizadas en canales de comunicación como aire, espacio y mar son altamente dependientes de la frecuencia. El espectro electromagnético puede dividirse en tres grandes bandas de frecuencia, cada una con características de propagación dominantes, estas son: propagación de onda terrestre (f < 2MHz), propagación de onda celeste ( 2MHz < f < 30MHz ), propagación línea de vista( f > 30MHz ). Como estos radios operaban a esta frecuencia de 1: VER ANEXO 1 3

900MHz el cual esta dentro del rango de propagación línea de vista, tenemos que una característica importante de la propagación línea de vista es que la antena receptora debe ver a la antena transmisora. Esta característica implica en muchas ocasiones, la instalación de torres muy altas para garantizar que el camino de la señal se encuentre por encima del horizonte terrestre. Era necesario además una interfaz que permitiera comunicar al radio con cada uno de los instrumentos de medición, esta interfaz tendría la función primeramente de recibir la información analógica que proporcionan los instrumentos de medición, luego realizar la conversión analógico digital, para posteriormente transmitirla en forma serial, ya que la forma de comunicación del radio con cualquier equipo es a través de su puerto serial, y la información que reciben debe ser digital, además que esta controlara la transmisión de dicho radio, por lo que se utilizo un microcontrolador que cubriera las características para este fin. Estado del arte Como se menciona arriba, para este proyecto fue necesario utilizar dos radios con los cuales ya se contaba, estos radios son XSTREAM OEM 900 MHZ 2, los cuales reciben la información por un puerto serial RS-232 y este a su vez se conectan a unas antenas Yagi marca Cushcraft las cuales se adecuaban a las características de transmisión de los radios, estas antenas operan en el rango de los 902 a 928 MHz tiene un alcance de 20 Km. Radio XSTREAM OEM 900 MHZ. 4

Antena Yagi Cushcraft El microcontrolador utilizado es el PIC18F6720 de la Microchip, el cual cuenta con las características que se deseaban ya que cuenta con puertos seriales con los que se comunica con los radios, entradas analógicas y un conversor analógico/digital. Para este proyecto se adaptó una tarjeta (que tiene un propósito diferente) que utiliza este microcontrolador, con la cual no se tuvo conflicto ya que básicamente tanto el puerto serial como algunas entradas analógicas estaban habilitadas en la tarjeta. Tarjeta de desarrollo del PIC18F6720 Desarrollo Para la primera parte del proyecto, se probó el funcionamiento de los radios XSTREAM OEM 900 MHZ 2, configurándolos de la forma correcta y estableciendo un 2: VER ANEXO 2 5

enlace a distintas distancias, determinado así su alcance, se sabe que tiene un alcance aproximado de 20 Km., pero no se probó a esa distancia, la distancia máxima a la que se probaron fue de 5 Km. aproximadamente, obteniendo buenos resultados ya que los enlaces se realizaron con éxito, solo queda la duda de si a los 20 Km. se realizaría un enlace con éxito, no se realizó por que básicamente lo que se buscaba era controlar los radios con el microcontrolador y en eso se enfocó nuestra atención y realmente la pruebas que se realizaban era colocando las antenas a una distancia máxima de 5 m, esto por falta de espacio en área de trabajo. La distancia no interesaba tanto ya que como se mencionó lo que se quería lograr era controlar dichos radios con este microcontrolador. Esta fue la segunda parte del proyecto, en la cual primeramente se reviso el manual de este microcontrolador, para ver su funcionamiento, y posteriormente la configuración de este el cual debía realizar las siguientes funciones: entrada de una señal analógica por alguno de sus canales analógicos, convertir dicha señal analógica a digital, transmitir esta señal digital en forma serial a uno de los radios. La programación del algoritmo que realizara estas funciones se hizo con el MPLAB ID que es un entorno de desarrollo para microcontroladores de Microchip. Lográndose con éxito esta configuración. La forma de cómo se realizo lo antes descrito aquí se muestra en el siguiente punto que son pruebas y resultados experimentales. Pruebas y resultados experimentales. En la primera parte de este proyecto lo que se hizo básicamente fue probar el alcance de los módulos XSTREAM OEM 900 MHZ. Estos radios contaban con un software de prueba, con el cual se configuraban los radios con comandos AT 2. Para esta parte lo que se hizo fue usar el software MAXSTREAM-CTU proporcionado por MAXSTREAM para dar los parámetros que por default se les asigna a los radios, checando que ambos tuvieran la misma dirección, por que de otro modo no se realizaría una transmisión correcta y ninguno recibiría la información que se le enviara. A continuación se muestra como se habilitaron estos radios: 1.- Se utilizó el puerto COM de una PC para comunicarse con el radio, a su vez el radio se conectó a la antena Yagi, como se muestra en la Figura A. 2: VER ANEXO 2 6

Figura A 2.- Con el software proporcionado se configuraron los radios. Figura B a.- En la ventana Setup se habilitó el puerto en el que se conectó el radio en caso de que la PC tenga dos puertos COM y el baud rate al que se desea transmitir que para estos radios es de 9600, los otros parámetros se dejaron tal y como los proporciona el software y solo se modifica la parte A(lo que esta dentro del recuadro) como se ve en la Figura C. 7

Figura C b.- En la ventana de Configuration se obtienen los parámetros que por default da el software. La imagen muestra la forma como se configuró: Figura D En la figura D se puede ver que en la ventana de Module Address (DT) el valor asignado es un cero, por lo cual el 8

otro radio tendrá el mismo valor, para que pueda haber una comunicación entre ambos radios, además estaba también habilitado el control de flujo, esto se ve en la ventana RTS/CMD (RT), ya que ambos radios utilizaban estos bits al estar conectados ambos a una PC, lo que no sucederá con el microcontrolador, por lo que la configuración de los radios cambiara como se vera mas adelante, por lo tanto para esta parte de la prueba basta con esta configuración. c.- Ya con la configuración se inicio la transmisión, presionando Start en la ventana de Com Test Figura E En la figura E se nos muestra como el software da informacion sobre la transmisión, esta nos dice cuantos mensajes llegan bien y cuantos mal, el porcentaje de la transmisión que se esta llevando correctamente. 9

Figura F La primera prueba de transmisión se realizó con las antenas Yagi a una distancia máxima de cuatro metros, a esta distancia no importó tanto la polarización ya que estaban a una distancia muy corta lo que no fue así para las distancias mayores, para esta distancia no debería haber ningún problema de transmisión, y así fue, la transmisión se llevó sin problemas, la siguiente prueba se realizó a aproximadamente 100 m y aquí si las antenas se polarizaron verticalmente como lo indica el fabricante, aunque estas se llegaban a mover por no tener un soporte en el cual se fijaran pero tampoco se tuvo problema para transmitir. El mayor problema se presentó cuando se realizó la transmisión a una distancia de aproximadamente 5 Km., esto fue porque la forma de propagación de las ondas electromagnéticas que emitía la antena por ser una frecuencia mayor a 30MHz, y en este rango mayor a esta frecuencia esta dentro de la banda de propagación línea de vista, y en este tipo de propagación la antena receptora debe ver a la antena transmisora. Fue por ello el contratiempo, ubicar la posición de la antena y apuntarla correctamente. Ya ubicando la posición la transmisión se inicio, pero en el momento en que la antena se desviaba un poco se perdía comunicación 10

hasta que se orientara nuevamente, esto por no tener soportes donde fijar la antena. Con esto probamos el funcionamiento de las antenas, además de la forma de configurarse. Para la segunda parte, ya teniendo los radios funcionado, se tenia que realizar una interfaz entre los radios y los instrumentos de medición (ver figura G) ya que estos solo generaban mediciones analógicas, y había que convertirlas a digitales y además ya convertidas, poder transmitirlas en forma serial, ya que es la forma en la que los radios reciben la información. Como se contaba con una tarjeta la cual contenía un microcontrolador, el PIC18F6720 3, la cual tenía habilitado los puertos necesarios para nuestro uso, como lo son el puerto serial, y algunas entradas analógicas. Esto nos favoreció ya que no se tuvo que construir otra tarjeta sino que solo hubo que adaptar un poco la tarjeta sin que esto afectara el propósito original con la cual fue hecha. Figura G Lo que se hizo fue programar el microcontrolador, habilitando una entrada analógica, el convertidor analógico digital, habilitar el puerto serial. La configuración se llevo de la siguiente manera: -Se utilizó el compilador MPLAB ID v 6.4 para realizar el código. 3: VER ANEXO 3 11

-Se consultó el manual del microcontrolador para ver sus características y realizar así la configuración de los módulos a ocuparse como lo son el USART, el convertidor A/D, y las entradas analógicas. A continuación se muestra la configuración de los módulos. Modulo USART 3 El USART puede ser configurado de la siguiente forma: -Asíncrona (full-duplex) -Sincronía-maestra (half-duplex) -Sincronía-esclava (half-duplex) La configuración que nos interesa es la transmision/recepcion asíncrona por ello se muestran los pasos para habilitar cada una de ellas. Pasos para habilitar una transmisión asíncrona (USART2): 1.-Inicializar el registro SPBRG2 con el baud rate apropiado. Si se desea un alto baud rate poder a uno el BRGH 2.- Habilitar el puerto serial asíncrono poniendo en cero el bit SYNC y en uno el bit SPEN. 3.- Si se desean interrupciones, poner en uno el bit TX2IE en el registro PIE. 4.- Si se desean 9 bits de transmisión, poner en uno el bit TX9. puede ser usado como bit de datos/direcciones. 5.- Habilitar la transmisión poniendo en uno el bit TXEN, el cual pondrá en uno el bit TX2IF. 6.- Si se seleccionan 9 bits de transmisión, el noveno bit es cargado en el bit tx9d. 7.- Cargar el dato en el registro TXREG2 (empezar transmisión) Pasos para habilitar una recepción asíncrona: 1.- Inicializar el registro SPBRG2 con el baud rate apropiado. Si se desea un alto baud rate poder a uno el BRGH 2.- Habilitar el puerto serial asíncrono poniendo en cero el bit SYNC y en uno el bit SPEN. 3.- Si se desean interrupciones, poner en uno el bit RC2IE. 4.- Si se desean 9 bits de recepción, poner en uno el bit CX9 3: VER ANEXO 3 12

5.- Habilitar la recepción poniendo en uno el bit SCREN. 6.- El bit de bandera RC2IF será puesto en uno cuando la recepción es completa y una interrupción puede ser generada si se pone en uno el bit RC2IE. 7.- Leer el registro RCSTA2 para obtener el noveno bit ( si esta habilitado). Y determinar si algún error ocurre durante la recepción. 8.- Leer los 8 bits de datos recibidos, leyendo el registro RCREG2 9.- Si hay algún error, limpiar el error limpiando el bit SCREN 10.- Si se usa interrupciones, es necesario que los bits GIE y el PIEI del registro INTCON sean uno. Modulo convertidor A/D de 10 Bits 3 Paso para realizar una conversión: 1.- Configurar el modulo A/D Configurar pines analógicos, voltaje de referencia (ADCON1) Seleccionar canales de entrada A/D (ADCON0) Seleccionar reloj de conversión A/D (ADCON2) Encender modulo A/D (ADCON0) 2. Configurar interrupciones A/D (si se desea): Limpiar bit ADIF Poner en uno bit ADIE Poner en uno bit GIE 3. Esperar el tiempo de adquisición requerido. 4. Iniciar conversión: Poner en uno el bit GO/DONE (registro ADCON0) 5. Esperar a que la conversión A/D sea completa, por: Polling, checando cuando el bit GO/DONE es limpiado ó Esperando a que se active la interrupción A/D 6. Leer el resultado A/Den el registro (ADRESH:ADRESL); limpiar bit ADIF, si se requiere. 7. Para la siguiente conversión, ir al paso 1 o paso 2, como se requiera. El tiempo de conversión A/D por bit es definido como TAD. Una máxima espera de 2 TAD es requerida antes de la siguiente adquisición. 3: VER ANEXO 3 13

Modulo puertos de entrada/salida 3 Se configuraron únicamente dos puertos de los 8 que tiene ya que en estos estaban los canales analógicos y la transmisión y recepción serial. Puerto F. Este puerto es de 8 bits y fue configurado como entrada analógica ya que como estos bits están los canales analógicos por donde entra la señal, para este caso ocupamos el canal 6(AN6) que es el bit 1 del puerto F. Puerto G Este puerto se configuro como salida el bit 2 ya que en este bit esta al el bit RX(recepción) y el bit 1 como entrada porque en este esta el bit TX(transmisión) Para realizar este código se consultó un tutoría que nos ayudara a utilizar MPLAB ID, el cual proporciona un código fuente en el cual nos basamos para empezar un código propio. Este tutoríal se encuentra consultado la siguiente liga http://www.odisea2010.com/modules.php?op=modload&name=downloa ds&d_op=viewdownload&cid=94, esto fue suficiente para realizar el código el cual realiza el siguiente proceso obtiene una señal analógica, la convierte y la transmite por su puerto serial. El código lo puede ver en el anexo 4. Como mencionamos anteriormente el puerto serial de este microcontrolador solo usa los bits Rx, y Tx, y tierra, por lo que los bits RTS y CMD no, por lo tanto no era necesario tener un control de flujo. así que la configuración de los radios se hizo como se muestra en la Figura H. Únicamente modificando algunos parámetros en la ventana Configuration. Esta configuración fue para ambos radios. 3: VER ANEXO 3 14

Figura H A continuación se muestra un esquema de la conexión de los radios. Figura I Como se ve en el esquema un instrumento de medición es comunicado con el microcontrolador a través de uno de sus canales analógicos habilitado, en este caso es el canal 6, el microcontrolador realiza el proceso de conversión analógico/digital, y comunica la información ya en forma digital a uno de los radios a través de su puerto serial, esta información es radiada por la antena hasta llegar a la antena receptora de aquí al radio este a su vez lo comunica a una PC, en la cual se observa esta información. 15

Conclusiones Nos deja satisfechos el estar concientes que el desarrollo de este proyecto puede ser una herramienta útil para la telemetría de parámetros para pozos de explotación de agua potable. Ya que este sistema desarrollado llega a satisfacer este tipo de necesidades, pues cuenta con varios canales analógicos(del PIC18F6720) por los cuales la información analógica(nivel de agua del pozo, conductividad del agua, medición de PH ) generada por los instrumentos de medición ubicados en dichos pozos y otras mediciones(velocidad y dirección del viento, presión atmosférica y precipitación pluvial) entran al sistema y este a su vez la digitaliza enviándola posteriormente a través de un radio XSTREAM 900 MHz. y esta llega a donde se encuentre ubicado el modulo receptor( radio XSTREAM 900 MHz.), el cual manda la información a una PC donde se registra la información que llega. Este destino puede ser un laboratorio donde se este monitoreando toda la información que los equipos de medición estén registrando. Podemos ver como lo muestra la figura la solución dada en este proyecto para la telemetría de pozos de agua potable, es una solución practica que cubre las necesidades para obtener información de estos pozos a distancia. Claro que este 16

sistema tiene que ser mejorado a un mas, pero podemos ver con el avance de esta solución que corresponde a este proyecto que el desarrollo de este sistema va por buen camino. Además realizar este proyecto nos ayudó a entender la gran aplicación que tienen los microcontroladores para controlar dispositivos, su aplicación en la industria del diseño, la facilidad y flexibilidad que tiene para ser manejados. En este caso el utilizado fue de la familia Microchip y su aplicación en este caso particular fue controlar unos radios. El aprender a programarlos es una herramienta mas en nuestra formación como estudiantes profesionistas. Nos dimos una idea del manejo del espectro electromagnético, al tener que investigar si los radio utilizados necesitaban o no autorización para usar el espectro electromagnético y como se dijo con anterioridad estos radios no necesitaban ser regulados por las entidades federativas que lo hacen en México como lo son COFETEL y SCT para hacer uso del espectro electromagnético. Nos queda un buen sabor de boca el saber que el aprender el manejo de estos microcontroladores y su gran aplicación en la industria del diseño, nos ayudara a desempeñarnos si decidimos seguir en el area de diseño.. 17

Anexo 1 Notas referentes al uso del rango de frecuencia 896-202 MHz y 902-928 MHz. Para mayor informacion consultar: http://www.agitec.gob.mx/cuadro/index_espectro.html Rango de Frecuencia 896-902 MHz Servicios Atribuidos MÓVIL TERRESTRE Ancho de Banda 6 MHz Notas MEX MEX109 MEX120 MEX121 MEX125 MEX126 MEX127 MEX109 Referirse al proyecto de Norma NOM-084-SCT1-1993, que contiene las especificaciones técnicas para la instalación y operación de estaciones destinadas a prestar el servicio móvil de radiocomunicación especializada de flotillas. Bandas 431.3-433/438.3-440 MHz, 475-476.2/494.6-495.8 MHz, 806-821/851-866 MHz y 896-901/935-940 MHz. MEX120 El 16 de junio de 1994, se firmó el Protocolo relativo al uso de las bandas de 806-824/851-869 MHz y 896-901/935-940 MHz para el Servicio Móvil Terrestre a lo largo de la frontera común México Estados Unidos. En este documento se establece un plan común para el uso de frecuencias dentro de los 110 km a cada lado de la frontera; asimismo, se establecen los criterios técnicos para el uso de frecuencias y los procedimientos de coordinación. Por último, se identifican canales de ayuda mutua para seguridad pública. MEX121 El uso y planes de frecuencias de las bandas 806-821/851-866 MHz 821-824/866-869 MHz y 896-901/935-940 MHz, son acordes con las Recomendaciones CCP.III/REC.20 (V-96) y CCP.III/REC.28 (VI-96), aprobadas 18

respectivamente, por la Quinta y Sexta Reunión del Comité Consultivo Permanente III: Radiocomunicaciones de CITEL. MEX125 La banda de 890-960 MHz está siendo despejada de los sistemas de microondas que transmiten radiotelefonía multicanal de punto a punto. MEX126 México ha adoptado la designación de las bandas 901-902 MHz, 930-931 MHz y 940-941 MHz para la implementación de Sistemas Personales de Comunicaciones de banda angosta, tal como se describe en la Recomendación CCP.III/REC.18 aprobada por la Quinta Reunión del Comité Consultivo Permanente III: Radiocomunicaciones de CITEL. MEX127 El 16 de mayo de 1995, se firmó el Protocolo relativo al uso de las bandas de 901-902 MHz, 930-931 MHz y 940-941 MHz para los Servicios de Comunicaciones Personales, a lo largo de la frontera común México Estados Unidos. En este documento se establece un plan común para el uso equitativo de las bandas dentro de los 120 km a cada lado de la frontera; asimismo, se establecen los criterios técnicos para el uso de los canales. Rango de Frecuencia 902-928 MHz Servicios Atribuidos FIJO MÓVIL Aficionados Ancho de Banda 26 MHz Notas MEX MEX19 MEX125 MEX128 MEX130 S5.150 S5.150 Las bandas: MEX19 El 28 de noviembre de 1988, se 19

13 553 13 567 khz (frecuencia central 13 560 khz), 26 957 27 283 khz (frecuencia central 27 120 khz), 40.66 40.70 MHz (frecuencia central 40.68 MHz), 902 928 MHz en la Región 2 (frecuencia central 915 MHz), 2 400 2 500 MHz (frecuencia central 2 450 MHz), 5 725 5 875 MHz (frecuencia central 5 800 MHz) y 24 24.25 GHz (frecuencia central 24.125 GHz) están designadas para aplicaciones industriales, científicas y médicas (ICM). Los servicios de radiocomunicación que funcionan en estas bandas deben aceptar la interferencia perjudicial resultante de estas aplicaciones. Los equipos ICM que funcionen en estas bandas estarán sujetos a las disposiciones del número S15.13. publicó en el Diario Oficial de la Federación, el Reglamento para instalar y operar estaciones radioeléctricas del Servicio de Aficionados. MEX125 La banda de 890-960 MHz está siendo despejada de los sistemas de microondas que transmiten radiotelefonía multicanal de punto a punto. MEX128 La banda de frecuencias de 902-928 MHz está destinada para aplicaciones del servicio fijo y móvil utilizando tecnologías convencionales, cuyas aplicaciones principales son la transmisión de datos de baja velocidad; así como para la operación de sistemas meteorológicos, dando la protección necesaria a los equipos Industriales Científicos y Médicos (ICM). MEX130 Las especificaciones para la instalación y operación de sistemas de radiocomunicación que emplean la técnica de espectro disperso en las bandas de 902-928 MHz, 2 450-2 483.5 MHz y 5 725-5 850 MHz, se establecen en la Norma Oficial Mexicana Emergente, NOM-EM-121-SCT1-1994, publicada el 22 de diciembre de 1994 en el Diario Oficial de la Federación. Para evaluar la factibilidad técnica de emplear también la banda 2 400-2 450 MHz para espectro disperso, se realizan estudios de convivencia con los sistemas en operación en México. 20

Anexo 2 RADIO XSTREAM OEM 900MHZ. EL radio XSTREAM OEM 900 MHZ. es una rápida solución que transfiere cadenas de datos asíncronos sobre el aire entre dos módulos. Esta parte contiene información básica de las formas de operación, configuración y programación de el radio XSTREAM. 2.1 CARACTERÍSTICAS 2.1.1 DIAGRAMA A BLOQUES FIGURA 2.1. DIAGRAMA A BLOQUES INTERNO DEL RADIO XSTREAM. 2.1.2 DESCRIPCIÓN DE LOS PINES DE SEÑAL TABLA 2.1. DESCRIPCIÓN DE LOS PINES DE SEÑAL. 21

Todos los pines operan a través de niveles de VCC CMOS. Cinco de los pines mas usados en las aplicaciones de los radios XSTREAM son: DI (PIN 4 DATA IN) DO (PIN 3 DATA OUT) VCC (PIN 10 POWER) GND (PIN 11 GROUND) (PIN 1 CLEAR-TO-SEND) APLICACIÓN : FIGURA 2.2. APLICACIÓN-CONEXIÓN A UN PROCESADOR. 2.1.3 COMUNICACIÓN SERIAL El radio XSTREAM se comunica a cualquier equipo a través de su puerto serial. El radio XSTREAM puede comunicarse con cualquier interfase UART o a través de un cable RS232/485/422 como se muestra en la figura 2.3 y 2.4 : FIGURA 2.3.EQUIPOS QUE CONTENGAN UNA INTERFASE UART PUEDEN CONECTARSE DIRECTAMENTE CON EL RADIO A TRAVÉS DE SUS PINES. FIGURA 2.4. A TRAVES DE SU PUERTO SERIAL LOS EQUIPOS PUEDEN CONECTARSE DIRECTAMENTE A LOS RADIOS. 22

Los datos entran a el radio a través del el pin di como una señal asíncrona. cada paquete de datos consiste en un start bit(low), 8 bits de datos y un stop bit(high) como es mostrado en la siguiente figura : FIGURA 2.5. EL RADIO TRANSMITE 8 BITS DE DATOS SOBRE EL AIRE, EL START BIT Y EL STOP BIT NO SON TRANSMITIDOS. Una vez que los datos han entrado a el radio a través del pin DI son almacenados en el DI buffer hasta que puedan ser transmitidos. Una vez que el primer byte de datos entra al DI buffer, el radio inicializa el canal de radio frecuencia(a menos que esté recibiendo datos ). En el DI buffer los datos son encapsulados de la siguiente forma : FIGURA 2.6. PAQUETE RF 2.1.4 MODOS DE OPERACIÓN El radio XSTREAM opera en cinco modos y solo puede operar en un modo a la vez. FIGURA 2.7. MODOS DE OPERACIÓN 23

MODO DE OPERACIÓN IDLE El radio xstream opera en el modo IDLE cuando no hay datos transmitiendo ni datos recibiendo. El radio pasa de este modo a otro bajo cualquier de las siguientes condiciones : 1. Se están recibiendo datos en di buffer (radio pasa a el modo transmit). 2. Datos son recibidos por la antena (radio pasa a el modo receive). 3. El modo command esta siendo utilizado (radio pasa a el modo command). 4. Condiciones del modo sleep son validadas (radio pasa a el modo sleep). MODO DE OPERACIÓN TRANSMISIÓN. Cuando el primer byte de datos atraviesa por el pin DI y llega al di buffer, el radio pasa del modo IDLE a el modo transmisión. Una vez en el modo transmisión, el radio inicializa el canal de transmisión. Durante la inicialización de el canal de transmisión los datos son acumulados en el di buffer. Una vez que el canal es inicializado, los datos son agrupados en paquetes de 64 bytes y son transmitidos. el radio continua transmitiendo hasta que el DI buffer se vacía. una vez terminada la transmisión el radio regresa a el modo IDLE, este proceso se muestra en la sig. figura : FIGURA 2.8. TRANSMISIÓN DE DATOS 24

MODO DE OPERACIÓN RECEPCIÓN. Si el radio detecta que se están transmitiendo datos sobre el aire y esta operando en el modo IDLE, este pasa del modo IDLE a el modo RECEPCIÓN para poder recibir datos. Cuando se reciben todos los datos, el radio los examina a través de un código de redundancia cíclica (CRC) para asegurarse que los datos son recibidos sin error. si el CRC es invalido los datos son descartados. si el CRC es valido los datos son almacenados en el do buffer, este proceso es mostrado en la siguiente figura: FIGURA 2. 9. RECEPCIÓN DE DATOS MODO DE OPERACIÓN SLEEP. El modo SLEEP es habilitado en el radio para estar en un estado de bajo consumo de energía para cuando no se esta en uso. Para entrar en el modo SLEEP el siguiente caso debe de ocurrir : - El radio debe de estar en el modo IDLE (no recibiendo ni transmitiendo datos ) por un tiempo definido por el usuario (vea comando ST). Una vez estando en el modo SLEEP, el radio no transmitirá o recibirá datos hasta que este primero regrese a el modo IDLE. El modo SLEEP es habilitado o deshabilitado a través de los comandos SM. MODO DE OPERACIÓN COMANDOS AT. El modo COMANDOS AT provee un estado en el cual se pueden ajustar los parámetros del radio xstream dependiendo de las características de la aplicación que se desee. 25

COMANDOS AT. Los comandos AT son una serie de recursos que permiten a los usuarios poder configurar el radio basándose en sus necesidades especificas. Para poder utilizar los comandos, el radio debe de estar en el modo COMANDOS AT. Los comandos AT pueden entonces ser enviados a el radio usando comandos ASCII, estos pueden ser enviados usando el software x-ctu o por medio de una hyperterminal. En la siguiente tabla se enlistan los comandos AT que se pueden utilizar : TABLA 2.2. COMANDOS AT. 26

Anexo 3 PIC18F6720 3.1 CARACTERÍSTICAS 3.1.1 ALTO DESEMPEÑO RISC CPU: 128 kbytes de direccionamiento a memoria de programa lineal. 3840 kbytes de direccionamiento a memoria de datos lineal. EEprom de 1 kbytes. Opera arriba de 10 mips: - Entrada osc./clock dc - 40 mhz. - Entrada osc/clock con PLL activo de 4 MHZ - 10 MHZ. Instrucciones de16 bits, línea de datos de 8 bits. Interrupciones con niveles de prioridad. 3.1.2 CARACTERÍSTICAS DE LOS PERIFERICOS: Cuatro pines para interrupciones externas. Modulo timer0: temporizador / contador de 8 bits/16 bits. 2 módulos timer1, timer3: temporizador / contador de 16 bits. 2 módulos timer2, timer4: temporizador / contador de 8 bits. Reloj oscilador secundario - timer1/ timer3. Puerto serial maestro asíncrono (mssp). Dos módulos USART direccionables: - Soporta rs-485 y rs-232. Puerto esclavo paralelo (psp). 3.1.3 CARACTERISTICAS ANALÓGICAS Convertidor (a/d), 12 canales analógico-digital, conversión a 10 bits. Comparador analógico dual: 3.1.4 TECNOLOGIA CMOS: Baja potencia, tecnología flash de alta velocidad. Diseño totalmente estático. Voltaje de operación de 2.0v a 5.5v. Rangos de temperatura industrial y extendida. FIG 3.1. DIAGRAMA DE LOS PINES DEL PIC18F6720 27

DIAGRAMA A BLOQUES DEL PIC 18F6720 3.2 MODULOS PROGRAMABLES DEL PIC El PIC esta compuesto de varios módulos. Aquí sólo se mencionaran los de interés como lo son: -Recepción-transmisión sincronía asíncrona universal direccionable (USART). -Modulo convertidor a/d de 10 bits. -Puertos de entrada salida. PUERTO F. PUERTO G. 28

Dichos módulos cuentan a su vez con registros los cuales son configurables de acuerdo a la aplicación que se les desee dar. 3.2.1 RECEPCION-TRANSMISION SINCRONA ASINCRONA UNIVERSAL DIRECCIONABLE (USART). DESCRIPCION Es uno de los dos módulos de entrada / salida serial con que cuenta el PIC18F6720. cada dispositivo cuenta con dos USARTs que son configurables de forma independiente. Cada uno puede ser configurado como un sistema asíncrono full-duplex que se comunica con otros sistemas, en este caso con el modulo XSTREAM OEM 900 MHz, el cual cuenta con una interfaz serial asíncrona, o como un sistema síncrono half-duplex. El USART puede ser configurado de la siguiente forma: -asíncrona ( full-duplex ) -sincronía-maestra ( half-duplex ) -sincronía-esclava ( half-duplex ) Nos enfocaremos a la forma sincronía que es la que nos interesa. Este dispositivo cuenta con USART1 y USART2, el que utilizaremos será el USART2. los pines del USART2 están multiplexados con las funciones del puerto G (RG1/TX2/CK2 y RG2/RX2/DT2). Abajo se muestra como deben estar configurados estos pines para funcionar como USART: - bit SPEN (RCSTA2<7>) debe ser puesto como 1 - bit TRISG<2> debe ser puesto como 1 - bit TRISG<1> debe ser puesto como 0 para ser asíncrono El registro 3.1 nos muestra el esquema del estado de transmisión y registro de control ( TXSTAX ), y el registro 3.2 nos muestra el esquema del estado de recepción y registro de control ( RCSTAX ), tanto el USART1 y USART2 tienen su propio TXSTAX y RCSTAX. Para el USART2 tenemos los registros TXSTA2 Y RCSTA2. REGISTRO 3.1 BIT 7 BRG) bit 6 CSRC: bit que selecciona la fuente del reloj modo asíncrono: no importa modo sincrono: 1 = modo maestro (reloj generado internamente de 0 = modo esclavo (reloj de fuente externa) TX9: bit que habilita transmisión de 9 bits 1 = seleccionar 9 bits de transmisión 0 = seleccionar 8 bits de transmisión 29

bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 TXEN: bit para habilitar transmisión 1 = habilitar transmisión 0 = deshabilitar transmisión nota: SREN/CREN anula TXEN en modo SYNC. SYNC: bit que selecciona modo usart 1 = modo sincrono 0 = modo asíncrono no implementado BRGH: bit que selecciona alto baud rate modo asíncrono: 1 = alta velocidad 0 = baja velocidad modo sincrono: no se usa en este modo TRMT: bit que checa el estado del registro 1 = TSR vació 0 = TSR lleno TX9D: noveno bit de la transmisión de datos puede ser un bit de dirección dato o de paridad REGISTRO 3.2 bit 7 bit 6 bit 5 bit 4 SPEN: bit que habilita puerto serial 1 = habilita puerto serial (pines RX/DT y TX/CK configurados. como seriales ) 0 = puerto serial deshabilitado RX9: bit que habilita recepción de 9 bits 1 = seleccionar 9 bits de recepción 0 = seleccionar 8 bits de recepción SREN: bit que hablita una sola recepción modo asíncrono: no importa modo sincrono-maestro: 1 = habilita una sola recepción 0 = deshabilita una sola recepción este bit es limpiado después de que la recepción se completo. modo sincrono-esclavo: no importa CREN: bit que habilita recepción continua modo asíncrono: 1 = habilita recepción 0 = deshabilita recepción modo sincrono: 1 = habilita recepción continua hasta que CREN es 30

bit 3 bit 2 bit 1 bit 0 limpiado(cren anula sren). 0 = deshabilitar recepción continua ADDEN: bit que habilita detección de dirección bit 9 modo asíncrono (rx9 = 1): 1 = habilita detección de dirección, habilita interrupciones y carga del buffer cuando RSR<8> es uno. 0 = deshabilita detección de dirección, todos los bytes son recibidos, y el noveno bit puede ser usado como bit de paridad. FERR: bit de error de trama 1 = error de 0 = no hay error de trama OERR: bit de error de desborde 1 = error de desborde (puede ser limpiado limpiando el bit CREN) 0 = no hay error de desborde RX9D: noveno bit de los datos recibidos puede ser un bit de dirección/dato o de paridad GENERADOR DE BAUD RATE DEL PUERTO USART (BRG) El BRG soporta tanto modo asíncrono como síncrono del puerto usarts. Este es un generador de baud rate especializado de 8 bits. El registro SPBRG controla este periodo de transmisión de 8 bits. En el modo asíncrono el bit BRGH (ver registro 3.1) solo controla el baud rate, en modo sincrono este bit es ignorado La tabla 3.1 muestra la forma de calcular el baud rate para cada modo USART, el cual solo opera en modo maestro (reloj interno). Con el baud rate deseado y la fosc del procesador se pueden obtener los valores enteros para el registro SPBRGx con la formula que se encuentra en la tabla 3.1, con este valor se puede calcular el error en el baud rate. El ejemplo 1 muestra el cálculo del baud rate para el siguiente caso: fosc = 16 MHz baud rate deseado = 9600 BRGH = 0 SYNC = 0 Es conveniente usar baud rate alto (bit BRGH = 1), incluso para los relojes de baud bajo. Esto es por que la ecuación del ejemplo 1 puede reducir el error de baud rate en algunos casos. Ejemplo 1: calculando el error de baud rate baud rate deseado = FOSC / (64 (x + 1)) resolviendo para x: x = ((FOSC / baud rate deseado) / 64 ) 1 x = ((16000000 / 9600) / 64) 1 x = [25.042] = 25 baud rate calculado = 16000000 / (64 (25 + 1)) = 9615 error = (baud rate calculado- baud rate deseado) baud rate deseado 31

= (9615 9600) / 9600 = 0.16% TABLA 3.1 formulas para calcular baud rate SYNC BRGH = 0 (baja velocidad) BRGH = 1 (alta velocidad) 0 (asincrono) baud rate = baud rate = fosc/(16(x + 1)) fosc/(64(x+1)) 1 (sincrono) baud rate = n/a fosc/(4(x+1)) x = valor en el registro SPBRGx entre 0 y 255. MUESTREO El dato en el pin RXx (RC7/RX1/DT1 O RG2/RX2/DT2) es probado tres veces por un circuito detector para determinar si es un nivel alto o bajo el que esta presente en el pin. TABLA 3.2 registros asociados con el generador de baud rate Nota: los registros tiene el mismo nombre tanto para USART1 y USART2, lo que los diferencia es el valor de x que es 1 o 2 respectivamente. USART MODO ASINCRONO En este modo el usart usa el formato de codificación NRZ (un bit de inicio, ocho o nueve bits de datos y un bit de parada). El formato más común es el de 8 bits. el usart transmite y recibe el primer LSbit. Los USARTs receptor y transmisor funcionan independientemente, pero usan el mismo baud rate y el mismo formato de datos. La paridad no es soportada por hardware pero puede ser implementada en software (guardado como el noveno bit de datos). el modo asíncrono es seleccionado poniendo en uno el bit SYNC del registro TXSTA2. El USART modo asíncrono consta de los siguientes elementos importantes: BRG circuito de muestreo transmisor asíncrono receptor asíncrono. TRANSMISOR USART ASINCRONO El diagrama a bloques del transmisor usart es mostrado en la figura 3.2 el corazón del transmisor es el Transmit (Serial) Shift 32

Register (TSR). El shift register obtiene los datos del búfer transmisor de escritura/lectura TXREGx. El TXREGx es cargado con datos en software. El TSR no esta cargado hasta que el bit de paro a sido transmitido. Tan pronto como el bit de paro es transmitido, el TSR es cargado con un nuevo dato del registro TXREGx (si es que lo hay). Solo el TXREGx transfiere los datos al registro TSR (en un tiempo TCY), el TXREGx es vaciado y el bit de bandera, TXX1IF (PIR1<4> para USART1, PIR3<4> para USART2) es uno. Las interrupciones para este modulo pueden habilitarse o deshabilitarse dando un 1 ó un 0 al bit correspondiente en TXxIE (PIE1<4> para USART1, PIE<4> para USART2). El bit de bandera TXxIF será un uno, independiente del estado de habilitación del bit TXxIE y no puede ser limpiado en software. Este se borrara solo cuando un nuevo dato es cargado en el registro TXREGx. Mientras el bit de bandera TXIF indica el estado del registro TXREGx, otro bit, TRMT (TXSTAx<1>), muestra el estado del registro TSR. El bit de estado TRMT es un bit solo de lectura, el cual se pone a uno cuando el registro TSR esta vació. No hay interrupciones para este bit, el usuario tiene que verificar cuando el TSR esta vació. Pasos para habilitar una transmisión asíncrona (usart2): 1.-Inicializar el registro SPBRG2 con el baud rate apropiado. Si se desea un alto baud rate poder a uno el BRGH 2.- Habilitar el puerto serial asíncrono poniendo en cero el bit SYNC y en uno el bit SPEN. 3.- Si se desean interrupciones, poner en uno el bit TX2IE en el registro PIE. 4.- Si se desean 9 bits de transmisión, poner en uno el bit TX9. Puede ser usado como bit de datos/direcciones 5.- Habilitar la transmisión poniendo en uno el bit TXEN, el cual pondrá en uno el bit TX2IF. 6.- Si se seleccionan 9 bits de transmisión, el noveno bit es cargado en el bit tx9d. 7.- Cargar el dato en el registro TXREG2 (empezar transmisión) FIGURA 3.2 diagrama a bloques del transmisor usart 33

TABLA 3.3 REGISTROS ASOCIADOS CON EL TRANSMISOR ASINCRONO RECEPTOR USART ASINCRONO El diagrama a bloques del receptor usart es mostrado en la figura 3.3, el dato es recibido en el pin (RC7/RX1/DT1 o RG2/RX2/DT2) y conducido al bloque de recuperación de datos. El bloque de recuperación de datos es actualizado a alta velocidad de movimiento que opera a 16 veces el baud rate. Pasos para habilitar una recepción asíncrona: 1.- Inicializar el registro SPBRG2 con el baud rate apropiado. Si se desea un alto baud rate poder a uno el BRGH 2.- Habilitar el puerto serial asíncrono poniendo en cero el bit SYNC y en uno el bit SPEN. 3.- Si se desean interrupciones, poner en uno el bit RC2IE. 4.- Si se desean 9 bits de recepción, poner en uno el bit CX9 5.- Habilitar la recepción poniendo en uno el bit SCREN. 6.- El bit de bandera RC2IF será puesto en uno cuando la recepción es completa y una interrupción puede ser generada si se pone en uno el bit RC2IE. 7.- Leer el registro RCSTA2 para obtener el noveno bit ( si esta habilitado). Y determinar si algún error ocurre durante la recepción. 8.- Leer los 8 bits de datos recibidos, leyendo el registro RCREG2 9.- Si hay algun error, limpiar el error limpiando el bit SCREN 10.- Si se usa interrupciones, es necesario que los bits GIE y el PIEI del registro INTCON sean uno. 34

FIGURA 3.3 Diagrama a bloque del receptor TABLA 3.4 registros asociados con el receptor asíncrono 3.2.2 MODULO CONVERTIDOR A/D DE 10 BITS El modulo convertidor analógico digital tiene 12 entradas, este modulo convierte una entrada de señal analógica a su correspondiente numero digital de 10 bits. El modulo tiene cinco registros registro que guarda los bits mas altos de la conversión (ADRESH) registro que guarda los bits mas bajos de la conversión (ADRESL) registro de control A/D 0 (ADCON0) registro de control A/D 1 ((ADCON1) registro de control A/D 2 ((ADCON2 35

el registro adcon0 (registro 3.3) controla la operación del modulo A/D, el registro ADCON1 (registro 3.4) configura las funciones de los pines de los puertos, el registro ADCON2, (registro 3.5) configura el reloj A/D y la justificación. REGISTRO 3. 3 Registró ADCON0 bit 7-6 no implementado: leer como '0' bit 5-2 chs3:chs0: bits de selección de canales analógicos 0000 = canal 0 (an0) 0001 = canal 1 (an1) 0010 = canal 2 (an2) 0011 = canal 3 (an3) 0100 = canal 4 (an4) 0101 = canal 5 (an5) 0110 = canal 6 (an6) 0111 = canal 7 (an7) 1000 = canal 8 (an8) 1001 = canal 9 (an9) 1010 = canal 10 (an10) 1011 = canal 11 (an11) bit 1 GO/DONE: bit de estado de conversión a/d cuando ADON = 1: 1 = conversión a/d en progreso (cuando este bit = 1 empieza conversión a/d, el cual es automáticamente limpiado por hardware cuando la conversión a/d es completa) 0 = la conversión a/d no esta en progreso bit 0 ADON: bit de encendido a/d 1 = modulo convertidor a/d habilitado 0 = modulo convertidor A/D deshabilitado REGISTRO 3.4 Registro ADCON1 bit 7-6 bit 5-4 no implementado: leer como '0' VCFG1:VCFG0: bits de configuración de voltajes de referencia 36

bit 3-0 PCFG3:PCFG0: bits de control de configuración de puertos A/D: A = entrada analógica D = entrada digital Nota: la celdas sombreadas son canales solo disponibles en el PIC18F8X20. REGISTRO 3.5 Registro ADCON2 bit 7 ADFM: bit de selección de formato de resultado a/d 1 = justificación derecha 0 = justificación izquierda bit 6-3 no implementado: leer como '0' bit 2-0 ADCS1:ADCS0: bits de selección del reloj 000 = FOSC/2 001 = FOSC/8 010 = FOSC/32 011 = FRC (reloj derivado de un oscilador RC = 1 mhz max) 100 = FOSC/4 101 = FOSC/16 110 = FOSC/64 111 = FRC (reloj derivado de un oscilador RC = 1 MHZ max) El voltaje de referencia analógico es seleccionado por software de las fuentes de voltaje positiva y negativa (VDD y VSS) o el nivel de voltaje en el pin RA3/AN3/VREF+ y el pin RA2/AN2/VREF-. 37

Cada pin de un puerto asociado con el convertidor A/D, puede ser configurado como una entrada analogica (RA3 puede ser voltaje de referencia) o como una entrada/salida digital. El ADRESH y ADRESL contienen el resultado de la conversión. Cuando la conversión es completa el resultado es guardado en los registros ADRESH/ADRESL, el GO/DONE es puesto en cero y la bandera de interrupción AD ADIF es puesta en uno. El diagrama a bloques del modulo A/D se muestra en la figura 1.4. FIGURA 3.4 DIAGRAMA A BLOQUES DEL A/D Después de que el modulo A/D a sido configurado como se desea, la selección de canales se hará antes de que la conversión inicie. Los canales de entrada analógica tendrán su correspondiente bit del TRIS como entrada. Paso para realizar una conversión: 1.- Configurar el modulo A/D Configurar pines analógicos, voltaje de referencia (ADCON1) 38

Seleccionar canales de entrada A/D (ADCON0) Seleccionar reloj de conversión A/D (ADCON2) Encender modulo A/D (ADCON0) 2. Configurar interrupciones A/D (si se desea): Limpiar bit ADIF Poner en uno bit ADIE Poner en uno bit GIE 3. Esperar el tiempo de adquisición requerido. 4. Iniciar conversión: Poner en uno el bit GO/DONE (registro ADCON0) 5. Esperar a que la conversión A/D sea completa, por: Polling, checando cuando el bit GO/DONE es limpiado ó Esperando a que se active la interrupción A/D 6. Leer el resultado A/Den el registro (ADRESH:ADRESL); limpiar bit ADIF, si se requiere. 7. Para la siguiente conversión, ir al paso 1 o paso 2, como se requiera. El tiempo de conversión A/D por bit es definido como TAD. Una máxima espera de 2 TAD es requerida antes de la siguiente adquisición. FIGURA 3.5 MODELO DE ENTRADA ANALOGICA SELECIONANDO EL RELOJ DE CONVERSION El tiempo por bit de la conversión A/D es definida como TAD. La conversión A/D requiere 12 TAD por 10 bits de conversión. La fuente del reloj de conversión A/D es seleccionado por software. Hay siete posibles opciones para TAD: 2 TOSC 4 TOSC 8 TOSC 16 TOSC 32 TOSC 64 TOSC Internal RC oscillator 39

Para la correcta conversión A/D, el reloj de conversión A/D (TAD) se debe seleccionar un TAD mínimo de 1.6 µs. La tabla 3.5 muestra el resultado de TAD derivados de las frecuencias de operación de los dispositivos y la selección de la fuente del reloj A/D. TABLA 3.5 TAD VS FRECUENCIAS DE OPERACIÓN DE LOS DISPOSITIVOS CONFIGURACION DE LOS PINES COMO ENTRADS ANALOGICAS Los registros ADCON1, TRISA, TRISF y TRISH controlan la operación de los pines del puerto A/D. Los pines del puerto necesitan ser entradas analógicas, por lo que el TRIS es todo puesto a uno. La operación A/D es independiente del estado de los bits CHS3:CHS0 y los bits TRIS. TABLA 3.6 REGISTRO ASOCIADOS CON EL MODULO A/D 40

3.2.3 PUERTOS DE ENTRADA/SALIDA. Dependiendo del dispositivo seleccionado, hay siete puertos disponibles en PIC18FXX20. Algunos de sus pines son multiplexados con uno o mas funciones alternas de otras características periféricas. Cada puerto tiene tres registros para configurar su modo de operación. estos registros son: registro TRIS (data dirección register) registro PORT (leer el nivel en los pines del dispositivo) registro LAT (latch de salida) El data latch (registro LAT) es usado para leer-modificarescribir operaciones en el valor que los pines I/O estén manejando. PUERTO F Registros PORTF, LATF, y TRISF el PORTF es de 8 bits, es un puerto bidireccional. Su correspondiente registro de dirección de datos es el TRISF. Si todos los bits del TRISF son uno el puerto se configura como salida y si todos son ceros se configura como entrada. Las operaciones de lectura-modificación-escritura se hacen con el registro LATF, leer y escribir el valor del latched de salida por el PORTF. El PORTF esta multiplexado con varias funciones de otros periféricos analógicos, incluyendo las entradas del convertidor A/D y entradas del comparador, salidas y voltaje de referencia. EJEMPLO. COMO INICIALIZAR EL PUERTO F CLRF PORTF ; Inicializar PORTF ; limpiando la salida ; data latches CLRF LATF ; Método alterno ; para limpiar la salida ; data latches MOVLW 0x07 ; MOVWF CMCON ; apagar comparadores MOVLW 0x0F ; MOVWF ADCON1 ; Hacer PORTF como I/O digital MOVLW 0xCF ; Valor usado para ; inicializar la dirección ; de datos MOVWF TRISF ; Poner RF3:RF0 como entradas ; RF5:RF4 como salidas ; RF7:RF6 como entradas 41

FIGURA 1.6 DIAGRMA A BLOQUES DEL PORTF RF1/AN6/C2OUT, RF2/AN5/C1OUT FIGURA 1.7 DIAGRAMA A BLOQUES PINES RF6:RF3 AND RF0 FIGURA 1.8 DIAGRAMA A BLOQUES PIN RF7 TABLA 3.7 FUNCIONES DEL PORTF 42

TABLA 3.8 REGISTROS RELACIONADOS CON EL PORTF LEER: x = Desconocido, u = no cambiable. PUERTO G Celdas sombreadas no son usadas por PORTF. Registros PORTG, TRISG y LATG El PORTG es de 5 bits, puerto bidireccional. El TRISG es el correspondiente registro de dirección de datos. Si todos los bits del TRISG son uno el puerto se configura como salida y si todos son ceros se configura como entrada. las operaciones de lectura-modificación-escritura se hacen con el registro LATG, leer y escribir el valor del latched de salida por el PORTG. El PORTG esta multiplexado con las funciones CCP y USART (Tabla 3.9). Los pines del PORTG tienen buffer de entrada Schmitt Trigger. Cuando habilitas las funciones periféricas, debe tenerse atención en definir los bits del TRIS para cada bit del PORTG. Algunos periféricos anulan que los bits TRIS hagan los pines salida y otros periféricos anulan que el TRIS los haga entradas. El usuario debe ver la sección de periféricos para la correcta utilización del TRIS. EJEMPLO: INICIALIZACION PORTG CLRF PORTG ; Iniciar PORTG ; limpiando data ; latches de salida CLRF LATG ; Metodo alterno ; para limpiar data laches ; de salida MOVLW 0x04 ; Valor usado para ; inicializar direccion ; de datos MOVWF TRISG ; RG1:RG0 como salida ; RG2 como entrada ; RG4:RG3 como entradas 43

FIGURA 3.9 DIAGRAMA A BLOQUES DEL PORTG (SALIDAS PERIFERICAS) TABLA 3.9 FUNCIONES DEL PORTG TABLA 3.10 REGISTROS ASOCIADOS CON EL PORTG 44