Está en la página 1de 8

DESARROLLO DE UN PROCEDIMIENTO PARA CONSTRUIR UN DATA

LOGGER DE BAJO PRESUPUESTO UTILIZANDO UN DISPOSITIVO GENÉRICO,


MEMORIAS SERIALES Y TARJETA FLASH SD

Vázquez,1 Raimundo*; Robledo,1 Alberto; Toledo, Pablo1; Mason,1 Leoncio; Mariguetti, Jorge1,
Canali2, Luis
*
GUDA-Grupo Universitario de Automatización1
Universidad Tecnológica Nacional - Facultad Regional Resistencia
French 414. 3500 Resistencia-Chaco. República Argentina
Tel: +54 362 4432928. / Fax: +54 362 4432683, e-mail: ray_vazquez_2005@hotmail.com
UTN Facultad Regional Cordoba2.
Maestro M. Lopez esq, Cruz Roja Argentina, Ciudad Universitaria, 5016
Córdoba, Argentina, e-mail: luis.canali@gmail.com

Resumen
Se evalúa diferentes algoritmos de almacenamiento de información digital para construir un datalogger
empleando un dispositivo genérico de bajo presupuesto. El primer algoritmo utilizado permite transferir
información de un sensor a la memoria EEPROM o la Flash de un microcontrolador. El segundo algoritmo
utiliza librerías estándar para transferir datos a memorias seriales. Finalmente se implementa un software que
transfiere información a un micro SD. El desarrollo articula una plataforma pedagógica denominada Student Full
y dispositivos de almacenamiento de datos. El simulador MPLAB brinda una herramienta de compilación y
visualización de la información en la memoria EEPROM y la Flash. La utilización del IC-PROG y WinHex
permiten verificar la escritura correcta de los datos enviados a las memorias seriales y al micro SD
respectivamente. Cuando los datos fueron relativamente bajos la memoria FLASH y EEPROM se utilizaron
preferentemente.
En el caso de superar las capacidades de almacenamiento del microcontrolador las memorias seriales
funcionaron satisfactoriamente. En ese sentido, el micro SD proporciona una ventaja sustancial cuando los
volúmenes de almacenamiento son mayores a dos Mbytes.
El procedimiento utilizado en este trabajo permite a programadores poco experimentados facilitar las tareas de
programación referidos al almacenamiento de información analógica digital articulando herramientas
denominadas dispositivos genéricos de bajo presupuesto con librerías estándares de comunicación.
Disminuyendo el tiempo, esfuerzo y puesta a punto en la construcción del datalogger.

Palabras clave: memorias de almacenamiento, microcontroladores, dispositivos genéricos, simulador


virtual.

Introducción
Debido a importantes avances en dispositivos electrónicos encargados de adquirir datos analógicos y a
la vez el surgimiento de desarrollos de almacenamiento de información externos, nace la necesidad de
adquirir información sin utilizar dispositivos como por ejemplo; notebook o computadora personal.
De esta manera, surgieron los desarrollos de adquisidores de información vinculados al
almacenamiento de señales analógica comúnmente denominados datalogger.
En ese sentido la utilización de microcontroladores en datalogger permiten facilitar la implementación
en el desarrollos electrónicos mediante el empleo de dispositivos genéricos, como lo demuestra en su
trabajo Vázquez et al. (2009).
Conceptos Fundamentales

Microcontroladores PIC

Un microcontrolador es un circuito electrónico programable, capaz de ejecutar las órdenes grabadas en


su memoria de programa o memoria Flash. Posee varios bloques funcionales, los cuales cumplen
tareas específicas.
Los microcontroladores PIC son una familia de microcontroladores y el nombre actual no es un
acrónimo y generalmente se utiliza la denominación Peripheral Interface Controller, es decir,
controlador de interfaz periférico. El PIC puede ser el núcleo de un dispositivo genérico como por
ejemplo el Student Full mostrado en el trabajo de Vázquez et al. (2011).

