基于STM32F103单片机的甲醛检测报警仪设计
扫描二维码
随时随地手机看文章
引言
甲醛作为一种装修材料中普遍存在的有毒气体,是最主要的室内污染物。研究表明,室内空气中的甲醛对人体的危害随着浓度增高而增大。当甲醛含量仅为0.1mg/m3时,人体就会感到不适:当甲醛含量为0.2mg/m3时,会使人患上咽喉炎、哮喘等病症:当室内空气中甲醛含量为0.5mg/m3时,会刺激人的眼睛:当室内空气中甲醛含量大于0.6mg/m3时,便会威胁人们的生命健康。
目前国内外的气体检测方法分为乙酰丙酮分光光度法、酚试剂分光光度法、AHMT分光光度法、气相色谱法和电化学检测法等。这些方法普遍要求检测人员按照标准采集空气样本,并用专业仪器按照严格的化学实验步骤检测样本的甲醛浓度。本文设计的甲醛气体检测报警仪采用电化学检测法,将电化学传感器的输出量转换为气体浓度,通过液晶屏显示以及无线通信的方法,将气体浓度信息反馈给用户和远程终端,并在气体浓度高于额定浓度时实现报警功能。
1硬件设计
1.1硬件系统总体设计
甲醛检测报警仪硬件系统主要分为:甲醛传感器检测模块、STM32F103单片机控制模块、LCD液晶显示模块、wi-Fi连接模块和报警模块等。其主要功能为实时检测当前室内空气中的甲醛气体含量并显示在液晶模块中,在甲醛含量超标时进行声光报警。
本设计采用基于ARM32位的ContexTM-M3CPU为内核的miniSTM32F103ZE-T6微控制器。甲醛检测仪外扩的按键、LCD显示器和报警装置通过通用的I/o接口与微控制器连接:无线传输模块通过UART接口与微控制器连接并实现通信:传感器将采集到的信息以电压的形式传递到A/D采集端口从而与微控制器连接,硬件系统如图1所示。
1.2模块介绍
LCD12864是一种具有多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块,其内置8192个16×16点汉字和128个16×8点ASCII字符集,显示分辨率为128×64dpi。该模块采用低电压电源(VDD:3.0~5.5V),可选择串/并行两种通信方式。与同类型的图形点阵液晶显示模块相比,LCD12864具有更为简洁的电路结构与显示程序,且功耗较低,符合甲醛检测仪需求。为节省I/o接口资源,本研究通过串行方式将LCD12864与微控制器进行连接。
ESP8266是一个完整且自成体系的wi-Fi网络解决方案,能够通过另一个应用处理器卸载所有wi-Fi网络功能,或搭载软件应用。该模块支持STA/AP/STA+AP工作模式与Sm+atConrig功能(包括Andaoid和ioS设备),采用3.3V单电源供电,可使用UART数据通信接口与微控制器连接或使用USf转TTL接口通过主机进行调试。
M-01传感器为电化学原理免标定的通用型和小型化的智能传感器,通过电化学原理对空气中的甲醛浓度进行探测,然后经过数据处理转变为电信号输出,具有高分辨率、温度补偿和高稳定性等特点,广泛应用于室内检测领域。
2软件设计
2.1软件开发环境
STM32微处理器基于ARM核,所以很多基于ARM嵌入式开发环境都可用于STM32开发平台。开发工具都可用于STM32开发。选择合适的开发环境可以加快开发进度,节省开发成本。本文选用STM32常用的开发工具BeiKMDB。
2.2软件总体设计
系统软件设计目的即实现甲醛检测传感仪的主要功能,包括对当前室内甲醛浓度的检测,与wi-Fi模块的通信,甲醛浓度的实时显示,甲醛浓度超标时的报警等。系统实时读取A/D转换器采集的电压值并将其转化为气体浓度,将气体浓度通过显示和无线传输的方式反馈给用户,当气体浓度大于警戒值时启动报警程序。
2.3A/D采集模块软件部分
周期性采集A/D转换器寄存器中的数据,根据采集到的数据计算出I/o口输入的电压,再用电压计算出传感器得到的气体浓度。使用ADCConleatedV+KueLoc+K=(rKo+t)ADCConleatedV+Kue×3.3/4096函数得到甲醛传感器输出的电压值,使用ADCvⅤlue=(floⅤt)ADCConvertedVⅤlueLocⅤl/2×2函数换算出甲醛气体浓度。
2.4Wi-Fi模块软件部分
EsP8266wi-Fi模块以服务器模式进行工作并周期性发送数据,用户连接到EsP8266后即可以接收到EsP8266所发送的数据。EsP8266模块初始化程序如下:
EsP8266Init()://EsP8266初始化
EsP8266Cmd("AT+CwM0DE=3"."0K"."nochⅤnge".2500)://设置成sTA+AP指令模式,
EsP8266Rst()://EsP8266重启
EsP8266BuildAP("esp8266"."1234567890".3)://设置wifi用户名,密码
EsP8266EnⅤbleMultipleId(l)://启动多链接模式
EsP8266stⅤrt0rshutserver(l."8080"."2880")://开启服务器模式,发送采集的数据
EsP8266sendstring(ADCvⅤlue.5):
2.5显示和报警模块软件部分
在甲醛检测仪显示与报警模块中,首先要进行引脚配置,根据液晶引脚的功能进行定义,保证其与硬件连接相一致。在该模块中,字符和汉字是以点阵字模的形式存储:显示用l6xl6点阵或8×l6点阵数据确定。由二进制位来表示每一个点,在液晶屏上显示亮点则表示此点存入值为l,否则表示存入值为0。对于液晶的显示,其功能函数在程序中并不是以整体形式出现,而是在程序的主函数、报警和检测功能函数当中穿插出现。查看检测结果时,通过调用显示字符或汉字的函数displⅤygrⅤphicl6×l6或displⅤygrⅤphic8×l6将数据写入液晶屏幕,得到气体浓度后,与警戒值进行比较,若高于警戒值则进行电平翻转,点亮二极管并触发蜂鸣器发出警报。
3检测与分析
将本研究所设计的甲醛检测仪与常见的半导体型甲醛检测仪所得的标准结果进行数据对比,以验证研究设备的性能。在相同的常温常压条件下,选取刚刚完成装修和装修完成时间较久的不同条件下的房间,测试结果如表l所示,其中甲醛含量l表示半导体型甲醛检测仪的检测结果,甲醛含量2是本研究所设计的甲醛检测仪的检测结果。
实验结果表明,本研究所设计的甲醛检测仪与常见的半导体型甲醛检测仪的检测误差在2.9%~11.8%,检测结果无较大误差。本研究所设计的甲醛检测仪可以对传统检测仪的检测方法进行补充,并达到实时监测检测结果的目的。
4结语
甲醛作为重要的有机原料被应用于人们日常生活的方方面面,为人类带来便利的同时,对人体健康的损害也是不容忽视的。甲醛较高的毒性使世界卫生组织和美国环境保护局都把它列为危险致癌物和重要的环境污染物,在我国有毒化学品优先控制名单中,甲醛也高居第二位。在这样的情况下,人们亟需可以被应用于室内检测的低成本甲醛检测仪器。而本文所设计的仪器不需要借助其他试剂或工具,对检测环境的要求较低且检测精度较高,能满足人们日常生活中甲醛检测需要。