STM32的瘦肉精含量快速检测系统

发布者:冰山火影1977最新更新时间:2014-09-01 来源: 21ic关键字:瘦肉精  激光诱导  荧光技术  STM32 手机看文章 扫描二维码
随时随地手机看文章

引言

本设计在传统的免疫法基础上进行改良,采用了激光诱导荧光技术和荧光免疫分析法,实现了对瘦肉精的快速、定量、精确检测,具有高分辨率、快速响应、高灵敏度、抗干扰能力强等优点。

1 检测系统的工作原理与组成

1.1 光学检测原理

本设计选用的半导体激光器的光功率最大是5 mW,最大工作电流是40 mA,正常工作电流35 mA,正常工作电压是2.2 V,最大反向工作电压是2 V,波长范围是630~640 nm,中心波长为638 nm。激发出来的荧光波长为680 nm,所选用的光敏二极管S5106能够感应的波长范围是320~1 100 nm,接收灵敏度最高的是960 nm的光,接收荧光的灵敏度约为0.45。

半导体激光器打出的638 nm波长的激光通过二向色镜反射,反射的激光再通过透镜1聚焦到检测试纸卡上,这样激光能量能够最大化地聚集到试纸卡上,此时能最大激发出荧光;激发出来的680 nm的荧光通过二向色镜透射,荧光照射到滤光片上,滤光片透过的光波长为660~700 nm,这样不在这个波长范围的杂散光就能被滤除掉;荧光再通过透镜2聚焦到光阑上面的光孔,光阑也能挡住一部分杂散光,聚焦的荧光能够最大化地聚集到光敏二极管的接收面上,这样设计的光路不仅能够很好地滤除杂散光,而且还能最大化地聚集激光能量和最大化地激发荧光,激发的荧光也能够最大化地聚集到光敏二极管上,这样能最有效地抑制噪声、最有效地激发荧光和接收荧光,有利于荧光信号的采集和测量的精度提高。

光路检测图如图1所示。

 STM32的瘦肉精含量快速检测系统

1.2 试纸卡制作原理

免疫层析技术是建立在层析技术和抗原-抗体特异性免疫反应基础上的一项新兴免疫检测技术。免疫层析技术以固定有检测线T和控制线C的条状纤维层析材料为固定相,测试液为流动相,通过毛细作用使待测物在层析条上移动。其巾待测物在T线处发生特异性免疫反应,游离物在C线处发生免疫反应。

常用免疫层析荧光法包括竞争法和夹心法,本设计检测法采用竞争法,竞争法主要用于测量小分子抗原,如克伦特罗、莱克多巴胺等。竞争法试纸卡制作示意图如图2所示。

 STM32的瘦肉精含量快速检测系统

待测样本中的抗原浓度越高,则荧光素标记的抗原与单克隆抗体形成抗原抗体复合物的量就越少,T线上荧光免疫复合物的量也就越少,待测样本中克伦特罗的浓度与T线信号成负相关。而C线上捕获的荧光素标记兔抗信号值则相对固定。通过激光对检测卡进行扫描,根据克伦特罗浓度与荧光信号强度成负相关,获得待测样本中克伦特罗的准确浓度。

1.3 系统硬件设计

系统硬件主要由控制器、电源、激光器驱动与保护、步进电机驱动、信号处理及采集、按键与显示屏等组成。控制器采用基于ARM Cort ex—M4核的STM32F407VGT6,主频频率为168 MHz。主要硬件框图如图3所示。半导体激光器的驱动采用恒流驱动,驱动电流值由控制器设定,激光诱导的荧光束通过光敏二极管接收后转换成电流值,电流值转换成电压后经过放大和滤波送到A/D芯片采集,采集后转换成浓度值在显示屏上显示,实现定量检测。试纸卡通过步进电机驱动做直线运动,实现整个试纸卡的扫描采样。下面主要介绍半导体激光器的驱动电路和前置信号处理电路。

 STM32的瘦肉精含量快速检测系统

1.3.1 半导体激光器的驱动电路

半导体激光器的驱动电路主要由电流源组成。激光器对电流冲击的承受能力较差,电流微小的变化将引起光输出的变化,这些变化有可能影响激光器的使用寿命,因此在实际应用中对驱动电流源的性能和安全保护有很高的要求。为了能够很好地观察荧光信号的强弱变化,设计激光器的电流源连续可调节,改变驱动电流大小,同时改变激光器的光功率。该电路的原理图如图4所示,电流源供电通过LDO给其供电,减小电源噪声,使激光器工作在稳定可靠条件下。

 STM32的瘦肉精含量快速检测系统

