- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于CAN总线和MSP430的CO红外检测系统设计
录入:edatop.com 点击:
摘要:提出一种基于CAN总线接口的红外检测系统的设计思路。该检测系统以MSP430超低功耗单片机为核心,采用SM-CO H/M红外线CO气体探测器,结合数字滤波和温度补偿等算法,达到精确测量CO浓度的目的,利用CAN总线接口实现数据的远程传输,同时进行现场和远程监控。
关键词:MSP430;CAN总线;数字滤波;温度补偿;Delphi
1 引言
一氧化碳(CO)是剧毒性气体,人体吸人后造成人体组织和细胞缺氧,导致引起中毒窒息。在煤矿井下,CO也是引起瓦斯爆炸的主要气体之一。CO无论是对工业生产还是人类都造成巨大的损害,因此,CO检测尤为重要,特别在煤矿井下,《煤矿安全规程》规定,井下作业场所的CO浓度应控制在0.002 4%以下。因此,实时、准确地测出井下CO气体浓度,对保障煤矿工业安全生产具有重要意义。
目前检测CO的方法主要有化学法、电化学法、气相色谱法等。这些方法普遍存在价格高、普适性差等问题,且测量精度较低。这里设计一种新的检测系统,选用红外CO传感器和MSP430单片机作为核心信号处理电路,结合数字滤波、温度补偿运算.具有检测浓度范围宽、使用寿命长等优点。CAN总线通信距离长、可靠性高等特点,通过扩展CAN总线接口使检测仪具有远程通信能力,可方便地与监控中心进行对接联络,有效降低事故发生率,具有推广和应用价值。
2 系统组成及硬件设计
该系统由红外CO气体传感器、MSP430单片机、CAN总线接口及远程监控系统组成。该系统在检测现场通过单片机处理检测的数据、控制LCD显示、声光报警,同时还配备CAN总线控制器,可以轻松获取浓度、温度以及报警记录等相关信息,实现了智能化的工业现场、远程同时监控功能。系统的组成框图如图1所示。
2.1 传感器的原理及选择
每种物质都有特定的吸收光谱(如CO气体在光波波长4.5μm处有一个极强的吸收峰),该特性可用于测量。可根据各种气体光谱曲线上某些特定波长处吸收峰值的变化判断气体的浓度。当红外光通过待测气体时,这些气体分子对特定波长红外光有吸收作用,吸收规律遵循朗泊-比尔定律
式中,I为透射光的能量,L/mol·cm;Io为红外辐射被气体吸收的能量,L/mol.cm;K为与气体及辐射波长有关的常数,L/mol·cm:C为被测气体的浓度.mol/L;L为辐射通过气体层的厚度,cm。
由式(1)可知,通过检测红外辐射经气体吸收后的辐射强度,就可计算出被测气体的浓度。采用SM-C0 H/M传感器,该系列模拟输出型CO采用双光束非分光红外线(NDIR)检测技术.具有抗其他气体干扰、保养维护简便、稳定性好、自带温度补偿、Modbus ASCII协议数字输出和模拟输出等优点。适用于泄漏报警、现场施工防护、简单气体分析气体、在线监测、工业过程分析等场合。
2.2 MSP430单片机工作原理及数据处理
MSP430单片机是德州仪器(TI)公司生产的超低功耗Flash型16位单片机。根据系统功能及外围电路接口要求,选用MSP430F449型单片机,该单片机具有丰富的内部硬件资源;内置的温度传感器用于检测环境温度,补偿红外传感器检测的数据;其内置A/D转换器用于将传感器输出的模拟量转换为数字量;通过硬件乘法器,实现对被测量的A/D采样数据进行高速数字滤波和温度补偿等运算。数字滤波法采用去极值平均滤波法。在脉冲干扰较严重的场合,如采用一般的平均值法,则干扰将会平均到结果中去,不易消除由干扰引起的误差。首先把Ⅳ次采样值按大小顺序排成一列,采用“冒泡排序法”,可去掉N个数据中的最大值和最小值,再计算(N-2)个数据的平均值,即为去极值平均滤波法。温度补偿的处理方法;传感器的静态特性为线性时,则温度补偿前的特性可表示为:
式中,x为传感器的输入量,y为输出量,Y为特性曲线在y轴上的截距(即环境温度引起的输出增益),k为比例系数。
温度补偿公式法的步骤如下:
(1)给定(m+1)个温度值:T0,T1,T2,…,Tn,…,Tm,测出每一温度下传感器静态特性曲线在y轴上的截距Y0,Y1,Y2,…,Yn,…Ym;
(2)将Y表示成以温度T为自变量的n次代数多项式(n<m)
用最小二乘曲线拟合法确定a0,a1,a2,…an。
(3)在测得每一个y值及相应T值时,首先计算出Y值,然后再求出x值
采用数字滤波和温度补偿算法可使测量更精确,受环境温度影响减少到最小。
2.3 按键、LCD显示及报警系统
按键用于设定系统时间、声光报警值以及对应的CAN总线通信地址等参数,如果按键较少采用一端口对应一按键,使用捕获中断。如果按键较多,则可采用行列式键盘以节省端口资源。LCD显示采用LSD12864CT显示模块,该模块由一组行驱动信号IC3及两组列驱动信号IC2(控制左半屏)和IC1(控制右半屏)组成,其显示点阵是128x64,可显示图形或汉字。其内部集成行、列驱动及显示器缓冲区RAM的接口,同时硬件可设置显示屏的结构、数据传输方式、显示窗口的长宽等。MSP430F449内部自带60 KB Flash用于记录红外测量数据超限时刻和对应的设置值,保存CAN接口相关参数。当CO浓度超出设定范围时,由声光报警装置提醒井下工作人员。
2.4 CAN总线接口设计
该系统CAN接口由独立的CAN总线控制器SJA1000、CAN数据收发器TJA1050组成。SJA1000是独立CAN控制器,主要用于移动目标和一般工业环境中区域网络控制。SJA1000的AD0-AD7接MSP430的P2端口,P3.4和P3.5分别控制SJA1000的读写操作。MSP430初始化SJA1000,通过控制SJA1000实现数据的收发。TJA1050是控制器区域网络(CAN)协议控制器和物理总线之间的接口,是一种标准的高速CAN收发器。TJA1050可为总线提供差动发送功能,为CAN控制器SJA1000提供差动接收功能。TJA1050提供CAN节点接口,实现CAN总线数据的传输。其中CANH和CANL接到外部CAN总线网络上。MSP430、SJA1000与TJA1050的连接电路如图2所示。
3 系统软件设计
系统上电复位后首先初始化,主要包括系统硬件初始化及从MSP430 Flash中读取CAN相关参数,并进行设置;然后系统进行按键扫描:如有键按下则进行相应的操作,如设置时间和CO报警浓度值、修改CAN参数、查阅报警记录等;若无键按下,则采集CO浓度并进行软件处理,软件处理包括数字滤波和温度补偿,用以校准浓度数据。若CO浓度超限,则声光报警通知井下工作人员并记录报警时刻和报警值到存储器中,若浓度正常则循环检测并显示。系统软件流程如图3所示。气体浓度数据的远程传输由CAN总线接口完成。当上位机给该站发送报文时,即要求本站传送数据时,系统才向上位机传送数据,这样可减轻单片机的负担,降低功耗。因此,CAN通信程序流程大致为:当检测仪接收到有效的报文时产生接收中断,在中断服务子程序中,以CAN报文形式发送C0浓度数据,采用非中断方式发送报文,具体工作流程如图4所示。
上位机采用Delphi编写的Windows下的可视化操作界面。Delphi是一种采用事件驱动方式、面向对象的可视化高级编程语言,该系统的通讯软件设计采用Delphi7.0。在Del-phi可利用的众多串行通信控件中,SPComm控件是最简单、功能比较强大的一种。该控件具有丰富的与串口通信密切相关的属性及事件,提供对串口的各种操作。通过Delphi的设计可在上位机中直观显示当前时间、气体浓度。通过串口通讯还可执行远程操作。采用采样定时器可每隔一段时间刷新显示的数据,从而及时检测数据变化。
4 结束语
采用红外光学传感器件取代传统的传感器.安全性大大提高;结合CAN总线技术,取代传统的RS232、RS485,大大降低系统开发难度,缩短开发周期。与其他现场总线比较而言,CAN总线具有通信速率高、易实现、性价比高等特点。采用TI的MSP430单片机,有较多的集成外设,降低了开发难度,且具有超低功耗。有利于节约能源。
所设计的红外CO检测系统,检测气体浓度范围宽、设备维护性好。利用MSP430F449的低功耗特性及其内部集成的A/D转换器、乘法器、温度传感器等硬件资源,测量精密度大大提高。通过CAN总线接口,系统既可在现场显示实时数据,又可实现仪器的远距离、高可靠性地通信功能和远程监控。因此,该系统具有很好的应用前景。
关键词:MSP430;CAN总线;数字滤波;温度补偿;Delphi
1 引言
一氧化碳(CO)是剧毒性气体,人体吸人后造成人体组织和细胞缺氧,导致引起中毒窒息。在煤矿井下,CO也是引起瓦斯爆炸的主要气体之一。CO无论是对工业生产还是人类都造成巨大的损害,因此,CO检测尤为重要,特别在煤矿井下,《煤矿安全规程》规定,井下作业场所的CO浓度应控制在0.002 4%以下。因此,实时、准确地测出井下CO气体浓度,对保障煤矿工业安全生产具有重要意义。
目前检测CO的方法主要有化学法、电化学法、气相色谱法等。这些方法普遍存在价格高、普适性差等问题,且测量精度较低。这里设计一种新的检测系统,选用红外CO传感器和MSP430单片机作为核心信号处理电路,结合数字滤波、温度补偿运算.具有检测浓度范围宽、使用寿命长等优点。CAN总线通信距离长、可靠性高等特点,通过扩展CAN总线接口使检测仪具有远程通信能力,可方便地与监控中心进行对接联络,有效降低事故发生率,具有推广和应用价值。
2 系统组成及硬件设计
该系统由红外CO气体传感器、MSP430单片机、CAN总线接口及远程监控系统组成。该系统在检测现场通过单片机处理检测的数据、控制LCD显示、声光报警,同时还配备CAN总线控制器,可以轻松获取浓度、温度以及报警记录等相关信息,实现了智能化的工业现场、远程同时监控功能。系统的组成框图如图1所示。
2.1 传感器的原理及选择
每种物质都有特定的吸收光谱(如CO气体在光波波长4.5μm处有一个极强的吸收峰),该特性可用于测量。可根据各种气体光谱曲线上某些特定波长处吸收峰值的变化判断气体的浓度。当红外光通过待测气体时,这些气体分子对特定波长红外光有吸收作用,吸收规律遵循朗泊-比尔定律
式中,I为透射光的能量,L/mol·cm;Io为红外辐射被气体吸收的能量,L/mol.cm;K为与气体及辐射波长有关的常数,L/mol·cm:C为被测气体的浓度.mol/L;L为辐射通过气体层的厚度,cm。
由式(1)可知,通过检测红外辐射经气体吸收后的辐射强度,就可计算出被测气体的浓度。采用SM-C0 H/M传感器,该系列模拟输出型CO采用双光束非分光红外线(NDIR)检测技术.具有抗其他气体干扰、保养维护简便、稳定性好、自带温度补偿、Modbus ASCII协议数字输出和模拟输出等优点。适用于泄漏报警、现场施工防护、简单气体分析气体、在线监测、工业过程分析等场合。
2.2 MSP430单片机工作原理及数据处理
MSP430单片机是德州仪器(TI)公司生产的超低功耗Flash型16位单片机。根据系统功能及外围电路接口要求,选用MSP430F449型单片机,该单片机具有丰富的内部硬件资源;内置的温度传感器用于检测环境温度,补偿红外传感器检测的数据;其内置A/D转换器用于将传感器输出的模拟量转换为数字量;通过硬件乘法器,实现对被测量的A/D采样数据进行高速数字滤波和温度补偿等运算。数字滤波法采用去极值平均滤波法。在脉冲干扰较严重的场合,如采用一般的平均值法,则干扰将会平均到结果中去,不易消除由干扰引起的误差。首先把Ⅳ次采样值按大小顺序排成一列,采用“冒泡排序法”,可去掉N个数据中的最大值和最小值,再计算(N-2)个数据的平均值,即为去极值平均滤波法。温度补偿的处理方法;传感器的静态特性为线性时,则温度补偿前的特性可表示为:
式中,x为传感器的输入量,y为输出量,Y为特性曲线在y轴上的截距(即环境温度引起的输出增益),k为比例系数。
温度补偿公式法的步骤如下:
(1)给定(m+1)个温度值:T0,T1,T2,…,Tn,…,Tm,测出每一温度下传感器静态特性曲线在y轴上的截距Y0,Y1,Y2,…,Yn,…Ym;
(2)将Y表示成以温度T为自变量的n次代数多项式(n<m)
用最小二乘曲线拟合法确定a0,a1,a2,…an。
(3)在测得每一个y值及相应T值时,首先计算出Y值,然后再求出x值
采用数字滤波和温度补偿算法可使测量更精确,受环境温度影响减少到最小。
2.3 按键、LCD显示及报警系统
按键用于设定系统时间、声光报警值以及对应的CAN总线通信地址等参数,如果按键较少采用一端口对应一按键,使用捕获中断。如果按键较多,则可采用行列式键盘以节省端口资源。LCD显示采用LSD12864CT显示模块,该模块由一组行驱动信号IC3及两组列驱动信号IC2(控制左半屏)和IC1(控制右半屏)组成,其显示点阵是128x64,可显示图形或汉字。其内部集成行、列驱动及显示器缓冲区RAM的接口,同时硬件可设置显示屏的结构、数据传输方式、显示窗口的长宽等。MSP430F449内部自带60 KB Flash用于记录红外测量数据超限时刻和对应的设置值,保存CAN接口相关参数。当CO浓度超出设定范围时,由声光报警装置提醒井下工作人员。
2.4 CAN总线接口设计
该系统CAN接口由独立的CAN总线控制器SJA1000、CAN数据收发器TJA1050组成。SJA1000是独立CAN控制器,主要用于移动目标和一般工业环境中区域网络控制。SJA1000的AD0-AD7接MSP430的P2端口,P3.4和P3.5分别控制SJA1000的读写操作。MSP430初始化SJA1000,通过控制SJA1000实现数据的收发。TJA1050是控制器区域网络(CAN)协议控制器和物理总线之间的接口,是一种标准的高速CAN收发器。TJA1050可为总线提供差动发送功能,为CAN控制器SJA1000提供差动接收功能。TJA1050提供CAN节点接口,实现CAN总线数据的传输。其中CANH和CANL接到外部CAN总线网络上。MSP430、SJA1000与TJA1050的连接电路如图2所示。
3 系统软件设计
系统上电复位后首先初始化,主要包括系统硬件初始化及从MSP430 Flash中读取CAN相关参数,并进行设置;然后系统进行按键扫描:如有键按下则进行相应的操作,如设置时间和CO报警浓度值、修改CAN参数、查阅报警记录等;若无键按下,则采集CO浓度并进行软件处理,软件处理包括数字滤波和温度补偿,用以校准浓度数据。若CO浓度超限,则声光报警通知井下工作人员并记录报警时刻和报警值到存储器中,若浓度正常则循环检测并显示。系统软件流程如图3所示。气体浓度数据的远程传输由CAN总线接口完成。当上位机给该站发送报文时,即要求本站传送数据时,系统才向上位机传送数据,这样可减轻单片机的负担,降低功耗。因此,CAN通信程序流程大致为:当检测仪接收到有效的报文时产生接收中断,在中断服务子程序中,以CAN报文形式发送C0浓度数据,采用非中断方式发送报文,具体工作流程如图4所示。
上位机采用Delphi编写的Windows下的可视化操作界面。Delphi是一种采用事件驱动方式、面向对象的可视化高级编程语言,该系统的通讯软件设计采用Delphi7.0。在Del-phi可利用的众多串行通信控件中,SPComm控件是最简单、功能比较强大的一种。该控件具有丰富的与串口通信密切相关的属性及事件,提供对串口的各种操作。通过Delphi的设计可在上位机中直观显示当前时间、气体浓度。通过串口通讯还可执行远程操作。采用采样定时器可每隔一段时间刷新显示的数据,从而及时检测数据变化。
4 结束语
采用红外光学传感器件取代传统的传感器.安全性大大提高;结合CAN总线技术,取代传统的RS232、RS485,大大降低系统开发难度,缩短开发周期。与其他现场总线比较而言,CAN总线具有通信速率高、易实现、性价比高等特点。采用TI的MSP430单片机,有较多的集成外设,降低了开发难度,且具有超低功耗。有利于节约能源。
所设计的红外CO检测系统,检测气体浓度范围宽、设备维护性好。利用MSP430F449的低功耗特性及其内部集成的A/D转换器、乘法器、温度传感器等硬件资源,测量精密度大大提高。通过CAN总线接口,系统既可在现场显示实时数据,又可实现仪器的远距离、高可靠性地通信功能和远程监控。因此,该系统具有很好的应用前景。