毕业设计(论文)基于单片机的室内环境监控系统设计(软件设计)_第1页
毕业设计(论文)基于单片机的室内环境监控系统设计(软件设计)_第2页
毕业设计(论文)基于单片机的室内环境监控系统设计(软件设计)_第3页
毕业设计(论文)基于单片机的室内环境监控系统设计(软件设计)_第4页
毕业设计(论文)基于单片机的室内环境监控系统设计(软件设计)_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科毕业设计(论文)题目:基于单片机的室内环境监控系统设计(软件设计)院(系) 专 业 班 级 姓 名 学 号 导 师 2015年 6月本科毕业设计(论文)题目:基于单片机的室内环境监控系统设计(软件设计)院(系) 专 业 班 级 姓 名 学 号 导 师 2015年 6月基于单片机的室内环境监控系统设计(软件设计)摘要随着经济持续快速的发展,人们生活水平不断提高,空气质量却越来越差。因此,对室内环境空气质量的要求越来越高。传统的室内环境监测设施实时性差、精度低、体积大、功能单一,难以顺应现代经济发展的需求。因此,如何设计一款功能齐全、操作简单、性价比高的室内环境监控系统成为趋势。本设计的主要内

2、容是实现一个具有温湿度、烟雾、甲醛及一氧化碳为一体的多功能室内环境监测系统,要求其精度合适,适用于家庭、综合办公楼等室内环境监测。需要的软件设计部分包括:系统总体软件设计、各个模块软件设计,以及对应的软件代码调试。各个模块包括:各个传感器以及数据采集与处理、报警、显示、输出驱动模块、上位机监控中心的rs-485通讯模块及上位机的人机交互模块等。主控制器为stc89c52单片机。a/d转换采用adc0832将模拟量转换为数字量。结合报警模块和电机充当换气扇的输出模块,上位机界面用visual basic 6.0来设计,实时监控下位机的室内环境数据。实际中能够完成各个传感器对数据的采集、转换、显示

3、和传输,基本完成各个模块功能。通过rs-485方式来通讯,数据可以通过串口调试助手和上位机界面对其显示。关键字:监控系统;stc89c52;温湿度、烟雾、甲醛及一氧化碳传感器;rs-485通讯.design of indoor environment monitoring system based on microcontroller (software design)abstract with the rapid development of economy, peoples living standards continue to improve, air quality is getti

4、ng worse. therefore, the indoor air quality requirements of higher and higher. the traditional indoor environmental monitoring facilities has poor real-time performance, low accuracy, large volume and single function, which is difficult to comply with the needs of modern economic development. theref

5、ore, how to design a fully functional, simple, cost-effective indoor environmental monitoring system to become the trend. the design of the main content is to achieve a with temperature, humidity, smoke, formaldehyde and carbon monoxide is one of the multifunctional indoor environment monitoring sys

6、tem, the appropriate precision, applicable to family, office building indoor environment monitoring. the software design includes the overall software design, the design of each module, and the software code debug. each module includes: various sensors and data acquisition and processing, alarm, dis

7、play, output drive module, host computer monitoring center of rs-485 communication module and pc man-machine interaction module. the main controller is stc89c52 microcontroller. a/d conversion uses adc0832 to convert analog quantities to digital quantities. combined alarm module and the motor as the

8、 ventilator output module, pc interface with visual basic 6.0 to design, monitoring in real time, the next bit machine indoor environment data. in practice, the data acquisition, conversion, display and transmission of each sensor can be completed, and the function of each module is completed. throu

9、gh the rs-485 way communication, data can be displayed by serial debug assistant and pc interface. keywords: monitoring system; stc89c52; temperature and humidity, smog, formaldehyde and carbon monoxide sensor; rs-485 communication.目录中文摘要(i)英文摘要(ii)1 绪论(1)1.1设计背景及意义(1)1.2国内外的相关研究(1)1.3设计的主要内容(1)2. 系

10、统总体方案的设计(3)2.1 总体设计方案(3)2.1.1 室内环境参数的选取(3)2.1.2 系统总体的设计思路(4)2.1.3 系统方案的可行性(4)2.1.4 系统总体设计的指标(4)2.2 各个模块的设计(5)2.2.1 温湿度的检测(5)2.2.2 烟雾检测(5)2.2.3 甲醛检测(5)2.2.4 一氧化碳检测(6)2.2.5 a/d转换(6)2.2.6 按键设置模块(6)2.2.7 显示模块(7)2.2.8 报警及电机驱动模块(7)2.2.9 通讯模块(7)2.2.10 上位机模块(8)3.系统软件设计(10)3.1 系统软件总体方案的设计(10)3.1.1 系统总体原理框图(1

11、0)3.1.2 rs-485与pc机之间的通信原理图(11)3.2 系统主程序软件流程图(12)3.3 温湿度检测模块软件设计(13)3.3.1 dth11的电源引脚(13)3.3.3 dth11的时序(13)3.3.4 温湿度传感器dht11的技术参数(14)3.3.5温湿度检测模块软件流程图:(15)3.4 烟雾检测模块软件设计(15)3.4.1 烟雾传感器mq-2的检测和处理(15)3.4.2 烟雾传感器mq-2的技术参数(16)3.4.3 烟雾传感器检测模块软件流程图(17)3.5 甲醛检测模块软件设计(18)3.5.1 甲醛传感器mq-138的检测和处理(18)3.5.2 甲醛传感器

