摘 要: 介绍了基于AD5933的阻抗检测原理和软硬件实现。系统设计采用阻抗测量芯片AD5933,以低功耗高性能处理器STC89C52单片机作为控制器。该检测仪采用AD5933中的数字频率合成器(DDS)产生激励信号,施加在待测阻抗上,ADC采集相应信号并送到片内DFT模块进行数字处理,测量结果通过I2C送至单片机,再由单片机与计算机上位机通信,计算机显示该阻抗值。该仪器能实现电阻、电容、电感阻抗快速、准确地测量,经实验验证,阻抗幅值和相位测量的相对误差较小,(电阻阻抗平均偏差为0.041 1,相位平均偏差为0.152°)。葡萄糖水溶液浓度与阻抗呈线性相关,相关系数大于0.99。
关键词: AD5933;阻抗检测;STC89C52单片机;上位机
目前,全世界已有3.66亿糖尿病患者,国内该病群体规模也已超过9 240万人,所以,为了控制疾病,防止并发症,经常测量血糖水平是必不可少的。现今医院中最常用的检测血糖的方法是采集血样,处理后加入相关反应试剂,之后再用大型的生化检测设备进行分析。这种方法虽然准确,但由于过程繁琐、操作复杂、耗材量大、采血量又大,并不利于大多数病人的自我监护。寻找一种新的血糖阻抗检测方法,检测血糖浓度,可以减少耗材,节约资源,极具实际意义。对葡萄糖水溶液阻抗检测的研究为此作了铺垫。为了克服传统阻抗测量方法的不足,本文采用高精度阻抗测量芯片AD5933设计了新型阻抗检测仪,简化了电路设计,提高了系统抗干扰能力和测试精度[1]。
1 系统方案
本课题的目的是设计一种基于AD5933的阻抗检测系统。本系统能够满足电阻、电容、葡萄糖水溶液的阻抗与相位的测量,主要包括以下三个方面:
(1)获取阻抗与相位数据:采用高精度阻抗测量芯片AD5933及外围电路,测得阻抗与相位数据[2]。(2)数据传输:I2C通信,通过单片机的两个I/O口来实现总线接口,其中一个模拟SDA数据线的时序,另一个模拟SCL信号线的时序。(3)上位机显示:设置起始频率及步进频率后,可以绘制所测得的阻抗模值及相位与频率的关系图。
2 硬件设计
2.1 AD5933芯片介绍及阻抗测量原理
AD5933是一个高精度的阻抗变换系统,含有一个27位、最高输出频率为100 kHz、频率分辨率<0.1 Hz的直接数字合成器件(DDS)和一个12位、1 MHz采样率的ADC(模数转换器)。激励电压输出由直接数字合成器(DDS)产生,可在最高输出频率(100 kHz)以内的任意指定频率上发出激励信号,通过可设置增益的前置放大器后激励外部电阻,电阻上得到的响应信号被ADC采样,并通过片上的DSP进行1 024点的离散傅里叶运算(DFT运算)。傅里叶变换后返回在这个输出频率下得到的实部值和虚部值。因而也可以计算出在每个扫描频率下被测目标的阻抗的模和相角。
2.2 阻值计算与校准
对于不同的测量频率点,增益系数是不同的,所以在不同的频率点上要分别计算增益系数。此外测量过程中可以通过标定电阻的测量范围来优化测量性能。理论上测量范围标定得越小,测量结果越准确。表1给出了4个不同的电阻范围标定作为参考。
2.3 相角计算与校准
首先对标定电阻进行测量,得到标定电阻的相角P=arctan。待测电阻的实际相角等于测量值减去标定电阻的相角值。测量时得到的相角范围在-90°~+90°之间,要根据实部值R和虚部值I所确定的象限把相角变换到所在的象限内。若R<0,I>0,则说明在第二象限内,所以计算时要把相角加上180°;同理,若R<0,I<0,则在第2象限内,所以计算时要把相角减去180°。
2.4 系统整体设计
该电路电源部分采用5 V USB供电,在AD5933的RFB和VIN之间接入标定电阻,VIN和VOUT之间接入待测电阻。测量之前预估一下待测电阻所在的范围,选择相应标定电阻,每个频率点上都要首先对标定电阻进行测量和计算,然后再以此为标准计算被测电阻[5]。单片机通过I2C和AD5933通信,读取测量结果和实现控制,同时把结果送至上位机显示。整个电路设计简洁紧凑,抗干扰能力强。
AD5933的初始化参数需写入AD5933片内寄存器[3]。由于单片机STC89C52内部无I2C接口,需用单片机的两个I/O口来实现总线接口,其中一个模拟SDA数据线的时序,另一个模拟SCL信号线的时序,完成与AD5933通信[4]。
3 软件设计
上位机软件能实现串口通信,来传输阻抗数据文件。软件是在Microsoft Visual Basic 6.0平台下进行开发的。实现设置起始频率及步进频率后,可以绘制频率范围内所测得的阻抗模值及相位与频率的关系图。
系统主程序设计流程图如图1所示。
4 系统性能测试结果
通过测试,部分结果如表2~表4所示,此处电阻测试激励源频率为10 kHz,电容测试激励源频率为30 kHz,激励信号幅值设定均为2 V。误差计算公式为:
电阻阻值平均误差为0.041 1,电阻相位平均误差为0.152;电容阻抗平均误差为0.072 1,电容相位平均误差为0.152。
不同浓度葡萄糖溶液阻抗如图2~图4所示。运用MATLAB进行线性最小二乘拟合,得到y=2 692 600x+200,线性相关系数为0.999 4。
在不同条件下进行测试,葡萄糖浓度与阻抗值呈线性关系,相关系数分别为0.997 8、0.998 2。
基于AD5933的血流仪的生物阻抗检测,外围电路简单。测试结果表明,通过单片机控制AD5933测量精度较高,稳定性好。设计中,标定阻抗的选取对精度有很大影响,且软件算法对测量值的校准也非常重要。该设计对葡萄糖水溶液阻抗进行多组多次测试,得出葡萄糖浓度与阻抗值呈线性关系,为探寻新的血糖检测方法做了铺垫。
参考文献
[1] 李静,陈世利.基于AD5933的阻抗分析仪的设计和实现[J].现代科学仪器,2009,4(2):28-30.
[2] 任超世.生物电阻抗测量技术[J].中国医疗器械信息,2004,10(1):21-25.
[3] 崔传金,郭志强,赵楠,等.用AD5933实现电导率测量的研究[J].机电工技术,2008,37(4):44-47.
[4] 沙占友.智能传感器系统设计与应用[M].北京:电子工业出版社,2004
[5] 董艳阳.自动阻抗测量仪工作原理及阻抗测量方法[J].现代电子技术,2002,136(5):24-25