基于STM32的重金属离子测量仪器的设计与试验*
2017-12-26魏光华赵学亮张建伟
魏光华,赵学亮,李 康,张建伟,史 云
基于STM32的重金属离子测量仪器的设计与试验*
魏光华1,2*,赵学亮1,2,李 康1,2,张建伟1,2,史 云1,2
设计了一种基于STM32控制芯片采用离子选择性电极检测重金属的仪器。对离子选择电极信号处理电路和PT1000测温电路的关键点进行详细分析比较。根据Ag离子电极电位数据,依据最小二乘法,采用5点校准模型进行线性拟合处理。连续采集记录Cd离子电极响应曲线,提出采用最值差值法进行稳定性判断。最后进行测试试验,结果证明采用的相关模型和算法能够满足一般测量要求,为相关设计提供了参考。
离子选择性电极;测温电路;5点校准模型;最值差值法
近几十年内社会经济飞速发展,但其引发的地下水污染、大气污染问题越来越受到社会的关注,其中水体重金属污染问题已成为当前社会的一大环境问题。重金属元素种类多毒性大,常具有生物富集效应,对人体造成严重危害。传统的重金属检测技术例如原子光谱法、分光光度法等,其检测流程复杂、仪器价格昂贵,通常用于实验室分析,而电化学分析方法,特别是离子电极分析方法,因其操作简便快捷、价格低廉,并且不会对待测液造成污染,可广泛用于野外监测、现场监测和在线监测[1-3]。
目前重金属测量仪器的主控芯片通常采用ARM7、ARM9等芯片,其处理任务能力强、软硬件结构复杂、价格较贵,通常用于大型嵌入式仪器设计中[4]。2007年ST公司推出STM32微处理器,其采用Cortex-M内核,优化了指令集结构和硬件结构,使其具有较高的性能、较低的功耗、足够低的价格,对便携式仪器的设计提供了方便,设计中采用STMF32系列芯片作为仪器的主控芯片。
1 系统硬件设计
1.1 系统总体组成
重金属离子测量仪由主控制模块、人工交互模块、SD卡存储模块、离子电极信号采集模块、PT1000温度传感器模块、高精度数据采集模块、电源模块等组成,如图1所示。主控制模块采用ST公司ARM-Cortex 处理器STM32F373V8作为主控制器,实现信号采集、处理、显示、存储等功能。人工交互模块通过LCD12864液晶显示模块和键盘模块实现用户按键扫描和信息显示。SD卡存储模块用于存储监测点测量信息、离子电极校准信息、连续记录离子电极电位响应曲线等功能,其采用znFAT文件系统。znFAT文件系统为于振南开发,软件开源免费,和国内外其他文件系统相比,在RAM使用容量、数据写入速度、数据稳定性、物理层接口、平台移植行等多个方面具有优势[5]。高精度数据采集模块采用LTC2414(或LTC2418),LTC2414采用4线SPI接口和处理器连接,可配置为8通道单端输入端或4通道差分输入,其0.03×10-6/℃的温度特性、0.2×10-6的噪声特性、3×10-6总体非调节误差使其成为优秀的模数转换器。电源模块稳定性对模拟电路部分影响很大,其采用单电源供电,良好的电源层和接地层PCB布局设计对提高屏蔽效果、提高ADC的测量精度十分重要[6]。
图1 重金属离子检测仪系统结构图
1.2 离子传感器电路
离子电极是对溶液中的特定离子具有能斯特响应的电极,单个离子电极不能用于测量,需要一个参比电极同时放入溶液中形成双电极系统。通常使用的离子电极为复合式离子电极,其中已经包含了一个参比电极,可等效成化学原电池,具有化学电动势E和内阻r,故可以直接进行测量[7]。通常离子电极内阻r数值为100 MΩ数量级别,为提高电极信号测量精度和准确度,前置信号处理电路中的放大器需要具有高的输入阻抗和高的共模抑制比,设计中采用轨对轨运放LTC6078,其输入端采用CMOS结构,输入偏置电流小于50 pA,共模抑制比可达95 dB。前置放大器完成一阶RC滤波和电压跟随,将信号送至模数转换模块进行转换处理。在模数转换器方面,STM32F373芯片内部带有两路16 bit SDADC,但其分辨率不能达到16 bit,每次开机时需要额外的零点校准和斜率校准才能提高测量精度,为提高信号测量精度,设计中采用LTC2414进行模数转换,可方便升级为LTC2418芯片。
整个离子电极电路处理模块如图2所示,设计中采用具有抗屏蔽功能的BNC接口连接离子电极,设计中采用4路BNC并列接口,可同时测量Ag、Cd、Pb、Cu 4种重金属离子浓度。离子电极信号首先经过前置放大器LTC6078进行滤波处理,之后送入LTC2414的模拟通道进行采集,采集方式为差分采集。4路离子电极信号同时叠加1.25 V的标准信号,1.25 V的标准信号由LT1461 -2.5 V高精度信号源经过高精度电阻分压得到。
图2 离子电极信号处理电路
1.3 温度传感器电路
离子电极响应信号符合能斯特方程,不同温度下测量的数据需要进行温度补偿。因此溶液温度测量是重金属离子测量仪的一个重要部分[8]。设计中采用线性度好、测温范围宽的PT1000作为温度传感器。PT1000处理电路通常有电桥法电路、恒流法电路、分压比较电路等。电桥法测量精度高,但其动态范围小;恒流法需要高精度的恒流源,通过固定PT1000电阻上的电流,由公式V=RI得到PT1000电阻上的电压值V,通常为避免铂电阻的自热效应电流I值不超过1 mA,试验中发现,如果1 mA的电流值波动0.1%(即为1 μA),则电压值波动1 mV,温度值波动可达0.26 ℃,这样需要每次试验前调试电流到1 mA,比较繁琐,且设计中采用3.5 mm的耳机接口连接铂电阻,不可避免地存在接触电阻,这部分接触电阻可能会影响测量过程。设计中采用分压比较法,此方法电路简单,利用设计中后级电路的高精度ADC可提高此方法精度。电路图如图3所示。
图3 PT1000测温电路图
设计中PT1000铂电阻采用四线制,通过3.5 mm耳机接口接入电路。R18上电压为1 V(图中标识为V1),流过R18的电流约为0.5 mA,可避免铂电阻自热效应[9]。由于LTC6078(图中标识为U8)输入阻抗高,可认为流过R18电阻的电流等于流过PT1000传感器的电流,于是R18和PT1000电压比值等于电阻比值,PT1000信号通过一阶滤波和电压跟随后送入LTC2414差分通道采集,利用公式V(PT1000)=V1R(PT1000)/(R18),可计算出R(PT)电阻值,图中R18电阻可采用高精度2K电阻或者提前测量R18电阻值,利用宏定义作为常量固化到C程序中。测量得到的铂电阻值,可通过直接公式计算法或者查表法得出[10]。试验中将PT1000放入低温恒温水槽DC-0506中,设定温度点,利用杭州路格科技公司的L93温度记录仪进行对比,结果如下。
试验中恒温水槽从0~50 ℃设定11个温度点,利用L93记录仪实时测量恒温水槽温度,当L93显示温度值接近设定温度值时可近似认为稳定并记录此时L93显示数值,同时重金属检测仪测量PT1000电压数值,通过二分法和公式法分别计算所得温度值,如表1数据可知二分法比直接公式计算法精度较高,误差控制在0.25 ℃以内。如需进一步提高测量精度,可将PT1000温度传感器置入高精度恒温箱标定,并采用数值算法抵消噪声。
表1 PT1000温度测量试验 单位:℃
注:二分法是通过查找铂电阻和温度的分度表计算温度数值;直接计算法认为铂电阻 ℃为1 000 Ω,温度和电阻值服从3.85 Ω/℃的线性关系。
2 系统软件设计
重金属检测仪设计中包括硬件设计和软件设计,硬件电路包含软件设计思想,软件设计能更好支持系统运行、提高硬件性能。设计中软件设计采用模块化编程思路,主要模块有STM32固件库模块、菜单模块、键盘扫描模块、温度测量模块、离子检测模块、SD卡存储模块等等。软件设计关键在于算法和流程设计。
2.1 重金属离子校准模型
限于离子电极的制作工艺,电极响应和能斯特关系会有差异,并且电极长期使用会老化漂移,因此离子电极在使用前需要测量校准曲线。校准曲线以电位E(单位为mV)为纵坐标,以离子浓度的对数log10(ai)为横坐标。图4为Ag离子校准曲线图,可看出校准曲线在2×10-6~100×10-6离子浓度间为线性关系。通常Ag离子电极的检测下限为0.01×10-6,实际使用中为提高可靠性和重复性,测定0(空白溶液)溶液中离子电极的电极电位,如图所示计算出拟合直线在该电位下的浓度值,规定其为检测下限,同时依据最小二乘法计算出拟合直线的斜率和截距值。
图4 Ag离子校准曲线图
虽然STM32内部具有FLASH存储空间,但为了保证信息不会由于刷新程序而丢失,校准后可将校准信息保存文件至SD卡内部,测量离子浓度时加载校准文件。
2.2 重金属离子测量算法
测量过程中首先测量离子电极电压值,离子电极电压值和溶液中离子活度对数呈线性关系,需要选择一种总离子强度调节剂使溶液中离子强度和pH值稳定。试验表明离子强度调节剂会影响离子电极的响应速度和电位稳定时间。试验中取50 mL烧杯5个,分别加入10 mL的5 mol/L的NaNO3溶液,配置0、2×10-6、10×10-6、20×10-6、100×10-6标准溶液,放入25 ℃的恒温水槽中,以1 s为间隔持续测量Cd离子电极响应曲线,将记录数据存储到SD的文件内[11],如图5所示。
图5 Cd离子电极输出电压变化曲线
从图5中可知,Cd离子电极输出电压随时间缓慢变化,0时达到趋于平稳时间最长,由于随机信号干扰、溶液的均匀性、配置缓冲溶液的组成都会造成输出电压波动,为此测量过中利用最值差值法判断是否达到稳定条件,即寻找出某个固定时间段内出现的最大值和最小值,比较它们的差值与经验值的大小来判断是否稳定[12]。
离子校准中采用5种校准液,计算得出检测下限和拟合斜率,可避免校准溶液浓度跨度过大引起的测量误差。测量过程中使用分段线性插值算法,其根据校准曲线将浓度区间划分为几个分区,依据每段分区的斜率和截距计算分区内的浓度[13-14]。增加校准点,区间划分越细,但是需配置多种校准溶液,操作不便。离子测量的整个过程流程如图6所示。
图6 离子浓度测量流程图
3 重金属离子测量试验
3.1 实验试剂和仪器
设计的重金属检测仪器主要是针对Ag、Cd、Pb、Cu 4种元素,试验中仅对这4种元素进行测试。主要试验试剂有:1 000×10-6标准溶液、离子强度调节剂。离子选择性电极检测范围和测量条件是关键参数,如表2所示,从表中可知,离子选择电极检测范围跨越5个以上数量级,实际应用中可根据检测浓度的范围确定校准溶液的浓度值。试验初步采用标样进行试验,实际上离子选择电极在应用中会受干扰离子影响,需根据溶液性质和共存的干扰离子选择一种或者多种掩蔽剂消除干扰,需注意不同离子电极的干扰离子种类、受干扰程度均不同[15]。
表2 电极参数表
注:实际应用中一般较难达到检测下限,可扩大下限5~10倍作为实际应用下限值
3.2 实验步骤和试验数据
对每种重金属离子溶液准确移取一定量的标准溶液到50 mL烧杯中,烧杯中分别加入10 mL离子强度调节剂,用去离子水准确稀释溶液至50 mL标线,摇均,配置成0~100×10-65种校准溶液和4×10-6~60×10-64种待检测液。将9个烧杯放到DC-0506恒温水槽中,设定温度为25 ℃,测量每个溶液之前,需用去离子水清洗电极。首先利用校准溶液校准仪器,接着测量待测液溶液。下面是具体的试验数据。
表3校准数据显示元素拟合线性度均大于0.99,线性关系良好。表4中可看出,总体上测量值和标液的数值相近,但是存在有一定的偏差,存在偏差的原因主要由以下几个方面:①能斯特方程中电势和离子浓度的关系为指数关系,电极电势对离子浓度的影响特别大,测量的过程中稍有偏差就会出现离子浓度的大幅度变化;②测量过程中对电极响应过程处理会引起误差。
表3 重金属元素校准表
表4 重金属元素测量表
4 结论
设计中基于STM32控制芯片采用离子电极法初步创建了一台水质重金属便携式检测仪器,实现了离子电极对水中重金属浓度的快速测量。硬件设计中对离子选择电极信号处理电路和PT1000测温电路中的关键点进行详尽分析。软件设计中,基于5点校准模型依据最小二乘法拟合得出溶液检测下限值和响应斜率,实验结果表明拟合线性度高,模型合理。连续记录Cd离子电极输出电位,分析离子响应曲线,提出使用最值差值法进行稳定判断。为验证模型算法的正确性,通过对校准溶液和待测溶液进行测量,与实际配置浓度进行对比,试验表明仪器测量数值接近,基本上可以满足一般测量需求。但是设计的重金属离子检测仪较为简单,对于响应曲线的稳定性判断、离子补偿温度模型、离子间共存干扰等多种因素没有详细考虑,后续工作需继续进行相关研究。
[1] 赵炎. 基于无线网络的水环境重金属自动监测仪器系统设计[D]. 浙江大学,2013:1-5.
[2] 孙启永,张文,李海波,等. 基于微电极阵列和无线传感器网络的水环境重金属检测系统研究[J]. 传感技术学报,2013,26(7):907-911.
[3] 李志文,李海波,万浩,等. 水环境重金属铜离子光学检测仪器的设计[J]. 传感技术学报,2016,29(1):146-149.
[4] 蔡巍. 水环境重金属检测微传感器及自动分析仪器的研究[D]. 浙江大学,2014:95-105.
[5] 于振南. 嵌入式FAT32文件系统设计与实现[M]. 北京:北京航空航天大学出版社,2014:192-205.
[6] 黄伟智. 印制电路板(PCB)设计技术与实践[M]. 北京:电子工业出版社,2013:287-327.
[7] 沈睿谦,王俊. 基于离子选择电极和单片机技术的电子舌设计与试验[J]. 农业机械学报,2013,44(6):183-188.
[8] 邹应全,邢鸿彦. 高精度pH测量仪研究[J]. 测控技术,2010,29(9):1-4.
[9] 方益喜,雷开卓,屈健康,等. 基于PT1000的高精度温度测量系统[J]. 电子设计工程,2010,18(10):79-82.
[10] 杨永竹. 铂电阻高精度非线性校正及其在智能仪表中的实现[J]. 仪表技术与传感器,2000,8:44-46.
[11] 刘帅. 基于STM32的人体生理信号采集和存储系统设计[D]. 山东师范法学,2014:33-41.
[12] 李娜,黄孝彬,田志强,等. 生产过程数据稳定性判断的一种方法[J]. 华电技术,2010,32(1):32-34.
[13] 董华. 基于MSP430单片机的pH计的研制[D]. 吉林大学,2006:39-47.
[14] 张俊. 匠人手记[M]. 北京:北京航空航天大学出版社,2014:145-149.
[15] 黄德培,沈子琛,吴国梁,等. 离子选择电极的原理及应用[M]. 新时代出版社,1982:309-330.
DesignandTestofHeavyMetalIonDetectionInstrumentBasedonSTM32*
WEIGuanghua1,2*,ZHAOXueliang1,2,LIKang1,2,ZHANGJianWei1,2,SHIYun1,2
(1.Hydrogeological Environment And Geological Survey Center Of China Geological Survey,Baoding Hebei 071051,China;2. Key Laboratory Of Geological Environment Monitoring Technology,Baoding Hebei 071051,China)
An instrument based on STM32 chip for detecting heavy metal with ion selective electrode is designed. The signal processing circuit of ion selective electrode and PT1000 temperature measurement circuit is analyzed in detail. According to the data of Ag ion electrode potential and least square method,the 5 points calibration model is used forlinear fitting. The response potential curve of Cd ion electrode is recorded continuously,and Maximum difference method is used to determine the stability. Finally tests are carried out,the results show that the model and algorithm can meet the requirements of the general measurement,and could provide a reference for other design.
ion selective electrode;temperature measurement circuit;5 points calibration model;Maximum difference methdo
10.3969/j.issn.1004-1699.2017.12.008
项目来源:国土资源部水工环地质调查项目(DD20160253)
2017-06-22修改日期2017-08-13
(1.中国地质调查局水文地质环境地质调查中心,河北 保定 071051;2. 地质环境监测技术重点实验室,河北 保定 071051)
TP216
A
1004-1699(2017)12-1828-06
魏光华(1987-),男,助理工程师,硕士学位,主要从事重金属自动监测仪器的研究,guanghua_wei@126.com。