12、mq-138的技术参数(18)3.5.3 甲醛传感器mq-138的检测模块软件流程图(19)3.6 一氧化碳检测模块软件设计(20)3.6.1 一氧化碳mq-7的检测和处理(20)3.6.2 一氧化碳mq-7的技术参数(20)3.6.3 一氧化碳mq-7的检测模块软件流程图(21)3.7 adc0832转换模块软件设计(22)3.7.1 adc0832引脚图(22)3.7.2 adc0832通道地址设置表(23)3.7.3 adc0832的工作时序(23)3.7.4 adc0832检测模块软件流程图(24)3.8 按键设置模块软件设计(25)3.9 显示模块软件设计(25)3.10 报警模块及

13、电机驱动模块软件设计(26)3.11 通讯模块软件设计(26)3.12 上位机模块软件设计(27)3.12.1 上位机模块软件思路介绍(27)3.12.2 上位机模块界面编写(28)3.12.3 上位机模块软件流程图(30)4. 软硬件的调试以及调试的现象(31)4.1 使用的开发软件(31)4.2 实验现象和仿真结果(31)4.2.1 实验过程中led数码管显示的结果(31)4.2.2 实验过程中串口调试助手的调试(32)4.2.3 实验过程中上位机传输数据的显示(33)5.总结与展望(34)5.1 总结(34)5.2 展望(34)参考文献(35)致谢(37)毕业设计(论文)知识产权声明(3

14、8)毕业设计(论文)独创性声明(39)附录a 系统原理图(45)附录b 系统源程序(41)附件c 外文翻译(50)1 绪论1.1设计背景及意义 经济持续快速的发展,人们生活水平不断改善,但空气质量却急剧下降。人们对各种室内环境的要求也越来越高。传统的室内环境监测设施实时性差、精度低、体积大、功能不齐全等,难以适应人们的要求。基于以上背景,本文设计了基于单片机的室内环境监控系统,它能实时自动地采集室内的所需数据,并分析数据传输到我们需要的界面。1.2国内外的相关研究减轻室外空气污染最早为14世纪,以英国伦敦的烟雾法为代表。随着社会的进步,经济不断发展。但我们对环境也造成了很大的危害。最近随着空气

15、质量的不断恶化,人们最多提及的就是保护环境,为我们创造一片蓝天。生活环境的pm2.5值的上升,让近几年涌现出一大批的空气净化系统,可见空气质量现在对人们的重要性。随着不断的研究,人们对空气质量污染的成因和影响因素有了深刻的认识,解决空气污染的措施也不断完善。人们对不同环境下,不同污染物在室内和室外的相互关系有了一定的认识,也有了检测系统。国外对环境改善处理技术研究较早,正向自动化方向发展。我国对于环境监控技术的起步较晚,目前仍有局限性。国内市场室内环境的监测仪器主要是有害气体检测,功能单一且价格较贵,所以非常必要设计一种多功能且经济的室内环境监测系统。1.3设计的主要内容本设计的主要内容是实现

16、一个具备温湿度、烟雾、甲醛、一氧化碳为一体的多功能监测系统,要求其精度合适,适用于家庭、综合办公楼等室内环境监测,与硬件设计部分配合完成室内环境监测系统的总体方案设计。完成系统软件设计部分包括:各个模块软件设计、系统总体软件设计,以及对应的软件代码调试。各个模块包括:传感器数据采集与处理模块、报警、显示、输出驱动模块、与上位机监控中心的rs-485通讯模块及上位机的人机交互模块等。主要完成的内容如下:(1) 下位机的主控制器采用单片机stc89c52(2) 温湿度检测传感器采用dth11;(3) 烟雾检测传感器采用mq-2;(4) 甲醛检测传感器采用mq-138;(5) co检测传感器采用mq

17、-7;(6) a/d转换芯片采用adc0832;(7) 显示数据用4位数码管;(8) 通讯用rs-485总线通讯;(9) 上位机采用visual basic 6.0来编写。2. 系统总体方案的设计2.1 总体设计方案以单片机为控制核心,以温度、湿度、烟雾浓度、甲醛及一氧化碳传感器为测量元件,以电机为执行机构,以数码管为显示,并应用rs-485通讯总线与上位机通讯,构成室内环境检测系统。系统通过各种传感电路检测室内温湿度、甲醛、烟雾及一氧化碳浓度等参数值,然后与预先设置的参数临界值进行比较,实时显示当前传感器所检测到的各个参数值,并与报警和执行机构相互配合,完成设计监控系统的需求。2.1.1 室