U1为数字转化为模拟信号芯片,输出电压在0~4.096 V可调,电流源由运算放大器U2A,精密电阻R1、R2、R4、R7和i极管Q1组成。原理如下,根据虚断的概念可得:

 STM32的瘦肉精含量快速检测系统
 STM32的瘦肉精含量快速检测系统

由式(7)可以得知,半导体激光器的驱动电流与激光器的阻抗无关,只与输入电压VIN和精密电阻R5、R6相关,驱动电流通过调节输入电压大小实现连续可调。[page]

1.3.2 信号处理电路

光敏二极管的PN结有一个结电容和一个寄生电阻,结电容和采样电阻组成了一个RC充电回路,RC值的大小决定了光敏二极管的响应速度。光敏二极管在反向偏置电压作用下工作,再加上寄生电阻的存在,在没有光信号输入时,光敏二极管仍然会流出电流,该电流称为暗电

流。S5106的暗电流正常值为0.2 nA。由于结电容的存在,该结电容延迟了信号的响应,在输出信号端会产生震荡,在取样电阻R2上需并联一个合适容值的电容C4用来对电路进行补偿,消除信号的震荡。

当激光照射在试纸卡上时,激发出来的荧光反射到S5106上形成光电流,通过电阻R2实现I/V转换,将电流转换成电压值。由于荧光信号非常微弱,产生的光电流值一般都为几个nA,再加上运算放大器输入级偏置电流的存在,为减小偏置电流对光电流的影响,一般需要选取偏置电流极小的运算放大器,可选取pA级别的。其中I/V转换原理图如图5所示。

 STM32的瘦肉精含量快速检测系统

1.4 系统软件设计

1.4.1 系统软件总流程

系统软件设计采用C语言开发,主程序结构如图6所示。仪器上电后,进行系统初始化,读取外部EEPROM的保存参数,接着系统开始自检,液晶屏显示“系统自检中”。自检内容包括电源自检、外部RTC自检、外部EEPROM自检、电机自检、激光器自检、电路自检、温度传感器自检。自检不通过,则报警,液晶屏显示相应的报警码,否则进入主菜单界面。在主菜单页面中,在“测试”页面中按下ENTER键进入测试流程,在“查询”页面中按下ENTER键进入历史记录流程,在“设置”页面中按下ENTER键则进入设置流程。在设置页面中,在“时间与日期”页面中按下ENTER键进入设置时间与日期流程。在“清空历史记录”页面中按下ENTER键进入清空历史记录流程。在“信息”页面中按下ENTER键查看仪器的基本信息。

 STM32的瘦肉精含量快速检测系统

1.4.2 寻峰算法

(1)寻峰要求

①任意寻峰范围:通过测试试纸条得知,共300个点,从START到END,如200~500。

②若为选取的峰,则峰高必须大于一个阈值THRESHOLD,如100 mV。

③寻峰完毕后,峰的个数必须为2个,否则寻峰失败。

④峰的宽度通过测试试纸得知,是一个定值WIDTH,如60。

⑤通过计算峰高之比来求得比值。

⑥可往本底不平滑的情况进行。

(2)自动寻峰算法

自动寻峰方法有多种,如高斯乘积函数法,导数法(一阶、二阶、三阶),对称零面积法,协方差法等。其中,高斯乘积函数寻峰法可靠性较差;导数法(一阶、二阶、三阶),比较简单;对称零面积法可准确识别弱峰;协方差法较为复杂。而这些高级的寻峰方法主要用于光谱分析中识别弱峰、重峰、假峰等。

本设计采用常见的一阶导数法来进行自动寻峰,该方法非常简单且比较准确,很容易在嵌入式处理器中用软件实现。

自动寻峰算法流程如下:

①取得300点寻峰范围内的各索引值的电压值V。

②分别求得(300—1)个相邻数值之间的差值d。

③在(WIDTH/2,END—START—WIDTH/2)范围内开始寻峰。

④取得极大值后,其索引值为i。分别求得左有索引值LEFT和RIGHT。

⑤通过左右索引值及各对应的电压值拟合一条直线,并求出 i+1处对应的峰高。

⑥若该峰高大于阈值THRESHOLD,且峰的个数≤2,则将该峰高存入数组中,并将索引值i加上WIDTH/2。

