基于MSP430 室内甲醛检测仪设计
仪器网 · 2012-07-15 08:58 · 39324 次点击
引言
甲醛是一种重要的化工原料和有机溶剂,广泛使用于家庭装修的材料中。过量甲醛气体,将诱发疾病甚至致癌,直接危害着人们的身体健康和生命安全。本检测仪采用16位超低功耗MSP430F435微处理器和高灵敏度甲醛传感器CH20/S-10,实现甲醛浓度的信号处理和采样,系统外接通讯接口及必要的扩展功能模块,构建智能化、多功能的检测系统。
1系统硬件设计
甲醛检测仪硬件主要由单片机主控系统、甲醛传感器接口、液晶显示(LCD)、功能键盘、数据存储、打印和报警输出等功能模块构成。系统硬件结构框图(见图1)。
[attach]50938[/attach]
该系统采用16位MSP430F435单片机作为主控核心,内嵌16KbFlash程序存储器和512BRAM、多达160段LCD驱动器、8通道/12位ADC及大量的I/O端口等,完全满足本甲醛检测仪的各项功能需求。该芯片主要特点是:低电压(1.8~3.6V)、低功耗(模式4下仅为0.1mA)、16位指令、150ns指令周期,具有超低功耗、功能强大、高抗扰、便于智能化和便携式等优点。
1.1甲醛传感器接口模块
传感器接口模块由CH20/S-10甲醛传感器、I/V转换器RCV420等组成。甲醛传感器由甲醛探
头和CH20传感器构成。当室内甲醛气体被内部采样系统吸收后,产生与甲醛浓度成正比的电流值,由于单片机A/D采样的是电压值,而被检测的是微量的电流值;因而需要将电流值放大并转换为相应的电压值。采用集成I/V转换器RCV420,将电流值转换为对应的0~3.6V电压,送至MSP430F435的A/D转换接口ADC,实现对浓度信号的检测。单片机进行运算和处理,将处理结果及范围进行查表和分段线性化,完成传感器信号与浓度高低对应。系统中RCV420具有精密运放和电阻网络功能,能将4~20mA环路电流转换为0~3.6V电压,在无外部调整的情况下,可用获得86dB的共模抑制比,具有高性能及抗干扰能力。
1.2数据存储与打印模块
在MSP430F435外扩展2KB的E2PROM,通过I2C总线与MSP430F435数据口Port74和Port75相连,用于存储采样来的甲醛浓度数据,以备打印机打印。打印机接口电路通过RS-232串行口直接和微处理器相连,通过采用软件设定的方式打印出甲醛浓度值。
1.3键盘与显示模块
系统外接键盘和LCD显示设备,实现人机对话功能。键盘设置为3×3阵列键盘,设有功能选择键、OK键、报警确认及打印键,完成浓度显示、数据查询、打印及开关机功能。微处理器MSP430F435内含LCD驱动电路,可驱动160段的LCD,且超低功耗,特别适合便携式仪器仪表中使用。用户通过LCD显示,读取检测浓度值、打印和设置相关功能等信息。
1.4其它模块
本系统的供电电压为3V,采用两节电池供电,也可外接3V直流电源。系统的时钟信源由MSP430F435的XOUT和XIN连接的晶振提供。为满足个性化需要,还增加蜂鸣器报警电路。
2系统软件设计
在软件设计中采用模块化设计方法,使用嵌入式C语言编写,在ADS编译环境中进行。这不仅给程序的调试、修改提供很大方便,而且为今后功能的进一步扩展创造有利条件。
2.1主程序设计
主程序是系统软件的核心,它通过调用各子程序便可实现系统功能。系统主程序结构框图(见图2)。
[attach]50939[/attach]
系统上电后,进行初始化和中断处理操作,主要完成系统自检和复位。初始化完成后,开始采样浓度值,并判断是否有按键按下。如果有按键按下,则进行相应数据处理,并执行功能指令,然后在液晶显示屏上显示相应信息。如果没有按键按下,则显示当前实测浓度值,等待用户进行下一步操作,系统转入定时计时阶段。
2.2低功耗中断子程序
为减小系统功耗,延长电池的使用时间,设计时考虑设备在较长时间段内处于待机状态时,应尽量降低功耗。系统设计低功耗中断子程序(见图3)
[attach]50940[/attach]
这里采用一个定时器。当定时器大于0时,系统处于开机状态;当定时器倒数到0时,系统自动进入低功耗模式,并关闭LCD模块和A/D模块。其中定时器是通过软件对控制寄存器进行设置实现的。具体操作是这样:开机时,对定时器初始化一个大于0的值,比如60,并且在每按一次有效键时,系统重新初始化这个值。因此,当没有按任何有效键时,60s后就会自动进入休眠状态,从而实现降耗目的。在休眠期间,若有按键按下,微处理器响应中断,系统退出休眠状态,返回到正常工作状态。
2.3采样数据处理子程序
为提高检测精度,采样数据处理软件设计是关键。系统采用采样数据排队与中值滤波法。数据排队就是在给定的数据暂存区内不断地用最新数据取代最早数据的过程;利用软件进行数据排队具有通用性和灵活性。原理(见图4)。
[attach]50941[/attach]
由图4可见,将暂存区的空间扩大为需要保存数据空间的2倍,并将暂存区等分为前后相连的2个区,每个区的长度与需保存数据长度相等。当前采样得到的一组新数据同时存入2个区的对应位置,这样2组相同采样数据之间刚好间隔1个区的长度,间隔内的全部数据连同最后1个最新数据即为当前排队结果。以后每组新采样数据依次向后存入暂存区,存满后再从头开始。每次采样周期中完成相应的排队更新任务后记下当前队列的首(或末)地址作为指针并保存,供处理程序取数时使用,这样一来就满足实时排序的要求。
对排队后的数据采取中位值滤波算法。算法的具体实现过程:取N个连续采样数据,并按照递增或递减顺序排列,取中间值作为本次采样值。中位值滤波算法能有效地克服因偶然因素引起的干扰或波动而产生的误差。即提高系统的检测精度。
3结束语
本甲醛检测仪采用MSP430F435单片机作为核心控制单元,电路结构简单、外设功能模块丰富,在共享机制、共享信息以及鼓励政策等方面也还有待改进,故而如何在条件允许的范畴内更大范围更大限度地实现大型仪器设备资源的开放共享,提高大型仪器设备使用效益仍是我们当前的探讨重点。
实现大型仪器设备使用效率和经济效益的提高主要从两个方面着手:一是增加单位时间内仪器设备实际工作与运行的次数,例如可以实行对大型仪器设备对外开放,承担一定社会实践项目,引进“有偿服务,以机养机”理念,大型仪器设备的实际运行次数增多,维护养护资金也有固定来源,既提高大型仪器设备使用效率同时也增加大型仪器设备的社会经济效益。二是在熟练的专业操作人员的指导下最大范围地实现设备共享,从而缩短仪器设备的单次运行有效时间,即缩短设备运行周期。例如对学生开放,既锻炼学生,又扩大仪器的使用范围,最大限度地发挥这些大型仪器设备的作用。又例如通过加大对外宣传力度,加强横向联合协作,通过不同形式、不同层次、不同渠道综合利用,采取有效措施促进大型仪器设备跨单位、跨地区协作共用。譬如相近专业和交叉学科的资源优化协作,兄弟院校部门的横向协作,甚至跨地区横向协作等等都是尝试的方向,总之争取在尽可能大的范围内推进大型仪器设备的开放共享,通过多种渠道实现大型仪器设备使用效益和经济效益的提高。
3结论
大型仪器设备是高校培养高素质人才,科学研究和实践回馈社会的重要条件和基本手段,如何更有效地发挥大型仪器设备的功能,更好地在确保教学又兼顾科研的前提下服务社会,提高其使用率和经济效益是极有必要和意义的,也是值得我们每位实验工作者不断思考和探索的。
来源:《现代仪器》,转载请注明出处-仪器信息网(www.cncal.com)