179
UNIVERSIDAD DE CARABOBO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA DEPARTAMENTO DE SISTEMAS Y AUTOMÁTICA DESARROLLO DE UN MÓDULO DE ALMACENAMIENTO MASIVO DE DATOS PARA SEÑALES ANALÓGICAS DE CONTROL CON COMUNICACIÓN USB ALUMNO: BR. ANGEL GUEVARA BÁRBULA, NOVIEMBRE 2012

DatalabUC - Modulo de Registro de Datos

Embed Size (px)

Citation preview

Page 1: DatalabUC - Modulo de Registro de Datos

1

UNIVERSIDAD DE CARABOBO

FACULTAD DE INGENIERÍA

ESCUELA DE INGENIERÍA ELÉCTRICA

DEPARTAMENTO DE SISTEMAS Y AUTOMÁTICA

DESARROLLO DE UN MÓDULO DE ALMACENAMIENTO MASIVO DE DATOS PARA

SEÑALES ANALÓGICAS DE CONTROL CON COMUNICACIÓN USB

ALUMNO:

BR. ANGEL GUEVARA

BÁRBULA, NOVIEMBRE 2012

Page 2: DatalabUC - Modulo de Registro de Datos

2

UNIVERSIDAD DE CARABOBO

FACULTAD DE INGENIERÍA

ESCUELA DE INGENIERÍA ELÉCTRICA

DEPARTAMENTO DE SISTEMAS Y AUTOMÁTICA

DESARROLLO DE UN MÓDULO DE ALMACENAMIENTO MASIVO DE DATOS PARA

SEÑALES ANALÓGICAS DE CONTROL CON COMUNICACIÓN USB

Trabajo especial de grado presentado ante la ilustre Universidad de Carabobo para optar

por el título de Ingeniero Electricista

PROFESOR GUÍA: ALUMNO:

ING. ANGEL VILLEGAS BR. ANGEL GUEVARA

BÁRBULA, NOVIEMBRE 2012

Page 3: DatalabUC - Modulo de Registro de Datos

3

UNIVERSIDAD DE CARABOBO

FACULTAD DE INGENIERÍA

ESCUELA DE INGENIERÍA ELÉCTRICA

DEPARTAMENTO DE SISTEMAS Y AUTOMÁTICA

CERTIFICADO DE APROBACIÓN

Los abajo firmantes, miembros del jurado designados para evaluar el proyecto de grado

titulado: “DESARROLLO DE UN MÓDULO DE ALMACENAMIENTO MASIVO DE

DATOS PARA SEÑALES ANALÓGICAS DE CONTROL CON COMUNICACIÓN USB”

realizado por el bachiller Angel Ernesto Guevara Sanchez, hacemos constar que hemos revisado y

aprobado dicho proyecto.

ING. ANGEL VILLEGAS

TUTOR

ING. ORIANA BARRIOS ING. DEMETRIO REY LAGO

BÁRBULA, NOVIEMBRE 2012

Page 4: DatalabUC - Modulo de Registro de Datos

4

Agradecimientos

Mi primer agradecimiento es a Dios Todo poderoso

quien con su infinita bondad hizo posible que

toda adversidad y obstáculo durante mi desarrollo

profesional se viera pequeña ante él.

A mi madre Deborah por su amor incondicional

y su paciencia en todo momento.

A mi padre Henry por su apoyo incalculable

y sus consejos que siempre fueron alentadores.

A mis abuelos paternos Carmen y Ángel

por estar siempre allí para atenderme y recibirme

con mucho amor.

Al profesor Angel Villegas que con su

amplia experiencia y conocimiento me sirvió de guía

para la realización de este trabajo de investigación.

A mis amigos de la universidad con quienes compartí tantas

experiencias invaluables durante la carrera, a ellos

mis más sinceros agradecimientos.

Page 5: DatalabUC - Modulo de Registro de Datos

5

Dedicatoria

Este trabajo de grado está dedicado especialmente a mi sobrina Isabella Valentina quien dio

luz y felicidad a toda la familia, que Dios siempre cuide y te guie para que seas una persona

de bien sobrina amada.

A mi mejor amigo Juan Daniel, quien fue de muy gran ayuda en uno de los momentos más

significativos y marcados de mí vida y que además fue durante el desarrollo de este

proyecto, a ti dedico este logro amigo.

A mis padres Henry y Deborah y a mi hermana Milvia con todo mi amor, por ser partícipes

directos de este gran triunfo. Lo hemos logrado juntos.

Page 6: DatalabUC - Modulo de Registro de Datos

6

Universidad de Carabobo

Facultad de Ingeniería

Escuela de Ingeniería Eléctrica

Departamento de Sistemas y Automática

Desarrollo de un módulo de almacenamiento masivo de datos

para señales analógicas de control con comunicación USB

Elaborado por: Br. Angel Guevara

Tutor guía: Ing. Angel Villegas

Fecha: Noviembre 2012

RESUMEN

El presente trabajo especial de grado tiene como objetivo desarrollar un módulo de

almacenamiento masivo de datos para señales analógicas de control con comunicación USB. Este

módulo está compuesto por un hardware y un software; en el hardware se encuentran dos tarjetas

electrónicas: la tarjeta (a) donde reside el microcontrolador, la pantalla alfanumérica, botones de

interacción con el usuario y la memoria SD para el almacenamiento de las variables adquiridas.

Cuenta con un conector USB como bus de comunicación con la computadora para la transmisión de

la cadena de información adquirida y/o registrada por el dispositivo.; en la tarjeta (b) está la interfaz

física para conectar las señales analógicas, el conversor A/D, el reloj de tiempo real y demás

dispositivos que hacen posible la captura y acondicionamiento de las señales provenientes del

proceso.

En el software se tiene una interfaz visual creada con la finalidad de presentar los datos

registrados por el hardware de manera ordena, dichos datos son mostrados gráfica y numéricamente

y además provee opciones de configuración típicos de un dispositivo de esta índole, como son:

configuración de los tiempos de registro, configuración de misiones de registro, selección particular

de canales para el registro, ver el estado de la memoria del dispositivo, así como borrarla.

Este módulo fue desarrollado para ser implementado en las prácticas que se desarrollan en

la cátedra del Laboratorio de Instrumentación y Control de Procesos de la Escuela de Eléctrica de la

Universidad de Carabobo, donde se verificó exitosamente su funcionamiento permitiendo realizar el

registro de las señales analógicas de corriente de [4-20] mA. [0-5] V y [-10 – 400] ºC

Palabras claves: Registro de datos, Datalogger, Adquisición de datos, Interfaz visual,

Comunicación USB, Variables analógicas de control, Termocupla tipo “K”.

vi

Page 7: DatalabUC - Modulo de Registro de Datos

7

TABLA DE CONTENIDO

INTRODUCCIÓN ................................................................................................................ 14

CAPÍTULO I ........................................................................................................................ 16

PROBLEMA ..................................................................................................................... 16

1.1 Planteamiento del problema ........................................................................................ 16

1.2 Justificación de la investigación ................................................................................. 20

1.3 Objetivos ..................................................................................................................... 21

1.3.1 Objetivo generales ................................................................................................ 21

1.3.2 Objetivos específicos............................................................................................ 22

1.4 Alcance ....................................................................................................................... 22

CAPÍTULO II ....................................................................................................................... 26

2.1 Antecedentes del problema ......................................................................................... 26

2.2 Marco teórico .............................................................................................................. 28

2.2.1 Sistema de adquisición de datos .............................................................................. 29

Fundamento ................................................................................................................... 29

Transductor.................................................................................................................... 30

Acondicionamiento de la señal ..................................................................................... 30

Conversión A/D............................................................................................................. 31

Sistema de registro de datos (Datalogger) ........................................................................ 32

Fundamento ................................................................................................................... 32

El microcontrolador PIC18F4550 ................................................................................. 35

Arquitectura del PIC18F4550 ....................................................................................... 35

Manejo de la pantalla LCD ........................................................................................... 37

Reloj de tiempo real (RTC) el DS1307 ......................................................................... 39

Módulo de conversión A/D el ADS1113 ...................................................................... 45

Memoria SD .................................................................................................................. 55

Módulo de conexión USB ............................................................................................. 57

Protocolos de comunicación.......................................................................................... 66

Modulación Delta - Sigma ............................................................................................ 72

Software Visual Studio.................................................................................................. 74

Software PROTON IDE ................................................................................................ 77

Page 8: DatalabUC - Modulo de Registro de Datos

8

CAPÍTULO III ..................................................................................................................... 79

MARCO METODOLÓGICO ........................................................................................... 79

Tipo de investigación ........................................................................................................ 79

Procedimiento metodológico ............................................................................................ 79

Etapa I: Identificación de las características técnicas de dispositivos comerciales ...... 79

Etapa II: Descripción del sistema de registro de datos a implementar .......................... 80

Etapa III: Elaboración del dispositivo físico (hardware) ............................................ 81

Etapa IV: Creación de la interfaz visual........................................................................ 82

Etapa V: Pruebas operativas y calibración del instrumento .......................................... 82

CAPÍTULO IV ..................................................................................................................... 84

ANALISIS ........................................................................ ¡Error! Marcador no definido.

Manejo de la memoria SD de manera sectorizada, como memoria EEPROM ............. 84

RESULTADOS................................................................. ¡Error! Marcador no definido.

Etapa I: Identificación de las características técnicas de dispositivos comerciales ...... 88

Etapa II: Descripción del sistema de registro de datos a implementar .......................... 89

Etapa III: Elaboración del dispositivo físico (hardware) .......................................... 104

Etapa IV: Creación de la interfaz visual...................................................................... 109

Comandos más usados en el programa del hardware ..................................................... 127

Etapa V: Calibración del instrumento y pruebas operativas ....................................... 156

CAPÍTULO V..................................................................................................................... 165

CONCLUSIONES .......................................................................................................... 165

RECOMENDACIONES ................................................................................................. 167

BIBLIOGRAFÍA ................................................................................................................ 168

ANEXO A .......................................................................................................................... 171

Page 9: DatalabUC - Modulo de Registro de Datos

9

INDICE DE FIGURA

Figura 1.1: Diagrama de bloque del equipo desarrollado. .................................................. 24

Figura 2.1: Estructura de un sistema de adquisición de datos. ............................................ 29

Figura 2.2: Esquema básico de un Datalogger. .................................................................... 34

Figura 2.3: Esquema de conexión de la pantalla LCD al PIC18F4550. ............................... 38

Figura 2.4: Asignación de los terminales del RTC DS1307................................................. 40

Figura 2.5: Conexión del RTC DS1307 al PIC18F4550 ...................................................... 41

Figura 2.6: Transferencia de datos en el BUS. ..................................................................... 42

Figura 2.7: Modo de escritura del dispositivo RTC DS1307. .............................................. 42

Figura 2.8: Modo de lectura del dispositivo RTC DS1307. ................................................. 44

Figura 2.9: Orden de transferencia de datos del dispositivo RTC DS1307. ......................... 44

Figura 2.10: Esquema de Operación del ADS1113. ............................................................. 45

Figura 2.11: Esquema de configuración de terminales del ADS1113. ................................. 46

Figura 2.12: Respuesta en frecuencia del ADS1113. ........................................................... 47

Figura 2.13: Diagrama de la trama de bits en modo de lectura del ADS1113. .................... 51

Figura 2.14: Diagrama de la trama de bits en modo de escritura del ADS1113. ................. 54

Figura 2.15: Diagrama de conexionado del ADS1113/14/15............................................... 54

Figura 2.16: Dimensiones de la memoria de almacenamiento masivo. ............................... 55

Figura 2.17: Esquema de conexión de la memoria SD con el PIC. ...................................... 56

Figura 2.18: Esquema de los terminales del Bus USB para él PIC18F4550. ....................... 63

Figura 2.19:Conector USB. .................................................................................................. 63

Figura 2.20: Distribución de los terminales (Tipo A a la derecha y Tipo B a la izquierda). 64

Figura 2.21: Esquema de conexión del PIC18F4550 con el conector USB. ........................ 64

Figura 2.22: Esquema de conexión del PIC18F4550 con los dispositivos I2C. ................... 66

Figura 2.23: Modos de transición de condiciones para dispositivos I2C. ............................ 68

Figura 2.24: Direccionamiento y formato de transferencia de dispositivos I2C. ................. 69

Figura 2.25: Conexión típica de un grupo de dispositivos en un bus SPI. ........................... 71

Figura 2.26:Parámetros CPOL (Clock Polarity) y CPHA (Clock Phase) bus SPI. .............. 72

Figura 2.27: Modulación/Demodulación Delta .................................................................... 73

Figura 2.28: Operación de diezmado digital. ....................................................................... 74

Figura 2.29: Logotipo de Microsoft Visual Studio............................................................... 75

Figura 2.30: Logotipo del software Proton IDE. .................................................................. 78

Figura 4.1: Partición de la memoria SD ............................................................................... 85

Figura 4.2: Registro de errores enviado por la memoria ...................................................... 87

Figura 4.3: Diseño en bloque del registrador DataLabUC ................................................... 90

Figura 4.4: Esquema de conexión de los led's ...................................................................... 91

Figura 4.5: Esquema de conexión de los pulsadores ............................................................ 91

Page 10: DatalabUC - Modulo de Registro de Datos

10

Figura 4.6: Esquema de conexión de los lazos de corriente y de voltaje ............................. 92

Figura 4.7: Esquema de conexión del canal 4 (Termocupla tipo K) .................................... 94

Figura 4.8: Terminales de configuración del AD8495 ......................................................... 94

Figura 4.9: Diagrama de bloque ........................................................................................... 95

Figura 4.10: Incorporación de un filtro RC aguas arriba del AD8495 ................................. 96

Figura 4.11: Correcta configuración del voltaje de referencia del AD8495 ........................ 97

Figura 4.12: Esquema de conexión del multiplexor analógico y conexión del conversor

ADS1113 ....................................................................................................................... 98

Figura 4.13: Esquema de conexión del DS1307................................................................. 100

Figura 4.14: Esquema de conexión de la alimentación principal del DataLabUC ............ 100

Figura 4.15: Conexión del muestreo de la señal de alimentación del DataLabUC ............ 101

Figura 4.16: Esquema de conexión de la LCD 16x2 .......................................................... 102

Figura 4.17: Esquema de conexión del USB ...................................................................... 102

Figura 4.18: Esquema de conexión de la memoria SD....................................................... 103

Figura 4.19: Esquema de conexión del microcontrolador PIC18F4550 con el módulo. .... 104

Figura 4.20: Disposición de los elementos electrónicos en la tarjeta uno (I) ..................... 105

Figura 4.21: Vista de plano de las pistas "Top" (rojo) y “Bottom” (verde) de a tarjeta uno

(I) ................................................................................................................................. 105

Figura 4.22: Disposición de los elementos electrónicos en la tarjeta uno (II).................... 105

Figura 4.23: Vista de plano de las pistas “Top” (rojo) y "Bottom" (verde) de la tarjeta dos

(II)................................................................................................................................ 106

Figura 4.24: Tarjeta (I) finalizada....................................................................................... 107

Figura 4.25: Tarjeta (II) finalizada ..................................................................................... 107

Figura 4.26: Acabado final del dispositivo DataLabUC .................................................... 107

Figura 4.27: Ventana principal de la interfaz DataLabUC ................................................. 110

Figura 4.28: Ventana de configuración del dispositivo ...................................................... 111

Figura 4.29: Ventana de visor de la adquisición (registro en el DataLabUC) .................... 113

Figura 4.30: Ventana de gráficos por canal, evento que ocurre al ..................................... 114

Figura 4.31: Ventana de configuración de la misión .......................................................... 116

Figura 4.32: Estructura del buffer de datos del dispositivo físico hasta la interfaz visual . 118

Figura 4.33: Disposición de los comandos en la transmisión desde la interfaz al dispositivo

..................................................................................................................................... 119

Figura 4.34: Estructura del byte de configuración del dispositivo ..................................... 122

Figura 4.35: Estructura del byte de configuración en modo misión ................................... 122

Figura 4.36: Estructura del duración del tiempo de espera del canal ................................. 123

Figura 4.37: Estructura de duración de tiempo de registro del canal ................................. 124

Figura 4.38: Tiempos de registro en modo misión ............................................................. 126

Figura 4.39: Diagrama de flujo del programa principal del dispositivo ............................. 135

Page 11: DatalabUC - Modulo de Registro de Datos

11

Figura 4.40: Diagrama de flujo lazo de selección en el menú principal del dispositivo ... 136

Figura 4.41: Diagrama flujo de la configuración del ADS1113 ......................................... 137

Figura 4.42: Diagrama de flujo del dispositivo al conectarse vía USB .............................. 138

Figura 4.43: Diagrama de flujo rutina de inicio de misión ................................................. 140

Figura 4.44: Diagrama de flujo rutina de modo solitario ................................................... 141

Figura 4.45: Diagrama de flujo de envió de registro a tiempo real .................................... 142

Figura 4.46: Diagrama de flujo de la rutina de lectura de la memoria SD ......................... 144

Figura 4.47: Diagrama de flujo de subrutina de conversión del ADS1113 ........................ 145

Figura 4.48: Diagrama de flujo de subrutina de lectura del conversor ADS113 ................ 146

Figura 4.49: Diagrama de flujo programa principal de la interfaz ..................................... 148

Figura 4.50: Diagrama de flujo de la ventana de recepción de datos de la interfaz ........... 150

Figura 4.51: Diagrama de flujo rutina del evento de recepción de datos en la interfaz ..... 152

Figura 4.52: Diagrama de flujo rutina de configuración de misión.................................... 153

Figura 4.53: Diagrama de flujo envió de la configuración de datos de la misión .............. 154

Figura 4.54: Diagramas de flujo para sincronización de datos de hora y fecha del RTC. . 155

Figura 4.55: Montaje para calibración de entrada de corriente .......................................... 156

Figura 4.56: Grafica para la calibración de las entradas de corriente del dispositivo ........ 157

Figura 4.57: Horno de calibración de temperatura con el dispositivo DataLabUC ........... 159

Figura 4.58: Grafica de la curva de reacción de temperatura ............................................. 159

Figura 4.59: Grafica de datos exportados a Microsoft Excel desde la aplicación .............. 160

Figura 4.60: Esquema de conexión del registrador con el ModCad y el UDC1000 .......... 161

Figura 4.61: Registro de la prueba con los dispositivos ModCad y UDC1000 .................. 161

Figura 4.62: Gráficos de la respuesta escalón desde Microsoft Excel ............................... 162

Figura 4.63: Esquema para aplicar el método de ganancia ultima de Ziegler & Nichols .. 163

Figura 4.64: Registro de estado oscilatorio del sistema en la planta de flujo..................... 163

Figura 4.65: Grafico aplicando el método de ganancia ultima de Ziegler & Nichols en

Microsoft Excel ........................................................................................................... 164

Figura A.1: Diagrama de configuración del dispositivo y el RTC .................................... 171

Figura A.2: Diagrama de configuración de la misión y lectura del RTC ........................... 171

Figura A.3: Diagrama de la rutina de borrar datos de la memoria SD ............................... 172

Figura A.4: Diagrama de funcionamiento de la ventana de configuración del dispositivo 173

Figura A.5: Diagramas de envío de configuración de datos, ventana de modo misión ..... 174

Figura A.6: Diagrama de modo importar datos y envío de dato para borrar la memoria SD

..................................................................................................................................... 174

Figura A.7: Esquemático plano (I) ..................................................................................... 174

Figura A.8: Esquemático plano (II) .................................................................................... 174

Page 12: DatalabUC - Modulo de Registro de Datos

12

INDICE DE TABLA

Tabla 2.1: Dispositivos comerciales de registro de datos ..................................................... 33

Tabla 2.2: Características del dispositivo. ............................................................................ 36

Tabla 2.3: Descripción de los terminales de la LCD. ........................................................... 38

Tabla 2.4: Configuración de los bits para acceder a los vectores de registro del ADS1113.48

Tabla 2.5: Registro de conversión (Solo lectura). ................................................................ 49

Tabla 2.6: Configuración de los registros (Escritura y lectura). ........................................... 49

Tabla 2.7: Resumen bit a bit de la configuración registro del ADS1113. ............................ 50

Tabla 2.8: Tipo de identificadores de paquetes (PID). ......................................................... 60

Tabla 2.9: Token packets. ..................................................................................................... 60

Tabla 2.10: Data packets. ..................................................................................................... 61

Tabla 2.11: Handshake packets. ........................................................................................... 61

Tabla 2.12: Tabla de función de cada terminal del conector USB. ...................................... 64

Tabla 4.1: Aplicación para cada terminal de la memoria SD en modo de comunicación SPI

....................................................................................................................................... 86

Tabla 4.2: Secuencia de comandos SPI ................................................................................ 86

Tabla 4.3: Comando más usados para la comunicación de la memoria SD ......................... 87

Tabla 4.4: Descripción de los terminales del AD8495 ......................................................... 93

Tabla 4.5: Rango de temperatura del AD8495 ..................................................................... 95

Tabla 4.6: Tabla de la verdad para la selección de canales .................................................. 98

Tabla 4.7: Descripción de los terminales del ADS113 ......................................................... 99

Tabla 4.8: Distribución de las líneas del módulo SD con el PIC18F4550 ......................... 103

Tabla 4.9: Tabla resumen de los componentes de ambas tarjetas ...................................... 108

Tabla 4.10: Descripción de los controles usados en la ventana 1 del DataLabUC ............ 110

Tabla 4.11: Continuación de la tabla de descripción de los controles usados en la ventana 1

del DataLabUC ............................................................................................................ 111

Tabla 4.12: Descripción de los controladores participantes en la ventana de configuración

del dispositivo ............................................................................................................. 112

Tabla 4.13: Descripción de los controles participantes en la ventana de visor de la

adquisición del DataLabUC ........................................................................................ 112

Tabla 4.14: Descripción de los controles participantes en la ventana de configuración de

misión .......................................................................................................................... 116

Tabla 4.15: Continuación de la tabla de descripción de los controles que participantes en la

ventana de configuración de misión ........................................................................... 117

Tabla 4.16: Tipos de comandos posibles en el Byte 15 del buffer enviados desde el

dispositivo. .................................................................................................................. 118

Page 13: DatalabUC - Modulo de Registro de Datos

13

Tabla 4.17: Continuación de los tipos de comandos posibles en el Byte 15 del buffer

enviados desde el dispositivo. ..................................................................................... 119

Tabla 4.18: Tipos de comandos posibles en el Byte 15 del buffer enviados desde la interfaz

..................................................................................................................................... 119

Tabla 4.19: Continuación de los tipos de comandos posibles en el Byte 15 del buffer

enviados desde la interfaz ........................................................................................... 120

Tabla 4.20: Disposición de la información almacenada en la memoria EEprom del

microcontrolador ......................................................................................................... 120

Tabla 4.21: Valores que toman los bits de configuración para configurar el muestreo de las

señales ......................................................................................................................... 122

Tabla 4.22: Ejemplo de configuración de los tiempos en el modo misión ......................... 124

Tabla 4.23: Resultados de la calibración del dispositivo.................................................... 157

Tabla 4.23: Continuación de la tabla de resultados de la calibración del dispositivo ....... 158

Tabla 4.24: Errores del dispositivo DataLabUC ................................................................ 158

Page 14: DatalabUC - Modulo de Registro de Datos

14

INTRODUCCIÓN

El presente trabajo especial de grado consistió en la elaboración de un módulo de

almacenamiento masivo de datos de señales eléctricas analógicas de control. El mismo,

tendrá la capacidad de exportar dichos datos a una computadora comunicándose vía USB a

una aplicación virtual, realizada con el fin de poder ver reflejados los históricos, así como

también, los estados de estas señales de manera gráfica y numérica. El módulo será

utilizado para el registro de datos de las variables eléctricas de control que se presentan en

las prácticas efectuadas en el Laboratorio de Instrumentación y Control de Procesos de la

Escuela de Eléctrica de la Facultad de Ingeniería de la Universidad de Carabobo.

En mencionado laboratorio, se imparten una serie de prácticas las cuales tienen

como objetivo simular procesos industriales a través de plantas pilotos, para el control de

variables reales como: flujo de líquidos, nivel de tanque, flujo de gas, presión de aire, entre

otros, así como también, definir la instrumentación de campo y el sistema de control para

alcanzar su buen funcionamiento.

Entre las labores que el estudiante realiza en las practicas se encuentra el capturar,

analizar y modificar las variables controladas en estas plantas pilotos, por lo tanto, es

imprescindible que la adquisición y registro de datos sea eficiente, confiable y segura.

Los sistemas de registro electrónico de datos, llamado también Datalogger, son

dispositivos capaces de reunir valores de medición de diferentes parámetros de forma

autónoma. Estos dispositivos, se pueden encontrar en una gran variedad de versiones, las

cuales, se adaptan a una determinada necesidad.

Estos pueden ofrecer a su vez una herramienta visual, que normalmente son

aplicaciones para un computador de escritorio o un computador portátil, en los que se

pueden apreciar, de manera gráfica y numérica, el comportamiento de estos parámetros

Page 15: DatalabUC - Modulo de Registro de Datos

15

registrados, y posibilitan un almacenamiento masivo de estos datos en periodos de tiempo

prolongados.

En la actualidad, dentro de este laboratorio, se han incorporado instrumentos

electrónicos dedicados a la medición, adquisición, transmisión y registro de datos de

señales eléctricas analógicas y digitales, tal como sistema de adquisición de datos por

computador para la supervisión de procesos industriales (abreviado SADUC 1.1), pero no

existe hasta el momento uno que registre de manera autónoma estas señales, lo que hace

que la labor de registro de datos se realice de manera manual, lo cual trae un inherente error

sistemático durante el proceso de medición y además una inversión de tiempo por parte del

estudiante cursante de la materia y personal docente para la adquisición y registro de datos.

Con el propósito del continuo desarrollo tecnológicodel Laboratorio de

Instrumentación y Control de Procesos, fue necesario proponer una alternativa que mejore

el proceso de registros de datos y permita mejorar el desarrollo de las actividades que se

realizan dentro este, posibilitando la idea al estudiante de su aplicabilidad en el campo

industrial.

Es por ello, que se propuso el desarrollo de un módulo de almacenamiento masivo

que realice la tarea de registrar datos de señales eléctricas analógicas de control, donde se

permita realizar dicha labor de forma automática con la utilización tecnológica basada en

microcontroladoresy además, poseerá una interfaz visual (software) para el computador, en

donde se apreciarán los históricos gráficos y numéricos del comportamiento de estas

señales eléctricas en los procesos que se desarrollen en el laboratorio una vez almacenados

de forma autónoma.

Page 16: DatalabUC - Modulo de Registro de Datos

16

CAPÍTULO I

PROBLEMA

1.1 Planteamiento del problema

En las industrias de hoy, la búsqueda de mejoras en la producción, control de

calidad, facilidad en el acceso de manejo de información mediante sistemas de

comunicación, son elementos prácticamente universales dentro de cualquier proceso. Esto

ha permitido que en los últimos tiempos, el concepto de automatización haya evolucionado

rápidamente debido a que ella puede mejorar las operaciones de un proceso productivo,

además de la calidad de los bienes producidos, garantizando a las empresas, lograr sus

objetivos con un desempeño óptimo. [1]

Como resultado de esta búsqueda, se ha incrementado el uso de equipos o sistemas

que logren dicho objetivo, en estos sistemas, existen elementos conformados por

instrumentos utilizados para medir variables físicas, los cuales realizan labores como:

adquirir, registrar, trasmitir e incluso ejercer acciones de control, pudiendo nombrar entre

ellos: controladores lógicos programables (PLC), sistemas para la adquisición, registro y

transmisión de datos, entre otros.

Un sistema de registro de datos, llamado también Datalogger, es un aparato capaz

de reunir valores de medición de diferentes parámetros de forma autónoma. En ellos, se

puede encontrar una gran variedad de versiones, las cuales, se adaptan a una determinada

necesidad. Pueden ofrecer a su vez una herramienta para el computador (software) que

permite visualizar los datos registrados por él.

Un Datalogger ofrece la posibilidad de almacenar valores medidos (siendo

simultáneamente en caso de que sea de múltiples entradas) como señales normalizadas

durante un periodo de tiempo prolongado, algunos, en lapsos que pueden llegar a ser años.

Page 17: DatalabUC - Modulo de Registro de Datos

17

La gama de aplicaciones para estos dispositivos es muy amplia, pero a modo de

evidenciar su aplicabilidad se mencionan las más destacadas: en registro de sonido,

temperatura, nivel, acidez, distancia, humedad, luz, gases, flujo de líquidos, corriente,

tensión, presión, entre otros. [2]

En la Facultad de Ingeniería de la Universidad de Carabobo, específicamente en la

Escuela de Ingeniería Eléctrica, se encuentra el Laboratorio de Instrumentación y Control