18、内环境参数的选取本次设计的目标为室内环境监测,达到实时显示、报警以及监控的目的。在日常的生活中,人们对温度和湿度的感受是最为直接的。温度的高低能够提醒人们加减衣物;湿度在南方湿度较大要除湿,在北方空气干燥需要加湿,湿度不仅影响人身体的不适,也对室内的装修和家具有很大的影响。所以,必须选取温湿度作为一个检测量。气体也是生活中必须要注意的一个主要因素。烟雾被提及最多就是火灾的现场。室内有人吸烟,烟雾过大也会出现报警和换气,可以帮助人们减少二手烟的危害。同样也可以及时让人们知道室内是否有火灾的隐患,预防火灾的发生。因此,烟雾是一个很重要的检测量。在室内的装修材料,有些会释放一些对人有害的气体,比如甲

19、醛。甲醛最直接的危害就是对人们的皮肤有很大的刺激作用,吸入少量会感觉刺鼻,吸入过量会引起头痛等症状。如长处于这种环境,会造成很多更大难以治愈的疾病。因此,甲醛也是一个需要检测的量。生活中经常会有新闻上说有人煤气或液化气中毒,煤气的主要成分就是co。患者可出现头痛、头晕、视物模糊、耳鸣、恶心、呕吐、心动过速、短暂昏厥等,严重的可能死亡。因此,一氧化碳也是一个需要检测的量。所以,系统中的传感器检测采取了温湿度、烟雾、甲醛和一氧化碳。2.1.2 系统总体的设计思路a.从机方面:(1) 温湿度、烟雾浓度、甲醛及一氧化碳传感器测量数据和数据处理;(2) 三个模拟量的检测传感器用adc0832芯片进行数据

20、的数模转换;(3) 采用四位数码管显示传感器的检测数据;(4) 独立按键的设置(显示切换和参数值调节);(5) 报警和电机执行来预警和改善环境质量;(6) rs-485总线的设置和串口通信等。b.上位机方面:(1) 基于visual basic 6.0监控界面设计和数据的显示。(2) 基于visual basic 6.0温湿度、烟雾浓度、甲醛及一氧化碳传感器数据显示控件以及串口配置控件的设计和调试。2.1.3 系统方案的可行性随着以单片机为核心的微芯片技术迅速发展,系统设计中用到的主控芯片stc89c52的发展已经比较成熟,温室度、烟雾浓度、甲醛及一氧化碳传感器、adc0832转换芯片以及le

21、d等市场中也有出售而且也已经使用广泛。通信方面rs485的通信和visual basic编写上位机也在实际应用中经常被用到。设计中需要的资料也较为齐全。通过分析stc89c52主控芯片,得出此芯片可以满足本次系统设计的需求。并且本设计中提及到的设计思路与市场上一些产品有相似之处。因此,系统方案具有可行性。2.1.4 系统总体设计的指标(1) 可靠性;在系统的设计中,系统设计的每一个环节必须将可靠性作为首要选择。设计中通过使用可靠性较高的元器件、通过合理布局和合理设计减少元器件之间的相互影响和干扰等措施来提高系统设计的可靠性。(2) 操作简单; 在系统的软件和硬件方面设计时,必须要充分考虑到使用

22、者的简单操作。本设计中只要系统正常运行,数码管就能显示数据,而且可以用上位机观察到检测的数据,操作非常方便。(3) 维护方便; 在系统设计时,软硬件方面都根据各个模块做了详细的设计和布局,而且实时的显示,可以在发生故障时明确的知道具体哪个模块出了问题,为系统的维护提供方便。(4) 性价比高。系统设计用的主控制器为单片机,单片机不但有它体积小、功耗少,而且有很高的性价比优势。虽然系统设计所用传感器较多,但都是经过仔细分析检测需要的参数数据。而且通过用性价比高的元器件、简化硬件电路设计、尽量用软件代替一些硬件的功能,从而达到高的性价比。2.2 各个模块的设计2.2.1 温湿度的检测本设计中采用dh

23、t11数字温湿度传感器。市面上检测温度的传感器经常使用的是ds18b20,检测湿度的传感器经常用到hs1100。这两款传感器虽能完成需要参数的测量,但是需要的单片机端口较多,程序也较为复杂,经济型也不高。dht11是一款经校准数字信号输出的温湿度复合传感器,它自身具有很高的的可靠性和长久的稳定性。传感器包括一个电阻式感湿元件和一个ntc测温元件,与一个高性能8位单片机相连接。因此,它的品质较为良好、响应较为迅速、抗干扰的能力较强。综合以上因素,它是一个性价比较高的温湿度传感器。完全可以满足设计的需求。2.2.2 烟雾检测设计中采纳mq-2烟雾传感器。mq-2是以清洁空气中电导率较低的金属氧化物

