光电式水综合毒性物质检测仪的软件设计

2010-07-25 08:43许鲤蓉刘刚袁景淇
微型电脑应用 2010年2期
关键词:下位驱动程序检测仪

许鲤蓉,刘刚,袁景淇

0 引言

工业污水的过度排放和农药的过度使用使我国的水体受到严重污染。饮用水来自江水、河水,原水中的污染物尤其是各类毒性物质,是否得到完全净化是一项重要的任务。饮用水出厂毒性物质检测和用户终端检测的重要性不言而喻。本文论述了自主研发的光电式饮用水综合毒性物质检测仪的支撑软件设计。

1 测试原理及系统结构

1.1 水综合毒性检测原理

荧光素—荧光素酶反应体系是指荧光素在荧光素酶的催化下消耗ATP ,并与氧气发生反应,发出荧光[1] [2]。水中的毒性物质会抑制荧光素酶的活性,从而抑制该反应的荧光发光强度[3]。水中毒性物质的浓度越高,抑制作用越强,因此对添加了水样的荧光素—荧光素酶反应体系的发光强度的测定,就可以监测水中毒性物质的浓度水平。基于此原理,可研制水综合毒性物质检测仪。

图1 水综合毒性检测仪的系统结构图

1.2 水综合毒性物质检测仪的系统结构

水综合毒性物质检测仪的系统结构,包括发光菌和样品、光电传感器、放大器、A/D转换、单片机、串口模块、液晶显示、按键以及上位机。该仪器的系统结构图见图1。

检测分成两步,先检测并记录添加无毒样品的荧光素-荧光素酶反应体系的30秒的发光强度(称为空白值),再检测并记录有毒样品的发光强度(称为相对发光值),从而可计算有毒样品对荧光素-荧光素酶反应体系发光的抑制率,抑制率越高,样品的毒性越强。检测时,光电传感器采光口接收添加样品的荧光素-荧光素酶反应体系发出的光,产生微电流,经运算放大器(含滤波电路)放大后送入 A/D转换模块转换为数字量,再由单片机的软件实时读取转换结果,该结果经过软件滤波后送液晶显示,并送上位机实时保存光强度数据和绘制光强度数据曲线。

1.3 水综合毒性物质检测仪系统软件具备的功能

(1)系统的控制:由键盘来控制系统在某一时刻所要实现的功能,包括开/关机,数据采集等。

(2)数据处理:对A/D采集到的数据进行滤波处理,计算样品的抑制率。

(3)通讯功能:将下位机测量的数据结果发送到上位机。

(4)数据的显示:在下位机上用液晶显示所测光强度数据。

(5)报警功能:根据样品的抑制率,判断样品的毒性是否超标,如果超标,给出报警。

(6)上位机实时绘制光强度数据曲线和保存光强度数据,实现数据回溯和数据库管理。

2 水综合毒性物质检测仪系统软件

2.1 下位机软件

采用的是ELAN公司的单片机[4],因此在仪器的软件开发上,使用ELAN公司提供的软件开发环境WisePlus进行开发,在WisePlus下可以使用的语言,是汇编语言和c语言。由于c语言可读性和可维护性比较高,因此采用c语言编程。下位机软件主要包括主程序、数据处理程序、各模块的驱动程序:如 A/D采样驱动程序、液晶驱动程序、串口驱动程序。

主程序是在各个驱动程序的基础上编写,它将各个模块的程序组成一个有机的整体。下位机主程序的流程图见图2。

图2 下位机主程序流程图

2.1.1 A/D采样驱动程序

A/D芯片用的是 MCP3201[5]芯片,该芯片与单片机的通讯采用的是标准的SPI兼容的接口。

MCP3201芯片通讯的启动条件: /CS引脚为低。如果如果器件上电时, /CS 引脚为低电平,则必须先将此引脚拉为高电平,然后再恢复至低电平以启动通信。器件将在/CS变为低电平后在第一个上升,沿开始对模拟输入信号进行采样。 采样周期将在第二个时钟周期的下降沿结束,此时器件将输出一个低电平空位。 接下来的12 个时钟脉冲,将以首先发送MSB位的格式输出转换结果。图3是A/D采样驱动程序的流程图:

图3 A/D采样驱动程序的流程图

2.1.2 数据处理程序

由于采集到的数据受到噪声的影响,会有一定的波动,所以在这里进行软件滤波。软件滤波的算法如下:

步骤1 每秒钟采集10个数据,对这10个数据求均值并保存该值。

步骤2 连续3秒保存用步骤1求得的均值。

步骤3 选用步骤2中3个数据的中间值,将这个值作为输出值。

数据处理程序的另一个功能是根据所测得的空白值和相对发光值,计算出所测样品的毒性物质的光抑制率。

2.1.3 液晶驱动程序

液晶的驱动程序主要是对液晶驱动芯片 HT1621[6]进行编程。HT1621 是一个 128(32×4)点的 LCD 驱动器。它可由软件配置成1/2 或1/3 的LCD驱动器偏压和2 、3或4个公共端口。这一特性使HT1621适用于多种LCD 应用场合。LCD驱动时钟由系统时钟分频产生。LCD 驱动时钟的频率值保持为 256Hz,由频率为 32.768KHz的晶振片内RC 振荡器或外部时钟产生。图4为液晶驱动程序的流程图:

图4 液晶驱动程序的流程图

2.1.4 串口驱动程序