de Procesos, el cual es un área de estudio esencial dentro de la cátedra de instrumentación

de procesos, adscrita al Departamento de Sistemas y Automática.

En mencionado laboratorio se imparten una serie de prácticas las cuales tienen

como objetivo definir simulaciones de control de procesos industriales, con la medición por

medio de instrumentación de campo y control a través de módulos de control para su buen

funcionamiento.

Por lo que, las labores durante el desarrollo de dichas prácticas a la luz de los

procesos son: capturar, analizar, modificar, controlar y traducir las variables que se reflejen

en dichos procesos, es por esta razón, que el registro de datos durante su desarrollo es de

suma importancia. Bajo esta perspectiva es imprescindible que estos registros se realicen de

manera eficiente, confiable y segura. [3]

En el laboratorio se han incorporado, a lo largo del tiempo, instrumentos dedicados

a la adquisición, trasmisión y registro de datos, los cuales, se mencionan a continuación.

Un transmisor inteligente de temperatura para termocupla y detectores de

temperaturas por resistencia, basado en microcontroladores, estas lecturas son

enviadas bajo una transmisión analógica de (4-20) mA y tiene la capacidad de

exportar los datos a un servidor OPC.

Page 18: DatalabUC - Modulo de Registro de Datos

18

Un transmisor de presión diferencial, convertidor presión a corriente y un

controlador basado en algoritmo PID.

Un sistema de adquisición de datos vía internet basado en microcontroladores,

corresponde a una combinación de hardware y software, diseñado para

comunicarse con una computadora que tenga acceso a internet, donde se visualiza

con una computadora en tiempo real las señales del laboratorio.

Un sistema de adquisición de datos por computador para la supervisión de procesos

industriales (abreviado SADUC 1.1), tarjeta de adquisición habilitada para recibir 8

señales analógicas en el rango de (4-20) mA, (0-20) mA, (0-5) V y (0-10) V,

además dos (2) salidas analógicas con rango de (4-20) mA y un puerto de

comunicación serial RS232, que además posee un software que configura, calibra,

gráfica y registra los datos obtenidos de la tarjeta.

Una estación de control de procesos industriales, que usa como interfaz el sistema

de adquisición de datos SADUC 1.1.

Por lo antes expuesto, se evidencia el hecho que hasta el momento, no existe un

dispositivo capaz de realizar el registro de datos de manera autónoma en el laboratorio,

siendo explícitos en cuanto a que sólo el sistema SADUC 1.1 llega a ser capaz de registrar

los datos obtenidos en el momento en que esté conectado al computador, ya que, es

ejecutado el software de dicho dispositivo que almacena los datos obtenidos en el

computador.

Es de importancia resaltar a este punto que el registro de datos necesariamente

incluye la adquisición de los datos pero la adquisición de los datos no necesariamente

implica el registro de las mismas.

Actualmente, la toma de datos en el laboratorio se realiza de forma manual, esta

situación permite hacer las siguientes aseveraciones:

Page 19: DatalabUC - Modulo de Registro de Datos

19

Inversión de tiempo por parte del estudiante cursante de la materia y personal

docente para la adquisición y el registro de datos.

Un inherente error sistemático durante el proceso de medición de las señales

analógicas presentes.

Aplicación de estrategias de control tardías debido a la dependencia directa de la

duración del proceso de adquisición y registro de datos.

Necesidad de varios estudiantes.

Debido a las necesidades de mejora continua, los procesos deben ir desarrollándose

progresivamente, lo que trae a destacar que es necesario un impulso en cuando al grado de

automatización en los procesos que se realizan en el laboratorio, lo cual, demuestra que un

instrumento de registro de datos autónomo permite la mejora significativa en el desarrollo

de las actividades que se realizan en dicha área. Es por ello que se volvió ineludible brindar

una solución que esté al alcance de todos para la adquisición y registro de los datos. [3]

Por lo tanto, se vuelve substancial el proponer una alternativa que esté basada en

resolver la necesidad de mejora para el registro de los datos dentro del mencionado

laboratorio.

Es por ello, que se propuso el desarrollo de un módulo de almacenamiento masivo

que realice la tarea de registro autónomo para señales analógicas de control presentes en el

Laboratorio de Instrumentación y Control de Procesos con la utilización tecnológica basada

en microcontroladores.

Además, dicho módulo posee una interfaz para la computadora que permite

visualizar los registros de estas señales a tiempo real o importando la información ya

existente en el equipo.

Page 20: DatalabUC - Modulo de Registro de Datos

20

1.2 Justificación de la investigación

Debido a que el Laboratorio de Instrumentación y Procesos no cuenta con un

dispositivo que realice la adquisición y el registro de los datos de manera autónoma y de

no promover una solución fiable para la mejora de este proceso, los efectos seguirían

siendo los siguientes:

Alta necesidad de mejora en la implementación de instrumentos de campo

que permitan atender la actualización continúa en el Laboratorio de

Instrumentación y Control de Proceso.

La inexperiencia practica en el uso de un dispositivo de registro de datos por

parte del ingeniero egresado en esta área, ya que para el momento, no existe

un dispositivo capaz de realizar el registro de datos de manera autónoma en

el laboratorio.

Registro de datos de manera manual, situación que apremia la necesidad de

invertir tiempo, estudiantes y personal docente para realizar dicha labor.

Por lo tanto, la implementación de un dispositivo de registro de datos de manera

autónoma con comunicación USB proporciona una alternativa viable, atendiendo a la

necesidad de utilizar un equipo electrónico como herramientas de monitoreo aplicado en

un proceso industrial a escala.

Esto facilita el proceso registro de datos para todas aquellas señales eléctricas

provenientes de dispositivos de campo, ya que se realizará de manera automática y

confiable, utilizando un dispositivo electrónico que está constituido de componentes de

fácil alcance en el mercado.

Se puede decir que la implementación de este equipo traerá a la luz los siguientes

beneficios:

Page 21: DatalabUC - Modulo de Registro de Datos

21

Adquisición y registro de datos automatizado, lo cual no hará necesario la presencia

permanente por parte de los estudiantes en el proceso de recolección de datos.

Facilidad en la visualización de los datos obtenidos por el equipo, ya que es

presentado de manera clara bajo un entorno (software) amigable destinado para

dicha labor.

Disminución en el tiempo por parte del estudiante cursante de la materia y personal

docente para la adquisición y el registro de datos.

Disminución en el error sistemático de los datos registrados.

Aumento de nuevas ideas y aplicaciones en futuros desarrollos dentro y fuera del

laboratorio, debido a que el estudiante está familiarizado con los componentes

electrónicos que constituyen el equipo, ya que conforman tema de estudio en

asignaturas vistas en el área digital dentro de la escuela.

El equipo posee características que posibilitan su utilización en el campo industrial,

esto contribuye al desarrollo de dispositivos dedicados aplicados dentro y fuera de

la Universidad.

Evitará que la Universidad de Carabobo invierta recursos económicos en la

adquisición de un dispositivo comercial de mencionada índole para fines didácticos,

dándole más valor y uso a los dispositivos propios desarrollados dentro de la casa

de estudio.

1.3 Objetivos

1.3.1 Objetivo generales

Desarrollar un módulo de almacenamiento masivo de datos, para señales

analógicas de campo con capacidad de comunicación USB para el Laboratorio de

Instrumentación y Control de Procesos.

Page 22: DatalabUC - Modulo de Registro de Datos

22

1.3.2 Objetivos específicos

Identificar las características técnicas y prestaciones de algunos sistemas de

registros de datos disponibles comercialmente.

Describir el funcionamiento, características y limitaciones del sistema de registro

de datos del equipo a implementar.

Diagramar el sistema de almacenamiento masivo para la construcción del hardware,

considerando el instrumental de los procesos instalados en el laboratorio.

Crear una interfaz para el módulo de almacenamiento masivo para ser usado en un

computador capaz de configurar la operación del prototipo, descargar y visualizar

los datos almacenados por él.

Ejecutar una serie de pruebas operativas y de calibración para verificar el correcto

funcionamiento del sistema y el protocolo de comunicación bidireccional entre el

dispositivo y la aplicación.

1.4 Alcance

El alcance de la elaboración de este trabajo especial de grado contempló, el

desarrollo de un módulo diseñado para el registro de datos con capacidad de

almacenamiento masivo de señales analógicas de control, considerando los procesos

instalados en el Laboratorio de Instrumentación y Control de Procesos de la Escuela de

Eléctrica de la Universidad de Carabobo de manera que se puedan adaptar y monitorear

dichas plantas.

El diseño del hardware se concibió de tal manera que dos de sus cuatro entradas al

dispositivo las señales de corrientes respeten el estándar americano ISA-S50.1. [4]

Además de una entrada de voltaje que manejará niveles de entre 0 a 5 V y la entrada

restante en la cual se puede medir valores adquiridos por un sensor de temperatura

(termopar) tipo K.

Page 23: DatalabUC - Modulo de Registro de Datos

23

Este dispositivo contempló la elaboración de dos placas de circuitos impresos con

la colocación de todos sus componentes electrónicos necesarios para su correcto

funcionamiento, estas tarjetas, están dispuestas de tal manera que en una se ubicó todo lo

correspondiente a los dispositivos encargados de la digitalización de la señal, estos fueron

los conversores analógicos-digital, además de su respectiva electrónica analógica la cual

actuó de filtro pasa bajo para eliminar el ruido de las señales que ingresen al aparato y un

dispositivo de junta de referencia compensada que actúa como linealizador de la señal del

termopar tipo K conectado al dispositivo de registro.

La segunda tarjeta posee la electrónica digital restante del equipo, en ella se aprecia

el microcontrolador y los dispositivos periféricos que actúan a través de él, entre ellos se

observan el conector de alimentación jack al equipo, el conector USB con el que se puede

comunicar con la computadora que posea la aplicación, pulsadores para que el usuario

realice todas sus configuraciones y tareas, indicadores luminoso, pantalla alfanumérica de

2x16 caracteres, memoria externa y el reloj de tiempo real.

Se incluye un manual del equipo donde se explica de manera clara y sencilla las

distintas etapas que conforman, diagramas de conexión, pruebas operativas y sugerencias

en caso de fallas.

El dispositivo de almacenamiento masivo cuenta con una interfaz gráfica para el

usuario, donde se mostraran los históricos tanto alfanuméricamente, como de manera

gráfica, de las señales registradas por el dispositivo.

A continuación se explica mediante un diagrama de bloque, la estructura del equipo

desarrollado. En el diagrama mostrado en la Figura 1.1se observa de manera resumida todo

lo correspondiente a la función del módulo desarrollado. Obsérvese que el hardware está

conformado por un microcontrolador, el que actúa como unidad de procesamiento central

Page 24: DatalabUC - Modulo de Registro de Datos

24

de toda la funcionalidad del proceso de adquisición y registro de datos, enviando y

recibiendo información de todos los dispositivos periféricos que tiene a su alrededor.

Figura 1.1: Diagrama de bloque del equipo desarrollado.

Este dispositivo tiene la opción de conectarse de tal manera para que realice el

registro de datos de las señales de corriente en un rango de 4-20 mA, 0-5 V y medición de

temperatura, procedente de las señales del laboratorio, realizando el debido registro de cada

una de ellas. El proceso realiza el hardware, descrito de forma secuencial, se muestra a

continuación:

1. Adquisición y acondicionamiento de la señal analógica de control.

2. Digitalización por medio del bloque de conversión analógico-digital.

3. Adquisición de los valores de temperatura y tiempo de los bloque respectivos.

4. Registro de toda la información adquirida en el bloque de memoria (esto incluye la

lectura del reloj de tiempo real).

Page 25: DatalabUC - Modulo de Registro de Datos

25

5. Envió de los registros a través de la comunicación USB a la computadora (si está

habilitado).

En la interfaz del usuario (software) presentado en la ¡Error! No se encuentra el

origen de la referencia. de la página¡Error! Marcador no definido., posee funciones

como:

1. Visualización todos los datos procedentes del dispositivo físico (Hardware) de

manera gráfica y numérica.

2. Configuración de la frecuencia de muestreo del dispositivo.

3. Programación de misiones para programar el dispositivo en cuanto al inicio y fin del

registro de una determinada adquisición.

4. Sincronizar el reloj del dispositivo con la fecha y hora del computador.

5. Eliminar los datos almacenados en la memoria del módulo físico.

6. Iniciar o detener la adquisición y registro de datos.

Page 26: DatalabUC - Modulo de Registro de Datos

26

CAPÍTULO II

2.1 Antecedentes del problema

El proyecto previo a la obtención del título de ingeniero en electrónica e

instrumentación del Br. Rivera Fárez Jorge Luis de la Escuela Politécnica del

Ejército, sede Latacunga - Ecuador, en Septiembre del 2010, referente al“Diseño e

implementación de un módulo Datalogger para el registros de datos obtenidos de

variables analógicas y/o digitales mediante el módulo USB del PIC18F2550 y el

software Labview para comunicación con un PC”, muestra como objetivo

principal el diseño de un módulo de registro de datos, con una interfaz visual

realizada en Labview a través de una comunicación vía USB 2.0, permite

monitorear en tiempo real dos entradas analógicas y cuatro entradas digitales,

además que permite cambiar el tiempo en que el módulo pueda tomar las muestras

de dichas señales hasta un máximo de 24 horas entre toma y toma, los datos son

descargados y guardados en la PC en un archivo “.xls”que tendrá el nombre

definido por el usuario.

Así como en este trabajo de grado, Este proyecto presenta un enfoque similar en

cuanto al uso un microcontrolador PIC, además se extrajo la idea de incluirle una interfaz

visual en el computador con una comunicación entre ellos vía USB 2.0 para el monitoreo a

tiempo real de datos dándole al equipo un doble funcionamiento, el registro de los datos de

manera autónoma (objetivo principal del proyecto) así como el registro y monitoreo a

tiempo real con la computadora, constituyendo a este equipo, como una potente

herramienta a graficación.

El proyecto previo a la obtención del título de ingeniero en electrónica e

instrumentación de la Br. Amparo Meythaler Naranjo de la Escuela Politécnica del

Page 27: DatalabUC - Modulo de Registro de Datos

27

Ejército, sede Latacunga - Ecuador, en Agosto del 2005 referente a un “Diseño e

implementación de un sistema de adquisición de datos para instrumentación

virtual utilizando un microcontrolador PIC”, cuyo objetivo es realizar un diseño e

implementación de una tarjeta de adquisición de datos que pueda recibir datos

analógicos y que sea controlada por un software diferente a los tradicionales, la

adquisición de datos por puerto serial, cuyo argumento se basó en que es una

situación de un proceso real, se ejemplifica el trabajo en el protocolo de

comunicación, utilizando el código ASCII en la estandarización de la

comunicación entre el microcontrolador y el computador.

Este trabajo apalanco el planteamiento del hardware basado en microcontroladores

PIC en cuanto al enfoque que le dieron en el direccionamiento que debe existir entre los

dispositivos maestro-esclavo, como es el protocolo utilizado, la recepción de los datos en la

aplicación a través de la computadora.

El proyecto previo a la obtención del título de ingeniero en electrónica e

instrumentación del Br. William Patricio Tigse Bravo, de la Escuela Politécnica del

Ejército, sede Latacunga - Ecuador, en Junio del 2010 referente al “Diseño e

implementación de un módulo Datalogger enlazados con una red Zigbee, para

registro de datos de variables ambientales”, en el cual su objetivo principal fue el

de desarrollar un prototipo para el adquisición y almacenamiento de datos

utilizando tecnología Zigbee que es un protocolo inalámbrico.

En este sentido, se menciona el aporte que realizó este proyecto a la investigación

que se llevó a cabo, ya que, en este trabajo se encuentra de mucho interés, el enfoque que le

dan al momento de explicar la manera como se especifica como fue el proceso de

construcción des prototipo de manera artesanal, que fue la manera como se realizó en este

proyecto.

Page 28: DatalabUC - Modulo de Registro de Datos

28

Melillo S. Katiuska A. y Ramírez Q. Carlos E. cuyo trabajo fue titulado

“Desarrollo de un sistema de adquisición de datos vía internet utilizando

microcontroladores”. Fue un proyecto de grado para optar al título de Ingeniero

Electricista para la Universidad de Carabobo, Valencia Edo. Carabobo Venezuela.

Sistema de adquisición de datos que brinda al estudiante una herramienta que

combina hardware y software, en donde se permite la observación a tiempo real las

señales del Laboratorio de Instrumentación y Control de Proceso, utiliza un

servidor web embebido para él envió de entradas y salidas de la tarjeta de señales

analógicas y digitales a la computadora a través de un protocolo TCP/IP, pudiendo

monitorear dichas señales de manera gráfica bajo un entorno JAVA.

En este proyecto, se tomó en cuenta la metodología usada para el protocolo de

comunicación entre el microcontrolador y el computador, ya que se especifica claramente

un flujo de correspondencia en la recepción y transmisión de los datos, también el orden en

como vienen estos y la manera en cómo estos paquetes de datos se desglosa e interpretan.

También sirvió de utilidad el diseño de la interfaz gráfica en la que los autores controlan y

monitorean (que es el interés de este proyecto) las variables de estudio.

2.2 Marco teórico

En esta sección del capítulo se pretende resaltar, todos aquellos conceptos y

fundamentos necesarios que se utilizaron para comprender y aplicar el sistema de registro

de datos, esto abarca su definición, conocimiento básicos que se deben tener con el

microcontrolador PIC y los módulos periféricos del hardware, necesarios para la ejecución

de dicha tarea.

También se hace énfasis en el lenguaje de programación PROTON IDE, en el cual

se realizó la programación del microcontrolador PIC para realizar sus labores de

Page 29: DatalabUC - Modulo de Registro de Datos

29

recolección de datos, además del uso del software de Visual Studio para la creación de la

interfaz visual.

2.2.1 Sistema de adquisición de datos

Fundamento

Un sistema de adquisición de datos es un equipo que permite tomar señales físicas

del entorno y convertirlas en datos que posteriormente se procesan y presentan. A veces el

sistema de adquisición es parte de un sistema de control, y por tanto la información recibida

se procesa para obtener una serie de señales de control. [5]

En la figura mostrada a continuación (Figura 2.1) se observa la estructura en

bloques fundamental que debe existir en un sistema de adquisición de datos, se aprecia

como primeramente la señal analógica pasa por una etapa en la cual ocurre una

transducción de esta, luego pasa al acondicionamiento de señales para finalmente entrar en

la etapa de conversión analógica-digital que emite la señal de salida digitalizada. A

continuación se describe en detalle la funcionalidad de cada uno de estos bloques.

Figura 2.1: Estructura de un sistema de adquisición de datos.

Page 30: DatalabUC - Modulo de Registro de Datos

30

Transductor

Es un elemento que convierte la magnitud física en una señal de salida

(normalmente tensión o corriente), la cual, puede ser procesada por el sistema. Salvo que la

señal de entrada sea eléctrica, se dice que el transductor es un elemento que convierte

energía de un tipo en otro. Por tanto, el transductor debe tomar poca energía del sistema

bajo observación, para no alterar la medida. [5]

Acondicionamiento de la señal

Es la etapa encargada de filtrar y adaptar la señal proveniente del transductor a la

entrada del convertidor analógico-digital. Esta adaptación suele ser doble y se encarga de

adaptar el rango de salida del transductor al rango de entrada del convertidor (normalmente

en tensión) y acoplar la impedancia de salida de uno con la impedancia de entrada del otro.

La adaptación entre los rangos de salida y de entrada del convertidor tiene como

objetivo el aprovechar el margen dinámico de este, de modo que, su máxima señal de

entrada debe coincidir con la máxima del rango de tensión admisible, y además un rango

permisible de tolerancia adicional que forma parte de la protección que el convertidor lleva

integrada.

Por otro lado, la adaptación de impedancias es imprescindible ya que los

transductores presentan una salida de alta impedancia, que normalmente no puede excitar la

entrada de un convertidor analógico digital, cuya impedancia típica suele estar entre 1 y 10

k. [5]

Page 31: DatalabUC - Modulo de Registro de Datos

31

Conversión A/D

Es un sistema que presenta en su salida una señal digital a partir de una señal

analógica de entrada, (normalmente de tensión) realizando las funciones de cuantificación y

codificación.

La cuantificación implica la división del rango continuo de entrada en una serie de

pasos, de modo que para infinitos valores de la entrada la salida sólo puede presentar una

serie determinada de valores. Por tanto la cuantificación implica una pérdida de

información que se puede olvidar. [5]

La codificación es el paso por el cual la señal digital se ofrece según un determinado

código binario, de modo que las etapas posteriores al convertidor puedan leer estos datos

adecuadamente. Este paso hay que tenerlo siempre en cuenta, ya que puede hacer que

obtengamos datos erróneos, sobre todo cuando el sistema admite señales positivas y

negativas con respecto a la referencia tierra, momento en el cual la salida binaria del

convertidor da tanto la magnitud como el signo de la tensión que ha sido medida. [5]

La etapa de salida es el conjunto de elementos que permiten conectar el sistema de

adquisición de datos con el resto del equipo, y puede ser desde una serie de buffers digitales

incluidos en el circuito convertidor, hasta un interfaz RS 232, RS 485, USB 2.0 o Ethernet

para conectar a un computador o estación de trabajo, en el caso de sistemas de adquisición

de datos comerciales.

Page 32: DatalabUC - Modulo de Registro de Datos

32

2.2.2 Sistema de registro de datos (Datalogger)

Fundamento

Es una unidad la cual está conformada por dispositivos electrónicos debidamente

configurados para ser capaz de obtener mediciones de magnitudes diversas señales de

manera ordenada en el tiempo. [6, 7]

La adquisición de datos puede realizarse desde diversas fuentes de información

como sensores, termómetros digitales, detectores de humedad, entre otros, o puede también

que sean equipos de transmisión en el cual las señales vengan acondicionadas a señales

eléctricas (corriente o tensión). [6]

Dichos datos pasan por un proceso de registro en una memoria conjuntamente con

los datos de fecha y hora a la cual fueron tomados. Luego, los datos pueden ser estudiados

en forma textual, estadística o gráficamente, posee un campo de aplicación ilimitado en

procesos de monitoreo de variables, ya sea en el ámbito industrial, doméstico o como

ensayo de laboratorio a nivel educacional.

Casi todos los sistemas de registradores de datos digitales están basados en

microcontroladores. Por lo general son pequeños, con batería propia que suministra la

energía a los componentes del dispositivo, memoria interna para almacenamiento de datos

y sensores.

Algunos registradores de datos se comunican con un computador y utilizan software

específico para activar el registrador de datos, ver y monitorear los datos recogidos,

mientras que otros tienen un dispositivo de interfaz local (teclado, pantalla LCD) y puede

ser utilizado como un dispositivo independiente. A modo de ilustración se mencionan

algunos dispositivos actualmente comerciales con lo cual se busca presentar una idea de las

bondades de este tipo de dispositivos en la Tabla 2.1. [7]

Page 33: DatalabUC - Modulo de Registro de Datos

33

Tabla 2.1: Dispositivos comerciales de registro de datos

Figura Marca Modelo Descripción Características Precio Fuente

LogicBus LGR-5320

Registrador de datos

de alta velocidad

para señales

analógicas y

digitales

- Soporta hasta 200 kS /s de muestreo de datos

- Cuenta con 16 entradas analógicas de hasta ± 30 V

- 16-bits de resolución

- 16 entradas digitales industriales de hasta 30

V - Cuenta con una salida de relay (tipo C)

configurable

- 4 entradas de contador

- Conexiones con terminales a tornillo - Incluye tarjeta de memoria SD de 4 GB,

soporta hasta 32 GB

- Controles con botón pulsador

$1,499.00

LGR 5320 Series, Stand

Alone, High Speed,

Multifunction Datalogger.

Datasheet

Monarch QuadTemp

Registrador de 4

canales de

termocuplas tipo J,

K, T, E, R, B, S, N

- Compensación automática

- 4 Entradas configuradas para Termocuplas

- Almacenamiento hasta 26.214 datos

- Tiempo de inicio programable

- Fácil de configurar - Comunicación USB

- Permite almacenar datos para su posterior

descarga

- Cuenta con interfaz de visualización

$ 599.00

DataChart QuadTemp4

Channel Thermocouple Based

Temperature

Data Logger. Datasheet

Extech RH520A Registrador

autónomo de

temperatura

- Rango de temperatura de -28 a 60 ºC

- Rango de humedad 10 a 95%

- Almacena 49.000 datos para descargar en el

computador - Posee una alarma visual y audible para set

point alto y bajo

- Módulo de salida opcional para SSR( relay

de estado sólido)

$299.99 http://www.termocuplas.com

SuperLogics WL-USB-1 Registrador de

temperatura

- Registrador de temperatura - Modo de descarga vía USB

- Incluye software de configuración

- Posee 2 alarmas configurables

- Indicadores lumínicos para verificar el

estado del Datalogger

$59.95 http://www.superlogics.com

Page 34: DatalabUC - Modulo de Registro de Datos

34

Como se aprecia en la Figura 2.2el concepto explicado en la sección se esquematiza

de manera resumida de como es el proceso de adquisición del Datalogger. Para empezar, la

señal analógica ingresa al módulo de conversión A/D, dispositivo esclavo que ante la orden

del maestro (microcontrolador) le envía la señal digitalizada que está leyendo para ese

momento.

Figura 2.2: Esquema básico de un Datalogger.

Una vez realizada esta labor, el maestro vuelve a ordenar, pero esta vez al módulo

que mantiene los datos de fecha y hora del dispositivo para que le envíe esos datos. Seguido

de esta tarea, se podría decir que el microcontrolador posee la cadena de datos que contiene

todo lo referente a la señal (magnitudes, fecha y hora a la cual fue adquirida) entonces,

realiza la tarea de almacenamiento en el dispositivo de almacenamiento masivo.

Si está conectado a la computadora (en caso de tener software como una aplicación)

envía por un buffer de datos la información que será procesado por dicha aplicación y

mostrada en pantalla de manera gráfica y/o numérica, y así dependiendo de su

configuración hará esta tarea cíclicamente hasta que el operador o la programación

establecida lo hayan permitido.

Page 35: DatalabUC - Modulo de Registro de Datos

35

2.2.3 El microcontrolador PIC18F4550

En esta sección se describen algunas características resaltantes del microcontrolador

PIC18F4550 utilizado como unidad de procesamiento central del sistema de adquisición y

registro de datos usados en esta investigación.

Los microcontroladores PIC (Peripheral interface Controller), son fabricados por la

empresa MICROCHIP Technology INC. cuya central se encuentra en Chandler, Arizona,

esta empresa ocupa el primer lugar en venta de microcontroladores de 8 bits desde el año

2002. Su gran éxito se debe a la gran variedad (más de 180 modelos), gran versatilidad,

gran velocidad, bajo costo, bajo consumo de potencia, y gran disponibilidad de

herramientas para su programación. [8]

- Arquitectura del PIC18F4550

Posee una amplia cantidad de puertos, permitiendo el uso de todos los dispositivos

periféricos que se necesitan para cumplir con el objetivo.

Tiene un módulo de conversión analógico-digital cuya resolución es de 10-bits,

aceptables en implementaciones donde no se requiera un alto grado de resolución. [9]

Tiene un módulo USB con el cual se realizó la conexión con el computador para que,

con la interfaz, gestión y monitoreo los datos que se reciban.

Page 36: DatalabUC - Modulo de Registro de Datos

36

En la Tabla 2.2se muestra las características más resaltantes de este modelo en

particular.

Tabla 2.2: Características del dispositivo. Fuente: Microchip, PIC18F2455/2550/4455/4550 Data Sheet.

Características PIC18F4550

Frecuencia de operación DC – 48 MHz

Memoria del programa (Bytes) 32768

Memoria del programa (Instrucciones) 16384

Memoria de datos (Bytes) 2048

Memoria de datos EEPROM (Bytes) 256

Fuentes de interrupciones 20

Puertos de E/S Puertos A, B, C, D, E

Temporizadores 4

Captura/Compara/MÓDULO PWM 1

Captura mejorada/Compara/MÓDULO

PWM 1

Comunicación serial MSSP, USART mejorado

MÓDULO USB 1

Puerto paralelo (SPP) Si

Módulo de conversión A/D 10-bits 13 entradas (Canales)

Comparadores 2

Reset (y Delays)

POR, BOR, RESET

Instrucciones, Stack Full, Stack

Underflow, (PWRT, OST),

MCLR (opcional),

WDT

Detección programable de bajo voltaje Si

Programación Brown-outReset Si

Set de instrucciones

75 Instrucciones

Set de 83 instrucciones

habilitadas

Paquete

40 – terminal PDIP

44 – terminal QFN

44 - terminal QFP

Page 37: DatalabUC - Modulo de Registro de Datos

37

2.2.4 Manejo de la pantalla LCD

