如何使用8位单片机设计一款灵活的低成本血糖仪
2016-12-29
世界上的糖尿病患者约占人口总数的 8.5%,现已成为第八大主要致死原因。据世界卫生组织估算,糖尿病将在 2030 年升至第七位。这种增长趋势可从近年来的统计数据看出:糖尿病的死亡病例从 2000 年的 100 万增至 2011 年的 140 万。控制糖尿病的一种主要方法是使血糖尽可能地保持正常水平。这导致对血糖仪的需求日益增加。
血糖仪是一种用于确定溶液中葡萄糖浓度的医疗设备。葡萄糖浓度的单位是毫克每分升(mg/dl)或毫摩尔每升(mmol/l)。血糖仪已成为糖尿病患者使用的家用血糖监测设备的重要组成部分。一天内可进行多次测量。大多数血糖仪基于电化学技术。这些血糖仪采用电化学试纸进行测量。将一小滴待测溶液置于一次性试纸上,血糖仪将利用该试纸来测量葡萄糖。在葡萄糖的电化学测量中,最常用的两种方法是比色法和电流法。在比色法中,LED或光传感器等构成模拟接口。跨阻放大器用于测量葡萄糖浓度。利用颜色反射率原理,根据光度测定法来确定试纸反应层的色彩强度。血糖仪生成葡萄糖浓度的测量值。
在电流法中,使用毛细管吸取试纸一端的溶液。此试纸还包含一个酶电极,其中含有葡萄糖氧化酶等试剂。葡萄糖在酶的作用下发生化学反应并在化学反应期间生成电子。随后测量流经电极的电荷,电荷量与溶液中的葡萄糖浓度成正比。此外,还会测量环境温度以补偿温度对反应速率的影响。大多数血糖仪采用此方法。图1给出了试纸的工作原理。
图1:血糖仪试纸工作原理
试纸构成主生化传感器(溶液试样置于其中),它具有三个电极。化学反应期间,工作电极中会产生电子。此电极与电流到电压放大器相连。参考电极的电压相对于工作电极保持恒定,以便推动所需的化学反应。第三个电极是计数器电极,作用是为工作电极提供电流。大多数血糖仪设计仅采用参考电极和工作电极。应向参考电极施加精确的参考电压(VREF),向运放施加精确的偏置电压(VBIAS)。
通过这种方法,工作电极和参考电极之间将保持精确的电位差。此电压是用于驱动试纸输出电流的激励,其幅值随后用于计算产生的电子数量。
将溶液试样置于试纸上,葡萄糖在酶的作用下发生化学反应。化学反应期间会产生电子。电子的流动对应于流经工作电极和参考电极的电流。此电流将随葡萄糖浓度的变化而变化。电流可通过跨阻放大器(电流到电压转换器)和模数转换器(ADC)进行测量。跨阻放大器的输出电压将随溶液中葡萄糖浓度的变化而变化。
数字实现方案
血糖仪的数字实现方案可通过Microchip的8位器件PIC16LF178x实现,如图2所示。这款PIC器件以其超低功耗著称。它包含两个运放、两个8位数模转换器、一个最多11个通道的ADC、内部EEPROM、I2C和16位定时器。
图2:血糖仪框图
将溶液试样置于试纸上时,葡萄糖会发生化学反应并产生电子。可以测量电子的流动(流经电极的电流)。此电流将随葡萄糖浓度的变化而变化。可借助电流到电压的转换,并通过PIC器件的内部放大器以及对高频信号的滤波来测量电流。随后,滤波后的信号馈送至12位ADC模块。
将溶液试样置于试纸上1.5秒后,PIC器件开始捕捉ADC通道的电压。可获得约2048个ADC读数。将这些读数的平均值代入回归公式Y=mX+C,其中Y是葡萄糖浓度(单位为mg/dl),m是斜率,X是运放输出电压的平均ADC读数,C是常数。
可利用此回归公式确定葡萄糖浓度,值显示在LCD上(单位为mg/dl或mmol/l)。内部EEPROM最多可存储32个血糖读数,可稍后在LCD上查看这些读数。血糖仪演示板可由板上锂电池(3V、225 mAH的CR2032)供电。开始捕捉ADC值的时间(1至1.5秒)和获取的ADC读数数量应根据所用试纸的类型和特性适当修改。
硬件设计
此血糖仪的设计规范要求葡萄糖的测量范围为20至600 mg/dl(相当于1至33mmol/l)。测试结果需要在5秒内显示。最近的32个葡萄糖读数应自动存储并包含日期和时间标记。由于此血糖仪将根据试纸特性来实现和修改通用回归公式,因此无需对试纸进行编码。
此血糖仪仅采用了一块电路板,其上使用28引脚PIC16LF178x器件。在线串行编程连接用于调试和编程。除了以mg/dl和mmol/l为单位显示葡萄糖测量结果外,LCD还能显示指导消息,如“Insert test strip”(请插入试纸)、“Strip inserted, place the sample”(已插入试纸,请放置试样)以及“Faulty test strip”(试纸错误)。需要适当的传感器来检测是否插入试纸、测量温度以及检查电池的健康状况。此血糖仪有两个按钮,一个用于读取之前存储的数据,另一个用于设置日期和时间。
固件特性
固件需通过PIC器件的内部运放、DAC和ADC来检测试纸电流。插入试纸并检查到电压升高450 mV后,需要捕捉ADC读数。将试样置于试纸上并计算出平均值1.5秒后开始记录ADC读数。葡萄糖浓度可根据回归公式和平均ADC读数进行计算。
固件模块可用于LCD接口和显示程序、运放的配置、DAC的配置、将葡萄糖读数存储到内部EEPROM、读取ADC通道、计算葡萄糖浓度以及通过将定时器用于时间标记来实现RTCC(实时时钟和日历)。
配置
DAC的参考电压与内部的固定参考电压缓冲器2相连,配置为2.048V。DAC输出电压设置为400 mV。
运放的输出(电流到电压转换器的输出)通过ADC通道0进行测量。ADC通道3用于测量电池电压以指示低电量状态。温度传感器的输出与ADC通道8相连以读取温度。
葡萄糖读数存储在内部EEPROM中。休眠模式期间,如果按下开关S1,PIC器件进入存储器模式,LCD上显示存储的葡萄糖读数。要查看之前的葡萄糖读数,需按下开关S3。再次按下开关S1可退出存储器模式。
16 x 2字符LCD用于显示葡萄糖读数和文本消息。通过单片机的端口引脚控制LCD的VSS,可在休眠模式期间切断LCD的电源。
定时器和外部32.768 kHz时钟晶振用于实现RTCC。通过开关S1和S3可为RTCC设置当前日期和时间。
如图3所示,运放的同相输入通道与DAC的输出(设置为400 mV)相连。运放的同相端子与工作电极相连。借助外部电阻和电容,可构成电流到电压转换器。运放的输出与PIC器件的ADC通道相连。
图3:运放配置
血糖仪在工作模式下的电流消耗约为1.1 mA,在休眠模式下的电流消耗约为3 μA。血糖仪在99.5%的时间内处于休眠模式。
结论
葡萄糖测量受到温度、湿度和海拔等外部因素影响,因为酶的反应速率取决于这些及其他因素。此外,通过Matlab或Microsoft Excel确定的回归公式需要针对不同化学特性的试纸相应更改。当设计与特殊试纸搭配使用的血糖仪时,必须考虑这些因素。
PIC16LF178X MCU集成运放、12位ADC、DAC以及EEPROM,这种组合适合此类需要精确测量和较低电流消耗的电池供电应用。这意味着PIC器件可用于实现灵活的低成本血糖仪设计。