用于农药残留快速检测的电流型酶生物传感器检测系统的研制.doc_第1页
用于农药残留快速检测的电流型酶生物传感器检测系统的研制.doc_第2页
用于农药残留快速检测的电流型酶生物传感器检测系统的研制.doc_第3页
用于农药残留快速检测的电流型酶生物传感器检测系统的研制.doc_第4页
用于农药残留快速检测的电流型酶生物传感器检测系统的研制.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于电流型酶生物传感器检测系统的研制摘要:本文主要针对电流型酶传感器经过处理之后输出的05V的电压信号,用PCI8310数据采集板卡,进行数据的采集、处理和保存。通过VB程序对数据进行采集、函数换算,最后能实时的得到电流型酶生物传感器所检测到得电流的大小,并能生成电流随时间变化的曲线,进而能计算出农作物提取液对电流型酶生物传感器电流的抑制度,通过查表便可以得到农作物提取液的药物浓度,进而能换算出农作物提取液的药物残留浓度。关键字:药物残留浓度、数据采集处理电流型酶传感器经过处理之后输出的05V的电压信号,采用北京中泰研创科技有限公司生产的PCI-8310板卡,进行A/D转换,和数据的采集,并将采集的数字量信号送入PC机微处理器处理,在进行相应的函数关系转换之后便可以得到药物残留浓度的数值。PCI-8310 模入接口卡适用于提供了PCI 总线插槽的PC系列微机,具有即插即用(PnP)的功能。其操作系统可选用目前流行的 Windows 系列、高稳定性的Unix等多种操作系统以及专业数据采集分析系统LabVIEW 等软件环境。在硬件的安装上也非常简单,使用时只需将接口卡插入机内任何一个PCI总线插槽中并用螺丝固定,信号电缆从机箱外部直接接入。 PCI-8310 模入接口卡允许采用32路单端输入方式或16路双端输入方式。用户可根据需要选择测量单极性信号或双极性信号。其输入的模拟信号由卡前端的37芯D型插头直接接入。 本卡还提供了TTL电平的16路输入和16路输出信号通道,这些信号通道由卡后端的40芯扁平电缆转换为37芯D型插头提供给用户。5.2.7.1主要技术参数150模入部分(标*为出厂标准状态,下同)输入通道数:单端32路*;双端16路输入信号范围: 0V10V*;5V5V; -10V10V输入阻抗:10MAD转换分辨率:12位AD转换速率:10SAD启动方式:程序启动AD转换非线性误差:1LSBAD转换输出码制:单极性原码*双极性偏移码系统综合误差:0.1 F.S开关量部分输入路数:16路TTL电平输出路数:16路TTL电平电源功耗:5V(10) 500mA环境要求: 工作温度: 1040相对湿度: 4080存贮温度:-55855.2.7.2 工作原理 PCI-8310 模入接口卡主要由模拟多路开关选通电路、差分放大器电路、模数转换电路、开关量输入输出电路和接口控制逻辑电路组成。1. 模拟多路开关选通电路 模拟通道开关由4片MPC508(或同类产品)及跨接器KJ1、KJ2组成,可以从32路单端信号或16路双端信号中任选一路,送入差分放大器。2.差分放大器电路 差分放大器由3个运算放大器以及相关的电阻、电容组成一个标准的仪用差分放大器,用以对通道开关选中的模拟信号进行变换处理。3.模数转换电路12位逐次逼近式AD转换器ADS774片内自带精密基准源,并经激光修调,具有较高的转换速率和转换精度,其转换时间仅为 10S。AD转换器由程序启动,其转换状态的结束可由程序查询读出或产生结束中断申请。AD转换器的模拟输入信号幅度由跨接器KJ3 选择, AD 转换后的输出代码形式由跨接器KJ4选择,可分别输出二进制原码或双极性偏移二进制码。电位器W1 用于零点调节,W2 用于双极性偏移调节,W3 用于满量程增益调节。4. 接口控制逻辑电路接口控制逻辑电路用来将PCI总线控制逻辑转换成与各种操作相关的控制信号。如表5-1所示为模拟输入信号端口定义。表5-2为端口地址及功能表。表5-1 CZ1模拟输入信号端口定义(括号内表示双端方式)插座引脚号信 号 定 义插座引脚号信 号 定 义1模拟地20模拟地2CH1(CH1+)21CH17(CH1-)3CH2(CH2+)22CH18(CH2-)4CH3(CH3+)23CH19(CH3-)5CH4(CH4+)24CH20(CH4-)6CH5(CH5+)25CH21(CH5-)7CH6(CH6+)26CH22(CH6-)8CH7(CH7+)27CH23(CH7-)9CH8(CH8+)28CH24(CH8-)10CH9(CH9+)29CH25(CH9-)11CH10(CH10+)30CH26(CH10-)12CH11(CH11+)31CH27(CH11-)13CH12(CH12+)32CH28(CH12-)14CH13(CH13+)33CH29(CH13-)15CH14(CH14+)34CH30(CH14-)16CH15(CH15+)35CH31(CH15-)17CH16(CH16+)36CH32(CH16-)18NC(空脚)37模拟地19模拟地表5-2 端口地址与功能表端口地址操作命令(字操作)功 能基地址+0写写通道代码基地址+2写启动AD转换,清除中断申请基地址+2读读A/D转换标志和结果基地址+4读读DI开关量数据基地址+6写写DO开关量数据5.3.2 模入通道代码数据格式 (端口地址为基地址+0)表5-3为对应的模拟通道代码的数据格式。 表5-3 模入通道代码数据格式通道号十进制代码十六进制代码输入方式通道号十进制代码十六进制代码输入方式1000H单双171610H单2101H单双181711H单3202H单双191812H单4303H单双201913H单5404H单双212014H单6505H单双222115H单7606H单双232216H单8707H单双242317H单9808H单双252418H单10909H单双262519H单11100AH单双27261AH单12110BH单双28271BH单1312OCH单双29281CH单1413ODH单双30291DH单15140EH单双31301EH单16150FH单双32311FH单5.3.3 读AD转换标志和结果的数据格式(端口地址为基地址+2)表5-4为对应的读AD转换标志和结果的数据格式。 表5-4 读AD转换标志和结果数据格式(x表示任意)命令D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0AD转换状态读1xxxxxxxxxxxxxxx正在转换读0000DB11DB10DB9DB8DB7DB6DB5DB4DB3DB2DB1DB0转换结束5.3 软件设计上述采集板卡获得的值是经过放大转换的电压信号,还要通过软件转换成相应的电流信号。本课题通过VB6.0实现数据的采集、实时显示、存储及实时曲线绘制等。5.3.1 数据采集抗干扰措施由于数据采集时干扰的存在,容易产生采样误差,为此常采用数字滤波的方法予以消除。常用的数字滤波方法有以下几种:(1) 算术平均值法对一点连续采样多次,取平均值。这种方法适用于对压力、流量一类信号的平滑处理,这种信号的特点是有一个平均值,信号在某一数值范围附近上下波动。(2) 中值法对某一个被测信号连续采样n次,然后把n个采样值按一定的顺序排队,取队列的中间值作为本次采样值。中值滤波法,对于去掉脉动性质的干扰比较有效,但对快速变化过程的参数则不宜采用。(3) 比较取舍法当个别数据存在偏差时,为剔除个别错误,采用比较取舍法。例如“采三取二”,即对每个采样点连续采样三次,取两次最相近的数据作为采样结果。(4) 加权平均滤波法加权平均滤波法适用于系统纯滞后时间常数较大,采样周期较短的过程,它对不同采样时间得到的采样值分别给予不同的权系数,以便能迅速反应系统当前所受干扰的严重程度。(5) 一阶滞后滤波法一阶滞后滤波法适用于波动频繁的被测量的滤波,它能很好地消除周期性信号,但也带来了相位滞后。(6) 防脉冲干扰复合滤波法此方法将算术平均值法和中值滤波法相结合,有利于消除脉冲干扰并能对采样值进行平滑处理。对于本检测系统而言,乙酰胆碱酯酶催化底物产生的电流信号是瞬间变化的微弱电流信号,我们采用算术平均值法实现信号的平滑处理。图12未接入检测信号时的数据采集测试界面 图13接入检测信号时的数据采集测试界面采集程序运行后,弹出对应的测试界面,检测通道的干扰情况,如图12所示,在未接入检测信号时,所有通道均为0。接入检测信号时(图13),第一路通道显示了对应的电压信号,而其他通道均为0,说明其他通道无干扰信号。5.3.2 数据采集及驱动程序 本课题数据采集采用PC6311数据采集板卡完成数据采集任务,对数据采集板卡的驱动程序和数据采集程序如下:1.驱动程序:Private Sub readAllDI()所有通道开关量输入,从16到1,十六进制显示 If ZT8310_GetLastErr 0 Then Exit Sub 防止返回-1时全亮 Dim tempStr As String tempStr = Hex(ZT8310_DIAll(m_cardNO) lblDIhex.Caption = DI数据十六进制显示: & Left(0000, 4 - Len(tempStr) & tempStr Me.Caption = 农药浓度测试 返回函数执行的状态End SubPrivate Sub Command7_Click()所有通道开关量输入,从16到1,二进制显示 Dim outStr As String outStr = For i = 15 To 0 Step -1 outStr = outStr & & ZT8310_DIBit(m_cardNO, i + 1) If i Mod 4 = 0 Then outStr = outStr & , Next i outStr = IIf(Right(outStr, 3) = , , Left(outStr, Len(outStr) - 3), outStr) lblDIbinary.Caption = DI数据 二进制 显示: & outStr Me.Caption = 农药浓度测试 返回函数执行的状态End SubPrivate Sub cmdDOAllHigh_Click()所有DO通道全部输出高电平 ZT8310_DOAll m_cardNO, &HFFFF Me.Caption = 农药浓度测试 返回函数执行的状态End SubPrivate Sub cmdDOAllLow_Click()所有DO通道全部输出低电平 ZT8310_DOAll m_cardNO, &H0 Me.Caption = 农药浓度测试 返回函数执行的状态End Sub2. 数据采集程序:Private Sub Timer1_Timer()用于AD,成批读数 If m_timer1Finish = False Then Exit Sub m_timer1Finish = FalseDim retCount As Long, currCount As Long, countPerCh As Long, AIrange As Long Dim sum(32 - 1) As Double wantCount = 2000 4096 0 retCount = ZT8310_AI(m_cardNO, m_saveData(0), wantCount) 求平均值 countPerCh = (retCount / 10) m_ADchCount If countPerCh 0 Then If m_showMode 2 Then For k = 0 To m_ADchCount - 1 For i = 0 To countPerCh - 1 Dim tempVal As Long tempVal = m_saveData(i * m_ADchCount + k) tempVal = IIf(tempVal 0, tempVal + 65536, tempVal) sum(k) = sum(k) + tempVal Next i tempVal = CLng(sum(k) / countPerCh) Text1(k) = IIf(m_showMode = 0, Hex(tempVal), tempVal) Next k Else For k = 0 To m_ADchCount - 1 For i = 0 To countPerCh - 1 sum(k) = sum(k) + m_saveData(i * m_ADchCount + k) Next i Text1(k) = Format(sum(k) / countPerCh, 0.#) Next k End If End If Me.Caption = 农药浓度测试 返回函数执行的状态 m_timer1Finish = TrueEnd Sub5.3.3 数据的实时显示和存储1. VB数据库原理151152在VB中,访问数据库一般有两种方式。一是非编码方式,主要通过Data等控件,可以不需要任何编程,只需简单设置控件的一些属性并结合文本框等普通控件即可方便地显示和操作数据库中的数据。二是通过编写代码,即利用数据访问对象(DAO)来实现。虽然编写代码要花费更多的时间与精力,但却可以实现更灵活更复杂的操作2. 数据库类型的选择VB语言可以访问的数据库类型:本地数据库有Access、dBase、Paradox和FoxPro等类型的数据库;远程数据库有Oracle、Sybase和Informix等类型的远程数据库。本课题选用了本地Access类型的数据库。3. 数据库表的生成从“外接程序”选单中,系统会提示要以何种记录集类型来访问VB数据库:一是“表类型记录集”,二是“动态集类型记录集”,三是“快照类型记录集”。我们选择“动态集类型记录集”。 从“可视化数据管理器”的“文件”选单中选择“新建”,选择“MicroSoft Access”类型,再选择“版本7.0MDB”。 选择保存库文件的目录(设把文件保存在C盘的根目录中,文件名为Myfile)。 这时出现“数据库”窗口,此时数据库已存在,但还不包含任何的表名以及字段定义等表结构。点击右键,选择“新表”,添加一个新表,出现“表结构”对话框,在“表名”框中输入表名(本例表名为Phone)。 单击“添加字段”按钮,显示“添加字段”对话框。按要求分别定义“字段名”、“类型”及“大小”。先输入第一个字段,然后按“确定”,反复这一过程,直到输入全部的字段。 单击“关闭”,从“添加字段”对话框退回到“表结构”窗。点击“生成新表”,保存表结构。 4. 数据的实时写入数据库实时写入通过数据绑定来实现,具体程序如下:Private Sub Timer3_Timer()启动单次AD If m_timer3Finish = False Then Exit Sub m_timer3Finish = False Dim tempVal As Long For i = 0 To m_ADchCount - 1 If m_s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论