La pantalla de cristal líquido o LCD (Liquid Crystal Display) es un dispositivo

controlado por un microcontrolador de visualización grafica utilizado de caracteres

simbólicos o incluso dibujos. Para este caso se muestra una pantalla de dos filas de 16

caracteres cada fila (se habla entonces de una pantalla LCD de 2x16) donde cada caracteres

dispone de una matriz de 5x7 pixeles. [10]

Este dispositivo está gobernado internamente por un microcontrolador que regula

todos los parámetros de presentación. Las principales características de la LCD son las

mostradas a continuación:

o Pantalla de caracteres ASCII, además de los caracteres Kanji y griegos.

o Desplazamiento de los caracteres hacia la izquierda o a la derecha.

o Proporciona la dirección de la posición absoluta o relativa de los caracteres que se

impriman en él.

o Memoria de cuarenta caracteres por línea de pantalla.

o Permite que el usuario pueda grabar hasta 8 caracteres.

o Conexión de un procesador usando una interfaz de 4 u 8 bits.

La comunicación con la pantalla LCD se puede hacer por medio de sus terminales

de entrada con un bus de 8 bits. [10]

En la tabla anexa (Tabla 2.3) se muestra la descripción y símbolo de cada uno de los

terminales de la pantalla de cristal líquido mostrada en la¡Error! No se encuentra el origen de

la referencia..

Page 38: DatalabUC - Modulo de Registro de Datos

38

Tabla 2.3: Descripción de los terminales de la LCD. Fuente: Proyecto de grado del Br. Morillo Gregorio José [10].

Figura 2.3: Esquema de conexión de la pantalla LCD al PIC18F4550.

Fuente: Architecture and programming of 8051 MCU's.

En la ¡Error! No se encuentra el origen de la referencia.se aprecia la manera de cómo

se conectara la pantalla LCD con el PIC18F4550. Aclarando que la conexión establecida

para el microcontrolador corres-pondrá en el puerto D del mismo.

Terminal

N° Símbolo Descripción

1 Vss Tierra de alimentación GND

2 Vdd Alimentación de +5V

3 Vo Contraste del cristal líquido (0 a +5V)

4 RS

Selección del registro de control/registro de datos:

RS = 0 Selección registro de control

RS = 1 Selección registro de datos

5 R/W

Señales de lectura/escritura

R/W = 0 Escritura

R/W = 1 Lectura

6 E

Habilitación del MÓDULO

E = 0 MÓDULO deshabilitado

E = 1 MÓDULO habilitado

7-14 D0-D7 Bus de datos bidireccional

Page 39: DatalabUC - Modulo de Registro de Datos

39

2.2.4 Reloj de tiempo real (RTC) el DS1307

Características

o 56 – byte de memoria EEPROM, detección de consumo por batería (estado de bajo

consumo).

o Comunicación I2C.

o Dispositivo programable.

o Detección automática de fuente de consumo (en el caso de que sea por la fuente

principal del circuito o por la batería).

o Consumo de 500 nA en modo de bajo consumo.

o Rango de temperatura industrial -40°C a +85°C.

o Disponible en 8-terminal DIP o SOIC.

Descripción

El DS1307 es un reloj de tiempo real de bajo consumo, cuyo formato hora y fecha

esta expresado en código BCD. La dirección y los datos que contienen son transferidos vía

serial I2C (véase página 58). La información de la hora y fecha viene expresadas en la

siguiente forma, segundos, minutos, horas, días, mes y año, ajustándose automáticamente

los meses al llegar al final de los días del mes anterior, de igual manera, pasa con la

información del año. [11]

El reloj puede operar en formato de 24 horas o 12 horas con un indicador de

AM/PM, además que el dispositivo posee un circuito sensor que detecta automáticamente

la falta de fuente externa y pasa al modo de bajo consumo con la batería que se le

suministra al circuito (batería de +3V).

Page 40: DatalabUC - Modulo de Registro de Datos

40

En la ¡Error! No se encuentra el origen de la referencia.se puede apreciar la

distribución de cómo están organizados los terminales del RTC DS1307, a continuación se

mencionara la labor de cada uno de estos terminales:

o Vcc fuente principal de poder.

o X1, X2 terminales de conexión del cristal (32.768 KHz).

o Vbat entrada de la batería de +3V.

o SDA datos seriales.

o SCL señal de reloj

o SQW/OUT señal cuadrada.

Terminales asignados

Figura 2.4: Asignación de los terminales del RTC DS1307.

Fuente: DS1307 64x8 Serial Real-Time Clock Data Sheet.

Conexión con el PIC18F4550

Como se observa en laFigura 2.5, la típica conexión usada para el RTC DS1307

con el microcontrolador es de esta manera, acotando que es de suma importancia para la

comunicación con el dispositivo, la ubicación de las resistencias de pull-up que se

Page 41: DatalabUC - Modulo de Registro de Datos

41

encuentran ubicadas en las líneas SDA, SCL y SQW/OUT (comúnmente se utilizan de 4.7

KOhm), aunque en la práctica, basta con conectar las líneas SDA y SCL para el

funcionamiento correcto del DS1307.

Figura 2.5: Conexión del RTC DS1307 al PIC18F4550

Fuente: DS1307 64x8 Serial Real-Time Clock Data Sheet.

Transferencia de datos en el BUS.

En la figura anexada (¡Error! No se encuentra el origen de la referencia.) se observa

cómo cada transferencia de datos inicia con una condición de START y termina con una

condición de STOP, necesarios en toda comunicación I2C donde, el número de datos

transmitido entre estas dos condiciones no está limitado, solo siendo determinado por el

dispositivo maestro. [11]

Cada información transferida (en bloques de bytes) siempre estará acompañada de

un bit de refrescamiento llamado “ACKNOWLEDGES” pudiendo generarse

automáticamente por el dispositivo esclavo o como el caso de este dispositivo, para el

modo de lectura, manual por el maestro. [11]

Page 42: DatalabUC - Modulo de Registro de Datos

42

Figura 2.6: Transferencia de datos en el BUS.

Fuente: DS1307 64x8 Serial Real-Time Clock Data Sheet.

En esta ocasión se tendrá dos tipos de transferencias que dependerán del estado del

bit de lectura y escritura R/W del dispositivo.

1. Transferencia de datos desde el maestro hacia el esclavo.

2. Transferencia de datos desde el esclavo hacia el maestro.

Vale destacar que el dispositivo maestro genera la señal de reloj con la finalidad de

sincronizar al dispositivo esclavo con él y que además el RTC DS1307 puede operar en los

siguientes modos. [11]

1. Modo de escritura:

Figura 2.7: Modo de escritura del dispositivo RTC DS1307.

Fuente: DS1307 64x8 Serial Real-Time Clock Data Sheet.

Page 43: DatalabUC - Modulo de Registro de Datos

43

Como se observa en la¡Error! No se encuentra el origen de la referencia., los

datos y la señal de reloj son recibidos a través de los terminales SDA y SCL

respectivamente, después de cada byte recibido, se transmite un bit de

reconocimiento. Las condiciones de START y STOP organizan el comienzo y final

de la transmisión entre ambos dispositivos.

Primeramente, para cada reconexión entre los dispositivos, es necesario la

transmisión del byte de dirección para que el dispositivo esclavo sepa que se están