24、二氧化锡为主体的n型半导体气敏元件。它比一般烟雾传感器的灵敏度要高、动作时间和恢复时间小、工作稳定、输出信号强和电导率变化明显的优点。因此,被常用作室内空气质量检测最佳产品。mq-2输出的是模拟信号,需通过a/d转换,a/d转换选用adc0832,经过adc0832采集后就可以得到各种烟雾浓度下的电压值,从而设定出理想的烟雾强度报警值。当传感器检测到烟雾时,单片机通过adc0832将传感器检测到的模拟量转换为数字信号,此数值在单片机内部与预设值比较,如果大于预设的范围,则调用蜂鸣器报警。2.2.3 甲醛检测选用mq-138进行甲醛的采集。mq-138传感器是一种灵敏性高、稳定性好、性价比高的半

25、导体传感器。适宜于醇类和醛类等有机溶剂的检测,适用于家庭室内环境及办公室中有害气体的检测。mq-138的标准工作条件与mq-2相同。mq-138甲醛传感器检测的为模拟量仍需要adc0832来进行a/d转换。2.2.4 一氧化碳检测检测一氧化碳选用mq-7一氧化碳传感器。mq-7是由微型陶瓷管、敏感层,测量电极和加热器形成的敏感元件,它具备很高的灵敏度,同时具有长寿命和稳定性,适用于家庭房间、厨房等环境对一氧化碳的探测。与mq-2不同的是,mq-7为高低温循环检测形式低温检测,传感器的电导率随空气中一氧化碳气体浓度增多而增大,高温(5.0v加热)清洗低温时吸附的杂散气体。mq-7 的检测原理与m

26、q-2基本相似,唯一的差别是mq-7标准条件要求采用高低电压循环供电,但是一般情况下,在普通应用电路中采用单电压加热,因此电路设计也与mq-2电路基本一致。mq-7一氧化碳传感器测量的值也为模拟量,要用a/d转换芯片,转换为数字量,再用于实际中的显示。2.2.5 a/d转换系统设计中a/d转换用adc0832芯片。adc0832是一种8位分辨率的a/d转换芯片;输入输出电平与ttl/cmos相兼容;输入电压由5v的电源来供电,输入电压在0-5v之间;频率为250khz、转换时间为32us;通常的功耗仅为15mw;封装形式也多样化。由于其功能齐全,性价比高而受到大多数人和企业的欢迎,目前具有很高

27、的普及率。基于它以上的优点,本次设计中用到的a/d模数转换采用此芯片。但是由于设计中有三个气体传感器测量的数据为模拟量需要模数转换,而一个adc0832芯片只能够满足2路数据的转换。因此,实际的设计中采用了2片转换芯片。2.2.6 按键设置模块系统设计中使用了四个按键。各个按键的功能如下:按键1主要是一个显示的切换按键;按键2和按键3主要是对报警参数值的改变,达到报警参数值可调的效果;按键4主要是手动报警按键,当发现室内环境有异常而检测装置没有检测到时,手动按键可以直接触发报警装置。注:最小系统中也有一个按键,为复位按键,没有在按键设置模块的涉及范围。2.2.7 显示模块采用四位数码管显示,按

28、键切换来显示数据。数码管引脚图、共阴阳极内部图如下图2.1所示: 图2.1 数码管引脚以及共阴阳极注:程序中采用共阳极2.2.8 报警及电机驱动模块系统中设计了一个输出模块,主要是报警和驱动电机,报警为人们提供了一个预警,让人们提前知道空气质量出现了问题,为人们排除隐患提供重要的依据。驱动电机充当一个换气扇的作用,为室内环境的首先通风,使环境对人的危害尽力减小,减缓空气质量变差的时间,为人们做出相应的处理提供更多的时间。2.2.9 通讯模块传感器采集数据通过单片机发送给上位机串口通讯的方式中,最常用的二种是rs-232串口和rs-485串口通信方式。本系统设计中采纳rs-485的通讯方式。rs

29、-485工作原理:rs-485采用平衡发送和差分接收,半双工的通信形式,因此具有抑制共模干扰的功能。首先,在通讯中,连接点始终处于接收状态,等待接收信号。当接收到接收信号后与之间所分配的地址码进行对比,如果相同就发送数据,如果不同就继续处于等待接受的状态。运用rs-485总线通信模式可以形成多点的网状系统,节约信号线。一般在工业现场,因其需要较长的通讯距离,大多采用rs-485通讯。二者区别:(1) rs-232是全双工,支持点对点通信。rs-485是半双工,支持点对多点通信。(2) rs-485与rs-232仅是通信的物理协议(即接口标准)有区别,rs-485为差分传输形式,rs-232是单

