基于单片机的空气质量监测系统设计

博主福利:100G+电子设计资料合集icon-default.png?t=N7T8https://dwz.date/fyQa

本设计通过夏普公司生产的GP2Y1010AU0F传感器对附近空气中PM2.5浓度值进行采集检测,然后利用ADC0832模数转换芯片将传感器采集输出的模拟电压信号转换成便于处理的数字信号量,随之把信号输入到STC89C52单片机中。经过STC89C52单片机对信号的分析运算处理,得到了最终的PM2.5浓度检测结果,最后将PM2.5浓度数值直观地显示在LCD1602液晶屏上。当系统检测浓度值大于设定的浓度阈值时,由发光二极管以及蜂鸣器组成的报警模块就会进行报警。本文对以上功能电路进行了逐一设计,并编写程序。最后,通过反复的调试及硬件的集成,实现了本次设计即基于单片机的PM2.5空气质量检测系统的功能要求及设计目标。

1.主控制器电路设计

STC89C52单片机是STC公司开发制造的一种8位微控制芯片,拥有512字节的数据存储空间和8K字节的程序存储空间。共40个引脚,2个优先级设置,3个十六位强大定时/计数器,4个八位并行I/O端口,5个优质中断源。STC89C52单片机的时钟引脚为XTAL1 和XTAL2;控制信号的引脚有RST,ALE,PSEN 和EA;I/O端口有P0,P1,P2和P3。STC89C52芯片内部结构框图如图所示。

单片机最小系统,就是用不能再少的器件来组成单片机工作的电子控制系统。对于C52单片机,最小系统通常具有芯片、系统时钟、复位电路几部分。

STC89C52微控制芯片的正常工作电压范围在3.8V-5.5V之间,在本设计中通过外接5V直流电源给单片机供电。

2.粉尘传感器电路设计

本次设计中选用的是夏普公司所产的GP2Y1010AU0F粉尘传感器,主要利用光学传感技术研发而来。它可以有效地检测出烟、雾、霾等非常细小的颗粒物,还能通过脉冲模拟输出的方式区分出检测的物质烟雾还是灰尘。

电源正极接其V-LED端,负极也就是地接LED-GND端,这两个端口接通才可以驱使传感器红外二极管及LED开始工作了。Vo端为检测到的粉尘浓度电压模拟量输出端,LED端为串行数据的输入端,S-GND端接地即可,VCC 端接电源的正极。该传感器可以做到通电1秒之内就稳定,可以马上进行正常的检测处理工作。检测原理是从输出电压模拟量来做判定的。粗大粉尘颗粒输出间隔、较高的脉冲电压信号,而细小粉尘颗粒物输出连续、较高的脉冲电压信号。

3.模数转换电路设计

本设计中采用ADC0832对模数转换电路进行构建,它是一种8位A/D转换芯片,最高可达256级分辨率。32μS的极速转换时间,双数据输出进行严格的数据校验,有效地降低了芯片数据误差,稳定性强。独立的使能输入方式,使挂载多器件和控制处理变得更为便捷。ADC0832单通道模拟信号输入状态下的电压范围需控制在0~5V之间,当其工作在8位分辨率的状态下,输出模拟信号精度可达19.53mV。

ADC0832芯片与单片机在正常情况下应有4条数据线相连,分别是CLK和CS、D1和D0。但在实际通信时D1端与DO端未同时有效,并且双向连接到单片机,所以在设计电路时可将D1和DO接在一个单片机管脚上进行使用。本设计中ADC0832芯片的D1端和DO端均接到了单片机的P1^2口,选择数据信号从D1端进行输入,数据由

D0端进行输出;CLK端接到了单片机的P1^1口为AD芯片提供时钟输入;使能端CS接到了单片机的P1^4口;传感器模拟电压输出到通道CH1端。

4.液晶显示电路设计

本设计我们选用经济实惠的字符型液晶显示器 LCD1602 作为显示器件。LCD1602 可以显示两行,每行 16 个字符,采用+5V 电源供电,外围电路配置简单,价格便宜,具有很高的性价比。本设计功能要求为单片机接收到信号后,经运算处理,要在液晶显示器上面直观显示最终的PM2.5浓度检测结果。用来显示英文字母、阿拉伯数字及常用符号等点阵式的LCD常叫做字符型液晶显示器,目前常用的显示器尺寸有16*1,16*2,20*2和40*2。

LCD1602模块的命令操作端有RS、RW和EN,单片机的P2^5、P2^6、P2^7脚分别与之相连。数据端口DB0~DB7分别接在单片机的P0^0~P0^7。为了保持LCD1602液晶具有较高的亮度,一般电路设计中都会将VL端串联一个2K的电阻接地。

5. 报警电路设计

本设计中采用了声光联合报警。由于单片机本身的驱动能力不够,所以设计中应用一个NPN型三极管9012对单片机的驱动能力进行提升。当单片机P3^6端电平置低时,三极管Q2的VE>VB>VC>>0,集电结发生反偏现象,发射极发生正偏现象,三极管整体处于饱和导通状态,此时的发光二极管D1和蜂鸣器BU1就会发出报警。当单片机P3^6端口电平置高时,就会引起三极管的截止,随之停止声光报警。

6. 系统程序流程设计

从本设计功能需求的角度考虑,系统主程序设计流程为:首先对各模块进行初始化操作,然后开始检测传感器模拟电压的输出,根据采集传感器的输出,分析处理出PM2.5的浓度值,最后在液晶上将数据进行显示。

7. 模数转换程序设计

本设计中模数转换芯片的作用是将粉尘传感器检测输出的模拟电压信号转换处理为数字信号,再输出给单片机做进一步处理。因为粉尘传感器是从工作开始0.75ms之后开始检测数据的,因此A/D转换工作也同样在传感器工作0.75ms之后开始进行。A/D模数转换开始之后,将选择数据转换通道,在DI端输入1、1两位数据,表示选择CH1进行单通道数据转换。

8. 液晶显示程序设计

LCD1602液晶显示程序的设计流程为先调用定义字符库,然后将DDRAM地址设置在第一行显示位置上,再根据系统数据对显示数据首地址及程序循环量进行设置,在循环显示程序中,要不断地提取相关字符代码直至第一行数据显示任务完成,同理,第二行数据显示任务与第一行完成过程是一样的,当两行数据全部显示完毕即可结束显示子程序。

9. 按键设定程序设计

本模块通过三个独立按键对浓度阈值进行设定,单片机通过比较采集的数据与预设阈值来控制是否进行声光报警。同时,还可以通过独立按键对检测模式和设置模式进行切换操作。

10. 声光报警程序设计

该程序模块是当检测到环境中的PM2.5浓度大于预设浓度阈值时,单片机就驱动蜂鸣器及发光二极管进行报警,便于采取适当措施降低浓度或让工作人员撤离工作现场。本设计中单片机通过P3.6口对蜂鸣器及发光二极管进行控制。

  • 20
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电子开发圈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值