dirigiendo a él en la comunicación (ver ¡Error! No se encuentra el origen de la

referencia.esta dirección contiene los 7 bits de reconocimientos del esclavo luego el

bit de R/W (para la escritura, es un 0 lógico), después de este byte, el bit de

reconocimiento “ACKNOWLEDGES” seguida de la dirección del registro al cual el

maestro pretende escribir.

Nuevamente un bit de reconocimiento es transmitido por el dispositivo

esclavo para dar paso a la transmisión de los bytes de cada uno de los datos que se

desean transmitir, finalmente la condición de STOP de da final a la transmisión. [11]

Vale la pena destacar que para el caso de este dispositivo, los bits de

condiciones START y STOP además del bit de reconocimiento son totalmente

transparentes para la programación en BASIC que se realizó.

Solo fue necesaria la dirección del dispositivo con el cual se sostuvo la

comunicación, la dirección de memoria a la que se accede y los datos que se

transmitirán al dispositivo esclavo para su funcionamiento.

2. Modo de lectura:

Page 44: DatalabUC - Modulo de Registro de Datos

44

En este caso como se observa en la ¡Error! No se encuentra el origen de la referencia.la

forma de comunicarse con el dispositivo esclavo es exactamente igual a la vista en el

modo de escritura (ver Figura) con la diferencia que luego de los 7 bits de dirección del

dispositivo el siguiente bit cambio de ser 0 en el caso de ser escritura a ser 1 (modo de

lectura), acá no se direcciona hacia el registro de memoria al cual se pretende acceder,

el dispositivo, de manera automática envía los byte de datos correspondientes de la hora

y fecha dados por el orden mostrado en la Figura.

Figura 2.8: Modo de lectura del dispositivo RTC DS1307.

Fuente: DS1307 64x8 Serial Real-Time Clock Data Sheet.

Vale la pena mencionar que el orden en que los datos son recibidos desde esclavo

hasta el dispositivo maestro, es en el orden en que serán escritos en el modo de lectura

luego de apuntar a la dirección correspondiente de su ubicación.

Page 45: DatalabUC - Modulo de Registro de Datos

45

Figura 2.9: Orden de transferencia de datos del dispositivo RTC DS1307.

Fuente: DS1307 64x8 Serial Real-Time Clock Data Sheet.

Page 46: DatalabUC - Modulo de Registro de Datos

46

2.2.5 Módulo de conversión A/D el ADS1113

Es un dispositivo de la Texas Instruments, entre cuyas características más

destacables es su alta precisión a la hora de realizar conversiones analógicas-digitales,

posee una resolución de 16 bits y viene en un pequeño empaque MSOP-10. [12]

Su rango de conversión no depende del voltaje de referencia que se le suministre, ya

que, es programado por software, evitado cambios en la salida del conversor por causa de

fluctuaciones en dicho voltaje de referencia, además, se comunica bajo la comunicación

síncrona I2C con un rango de operación desde los 2.7 V a los 5.5 V. [12]

Uno de los atributos más resaltantes es la máxima cantidad de muestreos por

segundos que posee este dispositivo, el cual llega a ser hasta las 860 muestra manteniendo

la resolución fija en 16 bits, también, tiene un amplificador de ganancia programable (PGA

siglas en inglés) que ofrece una ganancia de hasta 16 veces el valor original de la señal, en

la ¡Error! No se encuentra el origen de la referencia.se observa un esquema de operación del

ADS1113.

Figura 2.10: Esquema de Operación del ADS1113.

Fuente: Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER Data Sheet.

Page 47: DatalabUC - Modulo de Registro de Datos

47

En la ¡Error! No se encuentra el origen de la referencia.se muestra la vista real de

configuración de los terminales del dispositivo.

Figura 2.11: Esquema de configuración de terminales del ADS1113.

Fuente: Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER Data Sheet.

La conversión ADS1113 consiste en un tipo de conversión Delta-Sigma, ajuste de

ganancia como se mencionó anteriormente, generador de señal de reloj y una interfaz I2C

para su comunicación.

A continuación, se definirá brevemente la teoría correspondiente a las características

mencionadas del dispositivo.

Conversión analógica-digital

La conversión del ADS1113 consiste en un capacitor de descarga diferencial, un

módulo Delta-Sigma seguido de un filtro digital. El módulo toma la media del voltaje

entre la entrada analógica y genera una comparación con el estado anterior, recreando a

través de flancos ascendentes y descendentes una seguidilla de la señal original, que

básicamente es el principio de la modulación Delta, luego de esto, el filtro digital recibe

la señal a alta velocidad de los unos (1) y ceros (0) generada por este, también llamado

bitstream (que no es más que la seguidilla de cambios de estados de la señal), del

Page 48: DatalabUC - Modulo de Registro de Datos

48

modulador de señal digital, esta es procesada por el filtro y finalmente genera el código

de salida digital que es proporcional a la entrada de voltaje.

En la ¡Error! No se encuentra el origen de la referencia. anexa, se observa la respuesta

en frecuencia del filtro digital del ADS1113, observando que este dispositivo por

tratarse de conversiones analógicas-digitales a través de un módulo Delta-Sigma,

trabaja con señales analógicas de entradas de baja frecuencia. Dado que una de las

características del estos conversores es en los tiempos de conversión, ya que cumplen

esta labor en lapsos relativamente lentos, a pesar de esto y como bien se sabe, en la

aplicación se buscó que el registrador de datos posea una rata de muestreo mayor a 4

muestras por segundos, debido a la rutina realizada por software y todas las actividades

estimadas para él hardware, por lo tanto, será suficiente para alcanzar el objetivo en que

se quiso poner en funcionamiento el dispositivo Datalogger.

Figura 2.12: Respuesta en frecuencia del ADS1113.

Fuente: Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER Data Sheet

Page 49: DatalabUC - Modulo de Registro de Datos

49

Escritura/Lectura del registro del ADS1113

Para el acceder a un registro especifico desde maestro al ADS1113, se debe realizar

primero una escritura del valor apropiado del vector de registro. Este vector de registro es

escrito directamente después de la dirección (en byte) del conversor, seguido del bit de

escritura o lectura (R/W), esto hará que el esclavo envié un bit de reconocimiento llamado

“ACKNOWLEDGES” el cual le indica al dispositivo maestro que fue recibido

satisfactoriamente el vector de registro.

Antes de cada lectura o escritura del ADS1113, se debe escribir previamente el

vector de registro que se quiere leer o escribir respectivamente.

El conversor ADS1300 posee cuatro (4) registros que son accesibles por el maestro

a través del protocolo I2C. El registro de conversión solo contiene la última conversión

realizada por el dispositivo. La configuración del registro permite que el usuario programe

el dispositivo maestro de forma tal que pueda cambiar el modo de operación del ADS1113

y además, pueda preguntar por el estatus del dispositivo esclavo. En la Tabla 2.4 se puede

observar las cuatros (4) combinaciones que se pueden realizar en el registro de la Tabla 2.

que apunta a los vectores de registros mostrados en la Tabla 2.5 y la Tabla 2.6.

Tabla 2.4: Configuración de los bits para acceder a los vectores de registro del ADS1113. Fuente: Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER Data Sheet.

Tabla 2.13: Vector del registro que apunta a los vectores de interese del ADS1113. Fuente: Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER Data Sheet.

Page 50: DatalabUC - Modulo de Registro de Datos

50

Tabla 2.5: Registro de conversión (Solo lectura). Fuente: Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER Data Sheet.

Tabla 2.6: Configuración de los registros (Escritura y lectura).

Fuente: Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER Data Sheet.

En la Tabla 2.7 se muestra el resumen bit a bit de la configuración de registro del

ADS1113 que corresponde con el tipo y velocidad de muestreo, entre otras configuraciones

de este dispositivo.

Lectura desde el ADS1113

Como bien se mencionó anteriormente, en la lectura del ADS1113 se puede acceder

tanto a los bits de configuración mostrados en la Tabla 2.7, como a los bits que conforman

el registro de la conversión realizada por el dispositivo.

Para realizar esta labor de lectura, se debe seguir la secuencia de comandos tal como

se muestra en la ¡Error! No se encuentra el origen de la referencia., la cual se explicara a

continuación.

Page 51: DatalabUC - Modulo de Registro de Datos

51

Tabla 2.7: Resumen bit a bit de la configuración registro del ADS1113. Fuente: Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER Data Sheet.

Page 52: DatalabUC - Modulo de Registro de Datos

52

Figura 2.13: Diagrama de la trama de bits en modo de lectura del ADS1113.

Fuente: Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER Data Sheet.

Como ya se ha mencionado en la sección del estudio del RTC, a pesar de que la

filosofía de la comunicación entre el dispositivo maestro y el dispositivo esclavo es la

misma que en el caso del DS1307, en esta clase de dispositivo los bits que condicionan la

comunicación STAR, STOP y el bit de reconocimiento “ACKNOWLEDGES”, tienen que

realizarse de forma más específica por el usuario que programe al dispositivo maestro, lo

que generaría una secuencia del programa un poco más extensa que en el caso del DS1307,

esto también es aplicado para el caso de escritura del dispositivo.

Page 53: DatalabUC - Modulo de Registro de Datos

53

Como se observa en la¡Error! No se encuentra el origen de la referencia.¡Error! No se

encuentra el origen de la referencia., la comunicación comienza con una condición de

START por parte del dispositivo maestro, seguido de los siete (7) bits de direccionamiento

del dispositivo esclavo (1 0 0 1 0 A1 A0) y el bit de R/W = 1 (para el caso de realizar la

lectura) obteniendo la trama 1 0 0 1 0 A1 A2 1, donde A1 y A2 es la dirección a nivel de

hardware que se haya dispuesto el dispositivo en la tarjeta del Datalogger.

Esto nos da a entender que solo se puede conectar cuatro (4) dispositivos de esta

clase, ya que:

Numero de dispositivos = 2n

Se tiene que n = 2 (ya que solo es A1 y A0), por lo que:

Numero de dispositivos = 22 = 4 dispositivos

Una vez enviada esta trama, el dispositivo esclavo envía al dispositivo maestro un

bit de reconocimiento “ACKNOWLEDGES”, nuevamente el maestro envía una trama de un

byte que no es más que el vector de registro que indica cuál de los registro se quiere leer, en

este punto, el maestro impone la condición de STOP del proceso que prepara al dispositivo

esclavo a enviar la trama de bytes que se desea leer.

Nuevamente se inicia la comunicación con el ADS1113 a través de la condición

START realizada por el maestro, responde el esclavo con un bit de reconocimiento

“ACKNOWLEDGES” para luego recibir un primer byte con los bits más significativos del

registro leído visto como (D15 D14 D13 D12 D11 D10 D9 D8), un bit ACKNOWLEDGES

de parte del maestro, que permite al dispositivo esclavo enviar los bits menos significativos

del registro (D7 D6 D5 D4 D3 D2 D1 D0), para finalizar con un bit ACKNOWLEDGES por

parte del dispositivo maestro y la condición STOP por el mismo que finaliza la

comunicación en modo de lectura.

Page 54: DatalabUC - Modulo de Registro de Datos

54

Escritura hacia el ADS1113

Para el modo de escritura, a pesar que es muy parecido al realizado en el modo de

lectura, la secuencia es más fácil de realizar, tal como se observa en la¡Error! No se

encuentra el origen de la referencia.4, se procede con una condición de START dada por el

maestro que da el inicio con la comunicación por I2C.

Se envía de igual manera la trama de la dirección correspondiente al dispositivo,

más el bit R/W = 0, quedando 1 0 0 1 0 A1 A0 0, inmediatamente el dispositivo esclavo

responde con un ACKNOWLEDGES de reconocimiento y queda a la espera del envió de la

trama el vector que apunta al registro el cual se quiere escribir.

Una vez enviado este byte, por parte del dispositivo maestro, el esclavo responde

con un bit de reconocimiento “ACKNOWLEDGES”, en este momento el maestro envía el

byte más significativo del registro que desea configurar (D15 D14 D13 D12 D11 D10 D9

D8), espera un ACKNOWLEDGES por parte del dispositivo esclavo y luego envía la otra

trama de byte con los menos significativos (D7 D6 D5 D4 D3 D2 D1 D0), al realizar esta

operación, el esclavo responde con el ACKNOWLEDGES permitiendo al maestro terminar

la comunicación con la condición de STOP.

Page 55: DatalabUC - Modulo de Registro de Datos

55

Figura 2.14: Diagrama de la trama de bits en modo de escritura del ADS1113.

Fuente: Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER Data Sheet.

Conexionado del ADS1113

Figura 2.15: Diagrama de conexionado del ADS1113/14/15.

Fuente: Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER Data Sheet.

Como se aprecia en la Figura 2.15 conexión se lleva a cabo con un bus tipo usado

para la comunicación I2C, para este ejemplo ADDR = 0 por lo que la dirección adjunta

de este dispositivo vendrá determinada como 1 0 0 1 0 0 0 R/W.

Page 56: DatalabUC - Modulo de Registro de Datos

56

2.2.6 Memoria SD

Secure Digital (SD) es un formato de tarjeta de memoria inventado por Panasonic

[13]. Se utiliza en dispositivos portátiles como cámaras digitales, teléfonos móviles,

computadoras portátiles (laptop) entre otros equipos. Estas tarjetas vienen en distintas

dimensiones, tal como se observa en la ¡Error! No se encuentra el origen de la referencia..

Estas tarjetas son utilizadas como soporte de almacenamiento por los dispositivos

electrónicos portátiles que lo ameriten, poseen una alta capacidad de almacenamiento

llegando a ser de 32 GB para el 2008. [13]

Técnicamente todas las tarjetas SD necesitan soportar el antiguo modo SPI/MMC

que soporta la interfaz de serie de cuatro señales ligeramente más lenta (reloj, entrada

serial, salida serial y selección de chip), compatible con los puertos SPI de muchos

microcontroladores. [14]

Figura 2.16: Dimensiones de la memoria de almacenamiento masivo.

Fuente:http://es.wikipedia.org/wiki/Archivo:SD_Cards.svg

A través de la Figura 2.16anexa se muestra la manera de conexión de la memoria de

almacenamiento masivo con el microcontrolador, aclarando que, con dicha figura no se

pretende comprometer los terminales del microcontrolador como tal, sino dar la vista de la

distribución de los terminales de la memoria SD.

Se observa además la necesidad de implementar un regulador de voltaje que baje la

tensión a 3.3 V, en el caso ilustrado por la Figura 2.17 están trabajando con un LM3940,

Page 57: DatalabUC - Modulo de Registro de Datos

57

pero perfectamente podría utilizarse cualquier otro modelo que se adapte a las exigencias

ya vistas.

Figura 2.17: Esquema de conexión de la memoria SD con el PIC.

Fuente: Proton IDE, librería de uso de la memoria SD.

La distribución de las resistencias son un tema importante que destacar, a pesar de

que en la Figura 2.17, muestre una diferencia de casi el doble de su valor de las resistencias

que están en serie con los terminales del microcontrolador 1.5 KOhm con las que van a

masa 3.3 KOhm, perfectamente se pueden usar resistencias de igual valor y en un valor

hasta menor al mostrado en dicha figura, para el caso de la implementación, con unas

resistencias de valor igual a 3 KOhm perfectamente el circuito funciona, lo que sí es

importante destacar es la resistencia de pull-up el terminal DO de la memoria SD, ese valor

si se recomienda mantenerlo entre 1 a 10 KOhm.

Page 58: DatalabUC - Modulo de Registro de Datos

58

2.2.7 Módulo de conexión USB

Universal Serial Bus, es un bus de comunicación creado durante los años 90s (1995)

diseñado para interconectar de forma fácil, flexible y a alta velocidad dispositivos

periféricos a un computador. [15]

Entre los beneficios más destacados se tiene:

Fácil uso.

Velocidad adecuada para muchas aplicaciones.

Confiabilidad.

Bajo costo.

Flexibilidad.

Soporte en el sistema operativo.

Entre sus desventajas se tienen:

Necesidad de controladores en el sistema operativo para el reconocimiento del equipo.

Distancia limitada, menor a 5 metros, máximo de 30, con el uso de repetidores (Hub)

alimentados con fuentes externas.

Dependencia de un host que generalmente es un computador e imposibilidad de

comunicación entre dispositivos esclavos.

Protocolo de datos complejo que exige al desarrollador.

La creación de drivers para el dispositivo.

Para obtener la patente del equipo a fabricar con este Bus de comunicación el costo para

la obtención de los VID y PID son elevados.

Entre las especificaciones técnicas se tiene que:

Page 59: DatalabUC - Modulo de Registro de Datos

59

No requiere de recursos adicionales del hardware (del computador) por cada dispositivo

USB que se le añade al equipo, ya que todos utilizan una sola IRQ y un conjunto de

direcciones asignadas por el computador.

Los cables USB son polarizados y requieren de 4 a 5 conductores.

Se puede desconectar/conectar los dispositivos en caliente sin importar si el computador

o el periférico esta energizado o no.

En muchos casos no se requiere de fuente de alimentación externa ya que puede

suministrar +5V y hasta 500 mA. [13]

La interconexión física es una topología estrella.

En total, el USB 2.0 soporta tres tipos de velocidades:

1. Hi-Speed 480 Mbps.

2. Full-Speed 12 Mbps.

3. Low-Speed 1.5 Mbps.

Funciones del Host USB

El computador Host actúa como maestro del bus USB, entre sus funciones se

encuentran [15]:

1. Detectar los dispositivos mediante un proceso llamado enumeración, en la cual la PC

asigna una dirección y solicita la información necesaria de cada dispositivo.

2. Controla el flujo de datos, ya que, al existir múltiples dispositivos conectados en el bus,

varios de ellos querrán transmitir información al mismo tiempo, por lo que el Host

divide estos tiempos llamados frames y microframes y le da a cada transmisión una

porción de estos. El Host garantiza que la transferencia tenga los tiempos necesarios

dentro de cada frame, estos tiempos se establecen durante el proceso de enumeración.

Page 60: DatalabUC - Modulo de Registro de Datos

60

3. Control de errores, el Host añade bits de detección de errores en los datos transmitidos,

por lo que, los dispositivos al recibir los datos, comparan estos con los bits de detección

de errores y si los datos no son correctos, envían un reconocimiento.

4. Suministrar energía a los dispositivos USB e intercambiar datos con los periféricos, que

vendría siendo la función principal del Host, esto se puede llevar a cabo de forma

periódica o solo en respuestas a eventos en el software.

Proceso de Enumeración

Cuando un dispositivo se conecta al bus USB, el Host lo encuesta pidiéndole una

serie de descriptores, que como su nombre lo indican, describen sus características y le

asignan una dirección que se utilizara para identificarlo posteriormente. Luego de esta

identificación, se procede a seleccionar los drivers a instalar, pudiendo ser los provistos por

el sistema operativo o por el fabricante. Todo este proceso se le conoce como enumeración.

Una vez que el dispositivo ha sido enumerado, cualquier aplicación podrá

interactuar con el mismo a través de los drivers mencionados. [14]

Paquetes de datos

La transferencia de datos USB se hace en forma de paquetes, debido a la diversidad

de periféricos que puede soportar existen varios tipos de formato de datos.

Los paquetes de datos comienzan con un byte de sincronización e inmediatamente

un identificador de paquete, cuyas siglas son (PID), este es de 4 bits (los cuales son

enviados con su complemento, el cual indicara el tipo de dato que vendrá a continuación,

en la Tabla 2.8se puede apreciar los distintos valores que este identificador de paquete

puede tener.

Page 61: DatalabUC - Modulo de Registro de Datos

61

Tabla 2.8: Tipo de identificadores de paquetes (PID).

Fuente: Advanced PIC Microcontroller Projects in C.

Existiendo entonces cuatro formas de paquetes, estos son Toquen paces, data paces,

handshake packets, and special packets. [15]

Ahora en las siguientes tablas: Tabla 2.9, Tabla 2.10 y Tabla 2.11se apreciara la

forma como vienen distribuidos estos datos para cada forma del paquete Token, data y

handshake respectivamente.

Tabla 2.9: Token packets.

Fuente: Advanced PIC Microcontroller Projects in C.

Page 62: DatalabUC - Modulo de Registro de Datos

62

Tabla 2.10: Data packets.

Fuente: Advanced PIC Microcontroller Projects in C.

Tabla 2.11: Handshake packets.

Fuente: Advanced PIC Microcontroller Projects in C.

Estos datos pueden ser transferidos en el Bus USB in 4 maneras, estas son las que se

presentan a continuación [15]:

1. Formato Bulk Asynchronous

Se utiliza para transmitir datos que son de tiempo crítico, la gran mayoría de los

periféricos utilizan este modo de transmisión. Los paquetes de datos pueden llegar en

tiempos diferentes dependiendo de la congestión del bus,

2. Formato Isochronous

Se utiliza cuando se requiere una velocidad de transferencia de datos constante y

conocida, por ejemplo al enviar audio a cornetas digitales o a un modem.

3. Formato control

Es usado por el computador Host USB para enviar paquetes de comandos (llamados

Tokens) para controlar la operación del bus. Los dispositivos USB también usan este

Page 63: DatalabUC - Modulo de Registro de Datos

63

formato para enviar paquetes de control y sincronización (handshake) para indicar al Host

si los datos fueron recibidos de forma correcta, comando ACK o incorrecta NACK.

4. Formato Interrupt

Lo utilizan dispositivos que requieren atención específica del computador, es poco

utilizado. No tiene que ver con las interrupciones del computador. Se utiliza para enviar

pequeñas cantidades de información en el menor tiempo posible.

Todos los dispositivos USB tienen un árbol jerárquico de descriptores que indican

varias características de los dispositivos como lo es: la identificación del fabricante, versión

del dispositivo, versión del USB soportada, identificación de que es el dispositivo, sus

requerimientos de potencia, cantidad y tipos de endpoints, entre otras cosas.

Microcontroladores PIC18 con interfaz USB

Algunos de los microcontroladores PIC18 soportan la interfaz USB directamente,

para el caso del PIC18F4550 contiene dos tipos de velocidades compatibles, la full-speed y

la low-speed. [15]

Como se puede observar en la Figura 2.18el puerto C del PIC18F4550

específicamente los terminales RC4 (terminal 23) y RC5 (terminal 24) son los usados para

la transferencia de datos USB. El terminal RC4 es el terminal de datos USB D- y RC5es el

terminal de datos D+. [18]

Además se aprecia que internamente estos terminales pueden funcionar con unas

resistencias internas de pull-up, de igual forma, estas pueden ser deshabilitada el registro

UPUEN = 0 si se decide usar las resistencias de manera externa, haciendo valiosa la

acotación que si desea una conexión full-speed una resistencia interna o externa deberá ser

Page 64: DatalabUC - Modulo de Registro de Datos

64

conectada a el terminal D+, si por el contrario se desea low-speed, una resistencia deberá

ser conectada de igual forma pero en el terminal D-. [15]

Figura 2.18: Esquema de los terminales del Bus USB para él PIC18F4550.

Fuente: Advanced PIC Microcontroller Projects in C.

Los dos tipos de conectores a usar serán el tipo A y B como se muestra en laFigura

2.19, además, los nombres de los terminales y su distribución se podrán apreciar en la

Figura 2.20y en laTabla 2.12.

Figura 2.19: Conector USB.

Fuente: Advanced PIC Microcontroller Projects in C.

Page 65: DatalabUC - Modulo de Registro de Datos

65

Figura 2.20: Distribución de los terminales (Tipo A a la derecha y Tipo B a la izquierda).

Fuente: Advanced PIC Microcontroller Projects in C.

Tabla 2.12: Tabla de función de cada terminal del conector USB. Fuente: Advanced PIC Microcontroller Projects in C.

El esquema de conexión del bus USB con el PIC18F4550 es mostrado en laFigura

2.21, esta conexión es muy sencilla, el terminal 1 conectado al Vcc del microcontrolador y

el terminal 4 a masa, solo las dos líneas son conectadas al puerto C del PIC18F4550 como

se mencionó anteriormente, la alimentación del microcontrolador vendrá entonces

directamente del puerto USB del computador al cual esté conectada.

Figura 2.21: Esquema de conexión del PIC18F4550 con el conector USB.

Fuente: Advanced PIC Microcontroller Projects in C.

Page 66: DatalabUC - Modulo de Registro de Datos

66

Para llevar a cabo dicha labor de configuración es necesario acceder a tres controles

de registros y un total de 22 registros a modificar para el buen funcionamiento del bus USB

en el microcontrolador, esta configuración tiene que ser minuciosamente realizada para que

no ocurra ningún tipo de inconveniente. [15]

Por suerte, existe una herramienta en Proton IDE que realiza de manera automática

esta configuración permitiendo concentrar la labor en la programación como tal del

Datalogger. Es archivo se encuentra en el directorio propiamente del programa C:\Archivos

de programa\Proton\MCLoader\LoaderHex, cuyo nombre es PLL_18F4550_20_48.hex, es

un bootloader que además permite hacer la programación del microcontrolador vía serial

desde el mismo Proton.

Page 67: DatalabUC - Modulo de Registro de Datos

67

2.2.8 Protocolos de comunicación

Protocolo I2C

Es un bus de comunicaciones seriales sincrónicas sobre el cual se implementa un

protocolo de comunicaciones desarrollado por la Phillips Semiconductors a principios de

los años 80’s. Este bus se creó con la finalidad de reducir la complejidad del cableado

interno encontrado en las tarjetas electrónicas de equipos digitales de radio y TV.

Actualmente, su uso se ha extendido a innumerables aplicaciones en el área digital,

hecho que lo convierte, en uno de los más populares estándares de comunicación serial

síncrona. Existe una gran variedad de productos y fabricantes que producen circuitos

integrados con esta tecnología.

El término I2C es una simplificación comercial y practica de su nombre, el cual es

Inter-Integrated Circuit bus, es decir, bus de interconexión de circuitos integrados. [16]

Figura 2.22: Esquema de conexión del PIC18F4550 con los dispositivos I2C.

Fuente:iBoard II. Sistema de Desarrollo para Microcontroladores PIC con interfaz USB.

Como se mencionó anteriormente, la Figura 2.22muestra la manera como se

conectan los distintos dispositivos esclavos al microcontrolador (dispositivo maestro) a

través de dos (2) líneas SDA y SCL, además, y a manera de ejemplo, se presenta un

Page 68: DatalabUC - Modulo de Registro de Datos

68

dispositivo medidor de temperatura, un reloj de tiempo real y una memoria de

almacenamiento masivo, estos funcionando bajo este protocolo de comunicación serial

sincrónica.

Entre las características principales se tiene [16]:

Utiliza dos líneas para la comunicación, una para datos llamada (SDA) y otra para la

señal de reloj (SCL).

Cada dispositivo conectado al bus es identificado por una única dirección (dentro del

bus). Esta queda establecida a través de una combinación de Hardware/Software.

El bus I2C es multi-maestro y aun cuando esta característica es poco utilizada, se define

un mecanismo para la detección de las colisiones y arbitrajes, el cual, busca prevenir la

perdida de información si dos o más maestro inicializan comunicaciones de manera

simultánea.

Las transferencias de información se realizan en paquetes de 8 bits, en forma bi-

direccional y pueden ser efectuadas a tres velocidades: la normal (Standard) a unos 100

Kbit/s (definición original), a 400 Kbit/s (implementado a partir de la versión 1.1 del

año 1992) en el modo rápido (fast) a 3,4 Mbit/s en el modo de alta velocidad (High-

Speed) disponible desde la versión 2.0 del año 1998.

La generación de los pulsos de reloj es siempre responsabilidad del maestro que

controla el bus. El maestro comienza y termina todas las transferencias de datos y para ello

hace uso de dos condiciones especiales denominadas INICIO y PARADA (STRAT y STOP)

que pueden ser únicamente generadas por él.

Una transición de 1 a 0 (un flanco de bajada) es la línea SDA mientras SCL se

mantiene en alto determina la condición de INICIO; una vez que ocurre esta condición, el

bus se considera ocupado (BUSY). Una transición de 0 a 1 (un flanco de subida) en la línea

SDA mientras SCL se mantiene en alto, determina la condición de PARADA, transcurrido

Page 69: DatalabUC - Modulo de Registro de Datos

69

un tiempo luego de ocurrir esa condición, el bus se considera libre (FREE). Esto se puede

apreciar bien laFigura 2.23mostrada a continuación. [19]

Figura 2.23: Modos de transición de condiciones para dispositivos I2C.

Fuente: iBoard II. Sistema de Desarrollo para Microcontroladores PIC con interfaz USB.

Todos los bytes de información colocados sobre la línea SDA deben tener 8 bits. El

número máximo de bytes que pueden ser enviados en una transición no está restringido,

siendo el esclavo quien fija esta cantidad de acuerdo a sus características. [16]

Él envió de los bits se efectúa siempre desde el MSB hacia LSB. Aun cuando el

maestro es quien siempre controla el estado de la línea de reloj. Un esclavo de baja

velocidad o que deba detener la transferencia de datos mientras efectúa otra función, puede

forzar la línea SCL a nivel bajo. Esto hace que el maestro entre en un estado de espera,

durante el cual, no transmite información esperando a que el esclavo esté listo para

continuar la transferencia en el punto donde había sido detenida. [16]

En cuanto al direccionamiento y formato de transferencia de información, los

dispositivos que trabajan bajo la comunicación I2C se identifican por medio de una

dirección única que forma parte de un byte de control enviado por el dispositivo maestro al

iniciar la comunicación. La definición inicial del I2C preveía la existencia de 7 bits para

direccionar al esclavo, de esta forma, se pueden conectar hasta 128 dispositivos en el bus.

Page 70: DatalabUC - Modulo de Registro de Datos

70

A partir de la versión 1.0 del año 1992, existe un formato de direccionamiento de 10

bits y se ha incrementado significativamente el número de dispositivos que pueden

conectarse simultáneamente al bus. Cabe mencionar que el compilador a usar no da soporte

para dispositivos con direccionamiento de 10 bits. [16]

Figura 2.24: Direccionamiento y formato de transferencia de dispositivos I2C.

Fuente: iBoard II. Sistema de Desarrollo para Microcontroladores PIC con interfaz USB.

Como se muestra en la Figura 2.24, los siete bits de identificación del dispositivos

son los primeros en ser enviados hacia el bus sobre la línea SDA, desde el MSB hasta LSB

seguido del bit de lectura o escritura R/W mencionado ya en secciones anteriores,

dependerá del tipo de dispositivo esclavo y del modo en el cual se esté trabajando (por si es

modo de lectura o escritura) los bit de reconocimiento(ACKNOWLEDGES) se realizaran de

manera automática, o realizados por el dispositivo maestro, seguido de los bits de datos

enviados al dispositivo esclavo o recibidos del mismo al dispositivo maestro. En las hojas

técnicas de los dispositivos con esta comunicación, indican con mayor detalle cómo se

realiza esta transferencia de datos.

Protocolo SPI

El protocolo SPI (del inglés Serial Peripheral Interface) “Interfaz periférica serial”

es un estándar establecido por Motorola que utiliza un bus de 4 líneas para interconectar

Page 71: DatalabUC - Modulo de Registro de Datos

71

dispositivos periféricos de baja y media velocidad. La comunicación se realiza siguiendo un

modelo maestro/esclavo donde el maestro selecciona al esclavo y comienza el proceso de

transmisión/recepción de la información. [16]

SPI constituye un bus full-dúplex, es decir, que se puede enviar y recibir

información de manera simultánea, lo cual, eleva la tasa de transferencia de los datos. En

este popular estándar no existe ningún medio de direccionamiento de los dispositivos

esclavos y mucho menos reconocimiento (ACKNOWLEDGEMENT) de la recepción de los

datos, así que, no existe forma alguna para que el dispositivo maestro pueda detectar la

presencia de un esclavo o establecer un medio de control de flujo de datos. La Figura

2.25muestra la conexión típica de un grupo de dispositivos en un bus SPI. [16]

Los nombres de las señales son definidos dentro del estándar como: SCLK reloj del

bus, MOSI (Master Output Slave Input) salida de datos del maestro, entrada de datos a los

esclavos, MISO (Master Input Slave Output) salida de datos de los esclavos, entrada de

datos al maestro y SS (Slave Select) habilitación del esclavo por parte del maestro. [16]

Dependiendo del número de esclavos presentes en el bus, se requerirán más o

menos líneas de selección para estos, cada una de ellas será nombrada como SS1, SS2, SS3,

etc. Este medio de selección permite conectar varios esclavos de manera muy simple.

Se definen dos parámetros CPOL (Clock Polarity) y CPHA (Clock Phase) con los

cuales se determina, con respecto al pulso de reloj, el momento en el cual se considera

válido un dato de entrada o se genera un dato de salida. Estos parámetros ofrecen hasta

cuatro (4) combinaciones distintas, estas se pueden apreciar en laFigura 2.26.

Page 72: DatalabUC - Modulo de Registro de Datos

72

Figura 2.25: Conexión típica de un grupo de dispositivos en un bus SPI.

Fuente: iBoard III. Sistema de Desarrollo para Microcontroladores PIC con interfaz USB.

Estas cuatro combinaciones constituyen los cuatro (4) modos de trabajo del bus SPI

para lograr una comunicación exitosa, cada par maestro-esclavo dentro del bus tiene que

operar en el mismo modo, en el cual, está definido generalmente por el dispositivo esclavo.

El estándar SPI no define un protocolo para la transmisión de los datos y aunque

especifica que el número de bits que componen cada dato a transmitir sea de ocho (8) bit,

existen muchos dispositivos SPI compatibles que no emplean exactamente esta definición.

Ante esto, se hace indispensable recurrir a los diagramas y especificaciones de tiempo

propias del circuito integrado por el fabricante. [16]

Page 73: DatalabUC - Modulo de Registro de Datos

73

Figura 2.26: Parámetros CPOL (Clock Polarity) y CPHA (Clock Phase) bus SPI.

Fuente: iBoard II. Sistema de Desarrollo para Microcontroladores PIC con interfaz USB.

2.2.9Modulación Delta - Sigma

El modulador Sigma Delta se introdujo por primera vez en 1962, pero hasta

recientes desarrollos digitales en tecnologías VLSI era muy difícil fabricarlo de forma

rentable. Una de las mayores ventajas de la técnica sigma delta es que se pude usar para

filtrado digital y aproximadamente en un 90% de su tamaño, es totalmente digital.

Como resultado los convertidores sigma delta actuales proporcionan altas

resoluciones y buenas características de ruido a unos precios competitivos. Los ADC’s

sigma delta se benefician de todas las ventajas de ser digitales en su totalidad, es decir, alta

fiabilidad, gran estabilidad, funcionalidad creciente. [17]

Page 74: DatalabUC - Modulo de Registro de Datos

74

Usan un ADC de baja resolución (cuantificador de un bit) con una frecuencia de

muestreo muchas veces por encima de la de Nyquist. A esto le sigue un diezmado en el

dominio digital que baja la frecuencia de salida y aumenta la precisión.

La cuantización de un bit de los ADC’s sigma delta usa un método que fue derivado

como una extensión de una técnica de modulación a la que se llama modulación

delta. Se basa en cuantizar la diferencia entre muestras sucesivas, en lugar del valor

absoluto de la muestra (ver Figura 2.27).

En la Figura 2.27se muestra el diagrama de bloque de primer orden de un

convertidor Sigma-Delta (ADC). La entrada viene precedida del valor X que llega a un

punto sumador, de allí, pasa a través del integrador el cual alimenta a un comparador que

actúa como un cuantificador de un bit, en la salida del comparador, la señal D es

retroalimentada a la entrada para generar, pasando previamente por un convertidor

analógico digital (DAC), hace que el promedio de la señal W busque ser igual a la señal X,

generando la señal B (vendría siendo una señal de “error”). La salida de la señal D pasa a

través de un filtro digital donde se promedia los valores y produce un resultado de n bits a

menor frecuencia (ver Figura 2.28).

Figura 2.27: Modulación/Demodulación Delta

Fuente: Nota de aplicación, Introducción a la conversión Sigma-Delta, Mayo 2009

Page 75: DatalabUC - Modulo de Registro de Datos

75

Figura 2.28: Operación de diezmado digital.

2.2.10Software Visual Studio

Microsoft Visual Studio (verFigura 2.29) es un entorno de desarrollo integrado

(cuyas siglas en ingles son IDE) para sistemas operativos Windows. Soporta varios

lenguajes de programación tales como Visual C++, Visual C#, Visual J#, ASP.NET y

Visual Basic.NET, aunque actualmente se han desarrollado las extensiones necesarias para

muchos otros.

Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones

web, así como servicios web en cualquier entorno que soporte la plataforma .NET. Así se

pueden crear aplicaciones que intercomuniquen entre estaciones de trabajo, páginas web y

dispositivos móviles utilizando una programación orientada a objetos.

Page 76: DatalabUC - Modulo de Registro de Datos

76

Figura 2.29: Logotipo de Microsoft Visual Studio

Fuente:http://www.returngis.net/2011/01/anadir-web-references-en-visual-studio-2010/

La programación orientada a objetos entra en el conjunto que conforman un

paradigma de programación donde el núcleo central de este paradigma es la unión de datos

y procesamiento en una entidad llamada “objeto”, relacionable a su vez con otras entidades

“objetos”. [18]

Estos “objetos” son entidades que tienen un determinado estado, comportamiento

(método) e identidad [18]:

El estado está compuesto de datos, será uno o varios atributos a los que

habrán asignado unos valores concretos (datos).

El comportamiento está definido por los métodos o mensajes a los que sabe

responder dicho objeto, es decir, que operaciones se pueden realizar con él.

La entidad es una propiedad de un objeto que lo diferencia del resto, dicho

con otras palabras, es su identificador (concepto análogo al de identificador

de una variable o una constante).

Un objeto contiene toda la información que permite definirlo e identificarlo frente a

otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al

poder tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de

Page 77: DatalabUC - Modulo de Registro de Datos

77

mecanismos de interacción llamados métodos, que favorecen la comunicación entre ellos.

Esta comunicación favorece a su vez el cambio de estado en los propios objetos. Esta

característica lleva a tratarlos como unidades indivisibles, en las que no se separa el estado

y el comportamiento. [18]

Los métodos (comportamientos) y atributos (estados) están estrechamente

relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase requiere de

métodos para poder tratar los atributos con los que cuenta. El programador debe pensar

indistintamente en ambos conceptos, sin separar ni darle mayor importancia a algunos de

ellos. Hacerlo podría producir el hábito erróneo de crear clases contenedoras de

información por un lado y clases con métodos que manejen a las primeras por el otro. De

esta manera se estaría realizando una programación estructurada camuflada en un lenguaje

de programación orientada a objetos.

En conclusión la programación orientada a objetos difiere de la programación

estructurada tradicional, en la que los datos y los procedimientos están separados y sin

relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para

obtener otros de salida. La programación estructurada anima al programador a pensar sobre

todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de

datos que esos procedimientos manejan.

En la programación estructurada solo se escriben funciones que procesan datos. Los

programadores que emplean lengua orientado a objetos, en cambio, primero definen objetos

para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismo- [18]

Page 78: DatalabUC - Modulo de Registro de Datos

78

2.2.11Software PROTON IDE

El Proton IDE(ver Figura 2.30) es un software que permite escribir código en

BASIC, usado para realizar todas las tareas asociadas al uso del microcontrolador, como

escribir y editar el código, compilarlo, programarlo y depurar, este potente entorno de

desarrollo integrado (IDE) ha sido diseñado específicamente para el compilador del Proton

Plus. Protón IDE posee una interfaz con un entorno visual cómodo a la hora de ser utilizado

por el usuario sin comprometer el rendimiento, la flexibilidad o el control. Este compilador

es actualmente el compilador de Basic para microcontroladores PIC más potente del

mercado ya que permite realizar operaciones que con otros compiladores no se puede. [19]

El Protón Development Suite es el resultado de una colaboración entre tres

empresas británicas que llevan su campo, Crownhill Associates, Mecanique y Labcenter.

[20]

Entre los dispositivos soportados se incluyen los microcontroladores: 16F870,

16F871, 16F873 (A), 16F874 (A), 16F876 (A), 16F877 (A), 16F87, 16F88, 18F242,

18F248, 18F252, 18F258, 18F442, 18F448, 18F452, 18F458, 18F1220, 18F1320, 18F2220,

18F2320, 18F4220, 18F4320, 18F6620, 18F6720, 18F8620 y 18F8720.

Entre las capacidades del software, se puede observar [16]:

Programación en alto nivel, estructurado y modular en lenguaje Basic.

Facilidad para la definición y manejo de memoria RAM, EEprom y Flash,

definición de variables y modificadores de formato.

Funciones matemáticas, trigonométricas y lógicas incluidas.

Funciones incluidas para facilitar el manejo de “string”.

Manejo directo de pantallas LCD alfanuméricas y gráficas.

Generación de múltiples tonos y sonidos de alarma.

Medición de pulsos, frecuencia y conteo de eventos.

Page 79: DatalabUC - Modulo de Registro de Datos

79

Manejo de pulsadores e interruptores de forma fácil y eliminando rebotes.

Manejo total de interrupciones para todos los periféricos incluidos.

Aritmética en punto flotante para las variables así definidas.

Manejo de motores servo y de paso mediante comandos, especializados.

Manejo de tablas y estructuras condicionales de repetición y decisión.

Acceso a los registros internos del microcontrolador para lectura y/o escritura.

Gran número de librerías disponibles.

Manejo de los protocolos de comunicación serial:

o 1-Wire de Dallas Semiconductors.

o I2C de Phillips Semiconductors.

o 3-Wire de Dallas-Maxim.

o SPI de Motorola.

Amigable IDE de programación.

Figura 2.30: Logotipo del software Proton IDE.

Fuente:http://www.protonbasic.co.uk

Page 80: DatalabUC - Modulo de Registro de Datos

80

CAPÍTULO III

MARCO METODOLÓGICO

En este capítulo se describe de manera resumida las etapas a realizadas para

asegurar el cumplimiento de los objetivos propuestos y culminar eficientemente el trabajo

de grado, esto se hizo posible debido a que se dividió el proyecto en las etapas nombradas a

continuación:

Tipo de investigación

Considerando las características del presente trabajo especial de grado, éste se

encuentra clasificado dentro de los diferentes tipos de investigación como proyecto factible,

el cual consiste en “la investigación, elaboración y desarrollo de una propuesta de modelo

operativo viable para solucionar problemas, requerimientos o necesidades de

organizaciones, instituciones o grupos sociales; puede referirse a la formulación y

desarrollo de políticas, programas, tecnologías, métodos o procesos”.[21]

Procedimiento metodológico

En función al cumplimiento de los objetivos propuestos, el trabajo se desarrolló en

cinco (5) etapas, las cuales se describen a continuación:

Etapa I: Identificación de las características técnicas de dispositivos comerciales

En esta etapa del proyecto, se fijó todos estos contenidos teóricos con respecto al

diseño del módulo de almacenamiento masivo, primeramente valiéndose de la

Page 81: DatalabUC - Modulo de Registro de Datos

81

identificación de las características técnicas de algunos dispositivos de esta índole que estén

en mercado o ya creados en investigaciones o aplicaciones anteriores.

Esta información ya apuntada para su estudio se encontró en libros de sistemas

digitales, catálogos de estos equipos, hojas técnicas de los dispositivos electrónicos

similares al que se desarrolló y páginas de internet.

Actividades Sub-tareas

Definición del proyecto de investigación

realizada

Definición del título del proyecto de grado

Definición del objetivo general.

Recolección y selección de material teórico inicial.

Análisis de la información.

Identificar las características técnicas y

prestaciones de algunos sistemas de

registros de datos disponibles

comercialmente

Análisis los diferentes sistemas de registro de datos que se

encuentren disponibles en la red.

Identificar las señales analógicas existentes en los lazos de

control del Laboratorio de Instrumentación y Control de

Procesos.

Analizar la información obtenida y en base a ella, evaluar las

posibles tipos de entradas presente en el módulo de registro

de datos a desarrollar.

Etapa II: Descripción del sistema de registro de datos a implementar

Una vez recolectada la información y precisado los elementos electrónicos que

participan en un dispositivo de esta índole, se procedió a en marcar todo lo concerniente a

los conceptos en donde se fija la teoría necesaria para entender el funcionamiento del

mismo, de allí se puntualiza los límites de cómo estará estructurado el MÓDULO físico

fijando las características técnicas del funcionamiento del dispositivo desarrollado,

tomando en cuenta las señales vista con mayor frecuencia dentro del Laboratorio de

Instrumentación y Control de Procesos.

Page 82: DatalabUC - Modulo de Registro de Datos

82

Actividades Sub-tareas

Describir el funcionamiento, características

y limitaciones del sistema de registro de

datos que se utilizó para el equipo

implementado

Evaluación de las señales analógicas más comunes existentes

en los lazos de control de las plantas pilotos del Laboratorio de

Instrumentación y Control de Procesos.

Definición las entradas que están presentes en el módulo de

adquisición de datos a implementar.

Evaluación la conversión analógica-digital del

microcontrolador y de otros dispositivos de conversión para

establecer diferencias entre ellos y así, determinar cuál es el

más recurrente para realizar la digitalización de las señales en

el dispositivo.

Etapa III: Elaboración del dispositivo físico (hardware)

Esta etapa conforma el diseño de los esquemáticos, el diseño de las tarjetas, ambos

realizados en el software ExpressPCB y la construcción de las mismas. Para la fabricación

del dispositivo se escogió los dispositivos electrónicos estudiados en las etapas anteriores,

tomando en cuenta también los ya vistos en la cátedra de Diseño Digital.

Actividades Sub-tareas

Diagramar el sistema de almacenamiento

masivo para la construcción del hardware,

considerando el instrumental de los

procesos instalados en el laboratorio.

Estudio del software ExpressPCB

Esquematizar el módulo de adquisición de datos en dos (2)

tarjetas

Evaluar las dimensiones de las tarjetas conforme a los

materiales adquiridos

Diseñar las tarjetas en el software estudiado

Fabricación del diseño de las tarjetas en las pcb's

Soldadura de todos los componentes de las tarjetas

Evaluación de continuidad en las pistas para la reparación de

las posibles anomalías o discontinuidades presentes

Page 83: DatalabUC - Modulo de Registro de Datos

83

Etapa IV: Creación de la interfaz visual

Esta etapa está enmarcada en la elaboración de la interfaz visual que comunica al

módulo físico con un computador, mediante el desarrollo de una aplicación que ofrece una

aplicación amigable de los datos obtenidos por el equipo, visualizando las señales del

proceso de adquisición y registro de datos tanto numérica como gráficamente. Se concreta

el protocolo de comunicación bidireccional (equipo de almacenamiento masivo y el

computador), con referente al dimensionamiento del paquete de datos y como estos vendrán

organizados, lo que permitirá el intercambio de información que soportara la operación del

sistema de registro de datos.

Actividades Sub-tareas

Creación de la interfaz para el módulo de

almacenamiento masivo para ser usado en

un computador capaz de configurar la

operación del prototipo, descargar y

visualizar los datos almacenados por él.

Estudio del software Visual Studio 2010

Elaboración de la interfaz del módulo de adquisición y

registro de datos la cual incluirá algunas de las herramientas

de configuración más importantes de esta clase de sistemas

Programación cada uno de los objetos insertados en la sub-

tarea anterior

Depuración posibles anomalías presentes hasta el momento

de la interfaz, ya que se debe tomar en cuenta que aún no se

ha establecido la comunicación con el hardware

Estudio del software MikroBasic para la programación del

hardware

Realización sub-rutinas en el software estudiado para la

implementación de los componentes que conforman el

hardware

Incorporación en el programa principal del dispositivo, todas

las sub-rutinas creadas en la sub-tarea anterior

Etapa V: Pruebas operativas y calibración del instrumento

Verificación del correcto funcionamiento mediante la realización de pruebas, las

cuales se hicieron bajo la selección de la planta de flujo y el banco de calibración de

termocuplas del laboratorio de Instrumentación y Control de Procesos, en donde se puso en

Page 84: DatalabUC - Modulo de Registro de Datos

84

funcionamiento, bajo el control del dispositivo Honeywell UDC5000 en el lazo de control.

Acá, se programó el dispositivo Datalogger para que realice la adquisición y registro de

datos de manera autónoma y llevada a tiempo real, en la cual se lo tuvo conectado al

computador para la visualización de los datos a través del software.

Por lo tanto, se obtuvo con estas pruebas, los patrones de comportamiento del

dispositivo fabricado y bajo el instrumento patrón establecer el error estático y así definir la

clase del registrador construido y levantar la curva de calibración para asegurar que el

dispositivo este dentro de la clase.

Realizada la prueba, depurado posibles errores en el código del dispositivo,

verificación de la recepción de los datos en la interfaz y obteniendo la curva de calibración,

se procedió, en esta etapa, a realización del análisis y resultados obtenidos de las pruebas

realizadas durante la etapa , con la intención de plasmar toda esta información y realizar

las conclusiones pertinentes y recomendaciones para futuros estudios y/o aplicaciones de

dispositivos que se puedan trabajar con este trabajo de grado como antecedente.

Actividades Sub-tareas

Ejecución una serie de pruebas operativas y

de calibración para verificar el correcto

funcionamiento del sistema y el protocolo

de comunicación bidireccional entre el

dispositivo y la aplicación.

Establecer la dimensión del buffer de datos para la recepción y

él envió de información tanto para el dispositivo físico como

para la interfaz del MÓDULO

Establecer para ambos módulos (hardware y software) los

identificadores que serán utilizados para el reconocimiento de

la información que manejara el MÓDULO

Descartar posibles anomalías en durante la puesta en marcha

del equipo

Seleccionar una planta del laboratorio e implementar el equipo

con los dispositivos de campo presentes en ella

Calibración y ajuste de parámetros del sistema

Análisis de resultados obtenidos

Recolección de los datos técnicos del equipo

Extraer información referente a la estructura de un manual de

usuario para esta clase de equipos (hardware y software)

presentes en otras tesis o equipos encontrados en la web

Page 85: DatalabUC - Modulo de Registro de Datos

85

CAPÍTULO IV

RESULTADOS

4.1 Manejo de la memoria SD de manera sectorizada, como memoria EEPROM

En casos en donde un proceso determinado sea necesario almacenar grandes

cantidades de datos en donde la memoria EEPROM suele ser insuficiente, es por ello, que

el uso de las memorias tipo flash (SD/MMC) brindan una gran ventaja, otorgando gran

capacidad de almacenamiento y una gran disponibilidad en el mercado a muy bajo costo.

[23]

Por lo cual, para el uso que se le dio en el proyecto, encaja perfectamente la

definición anteriormente mencionada ya que se dispone de un proceso donde se almacenan

grandes cantidades de muestras de las señales analógicas de corriente, voltaje y

temperatura.

La manera como se efectúa la partición la memoria se ilustra en la Figura 4.1 en

donde se aprecia la unidad básica de transferencia de datos, todas las operaciones de datos

requieren una escritura completa en el sector el cual se está realizando dicha escritura, este

es previsto de 512 bytes por el fabricante el cual fue SanDisk, de manera que no hay forma

de manipular el tamaño de la memoria en el caso de la escritura, quiere decir que en el

momento de escribir en un sector permisible por la memoria, deberá ser realizada la

escritura desde el bloque 0 (byte 0) hasta el bloque n (byte 512). [24]

La manera de escribir de manera sectorizada, es realizando una indicacion desde la

rutina de escritura en el programa principal del microcontrolador, donde un apuntador tal

realiza la asignación del sector que se va a escribir tal como la escritura en la memoria

EEPROM, por lo que se podria realizar tantas escrituras en un mismo sector como sean

necesarias, y estas sobre escriben las ya existentes.

Page 86: DatalabUC - Modulo de Registro de Datos

86

En este proyecto, se realiza la escriturade los sectores con el siguiente orden de

información:

1. Las 4 señales analógicas: canal 1 [4 – 20] mA, canal 2 [4 – 20] mA, canal 3 [0 – 5] V y

canal 4 [-10 – 400] ºC.

2. Los datos de fecha y hora en el siguiente orden: dia (dd), mes (mm), año (yyyy), hora

(hh), minuto (mm), segundo (ss) y milisegundo (sss).

Figura 4.1: Partición de la memoria SD

Fuente: SanDisk SD Card, Product Manual Version 2.2 November 2004

Para la comunicación con la tarjeta utilizando este modo, son necesarias solo las

cuatro líneas de comunicación, DATA IN, DATA OUT, CS y CLK. La memoria recibe los

Page 87: DatalabUC - Modulo de Registro de Datos

87

datos y los comandos por DATA IN y envía datos por DATA OUT. Para habilitar la tarjeta

se debe poner en nivel bajo el terminal CS. La señal de CLK que envía desde el

microcontrolador, también conocido como dispositivo maestro, la señal de reloj que será la

velocidad de la comunicación. [23]

Como los datos se envían solo por un terminal, se tiene menor utilización del

potencial de la memoria. La aplicación de cada uno de estos terminales se muestra en la

Tabla.

Tabla 4.1: Aplicación para cada terminal de la memoria SD en modo de comunicación SPI

Fuente: MANEJO DE UNA MEMORIA SD/MMC CON UN PIC16F87x. Carlos Alberto Henao

Número del terminal Nombre Descripción

1 CS Activación de la tarjeta

2 DATA IN Comandos de datos desde el host

3 VSS GND

4 VDD Alimentación

5 CLK Reloj

6 VSS GND

7 DATA OUT Datos hacia el host

8 RSV Reservado

9 RSV Reservado

La secuencia de comandos para la tarjeta en modo SPI consiste de 6 bytes tal como

se ilustra en la Tabla 4.2. A continuación se define lo contenido en dicha tabla.

Tabla 4.2: Secuencia de comandos SPI

Fuente: MANEJO DE UNA MEMORIA SD/MMC CON UN PIC16F87x. Carlos Alberto Henao

1. El primer byte es el comando (escritura, lectura, etc.).

2. Del segundo byte al quinto son datos adicionales, por ejemplo direcciones, tamaño, etc.

Page 88: DatalabUC - Modulo de Registro de Datos

88

3. El sexto byte es de verificación.

Con respecto a los comandos utilizados para la comunicación SPI, la memoria

contiene varios de estos que funcionan por comunicación SPI, se citan como ejemplo la

Tabla 4.3

Tabla 4.3: Comando más usados para la comunicación de la memoria SD

Fuente: MANEJO DE UNA MEMORIA SD/MMC CON UN PIC16F87x. Carlos Alberto Henao

Comando Descripción

CMD0 Reset de la memoria

CMD1 Inicialización de la memoria

CMD16 Configuración del bloque de 512 bytes

CMD17 Lectura de un bloque de 512 bytes

CMD24 Escritura de un bloque de 512 byte

Una vez enviado el respectivo comando, la memoria responde por medio de un

registro llamado R1, tal como se muestra en la Figura.

Según dicha figura, la memoria debe responder con 0x00 para todos los comandos

antes mencionados, pero para el comando 0 (CMD0) la memoria responde con un 0x01

debido a su estado inicial.

Figura 4.2: Registro de errores enviado por la memoria

Fuente: MANEJO DE UNA MEMORIA SD/MMC CON UN PIC16F87x. Carlos Alberto Henao

Page 89: DatalabUC - Modulo de Registro de Datos

89

Se exhorta al lector a remitirse a la bibliografía citada [23] para estudiar más a

fondo el estudio de la secuencia de inicialización de la memoria SPI ya que para efectos del

proyecto, este material cubre las necesidades de análisis en su estudio.

A continuación se presentaran los resultados correspondientes a cada una de las etapas

planteadas en el procedimiento metodológico:

4.2 Etapa I: Identificación de las características técnicas de dispositivos comerciales

Reforzando lo antes mencionado en el marco teórico (véase la página 19 del

Capítulo II), el funcionamiento secuencial de un dispositivo de esta naturaleza al momento

de realizar su labor son:

1. Adquiere al valor de la variable (señal eléctrica) en su forma analógica) del lazo

del proceso (ejemplo lazo de corriente de [4-20] mA) o del transductor que esté

conectado al dispositivo (ejemplo un termopar).

2. Realiza el proceso de digitalizar la señal analógica.

3. Toma los datos de fecha y hora del RTC que posea como dispositivo esclavo.

4. Registra la cadena en la memoria no volátil que posea el dispositivo, bien sea,

una memoria EEPROM, una SD o MMC.

5. Si el dispositivo posee una interfaz visual a nivel físico (una Display 7

segmentos, pantalla alfanumérica o pantalla grafica), presenta los datos

registrados más alguna información adicional.

6. Transmite de datos a través de un bus de comunicación hacia una aplicación

realizada en el computador para generar un archivo interpretable por el usuario

de manera coherente.

Como parte del hardware, un registrador de datos estaría compuesto de los

siguientes componentes:

Page 90: DatalabUC - Modulo de Registro de Datos

90

1. Un dispositivo maestro el cual realice la gestión del proceso (comúnmente

un microcontrolador o un microprocesador).

2. Un reloj de tiempo real (RTC) que mantiene la información de la fecha y

hora.

3. Una batería para realizar sus funciones de manera autónoma.

4. Un dispositivo de conversión de la señal analógica a digital (AD) de gran

resolución en bits.

5. Multiplexor analógico que realiza de manera secuencial el cambio de canal

para ser leído por el conversor AD.

6. Una electrónica analógica para filtrar la señal de ruidos electromagnéticos

(comúnmente formado por circuitos RC y/o amplificadores operacionales).

7. Una memoria no volátil para almacenar la trama de datos adquiridos en el

proceso.

8. Una serie de botones, indicadores lumínicos y/o pantalla alfanumérica para

interactuar de manera física con él.

4.3 Etapa II: Descripción del sistema de registro de datos a implementar

Tomando en consideración los estudios realizados en la etapa I, se desarrolló un

dispositivo registrador de las variables analógicas ya mencionadas (dos (2) canales de

corriente de [4-20] mA, un (1) canal de voltaje de [0-5] V y una entrada para leer un

termopar tipo K [-10-400] ºC), tal como se muestra en la Figura 4.3.

Page 91: DatalabUC - Modulo de Registro de Datos

91

Figura 4.3: Diseño en bloque del registrador DataLabUC

Los esquemas de conexión usada para la interfaz física del dispositivo (pulsadores e

indicadores lumínicos) que tendrá el usuario son como los mostrados en las Figura 4.4y

Figura 4.5respectivamente.

Page 92: DatalabUC - Modulo de Registro de Datos

92

Figura 4.4: Esquema de conexión de los led's

Figura 4.5: Esquema de conexión de los pulsadores

La interfaz utilizada para la conexión de las entradas analógicas de los canales de

medición de corriente se muestra en la Figura 4.6. La resistencia de 180OHM se utiliza

para producir una caída de tensión entre sus terminales y medirla mediante el convertidor

ADC del Datalogger. Los diodos D1 y D2, junto con la resistencia R2 (de 1KOHM),

conforman un circuito de protección del circuito de entrada contra polaridad inversa y sobre

voltaje. Seguidamente el circuito incluye un seguidor de voltaje y un filtro pasa bajas de

primer orden encargados de acondicionar la señal antes de ser entregada al ADC. El filtro

se comporta como un filtro anti- aliasing, ajustado aproximadamente en 720 Hz, según la

ecuación mostrada:

Page 93: DatalabUC - Modulo de Registro de Datos

93

Figura 4.6: Esquema de conexión de los lazos de corriente y de voltaje

Para e canal cuatro (4) que sirve como entrada para un termopar tipo K se

implementoel esquema de laFigura 4.7. El circuito se compone de dos etapas, las se

describen a continuación.

Page 94: DatalabUC - Modulo de Registro de Datos

94

La etapa A: la conforman principalmente un amplificador de precisión de

termopares con compensación de junta fria modelo AD8495 y un circuito seguidor de

tensión que funciona como acoplador de impedancias.El AD8495 es un ciruito integrado

que produce niveles de (5 mV/ºC) a la salida, directamente de la cominación de la señal

recibida del termopar y la junta fria de referencia precalibrada, pudiendo ser usado como un

compensador“standalone” o habilitado por una señal se control. [22]

Puede realizar mediciones por debajo de los 0 ºC debido a un offset de referencia y

típicamente opera con una corriente de 180 uA, calibrado para linealizar termopares tipo K

(cromel-aluminio). Viene en un empaque de 8 terminalescomo se muestra en laFigura

4.8.La descripción de las funciones asociadas a cada terminal se describen en laTabla 4.4.

Tabla 4.4: Descripción de los terminales del AD8495

Fuente: AD8495 Precision Thermocouple Amplifiers with Cold Junction Compensation datasheet

Terminal Nº Nemonico Descripción

1 -IN Entrada negativa

2 REF Referencia. Este terminal debe ser

puesto en baja impedancia

3 -VS Fuente negativa

4 NC No se usa

5 SENSE Terminal sensor. Para realizar la

medición de la temperatura

6 OUT Salida

7 +VS Entrada positiva de la fuente

8 +IN Entrada positiva

Page 95: DatalabUC - Modulo de Registro de Datos

95

Figura 4.7: Esquema de conexión del canal 4 (Termocupla tipo K)

Figura 4.8: Terminales de configuración del AD8495

Fuente: AD8495 Precision Thermocouple Amplifiers with Cold Junction Compensation datasheet

La Figura 4.9 muestra el diagrama del bloque de los conversores de la serie

AD849x, fíjese que consiste de un juego de amplificadores operacionales que proporcionan

a la salida un voltaje que es proporcional a la temperatura de entrada o de la junta caliente

(Tmi). Este voltaje viene regido bajo esta ecuación:

B

A

Page 96: DatalabUC - Modulo de Registro de Datos

96

Por lo tanto, al realizar el despeje del valor de tensión de salida Vout de la ecuación

anterior, la ecuación queda expresada de la siguiente manera:

Su salida produce una incertidumbre de ± 2ºC de acuerdo con la información del

fabricante, tal como se presenta en la Tabla 4.5mostrada a continuación.

Tabla 4.5: Rango de temperatura del AD8495

Fuente: AD8495 Precision Thermocouple Amplifiers with Cold Junction Compensation datasheet

Dispositivo Tipo de

termocupla

Max

Error

Rango de

Temperatu

ambiente

Rango de medición

De la temperatura

AD8494 J ± 2ºC 0ºC a 50ºC -35ºC a 95ºC

AD8495 K ± 2ºC 0ºC a 50ºC -25ºC a 400ºC

AD8496 J ± 2ºC 25ºC a 100ºC 55ºC a 565ºC

AD8497 K ± 2ºC 25ºC a 100ºC -25ºC a 295ºC

Figura 4.9: Diagrama de bloque

Fuente: AD8495 Precision Thermocouple Amplifiers with Cold Junction Compensation datasheet

Entre las recomendaciones que realiza el fabricante para la conexión del dispositivo

se observa en la Figura 4.10 un filtro paso bajo colocado antes del AD8495 el cual tiene la

Page 97: DatalabUC - Modulo de Registro de Datos

97

finalidad de reducir considerablemente el ruido eléctrico ajeno a la señal, ya que, debido a

la naturaleza del termopar, funcionaría como un receptor de señales eléctricas (antena).

Además requiere de la conexión de una resistencia de 1MOhm para cuando no haya

termopar conectado y evitar un punto flotante en la entrada del circuito.

Figura 4.10: Incorporación de un filtro RC aguas arriba del AD8495

Fuente: AD8495 Precision Thermocouple Amplifiers with Cold Junction Compensation datasheet

La etapa B: tal como es mostrado en la Figura 4.7se identifica un conexionado que

produce la señal de voltaje a la entrada de referencia del AD8495, tal como se muestra en la

Figura 4.11este es la conexión correcta que recomienda el fabricante de este dispositivo

para proporcionarle al sistema Vref, nótese que luego de regular la tensión de entrada a

través del MCP1525 esta pasa por un divisor de tensión que pone a la entrada del seguidor

de voltaje una señal de 1.25 Vdc, visto de otra forma Vref = 1.25 V será el cero (0) ºC del

sistema.

Page 98: DatalabUC - Modulo de Registro de Datos

98

Figura 4.11: Correcta configuración del voltaje de referencia del AD8495

Fuente: AD8495 Precision Thermocouple Amplifiers with Cold Junction Compensation datasheet

Estas cuatro (4) señales se concentran al circuito integrado CD74HC4067 mostrado

en la Figura 4.12. Este dispositivo es un multiplexor de señales analógicas que tiene como

objetivo darle paso a las señales hacia el conversor ADS1113 de manera individual y

secuencial. Con esta forma de trabajo, se disminuyó el uso de dispositivos digitalizadores

en el diseño del hardware, permitiendo utilizar un sólo ADC para todos los canales de

entrada.

Posee un rango de temperatura de trabajo de entre -25 ºC a 125 ºC y solo necesita de

una señal de habilitación (terminal 15) y las dieciséis combinaciones posibles a la entrada

(terminales 10, 11, 13y 14) para hacer la acción de multiplexado de las señales a la entradas

y emitirla a través del terminal CMMN (terminal 1) tal como se muestra en la ¡Error! No se

encuentra el origen de la referencia..

Ya que son muestreadas cuatro (4) señales, sólo es necesario el uso de los

terminales de entrada S0 y S1, esto se debe a que el dispositivo actúa tal como un

multiplexor de señales digitales. Por ello, los terminales S2 y S3 son llevados a cero lógico

(0 V) y a la entrada, se usaron desde el terminal 9 hasta el 13 para los canales tal como se

muestra en la Figura.

Page 99: DatalabUC - Modulo de Registro de Datos

99

La tabla de la verdad usada para esta tarea, se muestra en la Tabla 4.6anexada a

continuación:

Tabla 4.6: Tabla de la verdad para la selección de canales

Fuente: CD74HC4067 High-Speed CMOS Logic 16-Channel Analog Multiplexer/Demultiplexer

S0 S1 S2 S3 E CANAL

0 0 0 0 0 0

1 0 0 0 0 1

0 1 0 0 0 2

1 1 0 0 0 3

Figura 4.12: Esquema de conexión del multiplexor analógico y conexión del conversor ADS1113

El conexionado del conversor ADS1113 se muestra en la Figura 4.12 donde se

aprecia que a la entrada del terminal 4 (Ain0) arriva la señal saliente del multiplexor

analógico CD74HC4067. El terminal 2 (RDY) aunque no sea usado en los ADS1113 se

conectó al PORTC.1 en caso de utilizar otro ADC de la misma familia como el ADS1114 o

ADS115, esta salida digital (RDY) anuncia que la conversión analógica-digital del

Page 100: DatalabUC - Modulo de Registro de Datos

100

dispositivo ya está lista para ser leída, esto lo realizan haciendo un pull-down a la línea de

entrada del dispositivo maestro del cual estén conectados.

Para mayor ilustración de la configuración utilizada, se anexa en la Tabla 4.7¡Error!

No se encuentra el origen de la referencia. la distribución de los terminales del ADS1113.

Tabla 4.7: Descripción de los terminales del ADS113

Fuente: ADS1113 Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER DataSheet

TERMINAL ADS1113 I/O Descripción

1 ADDR Entrada digital Selección de la dirección del esclavo en el protocolo I2C

2 NC Salida digital Salida de comparación digital o de anuncio de conversión

lista.

3 GND Analógica Tierra común

4 AIN0 Entrada analógica Canal diferencial 1: entrada positiva o señal de entrada

5 AIN1 Entrada analógica Canal diferencial 1: entrada negativa (0 V)

6 NC Entrada analógica Canal diferencial 2: NC

7 NC Entrada analógica Canal diferencial 3: NC

8 VDD Analógica Entrada de alimentación: 2.0 a 5.5 V

9 SDA I/O digital Transmisión y recepción de datos serial

10 SCL Entrada digital Señal de reloj, sincronización de la comunicación con el

microcontrolador

En el mismo orden de ideas se aprecia en la Figura 4.13 el esquema de conexiones

del reloj de tiempo real DS1307. Nótese que las líneas del I2C están en los terminales cinco

(5) está la línea SDA y en el terminal seis (6) la línea de la señal de reloj SCL, el oscilador

usado fue el de 32.768KHz conectado en los terminales uno (1) y dos (2), además de

suministrarle energía eléctrica a través del terminal tres (3) por medio de una batería de 3.3

V para cuando el sistema completo este sin energía, este se mantenga alimentado y así,

conserve actualizado los datos de fecha y hora en sus registros.

Page 101: DatalabUC - Modulo de Registro de Datos

101

Figura 4.13: Esquema de conexión del DS1307

El dispositivo tiene la posibilidad de ser alimentado de dos formas tal como se

muestra en la Figura 4.14, a traves de un transformador DC de 9 V o por medio del terminal

de +Vcc del puerto USB.

Figura 4.14: Esquema de conexión de la alimentación principal del DataLabUC

En el caso de que el dispositivo esté conectado a ambas fuentes de forma

simultánea, el diodo shockley colocado a la entrada de la alimentación de los +5Vusb

mostrados en la Figura 4.14entra en un estado de corte aislando la alimentación USB del

sistema.

Page 102: DatalabUC - Modulo de Registro de Datos

102

Finalmente la señal +5V.ya sea que provenga de la fuente externa o del puerto USB,

es la que suministra la energía a todos los dispositivos que trabajen en este rango de voltaje,

un segundo regulador a +3V permite suministrarle la energía a la SD que opera en ese valor

de tensión.

Figura 4.15: Conexión del muestreo de la señal de alimentación del DataLabUC

El muestreo de la señal de entrada es realizado por el microcontrolador en el bit 0de

puerto A para verificar cuál de las fuentes de alimentación está habilitada. Esto se hace por

medio de un divisor de tensión tal como se muestra en la Figura 4.15.

Tal como se muestra en la ¡Error! No se encuentra el origen de la referencia.Figura

4.16 se muestra el esquema de conexión utilizado para la pantalla LCD de 16x2 donde se

contempla un MOSFET BSS1308 controlado por el terminal RC2 del microcontrolador,

este al enviarle un 1 lógico al MOSFET habilita el flujo de corriente por el terminal 16 de la

pantalla, cerrando de esta manera, el circuito que gobierna el control lumínico de la

retroalimentación (backlight) del LCD.

Page 103: DatalabUC - Modulo de Registro de Datos

103

Figura 4.16: Esquema de conexión de la LCD 16x2

Continuando con la explicación, se aprecia en la Figura 4.17 la conexión del

MÓDULO USB al microcontrolador, tal como indica el esquema, los terminales de D+ y

D- van conectados en los terminales correspondientes para establecer la comunicación con

el PIC18F4550 (RC4 y RC5 respectivamente), la salida de energia, visto en el terminal 1

del módulo USB, va al circuito regulador de tension tal como se hablo en la Figura 4.14 y

un capacitor electrolitico de Cusb = 10 uF es conectado en el terminal 18 (del PIC18F4550)

para habilitar el oscilador del módulo USB del microcntrolador.

Figura 4.17: Esquema de conexión del USB

Page 104: DatalabUC - Modulo de Registro de Datos

104

Figura 4.18: Esquema de conexión de la memoria SD

La conexión del módulo de memoria SD es tal como se muestra en la Figura 4.18 se

realizó según se indicó en el capítulo II (véase Figura 2.17) donde a la salida del módulo se

aprecian resistencias del orden de 1,5 KOhm y en paralelo una de 3 KOhm para las líneas

CS, Din y SCLK y una resistencia de 10 KOhm para la pull-up a la salida del terminal 7 del

módulo (Dout) cuyo valor, al igual que el que alimenta es de 3.3 Vdc, es suministrado por

el regulador.

La distribución de la conexión de este módulo con el microcontrolador se presenta a

continuación en la Tabla 4.8:

Tabla 4.8: Distribución de las líneas del módulo SD con el PIC18F4550

Etiqueta de la línea Puerto del microcontrolador

CS RC6

SDO RC7

SCK RB1

SDI RB0

Page 105: DatalabUC - Modulo de Registro de Datos

105

Finalmente se presente el esquema de conexión de todos los módulos presentados

en esta etapa al microcontrolador tal como se muestra en la Figura 4.19.

Figura 4.19: Esquema de conexión del microcontrolador PIC18F4550 con el módulo.

Etapa III: Elaboración del dispositivo físico (hardware)

Una vez finalizada la etapa dos (II) de esquematizar los planos correspondientes a

las tarjetas que se usaron para el dispositivo llamado DataLabUC se procedió a la

elaboración del prototipo.

Se elaboraron los planos en el software ExpressPCB disponiendo los elementos

participantes de tal forma de obtener una compatibilidad con las dimensiones de la caja que

Page 106: DatalabUC - Modulo de Registro de Datos

106

protege al circuito, una vez realiza la labor se obtuvo los diseños mostrados desde la Figura

4.20 hasta la Figura 4.23.

Figura 4.20: Disposición de los elementos electrónicos en la tarjeta uno (I)

Figura 4.21: Vista de plano de las pistas "Top" (rojo) y “Bottom” (verde) de la tarjeta uno (I)

Figura 4.22: Disposición de los elementos electrónicos en la tarjeta uno (II)

Page 107: DatalabUC - Modulo de Registro de Datos

107

Figura 4.23: Vista de plano de las pistas “Top” (rojo) y "Bottom" (verde) de la tarjeta dos (II)

Para elaborar la PCB se implementó un método artesanal por transferencia térmica

que consiste en llevar estos planos a un papel transfer a través de una impresora láser, estos

se planchan sobre laminas virgen de pertinax, quedando, por transferencia térmica, el tóner

del papel adherido a las láminas.

Acto seguido, se sumergen estas laminas en una mezcla de ácido percloruro férrico,

que es un oxidante metálico el cual elimina el cobre de la superficie de la lámina excepto,

las áreas cubiertas por el tóner. Luego de verificar este paso, se retiran las láminas del ácido

se dejan escurrir bien y se limpian para eliminar el tóner de ellas solvente.

Luego, con brocas acordes a los diámetros de los orificios, se perfora la lámina con

un taladro, se colocan los componentes y se sueldan estos con estaño a la lámina. En la

Figura 4.24 y la Figura 4.25 se aprecian el trabajo de las tarjetas.

Los componentes requeridos se resumen en la Tabla 4.9 como una breve descripción,

cantidad y costo.

Page 108: DatalabUC - Modulo de Registro de Datos

108

Figura 4.24: Tarjeta (I) finalizada

Figura 4.25: Tarjeta (II) finalizada

El acabado final del dispositivo se puede apreciar en la Figura 4.26.

Figura 4.26: Acabado final del dispositivo DataLabUC

Page 109: DatalabUC - Modulo de Registro de Datos

109

Tabla 4.9: Tabla resume de los componentes de ambas tarjetas

Componentes Descripción Cantidad Costo c/u

[BsF]

Costo total

[BsF]

Papel transfer Panel utilizado para realizar la impresión

sobre la lámina de cobre las pistas 4 4.4 8.8

PIC18F4550 Unidad cerebro del dispositivo fabricado, 32

KB ROOM, 2KB RAM, 40 I/O 1 83.0 83.0

Conector RJ45

Conector para PCB, conexión de

alimentación con transformador externo de

corriente DC

1 12.0 12.0

Conector Headers Headers hembra para el PIC18F4550 1 13.0 13.0

Mechas Mechas para brocas PCB 1 30.0 30.0

LCD 16x2 Pantalla alfanumérica de 16x2 caracteres 1 58.0 58.0

Resistencias SMD 4.7KOhm Resistencias de montaje superficial

4,7KOhm 8 0.5 4.0

Resistencias

SMD 1KOhm Resistencias de montaje superficial 1KOhm 11 0.5 5.5

Resistencia

SMD 10KOhm Resistencias de montaje superficial 10Kohm 6 0.5 3.0

Resistencias

SMD varias

Resistencias de montaje superficial de varios

valores (1.5, 2.2, 3) KOhm y 180 Ohm 11 0.5 5.5

DS1307 Reloj de tiempo real 1 45.0 45.0

Condensador cerámico 0.1uF

SMD

Condensador cerámico de 0.1uF/50 V de

montaje superficial 8 0.5 4.0

Condensadores varios Condensadores electrolíticos y cerámicos

varios 7 0.5 3.5

Pulsadores Pulsadores para la interfaz con el usuario,

normalmente abierto 5 3.0 15.0

Led standart Indicadores lumínicos para la interfaz física 3 1.0 3.0

AD8495 Linealizador de temperatura de termocupla

tipo K 1 22.0 22.0

ADS1113 Conversor AD de 16Bit de resolución,

protocolo I2C 1 51.0 51.0

CD74HC4067 Multiplexor analógico de 16 canales 1 9.0 9.0

MCP1525 Regulador de tensión a 2.5 V 1 9.6 9.6

1N4148 Diodos 6 1.5 9.0

Memoria SD 2GB Memoria de almacenamiento masivo 1 55.0 55.0

Fusible reseteable

500 mA/24V Fusible reseteable de montaje superficial 1 1.46 1.46

MCP1541T-I/TT Regulador de tensión 4.096V 1 4.3 4.3

Pulsadores Pulsadores normalmente abiertos (NO) 6 3.0 18.0

Caja plástica Caja plástica para resguardar las tarjetas 1 60.0 60.0

Cristal de cuarzo de 20 MHz Cristal de cuarzo para el PIC18F4550 1 8.0 8.0

Terminal block 2.54 mm Terminales para conectar las señales al

dispositivo color verde 4 5.0 20.0

Costos varios Costos de fabricación del PCB 1 100.00 100.00

-- -- -- Total 660.66

Page 110: DatalabUC - Modulo de Registro de Datos

110

Etapa IV: Creación de la interfaz visual

Para la creación de la interfaz visual, se tomó en cuenta las siguientes características

de uso para un sistema de registro de datos:

Una ventana principal con todas las opciones mencionadas a continuación:

selección del tiempo de muestreo, canales muestreados, sincronización con el reloj

de la computadora, registrar a tiempo real, leer la memoria SD del dispositivo,

ventana de gráfico de los canales, exportar datos a un documento en Microsoft

Excel.

Una ventana para visualizar los datos de entrada que permita la opción de ver

gráficos independientes de cada uno de los canales.

Una ventana de configuración de misiones donde se pueda programar los distintos

tiempos de espera, desde el momento que se comienza la misión, y los tiempos de

registro de datos, esto, se realizó de manera independiente para cada uno de los

canales, a fin de tener una independencia entre cada uno de ellos al realizar el

proceso de registro de datos en modo misión.

En esta etapa se realizó la elaboración de la interfaz sin realizar la programación de

cada uno de los controladores participantes en ella, a continuación se muestra cada una de

las ventanas realizadas y adicionalmente se presenta, para cada una ella una tabla

descriptiva donde se precisa la función de cada uno de los controles.

Tal como se observa en la Figura 4.27 se tiene una ventana donde se presenta los

controles de configuración previstos para el uso del dispositivo físico conectado al

programa, además de una ayuda visual en la parte inferior de esta donde se presenta el

estado del dispositivo, es decir, si el dispositivo está conectado o no a la interfaz, además de

una rejilla donde se presentan los datos numéricamente y un visor grafico para ver las

Page 111: DatalabUC - Modulo de Registro de Datos

111

señales de los canales, en la Tabla 4.10 se deja bien claro según la numeración puesta de la

Figura 4.27¡Error! No se encuentra el origen de la referencia..

Figura 4.27: Ventana principal de la interfaz DataLabUC

Tabla 4.10: Descripción de los controles usados en la ventana 1 del DataLabUC

Numero de

descripción Descripción

1 Configuración del dispositivo: tiempos de muestreos y selección de canales a muestrear

2 Exporta los datos almacenados en el rejilla que presenta los datos numéricamente de la interfaz

(7) a un documento en Microsoft Excel

3 Sincronización del reloj de la computadora con el reloj del dispositivo DataLabUC

4 Abre la ventana para configurar la misión del dispositivo físico

5 Borra los datos almacenados en la memoria SD

6 Permite borrar la información presentada en visor grafico (axisplot) y en la rejilla (datagrid)

7 Sale de la aplicación

8 Barra de estado que aparece al momento de descargar la información de la memoria SD del

dispositivo

9 Controlador Tooltip usado para otorgarle información del uso a los controladores de la ventana

al momento de colocar el mouse sobre ellos

10 Toolstipstatuslabel son usados para agregar información del estado del dispositivo en la interfaz,

es decir, si está conectado o no, además indica el estado de la memoria del dispositivo.

11 UsbHidPort es el controlador usado para generar los eventos necesarios para las tareas de

recepción y transmisión de datos, retiro y conexión del dispositivo

1

2

3

4

5

6

7

16

8 9

10

11 12

13

14

15

Page 112: DatalabUC - Modulo de Registro de Datos

112

Tabla 4.11: Continuación de la tabla de descripción de los controles usados en la ventana 1 del

DataLabUC

Numero de

descripción Descripción

12 statusStrip es el control utilizado para gestionar el estado de barra (8) y el toolstipstatuslabel

(10)

13 Importa los datos de la memoria SD del dispositivo a la interfaz

14 Comienza el proceso de registro de datos a tiempo real, mostrando el visor de los canales de

manera automática (ventana 2)

15

Controlador exportado del paquete de componentes gráficos IOCOMP llamado Axisplot

contiene la información necesaria para presentar los estados de las señales analógicas

recibidas por el dispositivo

16 Datagrid se usa para presentar los datos de manera numérica en la interfaz, se imprime el

número de muestra dato de hora y fecha del registro y los valores de los cuatros canales

Al presionar la configuración del dispositivo (descripción número 1 de la Tabla

4.12) se abre una ventana de configuración mostrada en la Figura 4.28, en la Tabla 4.12 se

describe cada uno de sus controladores.

Figura 4.28: Ventana de configuración del dispositivo

Como se mencionó anteriormente, al momento de presionar el control de la Figura

4.27¡Error! No se encuentra el origen de la referencia. enumerado con 14 se realiza un

1

2

3

4

5

6

7

Page 113: DatalabUC - Modulo de Registro de Datos

113

proceso de registro de datos a tiempo real, en donde el dispositivo, conectado a la

computadora, realiza el proceso de muestreo y captura de las señales a los tiempos pre

configurado.

Todo esto, a través del control y transmisión de cada uno de los datos obtenidos, que

son interpretados por la interfaz y los presenta en la ventana principal de manera gráfica y

numérica en la ventana principal del programa.

Tabla 4.12: Descripción de los controladores participantes en la ventana de configuración del

dispositivo

Numero de

descripción Descripción

1 Envía la configuración establecida en la ventana al dispositivo

2 Cancela la configuración y regresa a la ventana principal

3 Otorga valores por default al la ventana, los cuatro (4) canales a una muestra por segundo

(1 MSP)

4 Selección del tiempo de muestreo del dispositivo (5;4;2;1) MPS y (10;30;60) segundos

5 Selección del tipo de muestreo, checkbox seleccionado está en el rango de (5;4;2;1) MPS y

deseleccionado en el rango de (10;30;60) segundos

6 Habilitar o deshabilitar la sobre escritura del dispositivo de registro de datos, borra los

valores anteriores de la memoria

7 Selección de los canales a muestrear

La pantalla de visor de adquisición (Figura 4.29) donde se observa los valores que

toman estas señales por medio de un visor analógico y uno digital como se aprecia en los 8

indicadores. En la Tabla 4.13 se describe los controles de dicha figura.

Tabla 4.13: Descripción de los controles participantes en la ventana de visor de la adquisición del

DataLabUC

Numero de

descripción Descripción

1 Controlador que detiene el evento de registro de datos en el dispositivo, regresa a la venta

de inicio

2 Visor analógico del canal, se aprecia el rango, la apreciación y la unidad de medida para la

señal

3 Visor digital del canal, se aprecia el entero y los decimales correspondientes

4 Indicador visual de la fecha y hora del registro

5 Controlador Tooltip usado para otorgarle información del uso a los controladores de la

ventana al momento de colocar el mouse sobre ellos

Page 114: DatalabUC - Modulo de Registro de Datos

114

6 Controlador Timer usado para ejecutar interrupciones cada intervalo de tiempo a modo de

actualizar los valores de los datos obtenidos de la ventana principal a la ventana 2

Figura 4.29: Ventana de visor de la adquisición (registro en el DataLabUC)

En el momento en que el usuario decida ver las graficas en una ventana

independiente, lo podra realizar al presionar un doble clic en cada uno de los visores

digitales, automaticamente se abre la ventana vista en la Figura 4.30, aquí saldra el nombre

del canal al cual corresponde la señal.

Para cerrar esta parte de la descripción se tiene la ventana de configuracion de la

misión observada en la Figura 4.31, esta se encarga de programar al DataLabUC de una

forma tal que, para cada una de las señales de manera independiente, se le diga cuanto sera

el tiempo de espera para comenzar el registro de dicha variable y en cuanto tiempo este

registro se realizará.

1

2

3

4

6

5

Page 115: DatalabUC - Modulo de Registro de Datos

115

Figura 4.30: Ventana de gráficos por canal, evento que ocurre al

hacer doble clic a los visores digitales de la Figura 4.29

Una vez programado el dispositivo, este entrara en un lazo de espera, el cual

preguntara al usuario si realizara o no la misión, una vez ocurrida la selección, la

temporizacion de los tiempos de espera y de registros del DataLabUC en modo misión

comenzarán.

Ademas, si se llegase a desconectar el dispositivo, es decir desenergizarlo, este

mantendra en su memoria no volatil del microcontrolador, la configuración establecida en

el programa de misión, por lo que, al energizar nuevamente, el dipositivo mostrará que hay

una misión pendiente que debe ser atendida o ignorada.

Tal como se muestra en la Figura 4.31, la presentacion de esta ventana busco ser lo

mas amigable e intuitiva posible. El usuario, tendra la opcion de escoger el canal a

muestrear al hacer clic en cualquiera de los numeros indicatorios a mano derecha, ademas,

tendra la opcion de decidir si tener un tiempo de espera en minutos o en horas, para ello, se

debe realizar la selección en cualquiera de las opciones mencionadas y aumnetar o

disminuir el control correspondiente a la selección usada.

Page 116: DatalabUC - Modulo de Registro de Datos

116

Esta descripcion se aprecia en la Figura 4.31 en los numeros indicadores 11 y 12

respectivamente.

Una vez configurado los canales, se realizara la verificación del calculo del espacio

en la memoria SD con respecto al numero de muestras que se incorporaran en ella, esto se

lleva a cabo, haciendo la selección en el control de verificar de MPS (indicado con el

nmero 2 de la Figura 4.31).

La aplicación dispone de una rutina donde compara el espacio de la memoria

almacenada con la que se quiere incorporar, e indicarasi dispone de espacio sufieciente, de

ser afirmativo, son presentados los tiempos posibles a ser usados en la ventana tal como se

indica en el numero 1 de la Figura 4.31.

Una ayuda visual estará disponible al presionar en controlador “Verificar MPS”, por

lo que, una vez verificado los datos, se procede a enviar la programación de la misión a

través del control mostrado con el numero 4 de la Figura 4.31. El resto de las características

de esta ventana se describen en la Tabla 2.1.

Page 117: DatalabUC - Modulo de Registro de Datos

117

Figura 4.31: Ventana de configuración de la misión

Tabla 4.14: Descripción de los controles participantes en la ventana de configuración de misión

Numero de

descripción Descripción

1 Tiempos disponibles de muestreo, dependerá del espacio disponible en la memoria SD del

dispositivo

2 Verifica que haya espacio suficiente en la memoria SD del dispositivo para presentar los

tiempos de muestreos disponibles bajo esa configuración de misión establecida

3 Ayuda visual que indicara por colores [Verde: ok; Amarillo: Advertencia y Rojo: No Ok]

el estado de la memoria SD y si se podrá realizar la misión configurada

4 Envía la información verificada al dispositivo DataLabUC para ser usado en modo misión

5 Cancela la misión y regresa a la página principal

6 Muestra datos de fecha hora de la configuración

7 Controlador Tooltip usado para otorgarle información del uso a los controladores de la

ventana al momento de colocar el mouse sobre ellos

8 Controlador Timer usado para ejecutar interrupciones cada intervalo de tiempo a modo de

actualizar los valores de los datos obtenidos de la ventana actual

9 statusStrip es el control utilizado para gestionar el estado de barra y el toolstipstatuslabel

1

2

3

4

5

6 7

8 9

10

11

14

12 13

Page 118: DatalabUC - Modulo de Registro de Datos

118

Tabla 4.15: Continuación de la tabla de descripción de los controles que participantes en la ventana

de configuración de misión

Numero de

descripción Descripción

10 Ayuda visual que indica, por el estado de barra, el espacio cubierto de la memoria SD del

dispositivo

11

Selección del canal a configurar para la misión, [Negro: no incluido en la misión; Rojo:

incluido en la misión] además de habilitar el conjunto de controladores que rigen a este

canal

12

-Numericupdown usado para establecer la cantidad de horas de espera en el momento en

que se inicia la misión

- Numericupdown usado para establecer la cantidad de minutos de espera en el momento

en que se inicia la misión

- Selección de tiempo de espera en horas

- Selección de tiempo de espera en minutos

- Selección de tiempo de registro en horas

13

-Numericupdown usado para establecer la cantidad de horas de registro en el momento en

que se inicia la misión

-Selección de tiempo de registro en minutos

- Numericupdown usado para establecer la cantidad de minutos de registro en el momento

en que se inicia la misión

- Numericupdown usado para establecer la cantidad de horas de registro en el momento en

que se inicia la misión

14 Resumen de la configuración del canal

Implementación del protocolo bidireccional entre el hardware y el software

Para establecer la comunicación bidireccional entre el dispositivo físico (hardware)

y la interfaz visual (software) fue necesario la creación un protocolo de comunicación, que

le permitiese a ambos entender la información recibida y también organizar la información

que se envía.

Para ello, se estableció un paquete de datos que ambos trabajan sobre un buffer de

16 bytes, los cuales vienen presentados de la siguiente manera:

Desde el dispositivo físico a la interfaz siempre será un paquete fijo representado a

continuación en la Figura 4.32.

Page 119: DatalabUC - Modulo de Registro de Datos

119

Byte15 Byte4 Byte13 Byte12 Byte11 Byte10 Byte9 Byte8 Byte7 Byte6 Byte5 Byte4 Byte3 Byte2 Byte1 Byte0

CH1

MSB

CH1

LSB

CH2

MSB

CH2

LSB

CH3

MSB

CH3

LSB

CH4

MSB

CH4

LSB DIA MES AÑO HOR MINU SEG

mili

SEG COMD

Figura 4.32: Estructura del buffer de datos del dispositivo físico hasta la interfaz visual

Como se muestra en la Figura 4.32, los canales vienen repartidos en pares de byte,

esto es lógico ya que el conversor analógico-digital posee una resolución de 16 bits, por lo

que se recurre realizar la escritura acorde al tamaño de la lectura realizada sin realizar

truncamiento.

De esta manera organizada se agrupan los cuatros canales del dispositivo, se pueden

apreciar desde el byte 9 hasta el byte 15, a partir del byte 1 hasta el byte 7 se organiza los

datos de hora y fecha de la captura de la señal y finalmente el byte 0 el cual tendrá como

objetivo identificar la procedencia del buffer.

De igual forma se realizo la escritura del reloj de tiempo real (RTC), el cual posee

una resolución mínima de 1 segundo. Para registrar tiempos de muestreos mayores a esta

resolución, se procedió a escribir en el byte 1del paquete mostrado en la Figura 4.32 un

tiempo en milisegundos que fue realizado por software a través de tiempos de espera

programados.

En la Tabla 4.17 se muestra la explicación de cada uno de los comandos del byte 15

del buffer del paquete:

Tabla 4.16: Tipos de comandos posibles en el Byte 15 del buffer enviados desde el dispositivo.

COMD

Byte[15] del Buffer Descripción

$FF Envío del paquete de datos a tiempo real

$FE Envío del estado de la memoria SD del dispositivo (almacenado en la memoria

EEprom del microcontrolador)

$FD Envío de la data almacenada en la memoria SD del dispositivo

Page 120: DatalabUC - Modulo de Registro de Datos

120

Tabla 4.17: Continuación de los tipos de comandos posibles en el Byte 15 del buffer enviados desde el

dispositivo.

COMD

Byte[15] del Buffer Descripción

$FC Finalización de envío de datos de la lectura SD del dispositivo

$EC Interrupción de la lectura de la memoria SD, retorna al menú principal

$DC Indica a la aplicación que fue interrumpida la misión

$DB Indica antes del inicio de la misión que deshabilite la pantalla principal de la interfaz

$DA Cierra la ventana de la aplicación y el dispositivo empieza la misión en modo

solitario

Para el caso de la transmisión de información desde interfaz al dispositivo, el

paquete posee una estructura parecida, solo que para este caso, dependerá de la función a

realizar, ya que, para cada caso, se cargan diferentes datos en los demás bytes del buffer. Lo

que sí es fijo es el byte 15 mostrado en la Figura 4.33 donde se envía el control COMD.

Byte1

5

Byte1

4

Byte1

3

Byte1

2

Byte1

1

Byte1

0

Byte9

Byte8

Byte7

Byte6

Byte5

Byte4

Byte4

Byte3

Byte2

Byte1

Byte0

CO

MD

Byte1

4

Byte1

3

Byte1

2

Byte1

1

Byte1

0

Byte9

Byte8

Byte7

Byte6

Byte5

Byte4

Byte4

Byte3

Byte2

Byte1

Byte0

Figura 4.33: Disposición de los comandos en la transmisión desde la interfaz al dispositivo

En la Tabla 4.18 se muestra la explicación de cada uno de los comandos de del byte

1 del buffer del paquete y en la Figura 4.33 la información que se anexa en cada uno de los

byte del buffer:

Tabla 4.18: Tipos de comandos posibles en el Byte 15 del buffer enviados desde la interfaz

COMD

Byte[15] del Buffer Descripción

$FF Borra la memoria contenida en el dispositivo.

Coloca por defecto la configuración del equipo.

$FE Da inicio al registro de datos que se presentan a tiempo real en la interfaz.

Page 121: DatalabUC - Modulo de Registro de Datos

121

Tabla 4.19: Continuación de los tipos de comandos posibles en el Byte 15 del buffer enviados desde la

interfaz

COMD

Byte[15] del Buffer Descripción

$FD Realiza la lectura de la memoria SD del dispositivo.

$FC Configura la información de fecha y hora del dispositivo con respecto a la

suministrada por el computador.

$FB Establece la configuración del dispositivo con respecto al MPS y canales a

registrar.

$FA Establece la configuración de las misiones.

Con respecto a la disposición de la información almacenada en la EEprom del

microcontrolador, en la Tabla 4.20 se puede apreciar cómo se distribuye la distinta

información pertinente del dispositivo.

Tabla 4.20: Disposición de la información almacenada en la memoria EEprom del microcontrolador

Dirección Byte Descripción

$00 Est_SD1 (LSB) Byte 1(menos significativo) del estado de la memoria SD

$01 Est_SD2 Byte 2 del estado de la memoria

$02 Est_SD3 Byte 3 del estado de la memoria

$03 Est_SD4 (MSB) Byte 4 del estado de la memoria

$04 Confi_Dsp Byte donde se almacenara la información de la configuración de

memoria

$05 Modo_mis Byte donde se almacenara la información de la configuración de

memoria con respecto al modo de misión

$06 InicCH1 Tiempo de espera para el registro del CH1

$07 DurCH1 Tiempo de duración para el registro del CH1

$08 InicCH2 Tiempo de espera para el registro del CH2

$09 DurCH2 Tiempo de duración para el registro del CH2

$0A InicCH3 Tiempo de espera para el registro del CH3

$0B DurCH3 Tiempo de duración para el registro del CH3

$0C InicCH4 Tiempo de espera para el registro del CH4

$0D DurCH4 Tiempo de duración para el registro del CH4

Para la reconstrucción del DWord que representa el estado de la memoria o el

número del sector en el cual la memoria quedo al grabar, se realiza de la siguiente manera:

Page 122: DatalabUC - Modulo de Registro de Datos

122

EEprom = 65535 * Est_SD1 + 256 * Est_SD2 + Est_SD3

Cabe destacar que a pesar de que la variable es de tipo DWord solo se utilizan los

tres (3) bytes primeros, esto se debe a que el número tope de muestras posible a almacenar

viene dado por esta condición de diseño:

“El dispositivo deberá almacenar de manera ininterrumpida, 96 horas a una tasa de

muestreo igual a 5 MPS que es la máxima rata alcanzada en él.”

Por lo tanto al realizar los cálculos se obtuvo los siguientes resultados:

Por lo que el número en capacidad representado en hexadecimal es:

El valor quedara almacenado solo en tres bytes de la memoria aunque se tiene que

respetar el espacio del DWord para esta variable en la EEprom.

Ahora bien en la Figura 4.34 se muestra la forma como viene estructurado el byte de

configuración del dispositivo.

Page 123: DatalabUC - Modulo de Registro de Datos

123

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Ch0 Ch1 Ch2 Ch3 SW MPS3 MPS2 MPS1

Figura 4.34: Estructura del byte de configuración del dispositivo

Donde cada uno de sus bits son explicados a continuación:

Ch0…Ch4 (Bit 7 hasta Bit 4): Habilitar canal.

1 Canal habilitado

0 Canal Deshabilitado

SW (Bit 3): Habilitar sobre escritura

1 Sobre escritura habilitada

0 Sobre escritura Deshabilitada

MP2…MPS0 (Bit 2 hasta Bit 0): Numero de muestras, viene representada por la

siguiente Tabla 4.21.

Tabla 4.21: Valores que toman los bits de configuración para configurar el muestreo de las señales

Numero Muestre Valor en binario

MSP2 MPS1 MPS0

1 1 MPS 0 0 0

2 2MPS 0 0 1

3 4 MPS 0 1 0

5 10 seg 1 0 0

6 X X X X

7 60 seg 1 1 0

El byte que verifica la configuración de la misión está estructurado tal como se

muestra en la Figura 4.35.

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

EM Ch4 Ch3 Ch2 Ch1 MPS3 MPS2 MPS1

Figura 4.35: Estructura del byte de configuración en modo misión

Page 124: DatalabUC - Modulo de Registro de Datos

124

Donde cada uno de sus bits son explicados a continuación:

EM (Bit 7): Habilitar misión

1 Misión habilitada

0 Misión deshabilitada

Ch0…Ch4 (Bit 6 hasta Bit 3): Habilitar canal.

1 Canal habilitado

0 Canal Deshabilitado

MP2…MPS0 (Bit 2 hasta Bit 0): Numero de muestras, viene también representado

por la Tabla 4.21.

Tal como se observa en la Tabla 4.20 desde el sector $06 hasta el sector $0D se

tiene una serie de bytes los cuales indicaran al programa en modo misión, los tiempos

requeridos, tanto para la espera como para la duración del registro de dicho canal.

La idea es simple, conseguir que cada canal en el modo misión se active de manera

individual durante la ejecución del mismo, quiere decir, que dentro de una ventana de

tiempo que engloba el tiempo de espera y el tiempo de registro, se observara como se

activan los distintos canales configurados.

Ya que se puede realizar la configuración en modo de horas o en modo de minutos,

la estructura de cómo viene presentado cada uno de estos byte se muestra a continuación

con la Figura 4.36 y Figura 4.37.

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Modo -- Bit5 Bit4 Bit3 Bit2 Bit1 Bit0

Figura 4.36: Estructura del duración del tiempo de espera del canal

Page 125: DatalabUC - Modulo de Registro de Datos

125

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Modo Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0

Figura 4.37: Estructura de duración de tiempo de registro del canal

Para ambos casos se explica exactamente lo mismo con respecto a la información de

los bits, la cual es la siguiente:

Modo (Bit 7): Habilitar modo hora

1 Modo hora habilitada

0 Modo hora deshabilitada (minutos)

Bit6…Bit0 (Bit 6 hasta Bit 0): Numero adimensional,

Si Bit 7 = 1 entonces va desde 0 hasta 98

Si Bit 7 = 0 entonces va desde 0 hasta 90

Por lo que, el programa debe interpretar el bit 7 y realizar el ajuste respectivo para

dimensionar estos número de forma tal de llevarlos a horas o minutos.

A modo de ejemplificar lo antes expuesto para el modo misión se establece a

continuación un caso el cual posee estas características:

Se configura el modo misión para los canales 1, 2, 3 y 4 con los siguientes tiempos

de espera y de registro mostrados en la Tabla 4.22 con una tasa de muestreo de 4

MPS.

Tabla 4.22: Ejemplo de configuración de los tiempos en el modo misión

Canal Tiempo de espera Tiempo de registro

Ch1 1 hora 3 horas

Ch2 2 hora 90 minutos

Ch3 90 minutos 1 hora

Ch4 30 minutos 10 minutos

Page 126: DatalabUC - Modulo de Registro de Datos

126

A continuación se muestra como estaría configurado el modo misión para cada uno

de los bytes tratados en esta sección.

Para el byte de configuración de misión:

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 1 1 1 1 0 1 0

Para los tiempos de espera de cada uno de los canales se tiene:

Tiempo de espera para el inicio del Ch1 (1 hora):

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 0 0 0 0 0 0 1

Tiempo de espera para el inicio del Ch2 (2 horas):

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 0 0 0 0 0 1 0

Tiempo de espera para el inicio del Ch3 (90 minutos):

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 1 0 1 1 0 1 0

Tiempo de espera para el inicio del Ch4 (30 minutos):

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 1 1 0 0 0 1 0

Para los tiempos de registro en cada uno de los canales se tiene:

Tiempo de registro del Ch1 (3 horas):

Page 127: DatalabUC - Modulo de Registro de Datos

127

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 0 0 0 0 0 1 1

Tiempo de registro del Ch2 (90 minutos):

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 1 0 1 1 0 1 0

Tiempo de registro del Ch3 (1 hora):

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 0 0 0 0 0 0 1

Tiempo de registro del Ch4 (30 minutos):

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 0 0 1 1 1 1 0

Si se observa en una ventana de tiempo al empezar la ejecución de la misión, se

tendría algo como se muestra en la Figura 4.38 donde se aprecia en estado alto los tiempos

de registro para una ventana de tiempo de aproximadamente cuatro (4) horas, tomando en

cuenta el máximo tiempo de espera para el inicio y el máximo tiempo de registro.

Estados

Ch1

Ch2

Ch3

Ch4

0 1 2 3 4 Tiempo (horas)

Figura 4.38: Tiempos de registro en modo misión

Page 128: DatalabUC - Modulo de Registro de Datos

128

Comandos más usados en el programa del hardware

Entre los comandos más destacados para la programación del microcontrolador

aplicado al hardware de DataLabUC2012 se tienen los usados para el manejo de la

memoria SD, los dispositivos que operan bajo el protocolo I2C, memoria EEPROM del

microcontrolador, manejo de la pantalla LCD, comunicación USB entre otros comandos de

condiciones, estos, serán expuestos a continuación:

IF…THEN…ELSE

Descripción: evalúa la comparación y si esta es verdadera ejecuta la instrucción,

pero si esta no lo es, la ignora. Se suele también utilizar el ELSE para realizar condiciones

que no cumplan la instrucción a comparar.

SELECT

Descripción: la selección evalúa una determinada expresión bajo distintas

condiciones llamadas CASE y en el caso en que la comparación de un resultado verdadero,

realizara la(s) instrucción(es) correspondiente.

IF Comparación THEN Instrucción: ELSE: Instrucción ENDIF

SELECT Expresión

CASE Condición(es)

Instrucción(es)

}