30、端传输形式,但通信程序不用有太大改动。pc机上都装有rs-232,直接应用就可以。如果使用rs-485通信,需要在rs-232端口上多连接一个rs-232转rs-485的转换头,没必要再去修改程序。本次系统设计选择rs-485串口通信的原因:本系统主要设计思路为多机通讯,需要点对多点的通讯,要满足这个要求就需要选用rs485通信模式。上位机与单片机多机通信的采纳原则:实际设计中由于多机通讯,需要消除各节点彼此之间的干扰,需要对下位机进行地址分配(用max485芯片共可接32个节点),分配原则如下:从0x01010x0132。实际中用到的地址分配为:0x0101和0x0102。系统工作中,下位机

31、时刻处在采集数据的过程中,而且一直处在等待接收的状态。当上位机连接好串口后,会周期性的向下位机发送地址信息,下位机接收到地址信息后,会把接收到的地址信息与本身写入的地址信息进行比照。当与自身的地址相同时,下位机将经过串口发送采集到的数据;当与自身的地址不同时,下位机就继续处在等待接受的状态。从而,来完成多机通信而不受到多个下位机之间的数据干扰。2.2.10 上位机模块系统中上位机模块用visual basic 6.0来编写。visual basic它因其自己的简单操作和功能齐全发展为广泛的编程语言。它功能强大,自身的数据库和各个控件的联合能处理实际中的很多问题,被程序员广泛使用。visual

32、basic 6.0的特征衡量:在 visual basic 中,可通过属性(property)、方法(method)和事件(event)来说明和衡量一个对象的特征。visual basic 6.0控件:根据应用类型,visual basic控件可以分为如下3类:(1) 内置控件;(2) activex控件;在工具箱中添加activex控件的流程如下。用打开工程的方式,打开一个visual basic 6.0工程,在列表框中选择要添加的activex控件。重新进入到visual basic编写的界面,此时添加的activex控件会被添加到工具箱内。(3) 可插入对象。visual basic 6

33、.0语言弊端:visual basic 语言不能够与其它类型相互来编写、不能移植到其它同类型软件中使用、出现某些异常问题解决不到位等一些弊端,使其有了很多局限性。3.系统软件设计3.1 系统软件总体方案的设计3.1.1 系统总体原理框图根据设计中需要用到的主控芯片、各个传感器、各个模块、以及显示、驱动电机和通讯等,画出系统具备总的总系统原理框图如图3.1所示:图3.1 系统原理框图3.1.2 rs-485与pc机之间的通信原理图根据下位机与上位机的通信方式以及设计中需要的总线方式等设计了rs-485与pc机实现多机通信的原理图如下图图3.2所示:rs-485与pc机实现多机通信原理图图3.2

34、上位机与下位机通讯原理图注:实际中多机通讯的下位机节点数可以为32个,但在系统设计中用2个节点来设计。3.2 系统主程序软件流程图根据系统设计的要求,系统主程序的软件流程图如下图图3.3所示:图3.3系统主程序软件流程图3.3 温湿度检测模块软件设计 3.3.1 dth11的电源引脚dth11的供电电压为3-5.5v。首先,给传感器上电,不用发送指令等待一段时间来越过不稳定的状态。电源引脚vdd和gnd之间添加一个去耦滤波电容。3.3.2 dth11的数据格式data应用于处理器与dth11互相的通信,单总线数据格式,通讯时间单次为4ms附近,数据由小数和整数两部分构成。小数部分一般用于扩展,

35、所以读出为零。数据格式:8位湿度整数数据+8位温度整数数据+8位校验和。数据输送无误时校验和数据等于“8位湿度整数数据+8位温度整数数据”得出结果的末8位。因为在系统的设计中传感器的整数部分就已经能够满足完美的需求,所以实际的设计中只用到了dth11的整数数据。3.3.3 dth11的时序首先,需要发送一个信号用作起始信号,dht11就会从低速模式转到高速模式,待开始信号完成后,dht11发送回答信号,发送40bit数据并触发一次数据采集,单片机能够选择读全部或者部分数据两种方式。在没收到单片机的起始信号,dht11不能自己进行温湿度采集。数据采集完结后,dht11将转入低速模式,等侯下一次的

