一种基于51单片机的粉尘监测系统的设计定稿Word文档下载推荐.docx
《一种基于51单片机的粉尘监测系统的设计定稿Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《一种基于51单片机的粉尘监测系统的设计定稿Word文档下载推荐.docx(36页珍藏版)》请在冰豆网上搜索。
ThedesignusedbySTC89C52MCUminimumsystem,gp2y1010audustsensor,ADC0832ADCmodule,LCD1602LCDmodule,powersupplymodule,buzzeralarmmoduleandakeymodule.
Single-chipmicrocomputerreal-timethroughtheADC0832conversionchipacquisitiongp2y1010audustsensordustconcentration,throughthesingle-chipmicrocomputerdataconversionprocessingintheLCDscreendisplayintheairquality,whenthespatialmeasurementofdustconcentrationishigherthanthesetofdustconcentration,buzzerandlight-emittingdiodesemitsoundandlightalarm.
Thedustconcentration
alarmvaluecanbeset
throughthebuttons.
Keywords:
GP2Y1010AU0Fdetectionsensors;
Dustdetection;
dustandairquality
1绪论
1.1课题背景
粉尘又称可吸入颗粒物,它是能被呼吸道粘连,直径有10um的颗粒物状,对人的眼睛、上呼吸道、鼻腔都非常有害。
粉尘和烟雾它是做为病菌的载体,如果一旦分散到空气中,就会很容易传播各种疾病。
人们长久呼吸或长久散落皮肤上会容易导致癌症。
由此可以看出粉尘对人体健康和生产的会产生巨大危害性,煤矿井下管道作业、煤炭生产都要产生大量的粉尘,加上煤炭井下没有通风的条件,煤尘浓度可高达1000mg/m³
以上。
在这环境中工作中,工人会吸入大量的粉尘,如果粉尘长时间进入人的呼吸系统,大量粉尘会在肺泡中沉积,会引起慢性职业病,严重的危机人的身体健康。
因此,我们必须对煤矿井下粉尘进行实时检测和采取应急的措施,及时了解煤矿井下工人的劳动环境和平安,并且掌握井下煤尘浓度及变化情况,以及采取应急措施来改变粉尘的浓度,为平安,防尘,降尘等措施提供必要现场数据和采取措施降低浓度。
1.2国内外研究现状
在我国内大多采用先进的测试粉尘技术,有的是β射线原理,其吸收量只与吸收物质的重量相关,而与吸收物质的物化性质无关,可直接读粉尘浓度。
2系统仿真软件及总体设计方案
2.1Keil4软件开发坏境
Keil4C51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil4软件开发环境如图1所示:
图1Keil4软件开发环境
我用的是keil4软件开发坏境,该软件能够开发和调试软件,我用的是C语言作为开发语言,该语言是我们大学上的一门专业课语言,所以我的开发语言是C语言。
2.2软件烧录工具
在keil4软件开发完成并且编译没有错误的情况下,为了要实现软件与硬件同时工作,软件来控制硬件来到达PM2.5检测系统与实现,这样就能到达毕业设计的目的,软件烧录我用的是STC_ISP软件,运用这个软件就能把我自己设计的工程软件烧录到STC51单片机里,在把单片机芯片放到我自己焊的硬件中,就能到达测试的效果,STC_ISP软件如图2所示,还有烧录的单片机如图3所示:
图2STC_ISP烧录软件
图3烧录工具
2.3程序结构分析
主程序对所用到的外设资源进行初始化,还调用了LCD显示程序、键值设定程序、对ADC0832以及粉尘传感器数据处理程序3个子程序,LCD显示程序都需要更新数值,键值动作变化或者粉尘浓度数据有改变时。
在本章主要介绍主程序流程,和对ADC0832以及粉尘传感器数据处理子程序流程。
2.4整体的设计方案
毕业设计采用ADC0832模数转换器模块、LCD1602液晶模块、STC89C52单片机最小系统、GP2Y1010AU粉尘传感器、电源模块、蜂鸣器报警模块和按键模块模块等模块组成。
单片机实时通过ADC0832转换芯片采集GP2Y1010AU粉尘传感器的粉尘的浓度,通过单片机的数据转换处理后在液晶屏上显示空气中的质量,当测量空间中的粉尘浓度大于设置粉尘浓度时,蜂鸣器和发光二极管发出声光报警。
粉尘的浓度报警值可以通过按键进行设置。
系统总体框图如图4所示:
图4总体结构框图
该系统主要由粉尘检测模块GP2Y1010AU、按键设置模块、报警模块和液晶显示模块态显电路组成,下面我分别介绍实现这个系统功能的方案。
2.5电源模块
采用5V蓄电池为系统提供电源。
蓄电池是具有稳定的电压输出性能以及较强的电流驱动能力。
可以运用电脑和充电宝,用起来也比拟方便也很实惠。
3主要元器件简介
3.1GP2Y1010AU0F传感器简介
一、GP2Y1010AU0F物理特性
GP2Y1010AU0F是一个采用光学传感系统的灰尘传感器。
该设备由一个光电管成对角和红外线发光二极管〔IRED〕布置而成。
它通过检测空气中的灰尘的反射光。
特别是,它能够灵敏有效地检测到像香烟烟雾等非常细小的粒子。
出此之外,它也还可以通过脉冲冲模拟输出来分别区分屋子内的烟雾和灰尘。
其内部原理图如图5所示:
图5GP2Y1010AU0F内部原理图
其中IRED代表红外发光二极管,Dustthroughhole代表通孔的粉尘,DustorSmokeparticle代表粉尘或烟雾粒子,amplifiercircuit代表放大电路,Forsensitiveadjustment代表对于敏感的调整;
其主要参数如表1所示:
表1GP2Y1010AU0F主要参数
主要参数
技术条件
备注
灵敏度
0.5V/〔0.1mg/m3〕
输出电压
0.9〔TYP〕
无灰尘
供电电流
11mA
体积规格
46.0*30.0*17.6
单位mm
兼容性
兼容
无铅ROHS指令
供给电压Vcc
-0.3~+0.7
单位V
输入终端电压
-0.3~Vcc
Vled单位V
适应温度
-10~65
单位℃
其电光特性如表2所示:
表2GP2Y1010AU0F光电特性
参数
符号
工作条件
最小
典型值
最大
单位
K
1*2*3
0.35
0.5
0.65
V/〔0.1mg/m3〕
Voc
0.9
1.5
V
输出电压范围
Voh
Rl=4.7K
3.4
-
LED端子电流
I(led)
LED端子=0V
10
20
mA
消耗电流
Icc
RL=无穷大
11
其中灵敏度是由输出电压变化量规定时粉尘浓度有0.1毫克/立方米指定。
LED输入端子输入的条件如表3所示:
表3LED输入端子输入条件
数值
脉冲周期
T
1
ms
脉冲宽度
Pw
0.32
0.02
工作电源电压
VCC
5
其引脚定义和实物图如图6所示:
图6GP2Y1010AU引脚定义和实物图
二、GP2Y1010AU0F检出方法
GP2Y1010AU0F插上电源或者接上干电池后,1秒内就会稳定、正常的工作,可以进行检出。
我们使用的方法是:
从输出的电压来进行分析和判定。
首先测出无尘无烟时的电压值并且保存下来。
灰尘和烟检出时输出的区别:
一般,烟是细小的颗粒,密度很高,狂撒速度非常的快。
灰尘粉尘是一个一个的大颗粒,密度非常低,陆陆续续式的进入灰尘传感器的检出区域并且进行检测。
就如图7所示,
图7GP2Y1010AU0F检测灰尘和烟雾输出电压波形比拟
3.2ADC0832模数转换器简介
ADC0832功能与引脚简介
ADC0832是双通道A/D转换芯片,也一种8位分辨率。
因为它体积非常小,兼容性也比拟强,性价比高。
ADC0832具有以下特点:
·
8位分辨率;
双通道A/D转换
输入输出电平与TTL/CMOS相兼容
5V电源供电时输入电压在0-5V之间
工作频率为250KHZ,转换时间为32μS
一般功耗仅为15mW
8P、14P—DIP〔双列直插〕、PICC多种封装
商用级芯片温宽为0°
C~+70°
C,工业级芯片温宽为-40°
C~+85°
C
ADC0832实物引脚图如图8所示:
图8ADC0832实物引脚图
芯片引脚接口说明:
CS_片选使能,低电平芯片使能。
CH0模拟输入通道0,或作为IN+/-使用。
CH1模拟输入通道1,或作为IN+/-使用。
GND芯片参考0电位〔地〕。
DI数据信号输入,选择通道控制。
DO数据信号输出,转换数据输出。
Vcc/REF电源输入及参考电压输入〔复用〕。
ADC0832与单片机的接口电路如图9所示:
图9ADC0832与单片机的接口电路图
ADC0832是八位分辨率A/D转换芯片,可以适应一般的模拟量转换要求。
芯片的模拟电压输入在0~5V之间。
单片机对ADC0832的控制原理
一般情况,DO端与DI端在通信时并不会同时有效的与单片机的接口是双向的,所以电路设计可以把DO和DI并联在一起,在同一根数据线上使用输入输出数据,能够方便的传输数据。
在进行A/D转换时,应该先将CS使能端拉到低电平,而且要保持低电平直到转换最后完全结束。
首先在第一个时钟脉冲的下沉之前,DI端必须从低电平拉到高电平,这个是启始信号。
在第二、三个脉冲下沉之前,DI端应该输入二位数据,目的用于选择通道功能。
ADC0832时序图如图10所示:
图10ADC0832时序图
3.3LCD1602液晶显示屏
LCD1602能够同时显示16x02即32个字符,是一种字符型液晶显示屏。
在日常生活中,液晶显示器在我们的生活中常常能够使用到。
液晶显示模块也已经作为很多很多的电子产品的必要设备。
液晶显示器每一个点在接受信号后就会一直保持着那个状态和颜色。
一般1602字符型液晶显示器实物如图11,图12所示:
图11液晶屏正面
图12液晶屏反面
LCD1602引脚:
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL是液晶显示器比照度调整端,当接地时,比照度就是最高了,当接正电源时,比照度就是最弱的,我们使用时就可以通过一个10K的电位器调整比照度,防止产生“鬼影〞。
第4脚:
RS是存放器选择,当处于高电平时,是选择数据存放器,当处于低电平时,就是选择指令存放器。
第5脚:
R/W是读写信号线,当处于高电平时,是进行读操作,当处于低电平时,是进行写操作。
第6脚:
E端为使能端,当E端由高电平跳变到低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
LCD1602的RAM地址映射以及标准字库表的内部的字符发生存储器就有一百六十个不同的字符,每一个字符都是由一个特定固定的代码组成。
指令1:
清显示。
指令2:
光标复位,光标返回到地址00H。
指令3:
S:
低电平那么表示无效,高电平表示为有效。
指令4:
显示开关控制。
A:
控制光标是否闪烁,高电平表示闪烁,低电平表示不闪烁。
B:
控制整体显示的开与关,高电平表示的开显示,低电平表示的关显示。
指令5:
光标或显示移位S/C:
低电平时移动光标,高电平时移动显示的文字。
指令6:
字符发生器RAM地址设置。
指令7:
DDRAM地址设置。
指令8:
读出光标地址和忙信号。
指令10:
写数据。
指令11:
读数据。
1602内部显示地址如图13所示:
图131602内部显示地址
3.4STC89C52单片机的简介
STC89C52模块模块在整个系统中起着非常重要的作用,我们需要检测键盘,温度传感器等各种参数,同时也要驱动液晶显示的数据及相关参数,所以我闲着了在这里我们选用了STC89C52单片机作为系统芯片。
Intel公司是最早对51系列的单片机进行开发设计的,Intel公司后来将51核的设计方案提供给Philip、Atmel、SST等这些电子设计生产商,这些公司根据Intel公司提供的相关设计方案的根底之上,生产了多种以51为内核的单片机。
这些主要电子产品制造商已经介绍了微控制器兼容的51指令,并在51基于扩展的一些功能和内部结构是一致的51。
STC89C52一共有40个引脚,1个全双工异步串行口,4个8位并行I/O口,2个16位定时/计数器同时内含5个中断源,2个优先级。
STC89C52的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(RAM)组成。
STC89C52单片机的根本组成框图见图14。
图14STC89C52单片机结构图
单片机STC89C52主要特性如下:
1.一个8位的微处理器(CPU)。
2.片内数据存储器RAM(128B),用以存放可以读/写的数据。
3.单片机的开展趋势主要是将RAM和ROM都集成在其单片机当中,这样不仅让用户进行设计时方便及快捷的同时又提升对其系统的抗干扰性。
4.四个8位并行I/O接口P0~P3,每个口不仅用作输入,仍可以用作输出。
5.两个定时器/计数器,每个定时器/计数器都可以设置成计数方式,对外部事件进行计数,同样也可以设置成定时方式,为了实现计算机控制可以根据计数或定时的结果。
为方便设计串行通信,提供3个16位定时器/计数器目前就是52系列单片机。
6.目前新推出的单片机都不只5个中断源,比方SST89E58RD就有9个中断源。
五个中断源的中断控制系统。
7.为了提高其指令的执行速度,最高允许振荡频率为12MHz。
最高允许振荡频率达40MHz,
图3-2STC89C52单片机管脚图
STC89C52单片机局部引脚说明
1.时钟电路引脚XTAL1和XTAL2:
XTAL2(18脚):
接外部晶体和微调电容的一端;
该引脚输入外部时钟脉冲才能采用外部时钟电路。
可用示波器查看XTAL2端是否有脉冲信号输出才能检查振荡电路是否正常工作。
XTAL1(19脚):
接外部晶体和微调电容的另一端;
在片内它是振荡电路反相放大器的输入端。
在采用外部时钟时,该引脚必须接地。
2.控制信号引脚RST,ALE,PSEN和EA:
RST/VPD(9脚):
RST是复位信号,输入端高电平作为有效。
RST引脚的第二功能是VPD,就可以接入RST端,可以为RAM提供备用电源,为了不让存储在RAM中的信息丧失和删除,然而合复位前方可继续正常运行。
ALE/PROG(30脚):
地址锁存允许信号端。
当8051上电正常工作后,ALE引脚就不断地向外输出正脉冲信号。
PSEN(29脚):
程序存储允许输出信号端。
EA/Vpp(31脚):
当EA引脚处于高电平时候,CPU访问片内EPROM/ROM且执行其内部程序存储器中的指令代码。
P0口(P0.0~P0.7,39~32脚):
P0口是一个位准双向I/O口。
P1口(P1.0~P1.7,1~8脚):
P1口是一个带内部上拉电阻的,8位准双向I/O口。
P2口(P2.0~P2.7,21~28脚):
P2口是一个带内部上拉电阻的8位准双向I/O口。
P3口(P3.0~P3.7,10~17脚):
P3口是一个带内部上拉电阻的8位准双向I/O口。
P3口每个引脚都有第二功能,如下:
P3.0:
(RXD)串行数据接收。
P3.1:
(RXD)串行数据发送。
P3.2:
(INT0#)外部中断0输入。
P3.3:
(INT1#)外部中断1输入。
P3.4:
(T0)定时/计数器0的外部计数输入。
P3.5:
(T1)定时/计数器1的外部计数输入。
P3.6:
(WR#)外部数据存储器写选通。
P3.7:
(RD#)外部数据存储器读选通。
4系统单元电路模块设计
4.1主控制模块
主控制最小系统电路如图15所示。
单片机最小系统由复位电路、单片机、时钟电路构成。
单片机的工作电压范围:
给单片机外界5V直流电源,其范围在4V-5.5V,单片机中连接方式通常是20脚VSS接电源地端,而40脚VCC接正极5V。
确定单片机的工作起始状态就是复位电路,从而顺利完成单片机的启动过程。
完成单片机启动确定单片机起始工作状态就是单片机接通电源时产生复位信号。
图15单片主控制电路
4.2显示模块电路
液晶的命令操作脚是RS、RW、EN接在单片机的P3^5、P3^6、P3^7脚,数据脚D0~D7分别接单片机的的P1口。
具体电路图如图16所示:
图16显示模块电路
4.3关于报警模块的设计
本设计中声光报警电路采用NPN型S8550三极管驱动,当单片机的P1^3口输出低电平时,三极管的VE>
VB>
VC>
0。
三极管的集电结反偏,发射结正偏,此时发光二极管和蜂鸣器发出声光报警,当单片机的P1^3口输出高电平时,三极管截止,声光报警停止工作。
具体电路图如图17所示:
图17报警模块电路图
4.4按键模块的设计
可以通过按键进行设置空气质量检测系统的灰尘参数。
其中一个参数加键,另一个那么是参数减键。
通过这两个按键〔参数加键、参数减键〕进行设置。
具体电路图如图18所示:
图18按键模块电路图
4.5粉尘模块电路设计
灰尘传感器是作为经常用的空气净化器系统,能偶检测非常细小的颗粒,比方香烟的烟雾,是非常有效果的。
传感器的第一脚接了一个220uF的电解电容和150欧姆的电阻。
第二脚接到单片机的P32外部中断0口,第五脚是粉尘浓度的模拟量输出脚,接在模数转换器ADC0832的通道1上。
具体电路图如图19所示:
图19粉尘模块电路
4.6电源局部的设计
采用3节1.5V干电池共4.5V做温湿度测量控制系统的电源,经过实验验证系统工作时,能够满足系统的要求就是单片机、传感器的工作电压稳定,而且电池更换方便。
电源接口电路如图20,其中DC5V为电池接口,SW1为电源开关,R6为二极管的限流电阻,POWER为电源指示灯,C5和C6为电源的滤波电容。
图20电源接口电路
5系统测试与实现
5.1系统程序流图
主程序的主要功能是对定时器,LCD1602,ADC0832,GP2Y1010AU0F,I/O口资源等所用到的资源进行初始化、对传感器及ADC0832、对按键动作的处理的实时电压值进行换算处理并显示。
主程序流程见图21所示。
图21主程序流程图
对ADC0832以及粉尘传感器数据处理程序
该局部子程序主要过程:
GP2Y1010AU0F通过对当前环境中的粉尘浓度检测会有相应的电压值变化〔模拟信号〕,从而通过ADC0832的转化可以得到相关的数字信号,对已得到的数字电压值以及GP2Y1010AU0F检出方法,通过数值计算可以得到当前环境粉尘浓度,误差比拟小。
其程序流程图如图22所示:
图22传感器数值处理程序流程图
5.2仿真电路
为了测试软件,我们一般软件开发要进行仿真电路,这样有方便又能够检测电路是否能够到达的效果,防止在硬件上的错误,该仿真电路就是通过所有用的单元电路设计组合到一起,再通过仿真软件ISIS来进行仿真,看能否软件上能到达效果,一个毕业设计首先是要软件上没有错误,才能在硬件上面跑,这样做出来的产品就不会有什么错误,在仿真软件找到自己要的元器件,根据电路图在进行仿真从而到达检测的效果,我的仿真电路如图23所示:
图23仿真软件
5.3软件跟硬件结合
软件是一个产品的控制指挥系统,这个是非常重要的,你要做的什么动作都要通过软件设计从而能够到达你想要的效果,通过运动C语言在Keil4软件开发坏境中,设计出了检测PM2.5检测系统并且编译没有错误,再通过仿真软件也能实现同样的功能,软件已经做好,接下来就要跟硬件结合到一起。
通过单片机把程序烧录到单片机的芯片,再把芯片安装到硬件上面,该硬件是自己动手焊接的,如图24焊接图所示,并且能产生正确的效果,如图25实物效果图所示:
如图24焊接图
如图25实物效果图
5.4测试结果分析
根据实物测试结果分析,如图实物