11.3 establecimiento de una comunicación entre un
Transcripción
11.3 establecimiento de una comunicación entre un
11.3 “ESTABLECIMIENTO DE UNA COMUNICACIÓN ENTRE UN MICROCONTROLADOR Y UN GLUCÓMETRO CONVENCIONAL”. Erwin Sosa López, José R. Atoche Enseñat, Freddy A. Ix Andrade, José A. Hernández Benítez Instituto Tecnológico De Mérida [email protected], [email protected], [email protected], [email protected] RESUMEN. En este artículo se describe como establecer una comunicación serial entre un microcontrolador Microchip y un glucómetro OneTouch. Se presenta el hardware necesario para la comunicación y la forma de solicitar información al glucómetro, así como el método para interpretar las tramas recibidas. Abstract-This article describes how to establish serial communication between a Microchip microcontroller and OneTouch glucometer. Hardware necessary for communication, how to request information from glucometer and method for decoding the frames are also presented. INTRODUCCIÓN. [1] De acuerdo a cifras en internet , hasta inicios del año 2014 383 millones de personas en el mundo tenían diabetes y para el 2035, el número aumentará hasta 592 millones. Además, el 80 por ciento de las personas con diabetes viven en países de ingresos medios y bajos. Para evitar que el paciente esté acudiendo al médico de manera consecutiva (que en ocasiones es un gasto que muchas personas no pueden costear) existen glucómetros de fácil uso que permiten al paciente monitorear su salud desde su propia casa. Casi todos los médicos que diagnostican diabetes, le indican a su paciente comprarse un medidor [2] de glucosa o le brinda uno de forma gratuita . El interpretar los datos leídos del glucómetro puede causar confusión en el paciente ya que son diversos rangos los que debe cuidar dependiendo de la situación en que se tomen las mediciones. Para no dar lugar a malas interpretaciones se han desarrollado dispositivos que permiten detallar al paciente los resultados de su medición y las medidas correctivas a tomar. Entre los artículos existentes en el mercado que ayudan al paciente a interpretar las lecturas de glucosa están los siguientes: Telcare.- Este dispositivo mostrado en la figura 1, envía la medición vía wireless y permite llevar un historial de las mediciones anteriores para dar mensajes de motivación al usuario [3] . Fig. 1.- Dispositivo Telcare iHealth.- Este dispositivo es desarrollado por iHealth Lab y se conecta a un iPhone o una iPad por medio de Bluetooth. Como se nota en la figura 2 el dispositivo tiene una pantalla que muestra el resultado de la medición y también funciona con una aplicación gratuita compañera desarrollada por iHealth Lab que muestra las lecturas de glucosa en sangre en 7 días, 14 días, o promedios de 30 días. Los usuarios también pueden utilizar la aplicación para recordarles que deben tomar sus lecturas, gestionar sus registros de medición, programar recordatorios de medicamentos y resultados de pruebas de acciones con los [4] proveedores de atención . Fig. 2.- iHealth y una muestra de la aplicación para iPhone Gmate smart.- Este dispositivo también está diseñado para el iPhone por lo que requiere que se descargue una aplicación para que funcione. Este glucómetro ha sido catalogado como el glucómetro más pequeño del mundo. El medidor utiliza el dispositivo iOS a través de la toma de auriculares, como interfaz para mostrar los resultados y monitorizar las lecturas (ver figura 3). El mismo glucómetro también sería compatible con otros teléfonos [5] inteligentes, siempre y cuando se desarrolle una aplicación adecuada . Fig. 3.- Dispositivo Gmate Smart conectado a un Iphone. En este artículo se presenta la manera de establecer la comunicación entre un glucómetro convencional OneTouch y un microcontrolador, para aplicarlos en proyectos para el monitoreo de glucosa. Hardware necesario. Para una mayor comprensión del documento se describen los dos elementos que interactúan en la comunicación descrita en este artículo: el microcontrolador y el glucómetro. Glucómetro OneTouch UltraMini.- Es un glucómetro de bajo costo, moderno, fácil de usar y portátil. Los resultados de una medición están listos en 5 segundos usando una gota mínima de sangre. Cuenta con una pantalla fácil de leer (ver figura 4) y es capaz de almacenar 500 mediciones con fecha y hora. Se eligió este glucómetro ya que es un glucómetro común (se encuentra en la mayoría de las farmacias) y su uso es muy intuitivo, además nos permite comunicarnos con él vía serial y el fabricante ofrece una [6] documentación especial para desarrolladores . Fig. 4.- Glucómetro usado en éste artículo (One Touch UltraMini). Microcontrolador PIC 18F66J50.- Este microcontrolador (mostrado en la figura 5) fue elegido principalmente por 2 razones que lo distinguen de otros dispositivos: cuenta con 2 módulos de comparación internos que nos permiten adecuarnos a offsets en la comunicación con dispositivos periféricos y tiene la capacidad de soportar USB dando la ventaja de poder establecer una comunicación con la PC. Entre otras características de este microcontrolador se pueden mencionar: módulos UART, [7] I2C, 5 timers, 8 canales ADC de 10 bits y una velocidad de CPU de hasta 12 MIPS . Fig. 5.- El microcontrolador empleado fue un PIC 18F66J50. Dado que el glucómetro OneTouch cuenta con batería interna, únicamente es necesario conectar las líneas de transmisión con el microcontrolador y tener una referencia común. Es importante aclarar que para que la comunicación funcione de manera correcta es necesario agregar una resistencia de 4.7KΩ en cada línea de la comunicación RS-232 como se aprecia en la figura 6. Fig. 6- Hardware para la comunicación serial. El glucómetro emplea una comunicación con un offset de 1.6V aproximadamente por lo que es necesario usar un módulo comparador de voltaje para que el microcontrolador lo pueda interpretar. En nuestro caso el microcontrolador incluye un módulo de comparación interno, por lo que no fue necesario hardware adicional. Parámetros de la comunicación serial La comunicación que ofrece el glucómetro como se había mencionado anteriormente es una [8] comunicación RS-232 y los parámetros de dicha comunicación son los siguientes : Baud rate 9600 bps Bits de parada 1 Control de flujo ninguno Bits de datos 8 Paridad ninguna Estos parámetros se configuran en el microcontrolador para que se pueda establecer de manera correcta la comunicación. Es decisión de quien implementa la comunicación serial si se realizará por software o por hardware ya que el microcontrolador soporta ambas configuraciones. En nuestro caso se implementó una comunicación serial por software ya que sabemos cuando el glucómetro nos va a enviar información y no requerimos hacer uso de una interrupción para recibir los datos. Otra ventaja de la comunicación por software es que no estamos restringidos a unos pines para comunicarnos con el glucómetro ya que cualquier pin que sea I/O puede ser usado para la comunicación serial. Solicitud de datos al glucómetro El microcontrolador será quien inicie la comunicación con el glucómetro, por lo que será su responsabilidad especificar que datos quiere recibir. Existen varias tramas de acuerdo a lo que se quiere que el glucómetro realice, por ejemplo borrar mensajes, obtener lecturas, leer el número de serie del dispositivo, etc. Pero todas las tramas siguen la estructura mostrada en la tabla I. Tabla I. Estructura de las tramas del glucómetro Start of message indicator STX Length Byte Size of packet Control Byte Link control information Data portion Application data End of message indicator ETX Check characters CRClow CRChigh [8] . Para fines demostrativos se solicitó la última lectura que está en el glucómetro haciendo uso de la trama mostrada en la tabla II. Tabla II. Trama para solicitar última lectura STX 0x02 Len 0x0A Link 0x03 CM1 0x05 CM2 0x1F Record 1 0x00, 0x00 ETX 0x03 CRC low 0x4B CRC high 0x5F [8] . Interpretación de la respuesta del glucómetro Cuando el glucómetro recibe la trama de solicitud, inmediatamente envía una trama de acknowledge la cual se aprecia en la tabla III seguida de la trama con la última medición, mostrada en la tabla IV. Tabla III. Trama de acknowledge STX 0x02 Len 0x06 Link 0x05 ETX 0x03 CRC low 0x9E CRC high 0x14 [8] Tabla IV. Trama con la última lectura STX 0x02 Len 0x10 Link 0x01 . [8] . RM1 0x05 RM2 0x06 DT1 0xAC DT2 0x86 DT3 0x55 DT4 0x68 GR1 0x4C GR2 0x00 GR3 0x00 GR4 0x00 ETX 0x03 CRC low 0x86 CRC high 0x0B Para poder leer la trama enviada del glucómetro al microcontrolador primero se busca el inicio de trama (0X02) y se almacenan los bytes recibidos en el puerto serial hasta encontrar el fin de transmisión (0X03), después del fin de transmisión se reciben dos bytes más que corresponden al CRC. Con la trama obtenida se puede extraer la última lectura y la fecha en que se realizó para posteriormente aplicarlas en los proyectos que lo requieran. La trama que nos responde el glucómetro con la última lectura se interpreta de la siguiente manera: 1. DT4 a DT1 es la fecha en hexadecimal, en nuestra respuesta de la tabla 4 685586AC = 16:05 20 Junio 2025. 2. GR4 a GR1 es el valor de la glucosa medida también en hexadecimal. En el ejemplo el valor fue 4C = 76 en decimal. CONCLUSIONES. En este artículo se describió como establecer una comunicación serial entre el glucómetro OneTouch UltraMini y el microcontrolador PIC 18F66J50, también se presentó un hardware funcional para ser implementado en un PCB y se analizó la trama que se envía así como la que se recibe. Como resultado de los puntos presentados en este documento se estableció una comunicación exitosa con el glucómetro y se pudo obtener la última lectura para ser procesada en el microcontrolador. Los resultados presentados en este documento pueden ser utilizados para implementarlos en dispositivos electrónicos que ayuden a las personas diabéticas en la interpretación de sus lecturas tomadas y también pueden ser usados para llevar un control más preciso de su historial de niveles de glucosa para presentarlos cuando requieran una valoración médica. REFERENCIAS. 1. Vive con diabetes [En línea] <http://www.vivecondiabetes.com/basicos-dediabetes/estadisticas> [Consulta: 10 de abril de 2014] 2. Frequent Blood Sugar Testing is the Key to Active Management [En línea] <http://www.ehow.com/way_5230667_many-diabetics-test-bloodsugar_.html#ixzz2ySaC0uIt> [Consulta: 10 de abril de 2014] 3. Wireless Glucose Meter. How it Works [Enlínea] <http://www.telcare.com/how-it-works/> [Consulta: 15 de abril de 2014] 4. WIRELESS SMART GLUCO-MONITORING SYSTEM [En <http://www.ihealthlabs.com/wireless-smart-glucose-monitoring-system-bg5.htm> [Consulta: 15 de abril de 2014] línea] 5. GMate Blood Glucose Monitoring System [En línea] <http://www.gmate.com/default.asp> [Consulta: 15 de abril de 2014] 6. LifeScan Inc. “OneTouch UltraMini. Blood Glucose Monitoring System. User Guide.” Julio 2009. Milpitas, CA USA 95035. Pág 1-5. 7. Microchip Technology Inc. “PIC18F87J50 Family Data Sheet”. USA 2009. 480 Páginas. 8. LifeScan a Johnson and Johnson Company. “OneTouch® UltraMini™ / UltraEasy™ Blood Glucose Meter RS-232 Communication Protocol”. © LifeScan, Inc. 2007. 15 Pág.