36、起始信号,以此完成上面的流程。总线空闲时为高电平,单片机把总线拉低等候dht11回答,间隔应该大于18ms,从而确保dht11可以接受到单片机的起始信号。dht11答应信号为低电平约80s左右。单片机起始始信号发完候等候20-40s左右时间,接着接读取dht11的响应信号。总线为低电平,表明dht11在发送回答信号,dht11回答完后,接着总线拉高80s,预备发送数据,每位数据均因50s的低电平间隙起始,高电平持续时间代表数据位的0或1。待最后一位数据发送结束,dht11拉低总线50s,最后总线经上拉电阻拉高进到等待状态。单片机跟dht11互相通讯示意图如下图3.4所示:图3.4 dht11与

37、单片机通信示意图3.3.4 温湿度传感器dht11的技术参数总结温湿度传感器dht11的技术参数如下表表3.1所示:表3.1 温湿度传感器dht11的技术参数参数名称参数供电电压3.3-5.0v dc工作电流(平均)0.3ma采样周期2s测量范围温度:0-50 湿度:20-95% rh测量精度温度:2 湿度:5% rh分辨率温度:1 湿度: 1% rh输出信号单总线数字信号3.3.5温湿度检测模块软件流程图:温湿度检测模块软件流程图如下面图3.5所示:图3.5 温湿度检测模块软件流程图注:实际的设计中dth11温湿度传感器的data数据位接单片机的p3.5口,vdd接高电平vcc,gnd接地,

38、nc悬空不用。传感器将检测到的温度和湿度经过自身传感器处理后,将四位数据从p3.5发送到主控芯片。3.4 烟雾检测模块软件设计3.4.1 烟雾传感器mq-2的检测和处理烟雾传感器是一个测量值为模拟量的灵敏气体检测传感器,由于它测量的是模拟量,而实际设计中我们需要它检测的数字量显示。因而,应该对测量后的数据使用a/d转换。实验中采用8位的adc0832芯片来进行数据的转换,将数字量用于我们的显示和数据传输。3.4.2 烟雾传感器mq-2的技术参数烟雾传感器mq-2的技术参数如下表表3.2所示:表3.2 烟雾传感器mq-2的技术参数参数名称参数工作电压3.3-5.0v dc主要芯片lm393、mq

39、-2q气体传感器探头模拟量输出信号电压0-5.0v测量浓度范围100ppm-1000ppm工作温度202工作湿度655rh适合气体种类烟雾、甲烷、丙烷、丁烷、氢气、酒精、液化气等。3.4.3 烟雾传感器检测模块软件流程图根据设计中对烟雾检测要求和传感器的使用,列出了烟雾传感器检测模块的软件流程图如下图图3.6所示:图3.6 烟雾检测模块软件流程图注:在实际的设计中,根据烟雾传感器的引脚说明,连接传感器的vcc、gnd和out等管脚。将输出通道ad1接ch0进行数据转换。3.5 甲醛检测模块软件设计3.5.1 甲醛传感器mq-138的检测和处理采用传感器mq-138能够对范围以内的甲醛气体有较好

40、的线性度,它将甲醛浓度转化为成电信号,经调节电路、模数转换后送单片机解决。完成设计对数字量的需求。3.5.2 甲醛传感器mq-138的技术参数甲醛传感器mq-138的技术参数如下表表3.3所示:表3.3 甲醛传感器mq-138的技术参数参数名称参数工作电压5.0v0.1v主要芯片lm393、mq-2q气体传感器探头输出电压变化量0.5v(in 50ppm甲苯)敏感体电阻rs阻值范围10k-200k测量浓度范围5ppm-500ppm工作温度202工作湿度555rh适用气体种类甲苯、丙酮、乙醇、氢气等3.5.3 甲醛传感器mq-138的检测模块软件流程图根据设计中对甲醛的检测要求和传感器的使用,列

41、出了甲醛传感器检测模块的软件流程图如下图图3.7所示:图3.7甲醛检测模块软件流程图注:甲醛传感器mq-138的标准工作条件基本与烟雾传感器mq-2的相同。二者的工作原理和数据的处理基本相同。硬件图设计连接时,连接模数的ch1输入脚。3.6 一氧化碳检测模块软件设计3.6.1 一氧化碳mq-7的检测和处理一氧化碳传感器mq-7采用高低温循环检测方式低温监测一氧化碳,再经由简略的电路将电导率的变动转化为与气体浓度所等同的输出信号,得出检测的一氧化碳浓度。3.6.2 一氧化碳mq-7的技术参数一氧化碳mq-7的技术参数如下表表3.4所示:表3.4一氧化碳mq-7的技术参数参数名称参数回路电压10v

42、 dc输出电压2.5-4.3v(in 100ppmco)负载电阻可调测量浓度范围10ppm-1000ppm工作温度202工作湿度555rh灵敏度 srs(in air)/ rs (100ppmco)5适用气体种类一氧化碳和含有一氧化碳气体的混合气体3.6.3 一氧化碳mq-7的检测模块软件流程图根据设计中对一氧化碳的检测要求和传感器的使用,列出了一氧化碳传感器检测模块的软件流程图如下图图3.8所示:图3.8 一氧化碳检测模块软件流程图注:一氧化碳传感器检测与前2个传感器的检测原理基本相同,只是在硬件设计中,因为一个转换芯片不够用,所以连接时将传感器连接在了第二个adc0832的ch0脚。3.7