⑦寻峰完毕或者出现峰的个数大于2,则退出寻峰。

⑧寻峰结束后,如果峰的个数为2个,则通过计算峰高的比值即C/T,将该比值代入公式中即可求出待测物质的浓度值。

导数法示意图如图7所示。

 STM32的瘦肉精含量快速检测系统

2 系统测试结果

试纸卡在步进电机的驱动下做直线运动,通过光学检测系统对其进行逐步扫描和信号采集,采集到的信号值通过上位机软件显示,采样到的信号值在T线和C线处形成两个波峰,克伦特罗的浓度与T线信号成负相关,而C线上捕获的荧光素标记兔抗信号值则相对固定,C线峰值用作参照,通过寻找T线和C线处的峰值,再通过T线和C线峰值的比值来计算克伦特罗的浓度。

现以测试的一组克伦特罗浓度值为例,采样到的信号值上位机显示波形图如图8所示。检测时间总共耗时6 s,其中横坐标为采样的点数,总共采样1 500个点,1 ms采样一个点,纵坐标为每点所对应的采样电压值,两个波峰分别为T线和C线处的波峰,T线所对应的峰高与被测样品浓度成负相关,C线所对应的峰高是用作参照的,用来消除背景干扰。

 STM32的瘦肉精含量快速检测系统

根据寻峰算法可得T线峰高为0.564 V,C线峰高为0.258 V,比值为2.186,代入

 STM32的瘦肉精含量快速检测系统

。其中y为浓度值,x为比值,得出克伦特罗浓度为0.137 ppb。检测量程为0.0~0.3 ppb,检测灵敏度为0.01 ppb。

结语

本文介绍了一种以激光技术、荧光免疫层析技术和激光诱导荧光技术为基础的定量瘦肉精检测系统。该系统实现了瘦肉精的快速定量检测,检测灵敏度达到了0.01 ppb,同时检测时间短,能够大批量检测,是一个实用且完整的系统,对瘦肉精的精确检测具有很大的参考意义。

关键字:瘦肉精  激光诱导  荧光技术  STM32 引用地址:STM32的瘦肉精含量快速检测系统

上一篇:基于LPC2210的无刷直流电动机的控制
下一篇:基于ARM微处理器LPC2132的智能电动机保护器设计

推荐阅读最新更新时间:2024-03-16 13:40

