Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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
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).
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 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.
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
Memoria
serial 24C02
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
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)
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 del
conversor A/D
Bucle infinito.
Bloque encargado de
Algoritmo encargado de grabar en la EEPROM
las conversiones 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.
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.
Conclusiones
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.