CASE Condición(es)

Instrucción(es)

CASE ELSE Condición(es)

Instrucción(es)

}

ENDSELECT

Page 129: DatalabUC - Modulo de Registro de Datos

129

BUTTON

Descripción: comando utilizado para realizar retardos a la entrada de una señal

producida por la pulsación del botón (elimina el ruido o falsos pulsos a la entrada y a la

salida ocasionados por los elementos mecánicos del botón). Este se puede activar por nivel

alto (Vcc = 5 Vdc) o nivel bajo (Vcc = 0 Vdc), esto dependerá de cómo este hecho el

circuito en físico.

Los operadores de este comando son explicados a continuación:

Terminal: PORT: BITespecifica cuál es el bit de entrada o salida (0 - 15) del

terminal al cual se debe encuestar, este terminal, automáticamente se configurara en

entrada ante este comando.

DownState: variable que es representada como (0 o 1) y especifica el estado lógico

que se produce cuando se pulsa el botón.

Delay: es una variable comprendida entre 0 – 255 e indica que tanta espera debe

tener el retardo para evitar el rebote, siendo 0 la indicación menor la cual no realiza

retardo. Cabe destacar además que, si se configurara en 255 la función de auto

repetición queda anulada.

Rate: es una variable comprendida entre 0 – 255 e indica la cantidad de ciclos de

