基于STM32的PM2.5浓度检测系统及其检测方法与流程

文档序号:17069630发布日期:2019-03-08 23:12阅读:4235来源:国知局
基于STM32的PM2.5浓度检测系统及其检测方法与流程
本发明属于pm2.5浓度检测的
技术领域
,特别是涉及基于stm32的pm2.5浓度检测系统及其检测方法。
背景技术
:目前大多数pm2.5浓度检测装置的mcu都是采用51基本型和52增强型单片机为控制核心。51单片机是对所有兼容intel8031指令系统的单片机的统称,这一系列的单片机的始祖是intel的8031单片机,后来随着flashrom技术的发展,8031单片机取得了长足的进展成为了应用最广泛的8bit单片机之一,他的代表型号就是atmel公司的at89系列。本设计系统采用的mcustm32单片机则是st(意法半导体)公司使用arm公司的cortex-m为核心生产的32bit系列的单片机,他的内部资源(寄存器和外设功能)较8051、avr和pic都要多的多,基本上接近于计算机的cpu了,适用于手机、路由器等等。51单片机是基础入门的一个单片机,一般不具备自编程能力。stm32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的armcortex-m3内核。目前大多数pm2.5浓度检测装置的传感器选用粉尘传感器作为pm2.5浓度检测的载体。粉尘传感器的结构和电路比较简单,其光源为红外led光源,气流进出风口主要靠电阻发热以获得热气流流动,有颗粒通过即输出高电平。输出信号只有pwm型号。目前大多数pm2.5浓度检测装置的显示装置选用液晶lcd1602完成显示功能。lcd1602是黑白tn显示屏幕,分辨率5*8,系统采用的显示装置选用2.8寸tftlcd是彩色主动显示屏幕,分辨率240*320。lcd1602成本较低,但在使用中有如下限制:a)是字符型液晶,显示字母和数字比较方便,但显示汉字非常不便,而且不自带汉字库。b)显示的字体有大小限制,不能显示图形等。技术实现要素:本发明为解决上述
背景技术
中存在的至少一个技术问题,提供一种通过嵌入式技术、控制技术与传感器技术相结合而实现对pm2.5的检测的环境检测系统。本发明通过以下技术方案来实现:基于stm32的pm2.5浓度检测系统,其特征在于,包括:单片机、信号采集模块、按键模块、led显示模块、声音报警模块和光报警模块,所述信号采集模块、按键模块、led显示模块、声音报警模块和光报警模块构成一个回路;所述信号采集模块的输入端与所述stm32单片机的引脚连接;所述按键模块包括三个按键,分别为设置键、+键和-键,所述键、+键和-键相互之间为并联;所述设置键与单片机的pa0端口引脚连接;所述+键与单片机的pc5端口引脚连接;所述-键与单片机的pa15端口引脚连接;所述光报警模块包括红灯、黄灯和绿灯,所述红灯、黄灯和绿灯相互为并联;所述红灯与单片机的pa2端口引脚连接;所述黄灯与单片机的pa1端口引脚连接;所述绿灯与单片机的pa4端口引脚连接。在进一步的实施例中,所述信号采集模块使用pms5003t传感器;所述led显示模块采用tft触摸屏。在进一步的实施例中,所述led显示模块用于pm2.5浓度的数字显示及高低阈值设定回显,与单片机的pb端口和pc0、pc1、pc2、pc3、pc6、pc7、pc8、pc9、pc10端口引脚连接。在进一步的实施例中,设置光报警模块的报警值为:检测的pm2.5的浓度值在0ug/m3-35ug/m3,绿灯亮,表示环境良好;检测的pm2.5的浓度值在35ug/m3-150ug/m3,黄灯亮,表示轻度污染;检测的pm2.5的浓度值在150ug/m3以上,红灯亮,并且有蜂鸣器报警,表示重度污染。在进一步的实施例中,设置所述声音报警模块的报警值为:检测的pm2.5浓度值超过报警值后,蜂鸣器报警,报警值可以用按键手动调节。在进一步的实施例中,声音报警模块与单片机的pa8端口引脚连接。一种基于stm32的pm2.5浓度检测系统的检测方法,具体包括以下步骤:s1:将硬件环境搭建完成后,软件编译好烧录到单片机中,使用uvision5ide集成开发环境;s2:接上电源,单片机自动启动,首先弹出初始化界面;s3:初始化界面停顿5秒后,进入主界面;从界面中可以看到,最上方的检测状态将动态显示,每隔1秒刷新一次当前环境的pm2.5数据,并显示出来;s4:信号采集模块软件从串口读入pms5003传感器送入的颗粒浓度数据,解码出pm2.5浓度;s5:单片机利用基于米氏(mie)理论的算法,得出颗粒物的等效粒径及单位体积内不同粒径的颗粒物数量;s6:lcd显示当前的低阈值,可以用+键、-键设置pm2.5警报值;再次按下设置键,lcd显示当前的高阈值,可以用+键、-键设置pm2.5警报值。再次按下设置键,警报值设置完毕,此时+键、-键无效;s7:伴随蜂鸣器报警;黄灯为轻度或中度污染;而绿灯表示空气质量良好。本系统的工作原理是:将电源开关打开,激光传感器的数值通过串口进入单片机,经过解码后通过i/o口在tft触摸屏显示上显示出精确数值,同时按键设定参考值送入单片机,软件比较采集到的浓度值与设定的浓度高低阈值,显示对应的指示灯和报警提示。主要功能:1.当pm2.5浓度小于低阀值,绿色指示灯会亮,表示当前空气质量良好。2.当pm2.5浓度高于低阀值,低于高阀值,黄色指示灯会亮,表示当前空气轻度污染。3.当pm2.5浓度高于高阀值,红色指示灯会亮,同时蜂鸣器响,表示当前空气重度污染。本发明的有益效果:1.本系统的pm2.5检测做到了0.1秒检测刷新一次数据,因此对运算能力要求较高。采用stm32单片机,是32位单片机,一次处理数据宽度32位,而51只能处理8位。另外,stm32的内部ram和rom(flash)都比51大得多,stm32f103有64kram,512krom,主频达72m。因此运算能力要强大的多。片上外设也比较丰富,定时器多达14个或17个,pwm功能强大,其adc精度也达到12位,还有da模块,实时时钟,还有浮点运算单元dsp功能,特别是dma控制器,将cpu从繁忙的数据中转中解脱出来。stm32的运算速度约为51单片机的几十倍,而且外围接口功能比51强大太多。因此选用stm32满足运算速度的要求。2.stm32单片机程序都是模块化的,接口相对简单些,可以使用寄存器进行编程,还可以使用官方提供的库文件进行编程,这样不仅编程方便,而且更容易移植。3.本设计系统采用的激光传感器,不仅精度高,输出信号为串口输出,这样可以在检测过程中做到系统其它模块和数据采集模块的距离更远也可以,能适用于环境恶劣的检测案例。4.本设计系统采用的2.8寸tftlcd,显示信息量大,可进行汉字显示、图片显示等。附图说明图1为本发明的电路原理图。具体实施方式下面结合具体实施方式对本发明做进一步的阐述。基于stm32的pm2.5浓度检测系统,包括:stm32单片机、信号采集模块、按键模块、led显示模块、声音报警模块和光报警模块,所述信号采集模块、按键模块、led显示模块、声音报警模块和光报警模块构成一个回路;所述信号采集模块的输入端与所述stm32单片机pa10的引脚连接;所述按键模块包括三个按键,分别为设置键、+键和-键,所述键、+键和-键相互之间为并联;所述设置键与stm32单片机的pa0端口引脚连接;所述+键与stm32单片机的pc5端口引脚连接;所述-键与stm32单片机的pa15端口引脚连接;所述光报警模块包括红灯、黄灯和绿灯,所述红灯、黄灯和绿灯相互为并联;所述红灯与stm32单片机的pa2端口引脚连接;所述黄灯与stm32单片机的pa1端口引脚连接;所述绿灯与stm32单片机的pa4端口引脚连接。所述信号采集模块使用pms5003t传感器;所述led显示模块采用tft触摸屏。所述led显示模块用于pm2.5浓度的数字显示及高低阈值设定回显,与stm32单片机的pb端口和pc0、pc1、pc2、pc3、pc6、pc7、pc8、pc9、pc10端口引脚连接。设置光报警模块的报警值为:检测的pm2.5的浓度值在0ug/m3-35ug/m3,绿灯亮,表示环境良好;检测的pm2.5的浓度值在35ug/m3-150ug/m3,黄灯亮,表示轻度污染;检测的pm2.5的浓度值在150ug/m3以上,红灯亮,并且有蜂鸣器报警,表示重度污染。设置所述声音报警模块的报警值为:检测的pm2.5浓度值超过报警值后,蜂鸣器报警,报警值可以用按键手动调节。声音报警模块与stm32单片机的pa8端口引脚连接。其中stm32单片机的引脚对应的接口分配如表1所示。表1引脚对应的接口分配表引脚接口分配引脚接口分配pa0key_setpb10lcd_d10pa1led_ypb11lcd_d11pa2led_rpb12lcd_d12pa4led_gpb13lcd_d13pa8buzzerpb14lcd_d14pa10串口rxpb15lcd_d15pa15key_minuspc0t_sckpb0lcd_d0pc1t_penpb1lcd_d1pc2t_misopb2lcd_d2pc3t_mosipb3lcd_d3pc5key_pluspb4lcd_d4pc6lcd_rdpb5lcd_d5pc7lcd_wrpb6lcd_d6pc8lcd_rspb7lcd_d7pc9lcd_cspb8lcd_d8pc10lcd_blpb9lcd_d9一种基于stm32的pm2.5浓度检测系统的检测方法,具体包括以下步骤:s1:将硬件环境搭建完成后,软件编译好烧录到stm32单片机中;s2:接上电源,stm32单片机自动启动,首先弹出初始化界面;s3:初始化界面停顿5秒后,进入主界面;从界面中可以看到,最上方的检测状态将动态显示,每隔1秒刷新一次当前环境的pm2.5数据,并显示出来;s4:信号采集模块软件从串口读入pms5003传感器送入的颗粒浓度数据,解码出pm2.5浓度;s5:stm32单片机利用基于米氏(mie)理论的算法,得出颗粒物的等效粒径及单位体积内不同粒径的颗粒物数量;s6:lcd显示当前的低阈值,可以用+键、-键设置pm2.5警报值;再次按下设置键,lcd显示当前的高阈值,可以用+键、-键设置pm2.5警报值。再次按下设置键,警报值设置完毕,此时+键、-键无效;s7:伴随蜂鸣器报警;黄灯为轻度或中度污染;而绿灯表示空气质量良好。与现有技术相比:本系统的pm2.5检测做到了0.1秒检测刷新一次数据,因此对运算能力要求较高。stm32是32位单片机,一次处理数据宽度32位,而51只能处理8位。另外,stm32的内部ram和rom(flash)都比51大得多,stm32f103有64kram,512krom,主频达72m。因此运算能力要强大的多。片上外设也比较丰富,定时器多达14个或17个,pwm功能强大,其adc精度也达到12位,还有da模块,实时时钟,还有浮点运算单元dsp功能,特别是dma控制器,将cpu从繁忙的数据中转中解脱出来。stm32的运算速度大约是51单片机的几十倍吧,而且外围接口功能比51强大太多。因此选用stm32满足运算速度的要求。2.stm32单片机程序都是模块化的,接口相对简单些,可以使用寄存器进行编程,还可以使用官方提供的库文件进行编程,这样不仅编程方便,而且更容易移植。3.本设计系统采用的激光传感器,不仅精度高,输出信号为串口输出,这样可以在检测过程中做到系统其它模块和数据采集模块的距离更远也可以,能适用于环境恶劣的检测案例。4.本设计系统采用的2.8寸tftlcd,显示信息量大,可进行汉字显示、图片显示等。详细功能介绍1信号采集模块信号采集模块软件从串口读入pms5003送入的颗粒浓度数据,解码出pm2.5浓度。本系统信号采集使用pms5003t传感器,采用激光散射原理。即令激光照射在空气中的悬浮颗粒物上产生散射,同时在某一特定角度收集散射光,得到散射光强随时间变化的曲线。进而微处理器利用基于米氏(mie)理论的算法,得出颗粒物的等效粒径及单位体积内不同粒径的颗粒物数量。按键模块该设计共有相互并联的“设置键”、“+键”、“-键”,设置键被按下后,lcd显示当前的低阈值,可以用+键、-键设置pm2.5警报值;再次按下设置键,lcd显示当前的高阈值,可以用+键、-键设置pm2.5警报值。再次按下设置键,警报值设置完毕,此时+键、-键无效。实现用户手动控制,满足用户对环境条件检测要求的不同,实现良好的人机交流。当电路通电时,根据不同的浓度范围提醒当前污染级别的电路,采用了绿,黄,红三个led灯来显示大气空气质量,红灯亮为重度污染,伴随蜂鸣器报警;黄灯为轻度或中度污染;而绿灯表示空气质量良好。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1