采用 RS-232标准的异步串行通讯采协议:“波特率9600,8位数据位,无奇偶校验位,1位停止位”。PC 机采用COM1通信。

图5为下位机串口的发送流程图:

图5 下位机串口的发送流程图

这里波特率的产生是通过延时来实现的。要实现 9600的波特率,就应该延时0.104毫秒。

为保证上下位机的准确通讯,采取如下的数据传送格式:串口每次可发送8位数据,有效的数字为12位。因此每个数据分为两次发送,每次发送有效的6位。将每次发送的第8位作为标志位,发送低6位时,第8位为1,发送高6位时,第8位为0。先发送低位,再发送高位。采用这样的数据传送格式能够有效地区分高位和低位,从而保证数据传送的正确性。

2.2 上位机软件

2.2.1 上位机软件串口程序

上位机软件的串口部分使用 VC++提供的通讯控件MSComm,以MFC为基础编写[7]。

通过对MSComm控件的属性进行设置,就可以实现串口的初始化, MSComm控件在串口编程时只有一个事件,即OnComm事件。通过事件驱动,对时间的发生进行跟踪和处理,从而检测和处理通讯错误以及进行对数据的处理显示等。在此,使用 OnComm 事件来进行数据的接收。

由于下位机发送的数据采用了特殊的数据格式,因此,上位机进行接收时,就需要根据相应的格式进行接收和组合。接收的格式为:先判断接收到的数据的第8位是否为1,为1,则表示接收到了低位;若为0,则表示接收为高位;如果接收完低位和高位,则分别取其中的低6位,组合成有效的12位数据。

2.2.2 上位机的绘图程序

上位机软件的绘图部分使用了 VC++提供的 MSChart控件。软件的绘图部分实现了实时地将接收到的下位机的数据绘制成曲线,显示出来。设置 MSChart控件的属性,从而实现画图的初始化。在串口接收到数据的时候同时绘图,并将数据保存在txt文件中。

3 实验

3.1 样品浓度梯度实验

本实验采用甲拌磷为被检毒物,反应体系为荧光素—荧光素酶反应体系,检测仪器为自主研发的光电式水综合毒性物质检测仪。待测的甲拌磷的浓度分别为:6、12、25、50、100(mg/L)。测试时,先测反应 30秒的未添加甲拌磷的样品的空白值,再测反应30秒的添加了甲拌磷的样品的相对发光值,计算甲拌磷对荧光素—荧光素酶反应体系的光抑制率。

图6 反应时间30秒处甲拌磷/光抑制率关联图

图6是利用试验数据进行3次多项式拟合得到的甲拌磷浓度和光抑制率的曲线。实验表明该仪器测得的光抑制率,可用来判断毒性物质浓度的高低。

3.2 实际水样检测

本实验所用水样分别是采集 3个黄浦江下游上海市区段的水样(吴泾渡口、江川路街道渡口、东昌路渡口),2个地表水样(上海交大校内河道、吴泾公园水池)。反应体系为荧光素—荧光素酶反应体系。

表1 水样品采用不同仪器的毒性检测结果对比

1 东昌路渡口黄浦江水

2 上海交大校内河水

3 江川路街道渡口(闵行渡口)黄浦江水

4 吴泾公园水池

5 吴泾渡口黄浦江水

表1中两台仪器所测的抑制率和毒性判定,可见自主研发的水综合毒性检测仪,相对于 RFL-1型化学发光仪有更高的灵敏度。

以上两个实验,很好地验证了在本文设计的软件的支持下,自主研发的水综合毒性检测仪运行良好。

4 小结

本文研制的光电式水毒性物质检测仪,采用荧光素—荧光素酶反应体系检测水中毒性物质,测量时间短。下位机软件显示相应操作的提示,操作方便,只需一个按键就可完成全部的测试。测试结果不仅在下位机液晶上显示,也发送到上位机绘制数据曲线,结果更直观。上位机软件对数据进行存储,方便用户实现数据回溯和数据管理。

[1] Mcelory W D, Green A A. Enzymatic Pro-perties of Bacterial Luciferase[J] . Arch Bio chem, 1955,56(1) :240-255.

[2] Vetrova E V, Kudryasheva N S, Visser A J, et al.Characteristics of Endogenous Flavin Fluo- rescence of Photobacterium Leiognathi Luci -ferase and Vibrio Fischeri NAD(P)H: FMN -oxidoreductase[J] .Luminescence, 2005, 20 (3): 205-209.

[3] Alison M. Horsburgh, DP. Mardlin NL. Tur- ner, et al .On-line Microbial Biosensing and Fingerprinting of Water Pollutants[J] . Biosens Bioelectron, 2002, 17(6-7):495-501.

[4] ELAN, EM78P458 datasheet[Z] .2005.

[5] Microchip Technology, MCP3201 Datasheet[Z] . 2007.

[6] HOLTEK, HT1621 Datasheet[Z] .2000.

[7] David J.Kruglinski. visual C++技术内幕[M] .北京:清华大学出版社,2004.

猜你喜欢
下位驱动程序检测仪
阻止Windows Update更新驱动程序
一种防雷接地装置的便携式检测仪电路
发射机房监控系统之下位机
计算机硬件设备驱动程序分析
基于555振荡器的地沟油频率检测仪
多功能空气质量远程检测仪
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”
CAN总线并发通信时下位机应用软件设计
巧用故障检测仪中的Reset功能