espera para la repetición automática.

Workspace: es una variable de ajuste inicial para que el comando BUTTON

funcione correctamente, debe ser ajustada en 0.

TargetState: variable representada en 0 – 1 para especificar el estado del botón

antes de que ocurra el cambio (0 = no presionado, 1 = presionado).

Label: es una etiqueta que especifica el salto o el destino en el programa, al ocurrir

el cambio de estado en el botón.

BUTTONTerminal, DownState, Delay, Rate, Workspace, TargetState,

Label

Page 130: DatalabUC - Modulo de Registro de Datos

130

PRINT

Descripción: envía una cadena de texto al módulo LCD. Utiliza un modificador

llamado (AT ypos, xpos,) que establecen en donde se ubicará el cursor durante la

impresión de la cadena en la LCD.

EREAD

Descripción: lee la información de la memoria EEPROM del dispositivo

microcontrolador. La expresión “Variable” es usada para ser definida como cualquier

variable del tipo bit, byte, word, dword o float. Su dirección indicará el sector en el cual se

deberá extraer la información, dependerá de las capacidades preestablecidas por el

fabricante del microcontrolador dicho número.

EWRITE

Descripción: escribe de manera ordenada según la disposición de la(s) variable(s)

definidas previamente del tipo bit, byte, word, dword o float en la memoria EEPROM del

dispositivo microcontrolador. De igual manera, su dirección indicará el sector en el cual se

deberá extraer la información, dependerá de las capacidades preestablecidas por el

fabricante del microcontrolador dicho número.

USBIN

Descripción: este comando es usado para realizar la recepción de los datos

provenientes del host de la computadora, recibe la cadena de bytes (buffer de datos).

PRINT AT ypos, xpos, Item { , Item}

Variable = EREADDirección

EWRITEDirección, [ Variable {, Variable…etc}]

Page 131: DatalabUC - Modulo de Registro de Datos

131

Los operadores de este comando son explicados a continuación:

Endpoint: es una constante que indica la dirección del endpoint está comprendida

entre un numero 0 – 15.

Buffer: cadena de byte donde es almacenada la información.

Countvar: es una constante que indica cuantos bytes serán transferidos.

Label: es la etiqueta que usará el comando en caso de que el evento no logre la

recepción de los datos después de un tiempo determinado por el programa.

USBOUT

Descripción: este comando es usado para realizar la recepción de los datos

provenientes del host de la computadora, recibe la cadena de bytes (buffer de datos).

Los operadores de este comando son explicados a continuación:

Endpoint: es una constante que indica la dirección del endpoint está comprendida

entre un numero 0 – 15.

Buffer: cadena de byte donde es almacenada la información.

Countvar: es una constante que indica cuantos bytes serán transferidos.

Label: es la etiqueta que usará el comando en caso de que el evento no logre la

transmisión de los datos después de un tiempo determinado por el programa.

BUSIN

Descripción: usado para la recepción de los valores, la cadena de bytes provenientes

del bus I2C.

USBINEndpoint, Buffer, Countvar, Label

USBOUTEndpoint, Buffer, Countvar, Label

