1、PM2.5PM2.5检测器设计检测器设计第1页,共14页。目录课题介绍1 12 23 34 4系统介绍硬件电路部分软件部分总结2第2页,共14页。课题介绍 柴静的穹顶之下让我们每个人都看得触目惊心,它再一次让人们意识到了中国的环境污染的问题,基于此,设计一款小巧的能够实时地测量出PM2.5的监测器具有一定的意义。第3页,共14页。系统介绍本设计由本设计由STC89C52STC89C52单片机主控模块、粉尘传感器单片机主控模块、粉尘传感器 GP2Yl010AUOFGP2Yl010AUOF模块、模块、A/DA/D模数转换模块、按键输入模数转换模块、按键输入模块、复位电路模块、模块、复位电路模块、L
2、CDLCD液晶显示模块和报警液晶显示模块和报警电路模块等七个模块构成电路模块等七个模块构成第4页,共14页。硬件电路介绍单片机主控模块:单片机主控模块:STC89C52STC89C52传感器模块:传感器模块:GP2Yl010AUOFGP2Yl010AUOF灰尘传感器灰尘传感器液晶显示模块:液晶显示模块:LCD1602LCD1602报警模块:蜂鸣器报警模块:蜂鸣器模数转换模块:模数转换模块:ADC0832ADC0832系统电路构成第5页,共14页。系统原理图如下第6页,共14页。软件部分PM2.5采集模块lcd液晶显示模块按键输入模块第7页,共14页。PM2.采集模块采集电路采用GP2Yl010
3、AUOF灰尘传感器采集空气中的PM2.5,采用NPN三极管驱动传感器的LED端,输出的模拟量输入ADC0832,经过ADC0832模数转换后输给单片机。TR0=1;开启中断 while(1)if(time_num15)break;AD_dat1=ad0832read(1,0);/模数转换 PM_AD_dat=AD_dat1;PM_AD_dat=PM_AD_dat*8+AD_dat1;PM_AD_dat/=9;/模数转换后计算平均值PM_js=(float)(PM_AD_dat/51.2+0.01)*172-91;/计算PM2.5的值 第8页,共14页。液晶显示模块void delay_uint
4、(uint q)延时void write_com(uchar com)1602命令函数void write_data(uchar dat)1602写数据函数void write_sfm_pm(uchar hang,uchar add,uint date)1602显示函数void init_1602()lcd1602初始化第9页,共14页。报警模块if(key_can=1)/设置void clock_h_l()static uchar value;if(pm=s_pm)value+;if(value=2)beep=beep;/蜂鸣器报警else beep=1;value=0;通过与设定的阈值比较
5、,如果小于就不报警,如果大于阈值,蜂鸣器就发出报警,并且发光二极管点亮。第10页,共14页。调试在焊接电路板时,出现了些许问题,比如虚焊、冷焊、焊剂过量等,焊锡连桥这个问题有时候肉眼还看不出来,不小心就短路了,通过借助万用表来检测,有问题再加以改正重新焊接。程序烧进单片机后,首先看显示正不正常。开始时液晶显示有问题,结果发现一是忙信号没有置低电平,在读地址时没注意高数据位要为高电平烧到单片机里面,改正后编译无误,烧入单片机,结果是液晶显示正常,可传感器没起到作用,检查传感器的六根线是否存在接线错误,没错,在老师的帮助下,结果发现adc0832的四脚没有接地。接上后能够正常显示。第11页,共14
6、页。总结本毕业设计实现了对空气中的PM2.5采集、处理并且还具有液晶显示、超值报警的功能,具有电路简单、成本低廉、性价比高、监测精度较为准确、实用性较强、使用方便等特点。各个模块要实现的功能,实现都离不开陈青老师细心且耐心的指导。他让我从最最基本的开始,一步一步的坚定往前走,最终能够达到预期的效果。总体而言,该设计适用性广,具有一定的实用价值和现实意义。整个做毕业设计地过程,让我对单片机理论和实践的认识水平有了一定的提高,同时也让对电子设计产生很大的兴趣与热爱。同时也要感谢陈老师不遗余力的教导!第12页,共14页。实验结果环境良好 环境不好第13页,共14页。非常感谢!非常感谢!第14页,共14页。