Dispositivo genérico Student Full

El Student Full es un desarrollo electrónico de uso general diseñado para facilitar el proceso de
aprendizaje y mejorar la calidad de enseñanza del profesor en áreas tecnológicas. Se lo visualiza en la
figura 1 junto a un grabador de programas denominado PIC kit 3 encargado de transferir algoritmos de
acción y control a un microcontrolador como lo detalla Angulo et al. (2006).

Figura 1: Student Full y PICkit 3.

El núcleo del Student Full es un microcontrolador y puede realizar tareas de control y mediciones
analógicas empleando un programa escrito en lenguaje C como lo detalla Santos et al. (2006).
La innovación en el empleo de dispositivos genéricos es la incorporación de simuladores como por
ejemplo el MPLAB permitiendo realizar las acciones de medición y control en tiempo real o virtual
reduciendo el tiempo y esfuerzo en las tareas de programación como lo demuestra Sarabia et al.
(2011).

Memoria de datos EEPROM

La memoria de datos EEPROM es una matriz permanente y se utiliza en tareas de almacenamiento de


larga duración de dato. En la figura 2 se muestra al simulador MPLAB visualizando los bytes en la
EEPROM de un PIC.

Figura 2. Visualización de bytes en la EEPROM de un PIC.


Cuando el volumen de información supera la capacidad de la matriz de memoria permanente se puede
utilizar la memoria Flash.

Memoria Flash

La memoria de programa o memoria Flash es una matriz de números donde se aloja el programa
encargado de realizar tareas de control. El espacio no utilizado en la memoria Flash se puede acceder
mediante un algoritmo. En la figura 3 se visualiza un sector de la memoria Flash y generalmente su
tamaño es menor que dos Mbytes.

Figura 3. Visualización memoria Flash en un PIC.

En el caso de superar las capacidades de memoria Flash (dos Mbytes) se puede utilizar los dispositivos
de almacenamiento denominados memorias seriales. La forma de transferencia hacia o desde dichos
dispositivos se efectúa utilizando protocolos de comunicación estándares como por ejemplo el SPI o el
I2C detallados por Palacios et al. (2006). En la figura 4 se visualiza la conexión de las memorias
seriales 24C02, 25LC1024 y el adaptador micro SD al dispositivo genérico denominado Student Full.

Adaptador
micro SD

Adaptador de
memorias seriales

Figura 4. Student Full, memorias seriales 24C02, 25LC1024 y micro SD.

La información transferida a la memoria 24C02 se visualiza empleando el grabador de memorias


seriales y el programa IC-PROG mostrado en la figura 5.

Memoria
serial 24C02

Figura 5. Programa IC-Prog y grabador de memorias seriales.


El Student Full es muy flexible, permitiendo mediante conexionados adecuados, ampliar su capacidad
de almacenamiento como son por ejemplo el micro SD.

Dispositivo de almacenamiento de información micro SD

El micro SD nace de la tarjeta SD y proviene de las siglas denominadas seguridad digital, debido a que
cuenta con un cifrado de seguridad en el Hardware para protección de datos. Es una pequeña tarjeta de
memoria basada en tecnología Flash la cual está diseñada como soporte de memoria en pequeños
dispositivos electrónicos modernos. Se detalla a continuación diferentes algoritmos que permitan
realizar las tareas almacenamiento de información digital. El conexionado eléctrico del micro SD se
realizó según las especificaciones sugeridas por Ibrahim (2010).

Algoritmo

El dispositivo genérico puede funcionar como un datalogger si se configura convenientemente el


microcontrolador conectado a la placa. En la figura 6 se representa un algoritmo que permite a un
programador poco experimentado realizar las configuraciones necesarias en el microcontrolador.

Configuración del Vector Interrupción


proyecto
SI Display en el LCD
Memoria llena
FIN
Configuración de los
conversores A/D NO
Función de grabación en la EEPROM FIN