Variable = BUSINControl, {Dirección}

Page 132: DatalabUC - Modulo de Registro de Datos

132

Los operadores de este comando son explicados a continuación:

Variable: una variable definida del bit bit, byte, cadena de bytes, Word, cadena de

words, dword o del tipo float. Usada para la recepción de los valores provenientes

del comando.

Control: valor constante que indica la tarea a fin del flujo de datos.

Dirección: indica de cual dispositivo esclavo es la procedencia del dato a la

recepción.

BUSOUT

Descripción: usado para la transmisión de los valores formado por un conjunto de

cadenas de bytes para un determinado dispositivo esclavo utilizando como medio el bus

I2C.

Los operadores de este comando son explicados a continuación:

Control: valor constante que indica la tarea a fin del flujo de datos.

Dirección: indica de cual dispositivo esclavo es la procedencia del dato a la

recepción.

Datos de Salida: es la lista de variables, constante, a la cual se le adjunta la

información a ser transmitida a un determinado dispositivo esclavo, esto dependerá

del direccionamiento de los datos.

BSTART

Descripción: representa de manera fragmentada, el comando de inicialización del

protocolo I2C. Podría verse el caso que, distintos dispositivos esclavos, trabajen con una

estructura del protocolo un tanto variable, y que los comandos de alto nivel BUSIN y

BUSOUT (con su estructura completa) no sean entendidos por mencionado dispositivo

esclavo. Sencillamente se establece una transmisión “guiada” por el programador, donde en

BUSOUT Control, {Dirección}, [Datos de Salida]

Page 133: DatalabUC - Modulo de Registro de Datos

133

el flujo del programa, deberá realizar la nueva estructura para la comunicación del

dispositivo esclavo.

BUSACK

Descripción: representa de manera fragmentada, el comando de actualización o

reconocimiento (acknowledge) en el protocolo I2C. Como se mencionó en el comando

anterior, podría verse el caso que, distintos dispositivos esclavos, trabajen con una

estructura del protocolo un tanto variable, y que los comandos de alto nivel BUSIN y

BUSOUT (con su estructura completa) no sean entendidos por mencionado dispositivo

esclavo.

BSTOP

Descripción: representa de manera fragmentada, el comando de finalización de la

comunicación sostenida en el bus para el protocolo I2C.

SD_Init

Descripción: usado para la inicialización de la memoria SD o MMC en el programa,

y así, acceder a los distintos comandos utilizados para realizar las tareas de lectura y

escritura de dicha memoria.

BSTAR

BUSACK

BSTOP

[Variable =]SD_Init

Page 134: DatalabUC - Modulo de Registro de Datos

134

Variable: puede ser un bit, byte, Word o dword. Es usado para retornar el valor que

indica si la inicialización se efectuó de manera satisfactoria, cero “0” indicará que si

se realizó la inicialización y uno “1” que el tiempo de espera para la inicialización

transcurrió y el programa no tuvo éxito en establecer comunicación con la tarjeta,

este comando también incluye que la tarjeta podría no estar insertada.

SD_Sector

Descripción: indica al programa desde que parte del sector de la memoria SD o

MMC serán utilizadas en las tareas de lectura y escritura de dicha memoria.

Número del Sector: indica el sector de interés in la SD/MMC. Puede ser una

constante o un valor variable dependiendo del interés en la ubicación del punto a ser

escrito y/o leído, y debido a que se consideran miles de sectores en la memoria, se

recomienda que esta variable sea declarada del tipo dword.

Operación: es la operación a realizar en la memoria SD/MMC, siendo “0” para

escribir y “1” para leer.

SD_WRITE

Descripción: escribe un simple byte en la memoria SD/MMC. Debe ser inicializada

previamente para realizar esta función y además, especificar el sector al cual se realizará

dicha tarea.

SD_SectorNumero del Sector, Operación

SD_WRITE Byte

Page 135: DatalabUC - Modulo de Registro de Datos

135

SD_READ

Descripción: lee un simple byte en la memoria SD/MMC. Debe ser inicializada

previamente para realizar esta función y además, especificar el sector al cual se realizará

dicha tarea.

Variable: definida del tipo byte para la asignación de la información proveniente de

la lectura de la memoria SD/MMC.

Programación del equipo

Para cumplir con el protocolo planteado, el dispositivo fue programado utilizando

los algoritmos mostrados en los siguientes diagramas de flujo.

En la Figura 4.39 se detalla la estructura de inicio del programa principal, en la cual,

el microcontrolador al inicializar realiza un chequeo del estado de la memoria SD y además

verifica si se ha dejado determinada alguna misión la al usuario de activación de la misma,

en caso de que la condición de memoria este bien y no se introduzca al dispositivo en un

estado de modo misión, se dirigirá al menú principal mostrado a través de la Figura 4.40.

En la Figura 4.40 el usuario tendrá la posibilidad de realizar la selección del

subprograma que desea dirigirse, esto lo hará con la ayuda de los pulsadores normalmente

abiertos donde posee la opción de conectarse con la computadora o activar el modo

solitario o incluso verificar que la fecha y hora del dispositivo sean los acordes con los

reales, quiere decir que en caso que el RTC1307 este desconfigurado el usuario pueda

acceder a la computadora enviarle la información de fecha y hora, datos necesario para

realizar la sincronización del RTC1307 con los datos de fecha y hora del computador en el

cual se esté conectado.

Variable = SD_READ

Page 136: DatalabUC - Modulo de Registro de Datos

136

PROGRAMA PRINCIPAL

DECLARA VELOCIDAD DEL MICROCONTROLADOR

DECLARAR PINES DE LA PANTALLA LCD

DECLARAR PINES DE COMUNICACION I2C Y SPI

CONFIGURACION DEL ADS1113

RECONOCIMIENTO DE LA MEMORIA SD

SD OK?IMPRIMIR PANTALLA:

«INSERTE SD»

NO

SI

LEER SECTOR DE EEPROM DE MISIÓN

MISIÓNPENDIENTE?

NO

SI

IMPRIMIR PANTALLA:«REINICIAR MISIÓN»

MENU

REINICIO MISIÓN?

NO

SI

INICIO MISION

Figura 4.39: Diagrama de flujo del programa principal del dispositivo

Page 137: DatalabUC - Modulo de Registro de Datos

137

MENU

CONECTARSEUSB?

MODO SOLITARIO?

BORRARMEMORIA?

ESTADO RTC?

SI

NO

SI

NO

SI

NO

SI

NO

MISION?

SI

NO

CONECTARSE USB

MODOSOLITARIO

BORRAR MEMORIA SD

IMPRIMIR PANTALLA:

LECTURA RTC

10 SEG?

NO

SI

INICIO MISIÓN

Figura 4.40: Diagrama de flujo lazo de selección en el menú principal del dispositivo

Entre las tareas que debe realizar el dispositivo mostrado en la Figura 4.39 se

encuentra el configurar el conversor analógico-digital ADS1113, para ello, se requiere

realizar una secuencia de comandos a fin de lograr lo comentado, esta secuencia se muestra

con la Figura 4.41, donde a través del mencionado protocolo I2C, se establece la

Page 138: DatalabUC - Modulo de Registro de Datos

138

comunicación con el dispositivo esclavo, y a partir de allí, se establece los byte de

configuración en el momento de ubicarse en vector de registro.

CONFIGURACION ADS113

INICIO DE LA CONICACIÓN «BStart»

ENVIAR DIRECCIÓN «BusOut»

ENVIAR VECTOR DE REGISTRO «BusOut»

ENVIO DE VALORES DE CONFIGURACION «BusOut»

RECIBIDO?

NO

SI

FIN DE LA COMUNICACIÓN «BStop»

REGRESAR AL PROGRAMA PRINCIPAL

Figura 4.41: Diagrama flujo de la configuración del ADS1113

Entrando en detalle con las acciones posibles a realizar en el menú principal se

destacan tres subprogramas los cuales son: Conectarse USB, Inicio Misión y Modo

Solitario. Por lo que en las próximas descripciones se focalizara el texto en estos tres

diagramas de flujo.

Al momento de que el usuario seleccione el conectarse por USB el dispositivo entra

en una subrutina donde realiza la conexión con la interfaz de la computadora tal como se

aprecia en la Figura 4.42.

Page 139: DatalabUC - Modulo de Registro de Datos

139

CONECTARSE USB

CONECTAR DISPOSITIVO

ENVIAR ESTADO DE LA MEMORIA

BORRAR SD?

ENVIO DATOSTIEMPO REAL?

LEER SD?

CONFIGURAR RTC?

CONFIGURARDISPOSITIVO?

CONFIGURAR MISIÓN?

SALIR?

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

ENVIAR DATOSTIEMPO REAL

LEER SD

CONFIGURAR RTC

CONFIGURARDISPOSITIVO

CONFIGURARMISION

REGRESAR MENU

BORRAR SD

Figura 4.42: Diagrama de flujo del dispositivo al conectarse vía USB

Acto seguido envía sus datos de la memoria EEPROM referente al estado de la

memoria SD, logrado por un contador de sectores que al momento de almacenar en la

Page 140: DatalabUC - Modulo de Registro de Datos

140

memoria la información, incrementa su valor y eso, inmediatamente se almacena en una

variable DWORD dentro de la memoria del microcontrolador.

Y así, tal como se muestra en la Figura 4.42 el dispositivo queda en una especie de

espera temporal en donde la interfaz envía una orden, el mismo es capaz de recibirlo y

evaluarlo para dirigirse al comando programado para ese fin.

Tal como se muestra en la Figura 4.43, una vez que el usuario da la aprobación del

inicio de la misión, el dispositivo verificará si está conectado a la computadora, por lo que

mostrará al usuario al conectarse con la interfaz, los datos que van siendo registrados

durante la misión.

Esta verificación es gracias a que el en el PORTA.1 (véase Figura 4.19 en la página

104) está conectado los +5Vdc del terminal de alimentación USB del dispositivo, por lo

cual, si está conectado a la computadora, este terminal puede ser medido, ya que a su

entrada tendrá un 1 lógico en caso de estarlo.

Lo que sigue es una conversión de los datos suministrados por la interfaz tal como

el tiempo de espera y el tiempo de registro, donde lleva todos esos valores a segundos, lo

que permite en el programa principal de inicio de misión, establecer una medida

comparativa en la cual se utilizan variables auxiliares con el objetivo de ir

incrementándolas e ir comparándolas con las ya establecidas, esto con el fin de determinar

el inicio y fin de cada una de las misiones por canal.

Con la ayuda del banderas auxiliares el programa puede verificar cuando una señal

debe comenzar a registrar y cuando debe dejar de hacerlo, tal como se muestra en la ¡Error!

No se encuentra el origen de la referencia., por lo que, en el momento en que las banderas de

fin de registro cambien de estado y modifique el byte de configuración de misión y que los

Page 141: DatalabUC - Modulo de Registro de Datos

141

bits de los canales habilitados estén en 0 lógico para todos ellos, se habrá realizado en su

totalidad la misión.

INICIO MISIÓN

CONECTARUSB?

SI

NO

LEER VALORES DE CONFIGURACIÓN«EEPROM»

CONVERSION DE VALORES A SEGUNDOS

ESTADO <> 0?

NO

SIINCREMENTAR CONTADORES

DE CANALES HABILITADOS

ESPERA 1 SEG

TIEMPOS DEESPERA IGUALES?

NO

SI

BANDERA DEL CANAL = 1

ESTADO = 8*BanderaCH4 + 4*BanderaCH3 + 2*BanderaCH2 +

BanderaCH1

SELECCIONAR CANTIDAD DE MUESTRAS«EEPROM»

DECREMENTAR NUMERO MUESTRA

MUESTRAS = 0?

NO

SI

INCREMENTAR CONTADORES DE REGISTRO

CONTADORES DE REGISTRO IGUALES?

BANDERA DEL CANAL = 0

DESHABILITAR CANALES YA REALIZADOS

REGISTRO DE MISION = 0?

IMPRIMIR PANTALLA«FIN DE LA MISION»

MUESTREO SEÑALES MODO MISION

NO

SI

NO

SI

REGRESAR AL PROGRAMA PRINCIPAL

1

1

AttachToUSB

Figura 4.43: Diagrama de flujo rutina de inicio de misión

Page 142: DatalabUC - Modulo de Registro de Datos

142

El registro de datos en modo solitario es tal como se muestra en la Figura 4.44, al

entrar en esta rutina, el dispositivo verifica la configuración pre-establecida para determinar

el tiempo de muestreo y los canales que deberá muestrear.

La diferencia del resto de las demás rutinas es que esta saldrá del lazo de registro al

verificar que el pulsador destinado para dicha misión este siendo presionado, y es en ese

momento que el dispositivo deja de registrar datos de los canales y regresa al lazo de

programa principal mostrado en la Figura 4.39.

MODO SOLITARIO

LEER CONFIGURACION DEL DISPOSITIVO«EEPROM»

CONVERSIÓN AD1113

ESCRIBIR REGISTRO EN LA MEMORIA SD

LEER CONTADOR MUESTRAS

DECREMENTAR CONTADOR MUESTRAS

MUESTRAS = 0?

NO

SI

BOTON SALIR = TRUE?

NO

SI

REGRESAR AL PROGRAMA PRINCIPAL

APLICAR ESPERA SEGÚN CONFIGURACION DE MPS

Figura 4.44: Diagrama de flujo rutina de modo solitario

Page 143: DatalabUC - Modulo de Registro de Datos

143

ENVIAR DATOS A TIEMPO REAL

LEER LA CONFIGURACION DEL DISPOSITIVO«EEPROM»

MULTIPLEXAR CANAL

CONVERSION ADS1113

ARMAR BUFFER Y SECTOR DE LA SD A GRABAR

ESPACIO SD SUFICIENTE?

APLICAR ESPERA SEGÚN CONFIGURACION DE MPS

INCREMENTAR CONTADOR SECTOR

GRABAR MEMORIA SD

ENVIAR BUFFER«USBOut»

RECIBIO BUFFER?«USBIn»

PARAR REGISTRO?

ENVIAR ESTADO DE LA MEMORIA

REGRESAR PROGRAMA PRINCIPAL

IMPRIMIR LCD«NO HAY ESPACIO SUFICIENTE»

STOP

SOBRE ESCRITURA =

TRUE ?

NO

SI

NO

SI

NO

SI

NO

SI

BORRAR MEMORIA SD

Figura 4.45: Diagrama de flujo de envió de registro a tiempo real

En la Figura 4.42 se puede observar que existe la posibilidad que desde la interfaz

el usuario de la orden de registro de datos a tiempo real, por lo que el programa del

dispositivo entra en una rutina de envió de datos tal como se muestra en la Figura 4.45.

Page 144: DatalabUC - Modulo de Registro de Datos

144

La rutina es, en casi su totalidad, parecida a la de registro de datos en modo solitario

mostrado en la Figura 4.44, solo que en esta oportunidad, el dispositivo al realizar el lazo

de registro envía el buffer a través del bus de comunicación USB a la computadora con su

debida etiqueta de procedencia en el byte 15 para su correcto procesamiento.

Durante la ejecución de la tarea de registro es posible que la disponibilidad de

espacio dispuesto se vea terminado por los datos ya existentes, por lo que se implemento

una subrutina que realiza una verificación del bit sobre-escritura de la memoria, por lo

tanto, en caso de que se haya habilitado, el contador de sectores será borrada, iniciando la

escritura desde sector 0.

En caso de estar deshabilitada, se presenta un mensaje en la pantalla LCD del

dispositivo un mensaje de que no hay más espacio para escribir en la memoria SD, por lo

que el proceso de registro se detiene.

Esta forma de trabajo se realiza con la intención de que es usuario tenga la

posibilidad de salvar los datos ya registrados por medio de su pronta descarga en la interfaz

del computador.

Finalmente, en el momento de que el usuario desee detener el proceso de registro,

podrá tener la posibilidad, desde la interfaz, de hacerlo a través del botón detener ubicado

en la ventana de “visor de la adquisición” (véase Figura 4.29 en la página 113) por lo que el

dispositivo envía inmediatamente el estado de la memoria a la interfaz, que no es más que

el contador de los sectores escritos en ella.

Al momento que el usuario ordene la exportación de los datos de la memoria SD a

la interfaz, el dispositivo entrara en una rutina de lectura tal como se muestra en la ¡Error!

No se encuentra el origen de la referencia.. Esta rutina verifica si existen datos en la memoria

Page 145: DatalabUC - Modulo de Registro de Datos

145

y procede a leer sector a sector los bytes de los canales y de los datos de fecha y hora de

cuando fueron tomados, luego arma el paquete del buffer, lo etiquete en el byte 15 y lo

envía a la interfaz para su procesamiento.

Un contador auxiliar va incrementando a medida de que se va realizando la lectura,

lo que permite comparar con el número de sectores escritos y establecer el fin de la rutina al

momento de que esta se iguale con mencionada variable.

LEER SD

LEER ESTADO DE LA MEMORIA«EEPROM»

SECTORES ESCRITOS?

NO

SI

IMPRIMIR PANTALLA«NO HAY DATOS»

REGRESAR CONECTARSE USB

ENVIAR FIN DE LECTURA A LA PC«USBOut»

LEER SECTOR SD

ARMAR BUFFER DE DATOS

ENVIAR BUFFER DE DATOS«USBOut»

FIN DE SECTORES?

NOSI

Figura 4.46: Diagrama de flujo de la rutina de lectura de la memoria SD

Page 146: DatalabUC - Modulo de Registro de Datos

146

Durante el registro en modo misión, modo solitario y envió de dato a tiempo real el

proceso de conversión de las señales analógicas es el mismo llamado, su secuencia es

mostrada en la Figura 4.47.

CONVERSION ADS1113

VERIFICAR CONFIGURACION DEL DISPOSITIVO«EEPROM»

CH1 = TRUE?

CH2 = TRUE?

CH3 = TRUE?

CH4 = TRUE?

MULTIPLEXAR ENTRADA

ESCRITURA NULA BUFFER DE LA MEMORIA SD

NO

SI

NO

SI

NO

SI

NO

SI

ESCRITURA DE LA CONVERSION BUFFER DE LA MEMORIA SD

ESCRITURA NULA BUFFER DE LA MEMORIA SD

DELAY 22 MSESPERA DEL FILTRO

ESCRITURA NULA BUFFER DE LA MEMORIA SD

MULTIPLEXAR ENTRADA

ESCRITURA DE LA CONVERSION BUFFER DE LA MEMORIA SD

DELAY 22 MSESPERA DEL FILTRO

ESCRITURA NULA BUFFER DE LA MEMORIA SD

MULTIPLEXAR ENTRADA

ESCRITURA DE LA CONVERSION BUFFER DE LA MEMORIA SD

DELAY 22 MSESPERA DEL FILTRO

MULTIPLEXAR ENTRADA

ESCRITURA DE LA CONVERSION BUFFER DE LA MEMORIA SD

DELAY 22 MSESPERA DEL FILTRO

LEER ADS1113

LEERADS1113

LEERADS1113

LEERADS1113

REGRESAR

Figura 4.47: Diagrama de flujo de subrutina de conversión del ADS1113

Page 147: DatalabUC - Modulo de Registro de Datos

147

Lo primero que realiza la subrutina es almacenar el valor del byte de configuración

del dispositivo (byte almacenado en la EEPROM) en una variable auxiliar, posteriormente

los bits que determinen que canal está habilitado, como se muestra en la Figura 4.47, son

verificados uno por uno.

LEER ADS113

INICIAR COMUNICACIÓN CON EL CONVERSOR

«BStart»

ENVIAR DIRECCION DE REGISTROMODO ESCRITURA

«BusOut»

ENVIAR CONFIGURACION DEL REGISTRO«BusOut»

INICIAR COMUNICACIÓN CON EL CONVERSOR

«BStart»

ENVIAR DIRECCION DE REGISTROMODO LECTURA

«BusOut»

RECIBIR REGISTRO DE CONVERSION

MODO LECTURA HighByte«BusIn»

RECIBIR REGISTRO DE CONVERSION

MODO LECTURA LowByte«BusIn»

REGRESAR

FINALIZAR COMUNICACIÓN CON EL CONVERSOR

«BStop»

Figura 4.48: Diagrama de flujo de subrutina de lectura del conversor ADS113

Page 148: DatalabUC - Modulo de Registro de Datos

148

Si el canal está habilitado, los terminales que gobiernan la entrada del multiplexor

analógico cambian a ese canal, después de una espera de 22 milisegundos se ejecuta la

subrutina donde se lee la señal (ver Figura 4.48), se realiza la escritura en el byte

correspondiente memoria SD y se pasa a verificar el estado del otro canal a través de la

variable auxiliar. Al realizar todo el recorrido de los cuatro (4) canales se finaliza el proceso

de conversión y se retorna al programa principal, el cual, seria cualquiera de los

mencionados anteriormente.

En la subrutina de lectura del ADS113 se establece la comunicación del dispositivo

a través de los comandos de inicio del protocolo I2C, se envía la dirección a la cual se

quiere apuntar, que este caso es los 16 bits de conversión y posterior se almacena en

variables del programa el byte alto y bajo de dicha conversión, para finalmente terminar la

comunicación tal como se presenta en la Figura 4.48.

Para efectos de la explicación, la relevancia de las otras subrutinas no posee tanto

peso en lo que se pretende en este capítulo, por lo que se deja a disposición del lector

verificar el resto de estos en los anexos (véase ANEXOS A) de este proyecto al igual que el

código de programación utilizado en el dispositivo físico.

Programación de la interfaz

Al igual que la programación del dispositivo físico, se tiene una programación en la

interfaz visual, la cual tendrá la tarea de ordenarle al dispositivo, al momento que esté

conectado, la rutina que deberá realizar, tal como se explicó en el protocolo de

comunicación entre la interfaz y el dispositivo.

La tarea de configurar al dispositivo con respecto al tiempo de muestreo y canales

habilitados, sincronización del reloj del dispositivo, lectura a tiempo real, lectura de la

memoria SD, configuración de la misión y borrar la memoria SD, todos estas funciones se

Page 149: DatalabUC - Modulo de Registro de Datos

149

pueden llevar a cabo al momento de que ocurra un evento de pulsación en alguno de los

botones de la ventana principal de la interfaz (véase Figura 4.27 y página 110¡Error!

Marcador no definido.), la rutina se muestra en la Figura 4.49.

PROGRAMA PRINCIPAL

DESHABILITAR FUNCIONES

CONECTADO?

HABILITAR FUNCIONES

BOTONCONFIGURACION =

TRUE?

BOTON EXPORTAR =

TRUE?

BOTON SINCRONIZAR =

TRUE?

BOTONLIMPIAR =

TRUE?

BOTONMISION =

TRUE?

BOTONEMPEZAR =

TRUE?

BOTON IMPOTAR =

TRUE?

BOTONSALIR = TRUE?

DESHABILITAR FUNCIONES

FIN DEL PROGRAMA PRINCIPAL

VENTANACONFIGURACION

ENVIAR DATOSCONFIGURACION

«BufferUSB»

RECEPCION DE DATOS

«BufferUSB»

ENVIAR DATOS GRID A EXCEL

VENTANA«FINALIZO»

ACEPTAR = TRUE?

SINCRONIZARRTC

ENVIAR DATOSRTC

«BufferUSB»

LIMPIARDATAGRIDAXISPLOT

DESHABILITAR BOTON EXPORTAR

VENTANARECEPCION

RECEPCION DE DATOS

«BufferUSB»

VENTANA MISION

ENVIAR DATOSMISION

«BufferUSB»

RECEPCION DE DATOS

«BufferUSB»

CONECTADOMISION =

TRUE?

VENTANA MODO MISIÓN

RECEPCION DE DATOS

«BufferUSB»

CERRAR VENTANA

ENVIAR DATOSIMPORTAR

«BufferUSB»

MODO IMPORTAR

«BufferUSB»

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

NOSI

BOTONBORRAR SD =

TRUE?

SI

NO

ENVIAR DATOS BORRAR

«BufferUSB»

RECEPCION DE DATOS

«BufferUSB»

1

1

Figura 4.49: Diagrama de flujo programa principal de la interfaz

Page 150: DatalabUC - Modulo de Registro de Datos

150

En el momento de que se abre la interfaz, los botones quedan totalmente

deshabilitados, de modo que, solo se podrá habilitar la ventana en el momento en que el

dispositivo se conecte y el usuario escoja la opción de contactarse por USB desde el

dispositivo.

Cuando ocurre ese evento, la ventana se habilitará e inmediatamente recibe los datos

del estado de la memoria, el cual presenta en la parte inferior de la ventana principal. Luego

de esto, la aplicación solo queda a la espera de la decisión del usuario, por lo que, al

momento que este pulse algún botón de los que se presentan en la Figura 4.27 deberá

realizarse la rutina pertinente a ese botón, tal como se muestra en el diagrama de la Figura

4.49.

Para efectos de la explicación basta con denotar las rutinas de ventana de recepción,

recepción de datos, ventana de misión y sincronización del reloj del dispositivo de modo de

tener una idea bastante amplia de que se trató la programación de la interfaz. Tanto el resto

de los diagramas y el código de programación se deja a disposición del lector en los anexos

(ANEXO A diagramas de flujo)

Al pulsar el botón de empezar registro (véase Figura 4.27 y página 110), la interfaz

entra en una rutina de recepción mostrado por el diagrama de la Figura 4.50y además abre

una ventada de visor de la adquisición tal como se explicó anteriormente

Aunque la recepción de los datos por USB siempre es a través de la ventana

principal de la aplicación, se habilita una interrupción en la ventana del visor de la

adquisición de modo que se pueda actualizar o refrescar los valores mostrados en estas a

través de las variables declaradas para las señales que son de carácter pública, que significa

que son manipulables entre las ventanas usadas.

Page 151: DatalabUC - Modulo de Registro de Datos

151

VENTANA RECEPCION

LIMPIAR DATAGRIDLIMPIAR AXISPLOT

ARMAR EL RESTO DE DATOS EN EL BUFFER

USB_Byte[1] =$FE«BufferUSB»

MOSTRAR VENTANA DE VISOR DE ADQUISICIÓN

HABILITAR INTERRUPCIONEN VENTANA DE VISOR

INTERRUPCION = TRUE?

SI

NO

RECEPCION DE DATOS«BufferUSB»

REFRESCAR DATOS EN LA PANTALLA

DETENERADQUISICION =

TRUE?

SI

NO

ARMAR EL RESTO DE DATOS EN EL BUFFER

USB_Byte[1] =$F8«BufferUSB»

CERRAR VENTANA DE VISOR DE ADQUISICIÓN

REGRESAR PROGRAMA PRINCIPAL

DESHABILITAR INTERRUPCIONEN VENTANA DE VISOR

RECIBIO DATOSBUFFER?

SI

NO

RECEPCION DE DATOS

«BufferUSB»

Figura 4.50: Diagrama de flujo de la ventana de recepción de datos de la interfaz

Page 152: DatalabUC - Modulo de Registro de Datos

152

Al momento de pulsar el botón detener del visor de la adquisición (véase Figura

4.27 y página 110), automáticamente se detiene el proceso de registro de datos a tiempo

real, se cierra la ventana del visor y se retorna al programa principal donde se recibe

nuevamente el estado de la memoria EEPROM del dispositivo y vuelve a quedar en un

estado de espera para realizar cualquiera de las ordenes ya antes mencionadas.

En la rutina de recepción de datos, tal como se muestra en la Figura 4.51 se recibe

todo el paquete del buffer enviado desde el dispositivo físico, por lo que, en el momento en

que es recibido cada uno de los bytes son almacenados en variables internas del programa y

la rutina verifica inicialmente el byte 15 de este para realizar la tarea predeterminada para

ese comando.

Fíjese entonces, como la rutina primeramente realiza una verificación del número de

este byte, y luego ejecuta la labor penitente para la misma.

Imagínese que se está recibiendo un buffer perteneciente a una conversión a tiempo

real, entonces luego de que la rutina verifica que, efectivamente se trata de que el byte [15]

= $FF procede a realizar la conversión de los datos de los canales recibidos desde el byte

[1] hasta el byte [8], luego estos son presentados de manera gráfica y numérica en la

ventana principal de la aplicación a través del axisplot y datagrid respectivamente y

finalmente son almacenadas en variables globales para ser utilizadas en la ventana del visor

de la adquisición.

Así como se explicó para este caso, ocurrirá para cada uno de los mostrados en la

Figura 4.51, este evento ocurrirá siempre al momento de que la interfaz reciba datos

procedentes del dispositivo. Se exhorta al lector a revisar la programación realizada para la

interfaz.

Page 153: DatalabUC - Modulo de Registro de Datos

153

RECEPCION DE DATOS

RECIBIR BUFFER«DATAUSB[1]. . . DATAUSB[16]»

DATAUSB[15] = $FF?

CONVERSION DE DATOS DE LOS

CANALES

