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