43、 adc0832转换模块软件设计 3.7.1 adc0832引脚图设计中所用a/d转换芯片的adc0832的引脚图如下图图3.9所示。图3.9 adc0832的引脚图芯片的管脚说明:cs:cs为芯片的片选使能端口。芯片为任务过程中,cs输入端应为高电平,这时芯片为不可使用。当cs输入端为低电平时,芯片被使能选中可以进行工作。在进行数据的模数转换时,必须确要cs使能端始终坚持低电平直到数据转换完成。ch0:cho为芯片的模拟输入通道0。单片机可以同给如芯片的高低电平来选择通道。ch1:ch1为芯片的模拟输入通道1。它与ch0的工作方式和工作原理基本相同。gnd:gnd为芯片的参考点位地,地是每个

44、芯片都具有的,起到了导通和保护的作用。di:di作为芯片的数据信号的输入,选择通道控制,do/di端则使用di端输入通道功能选择的数据信号。do:do作为芯片的数据信号的输出,转换数据输出。clk:clk为芯片的时钟输入信号。芯片在进行数据转换时,必须要处理器向时钟输入端口输入脉冲。vcc/ref:为芯片的电源输入或参考电压输入。为芯片工作提供最基本的电源支持。3.7.2 adc0832通道地址设置表adc0832通道地址如何配置表如下表3.5所示:表3.5 adc0832通道地址设置表输入形式配置位选择通道ch0ch1ch0ch1差分输入00+-01-+单端输入10+11+对于芯片通道的选择

45、,取决于两位数据的高低电平以及他们的顺序。当只存在ch0进行单通道转换时,需要将两位数据置为“1”和“0”;当只有ch1进行单通道转换时,需要将两位数据置为“1”和“1”;当将ch0作为正输入端时,需要将两位数据置为“0”和“0”;当将ch1作为负输入端时,需要将两位数据置为“0”和“1”。实际的设计中我们采用的只有ch0单通道转换或ch1单通道转换。3.7.3 adc0832的工作时序首先,在第一个时钟的脉冲之前将di设为高电平,表明启动位已经启动。接着在第二、三个时钟脉冲之前给di端输入两位数据来选择通道的性能,在第三个时钟脉冲下降后di端的输入电平就会消失它的输入作用,接着do/di端则

46、开始运用数据输出do进行数据转换的读取。然后,第四个脉冲下降沿开由do端输出转换数据最高位data7,以后的所有脉冲下降沿do端都输出下一位数据。等待第十一个脉冲发出最低位数据data0,表示一个字节的数据完成。所以,从此位开头输出下一个相反字节的数据,等同于第十一个字节的下降沿输出data0。接着输出8个数据,待第十九个脉冲时数据完成,相当于一次模数转换的完成。接着,将cs设为高电平来停止芯片使用,把转化后的数据进行处理。adc0832时序图如下图3.10所示:图3.10 adc0832工作时序3.7.4 adc0832检测模块软件流程图adc0832检测模块软件流程图如下图图3.11所示:

47、图3.11 adc0832检测模块软件流程图注:实际设计中,甲醛和烟雾传感器利用了第一个转换芯片的ch0和ch1通道,而一氧化碳传感器选择了第二个传感器的ch0通道。为各个传感器的数据转换提供了平台。但由于do端与di端在通讯过程中未同时有效而且与单片机的接口是双向的,因而电路设计时将do和di并联在一根线上。所以,就能节约主控芯片的io口,同样对软件的编程也提供了便捷。3.8 按键设置模块软件设计设计中设计了按键设置模块主要是为了通过对不同按键值的切换来使下位机测量的数据被我们直观的观测以及为适应不同环境下报警参数值的设计提供方便。按键设置模块软件设计流程图如下图图3.12所示:图3.12按

48、键设置模块软件流程图3.9 显示模块软件设计设计中检测数据的显示用四个led数码管显示,用设置的四个按键来达到监测数据的切换显示。其中用到的按键可以切换分别显示温湿度传感器、烟雾传感器、甲醛传感器和一氧化碳传感器检测到的数据。数据每次显示四位十进制数,分别代表了温湿度、烟雾、甲醛和一氧化碳的数值。让检测到的数值能够一目了然的展现在人们的面前。3.10 报警模块及电机驱动模块软件设计在报警模块和电机驱动模块,我们设置了两种方式来确保报警的准确。方式一,我们的传感器把检测到的数据转化为数字信号后,会与我们在程序中设置的预定值(根据实际情况设定)进行比较,当超出我们的设定范围后,我们的报警模块会让蜂