GRAFICAR SEÑALES«AXISPLOT»

MOSTRAR VALORES DE LOS DATOS

RECIBIDOS«DATAGRID»

GUARDAR EN VARIABLES GLOBALES«VENTANA DE ADQUISICION»

DATAUSB[15] = $FE?

CONVERSION DE DATOS DE LA

EEPROM

MOSTRAR VALOR DE ESTADO DE LA

MEMORIA SD

ACTUALIZAR VARIABLES DE ESTADO DE LA

MEMORIA

DATAUSB[15]=$FD?

CONVERSION DE DATOS DE LOS

CANALES

CONSTRUCCION DE LOS DATOS DE TIEMPOS DEL

REGISTRO

GRAFICAR SEÑALES«AXISPLOT»

MOSTRAR VALORES DE DATOS RECIBIDOS

«DATAGRID»

DATAUSB[15]=$FC?

HABILITAR BOTONES PANTALLA PRINCIPAL

MOSTRAR MENSAJE«DATOS RECIBIDOS»

RESTABLECER VALORES DE ESTADOS DE BARRA

DATAUSB[15]=$FB?

DESHABILITAR BOTONES DE VENTANA PRINCIPAL

CONVERSION DE DATOS DE LOS CANALES

GRAFICAR SEÑALES«AXISPLOT»

MOSTRAR VALORES DE LOS DATOS

RECIBIDOS«DATAGRID»

DATAUSB[15]=$AA?

HABILITAR BOTONES DE VENTANA PRINCIPAL

MOSTRAR MENSAJE«MISION REALIZADA»

BOTON ACEPTAR=

TRUE?

BOTON ACEPTAR=

TRUE?

REGRESAR

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

Figura 4.51: Diagrama de flujo rutina del evento de recepción de datos en la interfaz

Para la configuración de la misión se tiene una rutina como la mostrada en la Figura

4.52, en la que se va configurando canal por canal los tiempos de espera y registró, estos

deberán ser verificados antes de ser enviados al dispositivo, ya que, de no tener espacio en

la memoria SD, no podrá llevarse a cabo dicha misión.

Page 154: DatalabUC - Modulo de Registro de Datos

154

VENTANA MISION

MOSTRAR VENTANA

CANAL 1HABILITADO?

HABILITAR BOTON VERIFICAR MPS

CANAL 2HABILITADO?

CANAL 3HABILITADO?

CANAL 2HABILITADO?

BOTONVERFICAR =

TRUE?

CALCULAR CAPACIDAD ALTUAL DEL DISPOSITIVO

CON RESPECTO A LA MISION

PUEDE GRABAR?

HABILITAR MUESTREO CON RESPECTO A LA

CAPACIDAD

HABILITAR BOTONENVIAR

BOTONCANCELAR =

TRUE?

REGRESAR AL PROGRAMA PRINCIPAL

CERRAR VENTANA

2

DESHABILITAR BOTON VERIFICAR MSP

BOTON ENVIAR HABILITADO?

BOTON ENVIAR =

TRUE?

MODIFICARON VALORES DE LOS

CANALES?

DESHABILITAR BOTON ENVIAR

DESHABILITARSELECCIÓN DE

MUESTRA

2

MOSTRAR INFORMACION«NO SE PUEDE REALIZAR ESTA

MISION»

2

2

MOSTRAR MENSAJE«HABILITAR

SOBREESCRITURA?»

ACEPTO?

BANDERA DE SOBREESCRITURA =

TRUE

BANDERA DE SOBREESCRITURA =

FALSE

CAPTURAR LOS DATOS DE

CONFIGURACION Y TIEMPOS DE LA

MISION

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

SI

NOSI

NO

Figura 4.52: Diagrama de flujo rutina de configuración de misión

Page 155: DatalabUC - Modulo de Registro de Datos

155

Si se llegase a modificar algún canal para la configuración de la misión, la rutina

inmediatamente deshabilita la opción enviar, ya que se deberá volver a calcular los nuevos

valores de registro existentes para verificar si podrán ser registrados en la memoria SD.

Esto ocurrirá tantas veces sea modificado uno de los tiempos establecidos para los canales.

ENVIAR DATOS MISION

ARMAR BUFFER DE CONFIGURACION

«|HM|CH4|CH3|CH2|CH1|MPS2|MPS1|MPS0|»

USB_Bye[2]=CONFIGURACION

ARMAR EL RESTO DE DATOS EN EL BUFFER USB_Byte[1] =$FAUSB_Byte[3] =InicCH1USB_Byte[4] =DurCH1USB_Byte[5] =InicCH2USB_Byte[6] =DurCH2USB_Byte[7] =InicCH3USB_Byte[8] =DurCH3USB_Byte[9] =InicCH4USB_Byte[10] =DurCH4

BANDARESOBREESCRITURA =

TRUE?

USB_Byte[11] =$F0 USB_Byte[11] =$F8

ENVIAR BUFFER AL DISPOSITIVO

REGRESAR PROGRAMA PRINCIPAL

SI

NO

Figura 4.53: Diagrama de flujo envió de la configuración de datos de la misión

Page 156: DatalabUC - Modulo de Registro de Datos

156

Una vez verificado los valores y pulsado el botón enviar de la ventana de

configuración de misión los valores de los tiempos son ordenados en el buffer de datos y

son enviados al dispositivo tal como se muestra en la Figura 4.53 además de colocar el

comando en el byte 1 (byte [1] = $FA), valor correspondiente a la configuración de misión.

SINCRONIZAR RTC

CAPTURAR FECHA Y HORA DEL SISTEMA

AISNAR LOS VALORES CORRESPORNDIATES A LAS VARIABLES

«DIA, MES, AÑO, HORA, MINUTO, SEGUNDO»

REGRESAR PROGRAMA PRINCIPAL

ENVIAR DATOS RTC

ARMAR BUFFER DE DATOS:USB_Byte[1] = $FCUSB_Byte[2] = SEGUNDOUSB_Byte[3] = MINUTOUSB_Byte[4] = HORAUSB_Byte[5] = DIAUSB_Byte[6] = MESUSB_Byte[7] = AÑO

ENVIAR BUFFER AL DISPOSITIVO

REGRESAR PROGRAMA PRINCIPAL

Figura 4.54: Diagramas de flujo para sincronización de datos de hora y fecha del RTC.

Page 157: DatalabUC - Modulo de Registro de Datos

157

Finalmente, la rutina de sincronización de la misión se realiza tal como se presenta

en la Figura 4.54, en el momento de pulsar el botón de sincronización del RTC mostrado en

la ventana principal de la interfaz el programa captura los valores de la fecha y hora del

ordenador, luego arma dichos valores en el buffer con el identificar en el byte 1 (byte [1] =

$FC) y los envía al dispositivo para su debida configuración.

Etapa V: Calibración del instrumento y pruebas operativas

En cuanto a la calibración del dispositivo físico, se realizó el montaje mostrado en la

¡Error! No se encuentra el origen de la referencia.para calibrar la entrada analógica de

corriente (canales 1 y 2, rango [4 - 20 mA], se ejecutó una variación porcentual (en pasos

de 5%) en dicho rango, tomando 0% el valor de 0 mA y 100% el valor de 20 mA, luego se

procedió a tomar la lectura en bits a la entrada de mencionados canales, y enfrentándolos a

los que idealmente deberían ser.

Figura 4.55: Montaje para calibración de entrada de corriente

Page 158: DatalabUC - Modulo de Registro de Datos

158

Esto produjo una curva como la mostrada en la Figura 4.56 luego se realizó la curva

de tendencia de dicha representación para obtener el valor proporcional necesario para

calibrar a nivel de software dichos canales, la Tabla 4.23 muestra los valores de dicho

proceso.

Figura 4.56: Grafica para la calibración de las entradas de corriente del dispositivo

Tabla 4.23: Resultados de la calibración del dispositivo

Porcentaje

de entrada

UDC5000

Equivalente

IDEAL a la

salida en

decimal de

corriente

Equivalente

LEIDO a la

salida en

decimal de

corriente

Valor en

corriente

[4 – 20]

mA

Error

dinámico en

decimal

1 0% 5760 5900 4 -140

2 5% 6912 7052 4,8 -140

3 10% 8064 8207 5,6 -143

4 15% 9216 9361 6,4 -145

5 20% 10368 10513 7,2 -145

6 25% 11520 11681 8 -161

7 30% 12672 12833 8,8 -161

8 35% 13824 13988 9,6 -164

9 40% 14976 15140 10,4 -164

10 45% 16128 16295 11,2 -167

Page 159: DatalabUC - Modulo de Registro de Datos

159

Tabla 4.24: Continuación de la tabla de resultados de la calibración del dispositivo

Porcentaje

de entrada

UDC5000

Equivalente

IDEAL a la

salida en

decimal de

corriente

Equivalente

LEIDO a la

salida en

decimal de

corriente

Valor en

corriente

[4 – 20]

mA

Error

dinámico en

decimal

11 50% 17280 17443 12 -163

12 55% 18432 18598 12,8 -166

13 60% 19584 19752 13,6 -168

14 65% 20736 20906 14,4 -170

15 70% 21888 22059 15,2 -171

16 75% 23040 23226 16 -186

17 80% 24192 24380 16,8 -188

18 85% 25344 25532 17,6 -188

19 90% 26496 26684 18,4 -188

20 95% 27648 27836 19,2 -188

21 100% 28800 28991 20 -191

En la Tabla 4.25 se muestra los errores alcanzados con la calibración.

Tabla 4.25: Errores del dispositivo DataLabUC

mA %

Error estático máx. 0,1325 0,8281

Error promedio 0,1155 0,7222

Exactitud 0,0083 0,8281

PRUEBA 1: Registro de temperatura

En la Figura 4.57 se muestra el montaje para esta prueba, para ello se utilizó el

banco de calibración de temperatura existente en el Laboratorio de Instrumentación de

Procesos, es cual, progresivamente se calentaba. Se introdujo una termocupla tipo K en su

interior y se configuró para realizar el registro a tiempo real a una velocidad de muestreo de

1 MPS.

Page 160: DatalabUC - Modulo de Registro de Datos

160

Figura 4.57: Horno de calibración de temperatura con el dispositivo DataLabUC

En la Figura 4.58 se presenta la captura de imagen de la pantalla principal hecha

desde la misma aplicación, fíjese que el dispositivo se dejó conectado aproximadamente 1

hora 40 minutos lo que equivale a 6000 muestras realizadas.

Figura 4.58: Grafica de la curva de reacción de temperatura

Tiempo (dd/MM/YY hh:mm:ss:ms)

Tem

pera

tura

(°C

)

Vo

ltaje

(V

)

Co

rrie

nte

(m

A)

DataLabUC - Canales de entrada

Temperatura

Voltaje

Corriente

Corriente

Page 161: DatalabUC - Modulo de Registro de Datos

161

Luego detener el registro se exportaron los datos a Microsoft Excel lo que dio como

resultado al insertar la gráfica de los valores obtenidos durante el mismo la Figura 4.59 pero

presentándola tomando el eje “X” el número de muestras del registro.

Figura 4.59: Grafica de datos exportados a Microsoft Excel desde la aplicación

PRUEBA 2: Registro de respuesta escalón

Se registró la señal escalón procedente el módulo ModCad existente en el

laboratorio y se tomaron los valores de la respuesta PI del controlador UDC1000, en la

¡Error! No se encuentra el origen de la referencia..

Los valores dados para el control fueron los siguientes: Pb1 = 60%, rSet = 0,3 rAte

= 0. Los resultados gráficos obtenidos ante la prueba escalón son mostrados en la Figura

4.60 y luego de exportar los datos a Microsoft Excel y graficarlos son mostrados en la

Figura 4.61.

Page 162: DatalabUC - Modulo de Registro de Datos

162

Figura 4.60: Esquema de conexión del registrador con el ModCad y el UDC1000

Figura 4.61: Registro de la prueba con los dispositivos ModCad y UDC1000

en funcionamiento (respuesta escalón)

Tiempo (dd/MM/YY hh:mm:ss:ms)

Tem

pera

tura

(°C

)

Vo

ltaje

(V

)

Co

rrie

nte

(m

A)

DataLabUC - Canales de entrada

Temperatura

Voltaje

Corriente

Corriente

Page 163: DatalabUC - Modulo de Registro de Datos

163

Figura 4.62: Gráficos de la respuesta escalón desde Microsoft Excel

PRUEBA 3: Registro de flujo (Método de ganancia ultima de Ziegler &Nichols)

Considerada una de las pruebas de mayor interés en el desarrollo del dispositivo, fue

realizar el registro de flujo al aplicar el método de ganancia ultima de Ziegler &Nichols,

para sintonización de lazos de control realimentados. Esto se trata de colocar el sistema en

un estado oscilatorio con el cual se obtiene una respuesta periódica, está a través de una

medición de tiempos entre puntos, dará los valores que determinan, por medio de una

formulación ya establecida, el comportamiento que debe tener el controlador de manera

muy aproximada.

Para realizar esta prueba, se utilizó el esquema mostrado en la Figura 4.63, los

valores dados al controlador para poner el sistema en un estado oscilante fueron los

siguientes: Bp = 200 %, Td = 0 y Ti = Max.

Page 164: DatalabUC - Modulo de Registro de Datos

164

Al introducir un punto de ajuste fuera muy alejado del punto en el que se encontraba

en modo automático y pasarlo a modo manual, el sistema entra en un estado oscilatorio tal

como fue capturado por el registrador en la Figura 4.64.

Figura 4.63: Esquema para aplicar el método de ganancia ultima de Ziegler & Nichols

Figura 4.64: Registro de estado oscilatorio del sistema en la planta de flujo

Tiempo (dd/MM/YY hh:mm:ss:ms)

Tem

pera

tura

(°C

)

Vo

ltaje

(V

)

Co

rrie

nte

(m

A)

DataLabUC - Canales de entrada

Temperatura

Voltaje

Corriente

Corriente

Page 165: DatalabUC - Modulo de Registro de Datos

165

Luego de exportar estos datos a Microsoft Excel e insertar una gráfica para ellos, se

obtuvo el resultado mostrado claramente en la Figura 4.65.

Figura 4.65: Grafico aplicando el método de ganancia ultima de Ziegler & Nichols en Microsoft Excel

Page 166: DatalabUC - Modulo de Registro de Datos

166

CAPÍTULO V

CONCLUSIONES

Se pudo constatar que con el uso microcontroladores 18F4550 se puede desarrollar

un prototipo el cual posea las características esenciales para realizar actividades referentes a

la adquisición, registro y comunicación de variables analógicas de control mediante

dispositivos periféricos que actuaban de manera secuencial.

La facilidad del uso de una comunicación USB 2.0 se basa en la confiabilidad en la

traza de datos que son transferidos de manera bidireccional entre el dispositivo y el

computador y que además ofrece la posibilidad de alimentar al dispositivo registrados a

través de los terminales +5V y GND, facilitando el conexionado.

Se logró satisfactoriamente diseñar, construir y programar un dispositivo que realice

las labores de registro de datos de las variables analógicas de control más usadas en las

practicas del Laboratorio de Instrumentación y Control de Procesos de la Escuela de

Eléctrica de la Universidad de Carabobo y además elaborar y programar una interfaz visual

para comunicar al dispositivo con el computador que permitiese configurar el dispositivo y

visualizar los registro que procedan del mismo bien sea a tiempo real como exportar los

registros almacenados en la memoria SD.

Para efectuar el registro de datos en la memoria SD se utilizó la librería pueda a

disposición del software PROTON IDE, pero se observó que su tamaño era ocupado en

memoria era muy grande e imposibilito la incorporación de más programación requerida

para que funcionara correctamente el dispositivo, por lo que se procedió a realizar una

edición de la librería donde se realizaría la escritura y lectura como una memoria

EEPROM, esto además conllevo a un aumento significativo de espacio de la memoria del

Page 167: DatalabUC - Modulo de Registro de Datos

167

microcontrolador, aumentando las posibilidades de añadir mayor cantidad de líneas de

programación.

La forma en cómo se utilizó la memoria SD (aplicando la filosofía de memoria

EEPORM) facilito considerablemente su uso tanto en la escritura como en la lectura, solo

se destaca la desventaja de su uso durante la ejecución de la escritura, ya que el tiempo en

emplearla es muy largo, limitando el tiempo de muestreo de las señales de entrada.

Mediante las pruebas operativas realizadas con el equipo se logró verificar el

correcto funcionamiento en cuanto a la correspondencia de las señales analógicas de voltaje

y corriente asociadas a las mediciones realizadas en la medición de flujo, respuesta PI del

controlador UDC1000 ante una entrada escalón simulada por el ModCad y la curva

reacción de la termocupla tipo K en el banco de calibración existente en el laboratorio.

DataLabUC mostro una buena confiabilidad en la lectura de la memoria SD de estas

variables a través de los paquetes enviados desde el dispositivo a la aplicación con un error

en la apreciación de la lectura (para los tiempos de muestreos mayores a 1 MPS) dando

dicho error cada 100 muestras aproximadamente (alrededor del 2% de las muestras

tomadas), debido al desfasaje producido durante la ejecución del lazo completo realizado

con el dispositivo en cada una de las configuraciones, ya que se recurrió a rutinas

programadas que escribieran los tiempos por debajo del segundo en cada una de las

configuraciones, esto se debe a que el RTC1307 posee una apreciación de 1 segundo.

El costo realizado para la implementación de un dispositivo de esta naturaleza es

mucho menor al de uno adquirido comercialmente, además, fomenta el desarrollo de

proyectos de diseño e implementación en esta casa de estudio.

La versatilidad de estos sistemas de registros de datos no tiene fronteras en las

aplicaciones a todo nivel, ya que, si se pueda captar una variable determinada y convertirla

Page 168: DatalabUC - Modulo de Registro de Datos

168

en una señal eléctrica, esta podrá ser registrada para su análisis, esto se debe a que el

proceso de registros de datos, bajo este esquema, seguirá siendo el mismo.

RECOMENDACIONES

Implementar el equipo en las distintas prácticas del Laboratorio de Instrumentación

y Control de Procesos.

Como cualquier dispositivo electrónico, DataLabUC es vulnerable a cualquier daño

permanente causado por conexiones incorrectas o condiciones de operación

diferentes a las indicadas en los rangos máximos y mínimos, por lo cual se debe

tener especial precaución en la utilización del mismo.

Realizar una investigación en la búsqueda de mejores RTC, es decir, con mayor

apreciación que el implementado en este prototipo, esto con la finalidad de

disminuir el error producido por rutinas empíricas basadas en el comportamiento del

dispositivo durante el muestreo de las señales.

Optimizar los tiempos de registros con otro software de programación de

microcontroladores a fin de evaluar los posibles aumentos en la velocidad de

muestreo con otras librerías implementadas para la lectura y escritura de la memoria

SD.

Ampliar la gama de señales analógicas a muestrear en un prototipo registrador de

datos como el que se diseñó en este proyecto y así, abarcar la totalidad de las

variables existentes en el Laboratorio de Instrumentación y Control de Procesos

Industriales.

Page 169: DatalabUC - Modulo de Registro de Datos

169

BIBLIOGRAFÍA

[1] H.A.M.D, Instrumentación Virtual Industrial, Perú: INDECOPI, 2006.

[2] http://www.pce-iberica.es/instrumentos-de-medida/metros/data-logger.htm

[3] IDOM, Instrumentación y control de procesos, Autor: Juan Carlos Maraña. [En línea]

www.isa.cie.uva.es/ficheros/Instrumentacion_Control_Procesos.pdf

[Consulta: 2012, Enero 27]

[4] Industry Standard Architecture (ISA). [En línea]

http://www.isa.org/MSTemplate.cfm?MicrositeID=201&CommitteeID=4663.

[5] Nociones básicas sobre adquisición de señales.

Disponible: http://www.Redeya.com [Consulta: 2011, Septiembre 07]

[6] Adquisición de datos con un PIC

Disponible:http://marioguillote.blogspot.com/2010/07-/datalogger-adquisicion-de-datos-

con.html 18F2550 [Consulta: 2011, Septiembre 07]

[7] Br. Rivera Fárez Jorge Luis de la Escuela Politécnica del Ejército, “Diseño e

implementación de un módulo Datalogger para el registros de datos obtenidos de variables

analógicas y/o digitales mediante el MÓDULO USB del PIC18F2550 y el software

Labview para comunicación con un PC”, sede Latacunga - Ecuador, en Septiembre del

2010

[8] Carlos A. Reyes Microcontroladores PIC16F62XX, PIC16F81XX y PIC16F87XX

Programación en Basic, Tercera edición, volumen 1 2008.

Page 170: DatalabUC - Modulo de Registro de Datos

170

[9] Microchip, 28/40/44-Terminal Data Sheet. High-Performance, Enhanced Flash USB

Micro-controllers with nanoWatt Technology

[10] Br. Morillo Gómez José Gregorio de la Universidad de Carabobo, “Diseño e

implementación de prácticas para aplicaciones avanzadas de diseño digital usando tarjetas

de desarrollo PICDEM, programador MPLAB ICD 2 y lenguaje de programación BASIC”,

sede Valencia – Venezuela, en Mayo del 2006.

[11] DS1307 64x8 Serial Real-Time Clock Data Sheet, Dallas semiconductor.

[12] Self-Calibraing, 16-Bit ANALOG-TO-DIGITAL CONVERTER Data Sheet, Burr-

Brown Products from Texas Instruments.

[13] Manejo de una memoria sd/mmc con un pic16f87x.Scientia et Technica Año XVI, No

44, Abril de 2010. Universidad Tecnológica de Pereira. ISSN 0122-1701

[14] Secure Digital Input/Output (SDIO) Card Specification, Version 1.00, October 2001.

[15] Advanced PIC Microcontroller Projects in C, Chapter 8

[16] iBoard III. Sistema de Desarrollo para Microcontroladores PIC con interfaz USB.

ROSO Electric Spply. Autores: José M. Rodríguez S. y Angel L. Villegas.

[17] INTERSIL, A Brief Introduction to Sigma Delta Conveter, Application Note AN9504,

Author: David Jarman, May 2009.

[18] C++/OOP, un enfoque practico, Autor: Ricardo Devis Botella [En linea]

http://www.a4devis.com/articulos/libros/Programaci%F3n%20Orientada-a-

Objetos%20en%20C++.pdf

[19] , Proton IDE. [En línea] http://www.picbasic.org/proton_ide.php.

[20] Crownhill Associates., Proton Development Suite. [En línea]

http://www.picbasic.org/proton_development_suite.php.

Page 171: DatalabUC - Modulo de Registro de Datos

171

[21] Barrios Y., Maritza.Manual de trabajos de Grado de Especialización y Maestría y

Tesis Doctorales. s.l. : FEDUPEL, 2006.

[22] Precision Thermocouple Amplifiers with Cold Junction Compensation AD8495,

Analog Devices Datasheet.

[23] Scientia et Technica Año XVI, No 44, Abril de 2010. Universidad Tecnológica de

Pereira. ISSN 0122-1701 316 MANEJO DE UNA MEMORIA SD/MMC CON UN

PIC16F87x.Carlos Alberto Henao.

[24] SanDisk SD Card, Product Manual Version 2.2 November 2004.

Page 172: DatalabUC - Modulo de Registro de Datos

172

ANEXO A

DIAGRAMA DE FLUJOS DEL DISPOSITIVO FISICO

CONFIGURAR RTC

Bit 0 CH PARA ACTIVAR RTC

ARMAR VECTOR RTC CON DATOS DEL BUFFER

«USBIn»

ESCRIBIR EL REGISTRO RTC

REGRESAR CONECTARSE USB

CONFIGURAR DISPOSITIVO

ESCRIBIR REGISTRO DE CONFIGURACION

«USBIn» -> «EEPROM»

IMPRIMIR PANTALLA«CONFIGURACION REALIZADA»LEER BYTE EEPROM DE CONFIGURACION

REGRESAR CONECTARSE USB

Figura A.1: Diagrama de configuración del dispositivo y el RTC

CONFIGURACION DE MISION

ESCRIBIR REGISTRO DE CONFIGURACION DE MISION

«USBIn» -> «EEPROM»

IMPRIMIR PANTALLA«CONFIGURACION REALIZADA»LEER BYTE EEPROM DE CONFIGURACION

REGRESAR CONECTARSE USB

INICIO MISION

LEER RTC

LEER REGISTRO RTC«BusIn»

CONVERTIR REGISTRO ENVALORES BINARIO

REGRESAR

Figura A.2: Diagrama de configuración de la misión y lectura del RTC

Page 173: DatalabUC - Modulo de Registro de Datos

173

BORRAR SD

BORRAR BYTE DE CONFIGURACION«EEPROM»

REGRESAR

BORRAR BYTE DE MISION«EEPROM»

CONFIGURACION POR DEFECTO DISPOSITIVO $F0

«EEPROM»

IMPRIMIR PANTALLA«EEPROM BORRADA»

SECTORES DE ESCRITURA = 0«EEPROM»

Figura A.3: Diagrama de la rutina de borrar datos de la memoria SD

Page 174: DatalabUC - Modulo de Registro de Datos

174

DIAGRAMA DE FLUJOS DE LA INFERFAZ VISUAL

VENTANA DE CONFIGURACION

MOSTRAR VENTANA

BOTON ACEPTAR =

TRUE?

BOTONCANCELAR =

TRUE?

BOTONDEFECTO =TRUE?

CAPTURAR EL NUMERO DE MUESTRAS SELECCIONADA

CAPTURAR CANALE

SOBREESCRITURA =

TRUE?

MOSTRAR MENSAJE«SOBREESCRITURA HABILITADA,

DESEA CONTINUAR?»

BOTON ACEPTAR =

TRUE?

MOSTRAR MENSAJE«CONFIGURACION ENVIADA

CORRECTAMENTE»

REGRESAR PROGRAMA PRINCIPAL

SI

NO

SI

NO

SI

NO

SI

NO

SI

NO

NUMERO DE MUESTRAS = 1 MPS

TODOS LOS CANALES

HABILITADOS

DESHABILITAR SOBREESCRITURA

Figura A.4: Diagrama de funcionamiento de la ventana de configuración del dispositivo

Page 175: DatalabUC - Modulo de Registro de Datos

175

ENVIAR DATOS DE CONFIGURACION

ARMAR BYTE DE CONFIGURACION«|CH0|CH1|CH2|CH3|SW|MPS3|MPS2|MPS1|»

ARMAR BUFFER DE DATOSUSB_Byte[1] = $FBUSB_Byte[2] = CONFIGURACION

ENVIAR BUFFER AL DISPOSITIVO

REGRESAR PROGRAMA PRINCIPAL

ENVIAR DATOS DEL GRID A EXCEL

DECLARAR NUEVA APLICACIÓN() DE

EXCEL

HABILITAR HOJA DE CALCULO

IMPRIMIR DE MANERA MATRICIAL LOS VALORES DEL

DATAGRID EN LA HOJA

MOSTRAR MENSAJE«ARCHIVO

EXPORTADO CORRECTAMENTE»

BOTON ACEPTAR =

TRUE?

REGRESAR PROGRAMA PRINCIPAL

SI

NO

VENTANA MODO MISION

INHABILITAR OPCIONES DE CONFIGURACION

RECEPCION DE DATOS

«BufferUSB»

ULTIMO DATO?

MOSTRAR MENSAJE«MISION REALIZADA

SATISFACTORIAMENTE»

HABILITAR OPCIONES DE CONFIGURACION

REGRESAR PROGRAMA PRINCIPAL

SI

NO

LIMPIAR DATAGRID Y AXISPLOT

BOTON ACEPTAR =

TRUE?

SI

NO

Figura A.5: Diagramas de envío de configuración de datos, ventana de modo misión

Page 176: DatalabUC - Modulo de Registro de Datos

176

MODO IMPORTAR

RECEPCION DE DATOS

«BufferUSB»

ULTIMO DATO?

MOSTRAR MENSAJE«DATOS DE LA MEMORIA RECIBIDOS

SATISFACTORIAMENTE»

HABILITAR OPCIONES DE CONFIGURACION

REGRESAR PROGRAMA PRINCIPAL

SI

NO

ENVIAR DATO BORRAR

ARMAR DATOS EN EL BUFFER USB_Byte[1] =$FF

ENVIAR BUFFER AL DISPOSITIVO

REGRESAR PROGRAMA PRINCIPAL

MOSTRAR MENSAJE«DATOS DE LA MEMORIA BORRADOS»

BOTON ACEPTAR =

TRUE?

SI

NO

Figura A.6: Diagrama de modo importar datos y envío de dato para borrar la memoria SD

Page 177: DatalabUC - Modulo de Registro de Datos

177

Figura A.7: Esquemático plano (I)

Page 178: DatalabUC - Modulo de Registro de Datos

178

Figura A.8: Esquemático plano (II)

Page 179: DatalabUC - Modulo de Registro de Datos

179