Configuración de
interrupción por Función de grabación en la Flash
finalización de A/D
Función de grabación en la
memoria 24C02 (protocolo I2C)
Display en el LCD de
las variables A/D Función de grabación en la memoria
25LC1024 (protocolo SPI)

Función de grabación en la memoria


Interrupción por SI micro SD (protocolo SPI)
NO
finalización del A/D

Figura 6. Algoritmo encargado de obtener la información A/D y transferir datos a las funciones de grabación.

Para realizar el datalogger se debe crear un proyecto nuevo en un simulador MPLAB. Se utiliza una
guía de configuración como lo detalla Saravia et al. (2010) permitiendo crear un proyecto
configurado con un mínimo conocimiento de programación, como se muestra en figura 7.

Librerías de
cabecera

Figura 7. Proyecto en MPLAB encargado de leer las variables A/D y almacenar en la EEPROM.
En la figura 8, se visualiza el código fuente de las configuraciones de la interrupción y los módulos
conversores analógico digital (A/D).
Configuración de las Interrupciones Interrupción por finalización de A/D

Configuración de los conversores A/D

Configuración del
conversor A/D
Bucle infinito.

Bloque encargado de
Algoritmo encargado de grabar en la EEPROM
las conversiones A/D

Toma de datos A/D en el Student Full

Valor leído del sensor 2

Figura 8. Algoritmo encargado de configurar interrupción y módulos conversores A/D.

Procedimiento

Se construye un proyecto como se muestra en la figura 7. Luego se utiliza el código fuente mostrado
en la figura 8 con el nombre EEpromPut(). Se compila el proyecto para obtener un archivo encargado
de leer la información digital y transferir los datos a la memoria EEPROM. Se utiliza el simulador
MPLAB y la función encargada de transferir el archivo generado a un grabador (PIC Kit 3).
Terminada la grabación en el microcontrolador el dispositivo queda configurado como datalogger.
Si se repite el procedimiento anterior empleando el algoritmo mostrado en la figura 9, la información
de los sensores se transfiere ahora a la memoria Flash del microcontrolador.

Figura 9. Función de grabación de datos en la Flash denominada FLASHPut().

En la figura 10 se observa la función I2C_2402() que gestiona el protocolo de comunicación I2C y a


la derecha se visualiza la función byte_write() encargada del protocolo SPI.
Figura 10. Función I2C_2402() envía datos vía I2C y byte_write() lo hace con el protocolo SPI.

El software visualizado en la figura 10 se implementa dentro del vector interrupción como se observa
en la figura 11.

Figura 11. Las funciones I2C_2402() y byte_write() manejan la comunicación dentro del vector interrupción.

Siguiendo con el mismo esquema representado en la figura 6 se transfiere los datos leídos del sensor
analógico digital al micro SD utilizando la función denominada write_SD() como se muestra en la
figura 12.
Se emplea el mismo procedimiento planteados anteriormente, es decir, el programador solo debe
escribir write_SD() en el vector interrupción.
Las especificaciones y procedimientos utilizados para la escritura en la micro SD fueron obtenidos a
partir del trabajo de Henao et al. (2010).
Figura 12. La función byte_SD() transfiere datos a la memoria micro SD empleando el protocolo SPI.

Para verificar los datos transferidos al micro SD se utiliza el programa sugerido por Di Jasio (2008)
denominado WinHex. La figura 13 visualiza los sectores de información del micro SD.

Dato transferido del data


logger al micro SD.

Figura 13.WinHex permite verificar los bytes transferidos al micro SD.