49、鸣器进行报警,给我们以预警。同时我们的电机驱动模块会驱动我们的电机来旋转,达到换气的目的。方式二,因为实际中存在我们的传感器还没有检测到气体有变化时,而我们人眼或鼻已经识别到远方有危害气体的泄露,这时我们可以手动开启我们的报警模块来预警。根据以上信息,设置报警模块和电机驱动模块的流程图如下图图3.13所示:图3.13 报警模块以及电机驱动模块软件流程图3.11 通讯模块软件设计在设计中用到了rs-485的通讯使我们四个传感器检测到的数据能够从下位机(单片机)经过rs-485的总线实时的传输到我们的上位机(visual basic 6.0),并在上位机做的界面上清晰的显示出来,让我们也能够直观的

50、看到我们当前室内环境各个参数的数值。在毕业设计的实际代码设计中,我的rs-485通讯借鉴了modbus的通讯协议。支持传统的rs-232、rs-485通讯,联网设备,以及很多的智能仪表和工业现场的控制设备之间通信,达到整体的联网,形成工业网络。设计中借鉴了modbus通讯协议,在设计多机通信中,分别为下位机设置了设备地址,按照对地址的识别发送消息,来完成具体某个下位机监测的数据传输,达到设计中需要的多机通讯。完成我们的联网通讯,达到实时的检测。实践中因为单片机输出电平为ttl电平,而我们用到的是rs-485通讯。所以,在设计中我们用到了ttl电平转rs-485的模块,主要用到的芯片为max48

51、5。max485芯片的主要管脚工作原理如下表表3.6所示:表3.6 max485芯片的主要管脚工作原理ro接收器输出:若ab 200mv,则ro为高电平;若ab 200mv,则ro为低电平。接收器输出使能。当低电平时,ro为有效;当高电平时,ro为高阻状态。de驱动器输出使能。de高电平时,驱动器输出y与z有效;当de低电平时,驱动器输出为高阻状态。当驱动器输出有效时,器件被用作线驱动器。而高阻状态下,若为低电平,则器件被用作线接收器。di驱动器输入。di上的低电平强制输出y为低电平,而输出z为高电平。同理,di上的高电平强制输出y为低电平,而输出z为低电平。注:根据max485芯片内部的电路

52、图,列出单片机与pc机的端口电平转化如下表3.7所示:表3.7 单片机与pc机的端口电平转化单片机低电平pc机高电平pc机发送单片机接收=0de=0de=1=1单片机高电平pc机低电平pc机接收单片机发送de=1=1=0de=03.12 上位机模块软件设计3.12.1 上位机模块软件思路介绍设计中用visual basic 6.0软件结合自身的控件完成设计上位机的需要。首先,上位机编写了三个需要的窗体分别为form1、form2和form3。form1窗体主要设计下位机需要的各个节点,界面command控件设置了四个节点,实际的应用中用到二个节点,其余的二个节点可作为日后设计中的扩展。form

53、2窗体和form3窗体基本相同,因为我们的下位机检测的参数相同,不同点是他们需要向下位机的寻址的地址不同。在form2窗体和form3窗体设计中最主要的首先要利用mscomm控件来设计串口配置和串口通讯,其中有打开串口和开始检测的按键和指示灯显示,还有串口、波特率、校验位、数据位和停止位的设置。也有2个timer控件,来用于延时和设置等。窗体中也设置了保存数据和更改路径的按键控件,用于日后检测数据的保存扩展。利用textbox控件设置了一个系统时间的显示,可以时刻知道此刻的系统时间。最后用frame控件设计了一个空气质量显示,其中有需要显示检测到数据的位置和一个空气质量的最后评估显示。其次,窗

54、体中函数的编写。其中有函数的各种定义、串口的定义和设置、时间变量的设置、存放变量的定义、遇到错误的显示和处理、上来数据的分类和处理以及单位的添加等。最后,上位机的整体调试和文件的生成。3.12.2 上位机模块界面编写上位机编写界面图如下图3.14所示:图3.14(a) 上位机节点触发界面图13.14(b) 下位机节点一显示界面图3.14(c) 下位机节点二显示界面图3.14 上位机编写界面图注:上位机界面的串口和波特率等参数可以根据下位机编写程序中的参数来进行调整。3.12.3 上位机模块软件流程图上位机软件流程图如下图3.15所示:图3.15 上位机软件流程图4. 软硬件的调试以及调试的现象4.1 使用的开发软件本系统软件开发的环境使用的是keil4,用c语言编程。keil c51是keil software公司制作的51系列单片机c语言软件。与汇编相比,c语言简单紧凑、数据类型丰富、可移植性好、表达力强的优点。keil为其提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论