欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    仓库温湿度检测系统设计.docx

    • 资源ID:16145587       资源大小:513.14KB        全文页数:68页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    仓库温湿度检测系统设计.docx

    1、仓库温湿度检测系统设计(此文档为word格式,下载后您可任意编辑修改!)仓库温湿度检测系统设计院 系自动化学院专 业自动化班 级学 号姓 名曹春哲指导教师乔志华负责教师乔志华沈阳航空工业学院2009年6月摘要本设计使用STC89C52单片机作为主控制模块,利用简单的外围电路来驱动1-Wire总线,利用1-Wire总线协议,实现了多点温度和湿度的精确测量。利用STC89C52单片机本身强大的功能和内部RAM资源,可以很方便的实现单片机与PC机间的数据传输,并能利用软件方便的逻辑判断实现了1-Wire总线的ROM搜索,实现了测温器件18B20的枚举,实现了无人干预的测温点的动态裁剪,所以本设计具有

    2、很强的现实应用性。另外,本系统的湿度检测没有完成。本文从1-Wire总线的原理入手,详细阐述了1-Wire总线的ROM搜索过程,以及硬件电路的设计、计算和软件的算法。关键词:DS18B20 ;单片机 MCU;串行传输 Serial Data Transfer;单总线 1-wire interfaceAbstractThis design as the main STC8952 of single-chip control module, using a simple external circuit to drive the 1-Wire bus, the use of 1-Wire bus

    3、protocol, to achieve a more accurate measurement of temperature. The use of MCS STC89C52 powerful features and its own internal RAM resources, it is easy to achieve single-chip and PC data transfer between aircraft and the use of software to facilitate the realization of the logic to determine the 1

    4、-Wire bus ROM search, the realization of the temperature measurement device enumeration 18B20, no intervention to achieve a dynamic temperature measurement point cut, so the design of practical application. In addition,the system did not complete humidity testing. This article from the 1-Wire bus st

    5、arting with the principle, described in detail 1-Wire bus ROM search process, as well as the design of hardware circuits, computing and software algorithms. Keywords :DS18B20; Single-chip MCU ;Serial transmission Serial Data Transfer;monobus 1-wire interface 第1章 绪 论1.1选题背景防潮、防霉、防腐、防爆是粮库日常工作的重要内容,是衡量

    6、粮库管理质量的重要指标。它直接影响到储备物资的寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度的监测工作,因为温度的升高,就意味着粮库内的有氧呼吸的加强,就意味着马上就要发生腐烂霉变。因此我们需要一种造价低廉、使用方便且测量准确的温度测量仪。在我们的印象中,温度的测量不外乎由传感器、放大器、数码显示、报警器等单元组成。但是通过实际的考察,现实的系统根本不是这个样子:由于粮食要定期的通过熏蒸来除虫、防鼠,熏蒸药剂具有高毒性,高腐蚀性,人员根本不能随意接触到仓内设备,更不要说通过数码管的显示和报警器来及时发现温度的异常变化,同时出于防爆的要求,在仓库内部的系统,是完全密封的,并

    7、被充入低氧高氮的气体,平时人员根本不能及时进入。因此现在的监控系统都是由计算机监控,采用专用组态软件、单片机及数字传下图展示了一种可能的结构图1.1现场采集站通过一线牵采集模块,对粮仓的温度进行测量采集,每个粮仓约有200点模拟量输入(温度)并根据粮食的情况对现场进行湿度检测。现场控制站现场控制站可用西门子PLC控制现场输送机、提升机、电动闸门、通风机的启动运行,以及报警等功能的反馈信号,实现自动化控制。上位机上位机运行组态通用工业过程监控软件,对现场的设备进行监控、并对仓库温湿度进行巡回检测。并生成动态画面、报表、报警、曲线等数据管理功能。 这就要求我们必须设计一种高可靠,高一致性,基本免维

    8、护,可自由增减测温点,并具有和计算机联网交换数据的能力的测温组件。1.2设计过程及工艺要求根据实际的需求,我们提出了测温组件的基本功能,需要说明的是,在这里你看不到传统的温度显示功能,因为实际上工作人员根本不可能到现场去记录温度的显示。同时增加了组件的测温点免维护自由增减功能,以适应系统的规模的自由裁剪。1.2.1基本功能检测温度测温点免维护自由增减过限指示与计算机通讯1.2.2主要技术参数 温度检测范围 : -40-+60测量精度: 0.5报警方式:闪动的LED指示灯通讯方式:RS232 9600,N,8,1第2章 系统总体设计本设计是以STC89C52为基本系统核心的一套检测系统,其中包括

    9、、单片机、复位电路、温度检测、过限指示、通讯接口、系统软件等部分的设计。图2.1 系统总体框图2.1温度传感器的选择方案一:采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按IEC标准测温范围-200650,XX电阻比W(100)=1.3850时,R0为100和10,其允许的测量误差A级为(

    10、0.15+0.002 |t|),B级为(0.3+0.005 |t|)。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于-50180测温。方案二:采用AD590。采用AD590,它的测温范围在-55+150之间,而且精度高。M档在测温范围内非线形误差为0.3。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。使用可靠。它只需直流电源就能工作,而且,无需进行线性校正,所以使用也非常方便,接口也很简单。作为电流输出型传感器的一个特点是,和电压输出型相比,它有很强的抗外界干扰能力。AD590的测量信号可远传百余米。综合

    11、比较方案一与方案二,方案二更为适合于本设计系统对于温度传感器的选择。方案三:采用DS18B20。DS18B20 数字温度传感器,测温范围 55125,固有测温分辨率0.5。具有独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温。工作电源: 35V/DC。在使用中不需要任何外围元件;测量结果以912位数字量方式串行传送。综合比较方案二与方案三,方案三更为适合于本设计系统对于温度传感器的选择。2.2信号采集2.2.1 DS18B20基本知识 DS18B20数字温度计是

    12、DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线上可以挂很多这样的数字温度计,十分方便。 2.2.2 DS18B20产品的特点 (1)、只要求一个端口即可实现通信。 (2)、在DS18B20中的每个器件上都有独一无二的序列号。 (3)、实际应用中不需要外部任何元器件即可实现测温。 (4)、测量温度范围在55。C到125。C之间。 (5)、数字温度计的分辨率用户可以从9位到12位选择。 (6)、内部有温度上、下限告警设置。 2.2.3 DS18B20的引脚介绍 TO92封装的DS18B20引脚排列见图2.2,其引脚

    13、功能描述见表2.1。 图2.2 DS18B20引脚(底视图)表2.1DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。既可以用在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。2.3信号分析与处理由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对STC89C52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位

    14、有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。2.3.1单总线的实现(1)DS18B20的复位时序 图2.3 DS18B20的复位时序 DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。 DS18B20的读时序是从主机把单总线拉低之后,在15秒之内就得释放单总线,

    15、以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。 图2.4 DS18B20的读时序(2)DS18B20的写时序 对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。 对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 图2.5 DS18B20的写时序2.3.2 DS18B20的使用 DS18B20内部结构图2.6 DS18B20内部结构DS18B

    16、20测温原理如图2.7所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2.7中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的

    17、预置值。图2.7 DS18B20的测温原理DS18B20有4个主要的数据部件:(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其

    18、中S为符号位。图2.8 DS18B20温度值格式这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。(3)DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM

    19、,后者存放高温度和低温度触发器TH、TL和结构寄存器。(4)配置寄存器该字节各位的意义如下:图2.9 配置寄存器 低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)图2.10 温度分辨率设置表(5)高速暂存存储器高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图2.9所示

    20、。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。图2.10是对应的一部分温度值。图2.11 DS18B20暂存存储器分布根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。ROM、RAM指令如下图

    21、所示:图2.12 ROM、RAM指令表2.3.3 DS18B20的应用电路 DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。下面就是DS18B20几个不同应用方式下的测温电路图:(1)DS18B20寄生电源供电方式电路图如下面图9所示,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。独特的寄生电源方式有三个好处:1)进行远距离测温时,无需本地电源。2)可以在没有常规电源的条件下读取ROM。3)电路更加简洁,仅用一根I/

    22、O口实现测温。 要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,图9电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。在制作中曾经就此电路做过实验,在实验中,降低电源电压VCC,当低于4.5V时,测出的温度值比实际的温度高,误差较大。当电源电压降为4V时

    23、,温度误差有3之多,这就应该是因为寄生电源汲取能量不够造成的吧,因此,在开发实际测温系统时不使用此电路。图2.13 DS18B20寄生电源供电方式电路图(2)DS18B20寄生电源强上拉供电方式电路图改进的寄生电源供电方式如下面图10所示,为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10S内把I/O线转换到强上拉状态。在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强

    24、上拉切换。图2.14 DS18B20寄生电源强上拉供电方式电路图注意:在图2.13和图2.14寄生电源供电方式中,DS18B20的VDD引脚必须接地(3)DS18B20的外部电源供电方式 在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85。图2.15 外部电源供电方式图2.16 外部供电方式的多点测温电路图外部电源供电方式是DS18B20最佳的工

    25、作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。因此,在实际的设计开发中,我们使用外部电源供电方式。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。2.3.4单片机89C52 单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用

    26、普林斯顿结构。为了设计此系统,采用了MCS-51兼容单片机STC89C52单片机作为控制芯片1.STC89C52的片内结构下图是STC89C52的内部结构示意图。图2.16 STC89C52的内部结构示意图STC89C52单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:(1)中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作

    27、。(2)数据存储器(RAM)STC89C52内部有256个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有256个,可存放读写的数据,运算的中间结果或用户定义的字型表。 (3)程序存储器(ROM):STC89C52共有8192个8位Flash ROM,用于存放用户程序,原始数据或表格。(4)定时/计数器:STC89C52有两个16位的可编程定时/计数器,以实现定时或计数,其中中断用于控制程序转向。(5)并行输入输出(I/O)口:STC89C52共有4组8位I/O口(P0、 P1

    28、、P2或P3),用于对外部数据的传输。(6)全双工串行口:STC89C52内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。(7)中断系统:STC89C52具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。(8)时钟电路:STC89C52内置最高频率达90MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但STC89C52单片机需外置振荡电容。图2.17 STC89C52的时钟电路2.STC89C52的引脚STC89C52采用40Pin封装的双列直接DIP结

    29、构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:如图2.18图2.18 STC89C52 的引脚Pin9:RESET/Vpd复位信号复用脚,当STC89C52通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R

    30、0-R7)的状态。STC89C52的复位方式可以是自动复位,也可以是手动复位,见下图2.19。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。图2.19 复位Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。Pin29:当访问外部程序存储器时,此脚输出负

    31、脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的内外部选通线,STC89C52单片机,内置有8kB的程序存储器,当EA为高电平并且程序地址小于8kB时,读取内部程序存储器指令数据,而超过8kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。3.通讯接口本设计采用RS-232C串行通信方式。RS-232C是由美国电子工业协会(EIA)正式公布的,在异步串行通信中应用最广泛的标准总线。现在,计算机上的串行通信端口(RS-232C)是标准配置端口,已经得到广泛应用,计算机上一般都有12个标准RS-232C串口,即通道COM1和COM2。RS-232C规定最大的负载电容为2500pF,这个电容限制了传输距离和传输速率,由于RS-232C的发送器和接收器之间具有公共信号地(GND),属于非平衡电压型传输电路,不使用差分信号传输,因此不具备抗共模干扰的能力,共模噪声会耦合到信号中。在不使用调制解调器(MODEM)


    注意事项

    本文(仓库温湿度检测系统设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开