Consideraciones Finales
Los algoritmos planteados son de uso libre al igual que el simulador MPLAB. El proyecto
desarrollado para el Student Full que contempla la configuración y estructura del proyecto son de
código fuente abierta. De esta manera un programador poco experimentado puede realizar algunas
variantes en los algoritmos planteados para desarrollar una nueva función de control y medidas en el
dispositivo genérico.
Las funciones encargadas de grabar información como por ejemplo EEpromPut() y FLASHPut()
pueden utilizarse en conjunto, pero las demás, se deben usar por separado debido a que las
comunicación I2C, SPI y el micro SD no son compatibles en el conexionado ni en la gestión de
transferencia de datos.

Conclusiones

En el siguiente trabajo se desarrollo un procedimiento para implementar dispositivo de bajo


presupuesto denominado datalogger empleando un hardware de uso genérico denominado Student
Full. El algoritmo que permite obtener las variables analógicas y guardarlas en módulos de
almacenamiento de información se muestra en la figura 6. El mismo es modular y flexible, es decir,
que cada uno de los elementos descriptos tienen un código fuente abierto que realiza las operaciones
mencionadas. De esta manera un programador poco experimentado y con bajo conocimientos de
electrónica o automatización puede crear un proyecto relativamente simple que implemente un
dispositivo de medida o almacenamiento con un mínimo esfuerzo y tiempo en su desarrollo.
Debido a la adaptabilidad de los compiladores C18 asociado a la flexibilidad de los dispositivos
genéricos el alcance de los trabajos que se pueden realizar en diferentes áreas de la ingeniería, brinda a
un programador una herramienta de innovación.
Los costos de desarrollo en este tipo de trabajo son reducidos debido a que las primeras pruebas se
realizan en prototipos de bajo presupuestos (Student Full) con una elevada robustez y confiabilidad.

Referencias Bibliográficas

1) ANGULO M. RUIZ A. MARTINEZ I 2006. Parra I . dsPIC Diseño práctico de Aplicaciones. Editorial Mc Graw Hill.
Madrid España. Capitulo 6 p.243.
2) DI JASIO L,. 2008. Programming 32-bit Microcontroller in C Exploring the PIC 32. Editorial ELSEVIER Newnes.
New York. E.E.U.U. Capítulo 15. p. 437.
3) HELENO A., CARDONA E,. 2010. Manejo de una Memoria SD/MMC con un PIC 18F87x. Scientia et Technica Año
XVI, No 44, Abril de. Universidad Tecnológica de Pereira. ISSN 0122-1701.
4) IBRAHIM D., 2010. SD Card Projects using the PIC Microcontroller. Editorial ELSEVIER Newnes. New York.
E.E.U.U. Capítulo 3. P.122.
5) PALACIOS E,. REMIRO F,. LÓPEZ L,. 2006. Microcontrolador PIC 18F84. Desarrollo de Proyectos. Editorial Ra-MA
Alfaomega. Madrid España. Capítulo 21 p.333.
6) SARAVIA B., CORIA J., FIADINO G., AROLDI A., 2011. MPLAB X y Técnicas de Programación con Librerías de
Microchip. Editorial Mcelectronics. Argentina Buenos Aires. Capitulo 1 p.12.
7) SARAVIA B., CORIA J., 2010. Arquitectura y programación de microcontroladores PIC. Editorial Mcelectronics.
Argentina Buenos Aires. Capitulo 22 p.209.
8) SANTOS M., PATINO I,. CARRASCO R., 2005. Fundamento de Programación. Editorial Ra-MA Alfaomega. Madrid
España. Capítulo 1 p.11.
9) VAZQUEZ R., SPOTORNO R., POCHETINO J., BENITEZ F. 2009. Automatización y control de una planta piloto de
climatización solar por adsorción-humidificación. Avances en energías renovables y medio ambiente. V13 08.89-96.
10) VAZQUEZ R., TOLEDO P., COCERES M., MASON L., CANALI L 2011. Diseño y Construcción de una Herramienta
Pedagógica utilizando Dispositivos Genéricos, Simulador y un Software de Control Automático. Editorial de la
Universidad Tecnológica Nacional – edUTecNe.

También podría gustarte