曾宪阳1,杨红莉2,郁汉琪1,褚南峰1
(1.南京工程学院 工业中心,江苏 南京 211167;2.南京工程学院 数理部,江苏 南京 211167)
摘要:根据市场上甲醛检测装置存在误差大、功耗高等缺点,设计了以MSP430单片机作为控制核心,多子机网点辅助监测,无线模块进行数据通信的甲醛检测仪。使用单片机内部A/D转换模块将传感器采集到的模拟量转换成数字量,再经卡尔曼滤波器进行滤波,保证了采样数据的准确性。该监测系统检测精度高、功耗低、稳定性好,经试验验证,能很好地满足消费者需求。
关键词:低功耗;MSP430单片机;甲醛监测仪;卡尔曼滤波;多网点
0引言
当前,空气环境污染严重,特别是新装修的房间含有甲醛等有害物质[1-5],影响到人们的身体健康。市面现有的甲醛检测系统多为单点测试,体积大、功耗高、检测单一、价格昂贵,且不能自动对甲醛含量高的区域进行重点实时监测[6-7],因此本文设计了一种新的甲醛含量监控报警系统。该系统包括多个子机系统及一个主机系统,将每个子机系统分散安置在各个房间的某个区域,主机系统放置在卧室或客厅等住户常活动的位置,主机与子机之间采用NRF24L01无线网络进行通信。子机系统定时将采集到的甲醛含量信息通过无线网络传递给主机,主机通过中断接收各子机发来的信息并进行分析处理,同时根据需要将数据通过无线网络发送给上位机PC,给用户带来方便。
1系统设计思路
系统选用MSP430F149单片机作为主控制芯片,以减少功耗,提高效率。采用具有精度高、功耗低的AQM201传感器来检测甲醛含量。采用多个430单片机作为子机模块分别测量对应区域甲醛含量,然后各子机实时将采集到的甲醛含量信息传送给430主机模块,子机与主机之间采用NRF24L01无线模块进行通信。系统设计框图如图1所示。
子机系统中的甲醛传感器检测空气中的甲醛含量,经处理以模拟信号形式输出,经A/D转换为数字量后传送给CPU,考虑到传感器非线性因素,CPU将数据修正后转换为实际甲醛含量浓度百分比,通过各自无线通信模块通道传输给主机。以上过程每隔5 s重复采集发送一次,该采样时间可通过主机发送给子机的命令参数进行自动调整。
主机通过外部中断及时采集各子机发来的信息,并根据子机发来的地址码将各子机发来的信息进行归类,同一子机发来的信息存放在对应房间号的数组中。主机通过数组数据及时分析各房间的甲醛含量值,对于甲醛含量长时间未呈减少趋势的房间区域,主机将自动通知子机调整采样时间来进行重点监测。当甲醛含量连续多天一直超过设定上限值时,主机还会发出报警声,用以提示用户甲醛超标。在实际测量过程中,传感器接收到的信号包括环境干扰信号,因此各子机采用卡尔曼滤波器对采样数据进行滤波,更大程度地保证了采样数据的准确性。
2硬件电路设计
2.1MSP430单片机最小系统电路设计[8-9]
本系统选用MSP430F149单片机作为主控单元,其最小系统包含了时钟电路、复位电路、JTAG调试电路,如图2所示。单片机的引脚VeREF+为内部A/D转换参考电压,接3.3 V。为保证参考电压稳定,该引脚及单片机电源引脚DVCC均对地增加了滤波电容C8、C6以滤掉环境电磁干扰。由于430单片机为低电平复位,由R1、C5组成复位电路,系统上电后电容C5充电,相当于短路,RST端为低电平,充电完毕后RST变为高电平,完成上电自动复位功能。按键S2为系统增加了手动复位功能。JTAG电路为系统程序调试下载接口,连接MSP-FET430UIF仿真器即可实现程序调试下载工作。在主机系统电路设计中,增加了按键电路如图2中S3、S4、S5、S6所示。S3键为功能键,用于选择采样时间、显示模式、报警上下限等功能;S4、S5分别为增加、减少按键,用于参数调整;S6键作为备用按键,便于后期功能拓展开发。按键接至单片机具有外部中断功能的P1口,CPU可随时进入按键中断服务子程序对相应参数进行设定调整。
2.2甲醛传感器模块电路设计[10]
所设计的甲醛传感器模块电路如图3所示。由于甲醛传感器AQM201输出模拟量,需经A/D转换后得到数字量方可送给单片机处理。考虑到MSP430单片机内部自带高精度12位A/D转换器,满足设计要求,因此直接采用430单片机内部A/D转换器将信号转换为数字量后供单片机CPU处理。由于甲醛传感器输出模拟量电压范围为0~5 V,而单片机A/D采样满量程电压为3.3 V,因此传感器输出的模拟量还需进行电压量程匹配转换。如图3所示,R2、R3组成分压电路,阻值分别为1.7 kΩ、3.3 kΩ。3.3 kΩ电阻两端的电压作为模拟电压输出,此时该模块输出模拟电压范围将为0~3.3 V,与单片机A/D转换量程匹配,该输出信号接至单片机A/D转换口P6.0。
2.3无线通信模块电路设计
无线通信采用NRF24L01模块[11-12],电路如图4所示,N1为无线通信模块,其中第8脚为中断请求输出端,接至单片机的外部中断P1.4口。各无线通信模块在接收到数据后,将数据保存在自身存储器中,然后向单片机发出中断请求,以便单片机及时读取保存在自身存储器中的数据,防止该数据被新接收的数据覆盖。
主机中的无线通信模块IRQ引脚接至单片机外部中断接口,以便主机及时响应各子机发来的数据。系统中各子机将定义各自的地址码,代表各子机所在的不同房间。子机在发送数据的同时连同自身的地址码一并发出,主机接收到数据后,通过地址码来区分各个子机的数据信息,从而得到对应房间区域的甲醛含量浓度。主机采集到信息后在液晶显示屏上显示当前各个区域的甲醛浓度百分比,以及甲醛含量随时间变化的曲线图,便于用户分析甲醛浓度分布及走向。
2.4报警模块电路设计
选用蜂鸣器作为报警发生装置,采用PNP三极管9012作为驱动,如图5中Q1所示。考虑到I/O口的驱动能力,单片机将以灌电流形式控制蜂鸣器发声,控制I/O口由单片机的P5.5引脚提供,当I/O口为低电平时,蜂鸣器发声,为高电平时,蜂鸣器停止发声。
2.5显示模块电路设计
如图6所示,显示模块采用LCD12864HZ液晶显示器,其自带汉字字库,可显示汉字、字符及图形,使用方便。液晶直接采用3.3 V电压供电,便于与单片机I/O口电平匹配。为简化电路设计,节约I/O口开支,液晶显示模块与单片机的接口采用串行接口进行通信,SCLK、SID、CS三引脚分别接至单片机的P3.5、P3.6、P3.7三个引脚。
3软件程序设计
3.1子机系统软件设计
在子机系统中,传感器每隔一定时间采集一次数据,经数据处理、卡尔曼滤波[13-15]后,通过无线通信模块发送给主机,同时子机实时准备接收主机发送过来的设置命令(用于设置子机传感器采样时间间隔等)。因此子机系统软件任务包含传感器数据采集、数据处理、数据发送、数据接收几个部分。由于无线接收任务属于紧急任务,该任务由外部中断来完成。主程序将完成传感器数据采集、数据处理、数据发送任务,流程图如图7所示。
3.2主机系统软件设计
主机要完成的任务有:本机数据采集、子机数据接收、数据存储、数据显示、传感器检测、按键扫描、发送数据给上位机、报警等。根据任务的紧急性将数据接收、按键扫描任务均设置为外部中断模式,并将数据接收设置为高优先级中断。数据显示、传感器检测以及报警任务程序在主程序中循环调用。其中,初始化函数包含了时钟配置、I/O口初始化、中断初始化、各功能模块初始化等,为系统工作做好准备。外部中断入口对应的中断源为主机系统单片机的P1.4引脚,在初始化函数中将该引脚设置为外部中断模式。主机流程图在此不再赘述。
3.3系统数据处理
图8为甲醛传感器模拟输出特性曲线图,横轴为浓度值,纵轴为采集到的电压,根据图中提供的数据可知,对采集到的数据进行处理即可计算出甲醛在空气中的含量。设采集到的电压为Vx,甲醛浓度为Y,则计算公式为:
4结论
图9为系统主机实物图及实时监测曲线显示。系统包括硬件设计和软件编程两部分,实现了对室内甲醛含量的实时监控与报警监测。采用卡尔曼滤波器对传感器采集到的信号进行滤波,保证了采样数据的准确性。系统检测精度高、功耗低、稳定性好,可用于建筑室内甲醛气体含量监测,也可用于电厂、化工、地下管道等施工环境监测,防止甲醛中毒事故发生。
参考文献
[1] 王维新.甲醛释放与检测[M].北京:化学工业出版社,2003.
[2] 陈焕文,郑健,李明,等.甲醛检测方法及仪器[J].分析化学评述与进展,2004,32(7):969-972.
[3] GB/T 18204.26-2000,公共场所空气中甲醛测定方法[S].北京:中国标准出版社,2000.
[4] GB/T 16129-1995,居住区大气甲醛卫生检验标准方法:分光光度法[S].北京:中国标准出版社,1995.
[5] 陆学奎,兰建中.家庭室内装修后空气中甲醛污染调查及防治措施初探[J].现代预医学,2006,33(6):952-953.
[6] 马天.甲醛分析仪现场检测技术[J].中国测试技术,2005,31(5):131-132.
[7] 孙登峰,方正,马天,等.甲醛快速测定仪测试性能研究[J].中国测试技术,2006,32(6):26-28.
[8] 胡大可.MSP430C语言程序设计与开发[M].北京:北京航空航天大学出版社,2003.
[9] 刘忠超,殷华文,郭抒颖.基于MSP430单片机的智能仪表设计[J].自动化与仪表,2015(2):20-24.
[10] 单成祥.传感器的理论与设计基础及应用[M].北京:国防工业出版社,1999.
[11] 侯杏娜,陈寿宏,唐万顺.基于NRF24L01的降雨量实时采集无线监测系统[J].计算机测量与控制,2014,22(8):2372-2376.
[12] 严林祥,张红雨.基于Web和nRF24L01的远程数据接收器设计[J].电子技术应用,2013,39(10):69-75.
[13] DAUM F. Nonlinear filters beyond the Kalman filter[J].IEEE A&E Systems Magazine,2005,20(8):57-69.
[14] KIM J, VADDI S S, MENON P K, et al.Comparison between nonlinear filtering techniques forspiraling ballistic missile state estimation [J].IEEE Transactions on Aerospace and Electronic Systems,2012,48(1):313-328.
[15] KALMAN R E. A new approach to linear filtering and prediction problems [J].Transactions of the AMSE Journal of Basic Engineering,1960,82(1):35-45.