STM32定时器的输入滤波机制
STM32的定时器输入通道都有一个滤波单元,分别位于每个输入通路上(下图中的黄色框)和外部触发输入通路上(下图中的兰色框),它们的作用是滤除输入信号上的高频干扰。 具体操作原理如下: 在TIMx_CR1中的CKD 可以由用户设置对输入信号的采样频率基准,有三种选择: 1)采样频率基准fDTS=定时器输入频率fCK_INT 2)采样频率基准fDTS=定时器输入频率fCK_INT/2 3)采样频率基准fDTS=定时器输入频率fCK_INT/4 然后使用上述频率作为基准对输入信号进行采样,当连续采样到N次个有效电平时,认为一次有效的输入电平。 实际的采样频率和采样次数可以由用户程序根据需要选择;外部触发输入通道的滤波参数
[模拟电子]
<font color='red'>STM32</font>定时器的输入滤波机制
STM32 影子寄存器
01、概述 在定时器框图中,有个小细节,有些寄存器下有个阴影 有这些阴影的表示这些寄存器存在影子寄存器。 在图例中也有对影子寄存器的说明: 根据控制位,在发生U事件后,预装载寄存器内容转移到有效寄存器。这也就是对影子寄存器的说明。 有阴影的寄存器(AutoReloadRegister),表示在物理上这个寄存器对应2个寄存器,一个是程序员可以写入或读出的寄存器,称为preloadregister(预装载寄存器),另一个是程序员看不见的、但在操作中真正起作用的寄存器,称为shadowregister(影子寄存器)。 这里有3个寄存器名称 AutoReloadRegister。 preloadregister。 shadowre
[单片机]
<font color='red'>STM32</font> 影子寄存器
如何设计一个以stm32为控制核心的数字示波器?
随着集成电路的发展和数字信号处理技术的采用,数字 示波器 已成为集显示、测量、运算、分析、记录等各种功能于一体的智能化测量仪器。数字示波器在性能上也逐渐超越模拟示波器,并有取而代之的趋势。与模拟示波器相比,数字示波器不仅具有可存储波形、体积小、功耗低,使用方便等优点,而且还具有强大的信号实时处理分析功能。因此,数字示波器的使用越来越广泛。目前我国国内自主研发的高性能数字示波器还是比较少,广泛使用的仍是国外产品。因此,有必要对高性能数字示波器进行广泛和深入研究。 本文通过采用高速高性能器件,设计了一实时采样率为60 msa/s的宽带数字示波器。 1 数字示波器的性能参数设计 数字存储示波器的指标很多,包括采样率、带宽、灵敏度
[测试测量]
如何设计一个以<font color='red'>stm32</font>为控制核心的数字示波器?
stm32体系架构详解
01 共同点和区别 STM32F10x芯片由丝印所体现出的共同点和区别。规则:101基本型,102USB基本型,103增强型,105或107互联型。T:36脚,C:48脚,R:64脚,V:100脚,Z:144脚。C:256K SRAM, D:384K SRAM, E:512K SRAM。 正对芯片的丝印,会看到芯片左下角会有一个小圆点(正方向),有的在右上角会有一个稍大点的圆圈标记,靠近左下角小圆点的管脚号为1,然后以逆时针方向,ZET6最后一个管脚号为144,VET6最后一个管脚号为100,即是Z的管脚多于V的,说以说Z的功能也要多于V的;接下来说说丝印上的ARM和ST,crotex-Mx内核是由ARM公司(就叫做IP厂
[单片机]
<font color='red'>stm32</font>体系架构详解
STM32】HAL库-串口USART
USART简介 通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。 USART利用分数波特率发生器提供宽范围的波特率选择。 一个波特率寄存器(USART_BRR),12位的整数和4位小数 任何USART双向通信至少需要两个脚: 接收数据输入(RX)和发送数据输出(TX) 当发送器被激活并且不发送数据时,TX引脚处于高电平 在起始位期间,TX脚处于低电平,在停止位期间处于高电平。 发送和接收由一共用的波特率发生器驱动,当发送器和接收器的使能位分别置位时,分别为其产生时钟。 空闲符号和端口符号 空闲符号是一个帧,并且全部由1组成,空闲帧后面跟着
[单片机]
【<font color='red'>STM32</font>】HAL库-串口USART
STM32中断优先级的理解与使用
一、中断的分类: 全局中断就是在运行程序的任何一部分都可以立即执行中断服务,如果是在程序的中断才添加开放中断指令就是说有条件满足中断的时候,也只能在执行允许中断的指令后才执行中断服务。   外部中断是可以屏蔽的中断,也就是说,利用中断控制器可以屏蔽这些外部设备 的中断请求。   内部中断是指因硬件出错(如突然掉电、奇偶校验错等)或运算出错(除数为零、运算 溢出、单步中断等)所引起的中断。 STM32F10的每个IO口都可以设为外部中断,最多可设19个,16+3=19 在设计硬件的时候要注意,不要将外部中断连接到PA 、PB1]、PC 等,这样的话处理器只能选择一个作为中断源。 另外: EXTI线
[单片机]
STM32笔记之十一:捕捉精彩瞬间,脉冲方波长度捕获
a) 目的:基础PWM输入也叫捕获,以及中断配合应用。使用前一章的输出管脚PB1(19脚),直接使用跳线连接输入的PA3(13脚),配置为TIM2_CH4,进行实验。 b) 对于简单的PWM输入应用,暂时无需考虑TIM1的高级功能之区别,按照目前我的应用目标其实只需要采集高电平宽度,而不必知道周期,所以并不采用PWM输入模式,而是普通脉宽捕获模式。 c) 初始化函数定义: void TIM_Configuration(void); //定义TIM初始化函数 d) 初始化函数调用: TIM_Configuration(); //TIM初始化函数调用 e)
[单片机]
STM32 基础系列教程 1- CubeMX+GPIO
前言 学习stm32 GPIO 的使用,设置某一GPIO引脚为输出功能,将对应引脚拉高或拉低输出,同时学会初步认识STM32最新的HAL库的使用, 用代码实现控制GPIO引脚输出产生周期出1s 占空比为50%的PWM波。 示例详解 基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。 本示例所用的最小系统板原理图: 新建STM32 CUBEMX 工程, 双击桌面STM32CubeMX工具 在CubeMX中菜单中点 File à New Project … 在新弹出的界面
[单片机]
<font color='red'>STM32</font> 基础系列教程 1- CubeMX+GPIO
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved