资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
温室温度远程监测系统设计【摘要】本系统是基于单片机STC12C2052AD配合温度传感器DS18B20和RS-232串行通信及RS-485远程通信、将在温室内温度数据传输到上位机进行实时监控和出现异常报警的一套温室温度监测系统。下位机放置在温室内,通过传感器采集温度,然后经由单片机的串行接口,由RS-485总线负责下位机与上位机的通信,利用MAX232实现下位机及MAX485的TTL电平和上位机RS-232C电平之间的转换,实现下位机与上位机之间的异步串行通信。上位机采用Visual Basic 串行通信编程,接收和分析经由下位机发上来的数据,设置报警温度,以及其他参数,当实际参数超过设置参数时,上位机进行声光报警来提示管理员,从而进行其他相应操作。系统采用简单的双绞线通信线缆、抗烦扰、布线简单、传输距离远。本系统的实用性和可靠性高、操作简单、可广泛用于个人或者企业的温室进行温度监测使用,且无后期维护费用。29目 录第1章 绪论1第2章 系统设计方案22.1 系统总体设计22.2方案选择22.2.1 温度传感器的选择22.2.2 通信方式选择32.2.3 程序使用语言的选择3第3章 系统硬件设计53.1 电源模块设计53.2 单片机控制模块设计53.3 温度采集电路模块63.4 远程通信电路模块73.4.1 调试端口电路设计73.4.2 远程通信电路设计93.5 显示电路模块11第4章 系统软件设计124.1 下位机控制软件134.1.1 传感器访问和控制方法134.1.3 下位机控制软件说明184.2上位机控制软件194.2.1 串口通信194.2.2 利用MSComm实现串口通信204.2.3 其他功能实现224.2.4 上位机主控程序界面24第5章 系统测试与数据分析265.1 系统调试265.2 系统测试及数据分析26结束语28致谢辞28参考文献29附录A 硬件电路图30附录B 单片机源程序30第1章 绪论随着社会主义农村的建设和社会的进步,生产水平的提高,温室也逐渐增多。温室内的温度是生产过程中最重要参数之一,传统的监测方法是人工长期监守,利用干湿球玻璃温度计现场采集数据的方式,劳动强度大,操作规程复杂,制约了温室管理员的工作效率。现代电子技术的发展,已经渗入到人们生活的方方面面。利用智能监测系统对温室内的温度实行远程监测,不但可以解决传统温度监测的弊端,而且大幅度的提高农业生产的科技含量和生产水平,更重要的是促进了新农村建设的发展和社会的进步。国外对温室环境控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。现在世界各国的温室控制技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。我国对于温室控制技术的研究相对较晚,始于20世纪80年代。我国工程技术人员掌握了人工气候室内微机控制技术。之后,我国的温室控制技术得到了迅速发展。但由于我国农业现代化水平较低,农业劳动力大量过剩,温室的一次性投资大,资金短缺以及对操作人员的素质要求比较高等因素,限制了温室控制技术在温室系统的扩展。 从国内外温室控制技术的发展状况来看,温室环境控制技术都是从手动控制转向自动控制,监测技术也正逐步走向智能化。 本系统设计是以单片机为核心,利用温度传感器对温度进行采集,再经过单片机与计算机通信,将温室内的温度数据传送给上位机软件处理,对温室内的温度远程监测。实现了对温室内的温度自动控制,使劳动生产率得到提到.第2章 系统设计方案2.1 系统总体设计温室温度监测系统的系统框图如2-1所示。主要是由温度传感器和单片机构成的下位机、远程通信、上位机三大部分组成。图2-1 系统框图下位机由单片机进行控制,温度由温度传感器进行温度采集。单片机对信号进行处理,然后由LCD 液晶进行下位机现场显示。同时单片机与上位机进行实时远程通信。上位机的控制处理程序,对接受到的数据进行处理,存储,分析。同时进行动态显示、查询、备份。对超限数据进行声光报警提示。2.2方案选择整套主要是由温度传感器和单片机构成的下位机、远程通信、上位机三大部分组成,方案的选择将直接影响设计效率和最后整体效果。2.2.1 温度传感器的选择温度传感器AD590属于模拟量输出,需要使用AD芯片将模拟量转换为数字量,另外如果多个传感器就需要占用更多的转换芯片以及单片机口线,外围元件复杂。温度传感器DS18B20具有独特的1-Wire总线技术,可以挂接多个传感器1。数字量输出,测量温度范围-55至+125,测量精度高,增值量为0.5摄氏度,在一秒内可以把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,而且体积小、使用方便。基于DS18B20的优点,能够满足温室内的温度要求,加之对DS18B20的使用经验最后决定使用DS18B20传感器来采集温度。2.2.2 通信方式选择远程通信部分在本设计中非常重要,该部分的设计质量直接影响整体设计的质量、成本以及实际应用前景,因此确定一个好的远程传输方案就显得尤为重要。随着通信技术、计算机技术和网络技术的飞速发展,远程监视系统越来越多的应用于生产和管理领域中。就远程数据传输方式而言,目前有很多种,归纳起来分一下两大类:(1)无线通信方式无线传输方式可分为卫星通讯、GSM数字网、GPRS数字网、CDMA数字网及数据通信电台等传输方式。卫星通讯、GSM数字网、GPRS数字网和CDMA数字网络虽然有很多优点比如:网络覆盖范围广,不受地域限制,信号较稳定,无同频干扰,保密性好,可处理大量的短消息、数据和传真传送等业务功能;但是由于路由选择复杂容易造成短信息等数据传输的系统延迟,而且其使用成本高,所以只适合在特殊场合下使用,如用卫星进行电视信号传输,GSM和CDMA广泛用于手机业务,GPRS全球定位系统等等。数据传输电台方式具有建网灵活方便,实时性高,费用较低等特点,特别适合偏远地区没有公用电话网的场合。但是需要申请无线电台播放频段才可使用,而且其有效工作距离和发射功率有关,如果距离太远成本会很高。(2)有线通信方式有线通信方式可分为电力线载波传输、因特网传输、RS-485总线2远程传输等。电力线载波方式由于抗干扰和传递距离等关键技术还没有完全解决,在国内尚处于小区试验阶段;因此在我国还不太适合实际应用。因特网可利用通用网络或电话线,需预先架设网络及大型专用设备,投入资金很大。RS-485总线速度很快,最大10MB/S,传送距离相对很远(90KB/S下可传1200米), 以差分平衡方式传输信号,具有很强的抗共模干扰的能力,允许一对双绞线上一个发送器驱动多个负载设备。因此工业现场控制系统中一般采用该总线标准进行数据传输。通信网络各节点均带有RS485串行通信接口。在总线末端接一个匹配电阻,吸收总线上的反射信号,保证正常传输信号干净、无毛刺。可靠性高,投入小,1对双绞线即可胜任。鉴于投入和架设的难易程度,最终决定本次设计选用RS-485总线负责远程通信串口通信。2.2.3 程序使用语言的选择本次设计包含2个部分,上位机和下位机,1下位机编程可使用的编程语言有汇编语言和C语言,其中汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少,程序执行效率高。但是不同的CPU,其汇编语言可能有点差异,所以不易移植;而且没有很好的可读性,以及良好的结构。用C语言编写单片机程序比汇编语言更符合人们的思考习惯,开发者可以摆脱与硬件无必要的接触,更专心的考虑功能和算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。C语言具有良好的程序结构,适用于模块化程序设计,因此采用C语言设计单片机应用系统程序时,首先要尽可能地采用结构化的程序设计方法,将功能模块化,由不同的模块完成不同的功能,这样可使整个应用系统程序结构清晰,易于调试和维护。不同的功能模块,分别指定相应的入口参数和出口参数,对于一些要重复调用的程序一般把其编成函数,这样可以减少程序代码的长度,又便于整个程序的管理,还可增强可读性和移植性。所以本次单片机应用程序设计选择C语言进行编写。2上位机监测软件编程可以使用的语言有VB和C,C+等其他高级语言,其中VB的图形用户界面(GUI)。不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象add到屏幕上的一点即可。如果已使用过诸如Paint之类的绘图程序,则实际上已掌握了创建用户界面的必要技巧。Visual Basic在原有BASIC语言的基础上进一步发展3,至今包含了数百条语句、函数及关键词,其中很多和Windows GUI有直接关系。专业人员可以用Visual Basic实现其它任何Windows编程语言的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序。Visual Basic不仅是Visual Basic编程语言4。Visual Basic编程系统,Microsoft Excel的Applications Edition,Microsoft Access和Windows的许多其他应用程序都使用这一语言。Visual Basic Scripting Edition (VBScript)是广泛使用的脚本语言,它是Visual Basic语言的子集。这样,在学习Visual Basic中得到的经验可应用到所有这些领域中。C,C+ 语言,适合大型软件系统编程,提供了对机器级概念的访问(如字节、地址),而这些是其他编程语言试图隐藏的内容,因为这样很容易造成系统的不稳定甚至崩溃,同时它也是一种小型语言,提供了一套有限的特征集合,为了保持少量的特征,C语言在很大程度上依赖一个标准函数库;C语言提供详细的差错功能,但是稍不小心可能导致编程出错,难以修改。鉴于本系统设计中实际需要,VB更适合用来编程本监测软件,所以在这次设计中使用VB进行上位机编程。第3章 系统硬件设计下位机部分包含电源模块、单片机控制模块、温度采集模块、远程通信模块和液晶显示模块。单片机负责采集传感器产生的数据和对数据进行分析处理,得到可用的信息,然后将信息通过单片机串口发送至远程通信模块,最后传送至上位机。其中控制部分采用STC12C2050AD单片机,传感器采用DS18B20数字温度传感器,通信部分使用MAX485通信芯片进行远距离有线数据传输,芯片电平与单片机兼容。同时备有MAX232芯片,该作用是直接进行电平转换,与上位机进行测试和调整,以及程序的写入。下位机整体结构简单、体积小巧、维护方便。3.1 电源模块设计电源的设计是电子电路设计的重要环节,在某种意义上可以说电源电路的性能指标直接关系到设计成败。电源电路的设计,因系统供电形式、系统对电源的要求等具体情况的不同其构成原理也有所不同。本设计的所有器件都是5V电源器件,所以外接电源直接用7805稳压模块就可以直接完成,大容量电容可以起到更好的滤波效果。另外,当市电停电时为了不给用户造成因为停电期间的不能显示温度,进而造成经济损失,所以在下位机增加了外接电源插孔。做到外接电源单独模块化,此外,也方便外接电源的维修和更换。外接电源电路原理图如图3-1所示5,电路图绘图工具使用Protel DXP6。其中Jpw为电源输出插头。图3-1 外接电源模3.2 单片机控制模块设计STC12C2052AD单片机是下位机的核
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号