仓库温湿度检测系统..pdf
《仓库温湿度检测系统..pdf》由会员分享,可在线阅读,更多相关《仓库温湿度检测系统..pdf(70页珍藏版)》请在三一文库上搜索。
1、仓库温湿度检测系统设计 院系自动化学院 专业自动化 班级 学号 姓名 指导教师 负责教师 2009 年月 - - I 摘要 本设计使用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 interface - - II Abstract This 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 protocol
3、, 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-Wire bu
4、s 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 starting w
5、ith 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 - - III 目录 摘要 I Abstract II 目录 . III 第 1 章 绪论. 1
6、1.1 选题背景 . 1 1.2 设计过程及工艺要求 . 2 1.2.1 基本功能 . 2 1.2.2 主要技术参数 . 2 第 2 章系统总体设计 . 3 2.1 温度传感器的选择 . 3 2.2 信号采集 . 4 2.2.1 DS18B20 基本知识 4 2.2.2 DS18B20 产品的特点 4 2.2.3 DS18B20 的引脚介绍 4 2.3 信号分析与处理 . 5 2.3.1 单总线的实现 . 5 2.3.2 DS18B20 的使用 7 2.3.3 DS18B20 的应用电路 11 2.3.4 单片机 89C52 . 14 2.3.5 MAX232 电平转换芯片特点 18 2.3.
7、6 单片机与 PC间通信接口电路设计 20 2.3.7 过限指示 . 20 第 3 章 软件设计 . 22 3.1 1-Wire 总线协议处理 . 22 3.2 1-Wire CRC 校验处理 . 28 3.3 1-Wire 器件的 ROM 搜索 . 29 3.4 FIRST操作 38 3.5 NEXT 操作 38 3.6 数据传输 . 39 - - IV 第 4 章总结 . 41 社会经济效益分析 . 42 参考文献 . 43 致谢 . 45 附录 A 程序清单 . 46 附录 B PCB 板图 65 - - 1 第 1 章 绪论 1.1 选题背景 防潮、防霉、防腐、防爆是粮库日常工作的重要
8、内容,是衡量粮库管理质量的 重要指标。它直接影响到储备物资的寿命和工作可靠性。 为保证日常工作的顺利进行,首要问题是加强仓库内温度的监测工作,因为温 度的升高,就意味着粮库内的有氧呼吸的加强,就意味着马上就要发生腐烂霉变。 因此我们需要一种造价低廉、使用方便且测量准确的温度测量仪。 在我们的印象中,温度的测量不外乎由传感器、放大器、数码显示、报警器等 单元组成。但是通过实际的考察,现实的系统根本不是这个样子:由于粮食要定期 的通过熏蒸来除虫、防鼠,熏蒸药剂具有高毒性,高腐蚀性,人员根本不能随意接 触到仓内设备,更不要说通过数码管的显示和报警器来及时发现温度的异常变化, 同时出于防爆的要求,在仓
9、库内部的系统,是完全密封的,并被充入低氧高氮的气 体,平时人员根本不能及时进入。 因此现在的监控系统都是由计算机监控,采用专用组态软件、单片机及数字传 感器组成的,具有500-1000个测温点的,网络化的数字式温度检测的系统。 下图展示了一种可能的结构 图 1.1 现场采集站 - - 2 通过一线牵采集模块,对粮仓的温度进行测量采集,每个粮仓约有200 点模拟 量输入(温度)并根据粮食的情况对现场进行湿度检测。 现场控制站 现场控制站可用西门子PLC 控制现场输送机、 提升机、电动闸门、 通风机的启 动运行,以及报警等功能的反馈信号,实现自动化控制。 上位机 上位机运行组态通用工业过程监控软件
10、,对现场的设备进行监控、并对仓库温 湿度进行巡回检测。并生成动态画面、报表、报警、曲线等数据管理功能。 这就要求我们必须设计一种高可靠,高一致性,基本免维护,可自由增减 测温点,并具有和计算机联网交换数据的能力的测温组件。 1.2 设计过程及工艺要求 根据实际的需求,我们提出了测温组件的基本功能,需要说明的是,在这里你 看不到传统的温度显示功能,因为实际上工作人员根本不可能到现场去记录温度的 显示。同时增加了组件的测温点免维护自由增减功能,以适应系统的规模的自由裁 剪。 1.2.1 基本功能 检测温度 测温点免维护自由增减 过限指示 与计算机通讯 1.2.2 主要技术参数 温度检测范围:-40
11、-+60 测量精度:0.5 报警方式:闪动的LED 指示灯 通讯方式: RS232 9600,N,8,1 - - 3 第 2 章系统总体设计 本设计是以 STC89C52 为基本系统核心的一套检测系统,其中包括、单片机、 复位电路、温度检测、过限指示、通讯接口、系统软件等部分的设计。 图 2.1 系统总体框图 2.1 温度传感器的选择 方案一:采用热电阻温度传感器。 热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有 铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。 铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好, 电阻率较高, 因此
12、,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵, 温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按IEC 标准测温范围 -200650,百度电阻比W(100)=1.3850 时,R0 为 100和 10,其允许的测 量误差 A 级为( 0.15+0.002 |t|) ,B 级为( 0.3+0.005 |t|) 。 铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小, 在腐蚀性介质中使用稳定性差。在工业中用于-50180测温。 方案二:采用 AD590。 采用 AD590,它的测温范围在 -55+150之间,而且精度高。 M 档在测温 范围内非线形误差为0.3。
13、AD590 可以承受 44V 正向电压和 20V 反向电压,因 而器件反接也不会损坏。使用可靠。它只需直流电源就能工作,而且,无需进行线 性校正,所以使用也非常方便,接口也很简单。作为电流输出型传感器的一个特点 - - 4 是,和电压输出型相比,它有很强的抗外界干扰能力。AD590 的测量信号可远传百 余米。综合比较方案一与方案二,方案二更为适合于本设计系统对于温度传感器的 选择。 方案三 :采用 DS18B20。 DS18B20 数字温度传感器,测温范围55 125,固有测温分辨率 0.5。具有独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线 即可实现微处理器与DS18B
14、20 的双向通讯。支持多点组网功能,多个DS18B20 可 以并联在唯一的三线上,实现多点测温。工作电源: 35V/DC。在使用中不需要任 何外围元件;测量结果以912 位数字量方式串行传送。 综合比较方案二与方案三,方案三更为适合于本设计系统对于温度传感器的选 择。 2.2 信号采集 2.2.1 DS18B20基本知识 DS18B20 数字温度计是 DALLAS 公司生产的 1Wire,即单总线器件, 具有线 路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通 信线上可以挂很多这样的数字温度计,十分方便。 2.2.2 DS18B20产品的特点 (1) 、只要求一个端口即
15、可实现通信。 (2) 、在 DS18B20 中的每个器件上都有独一无二的序列号。 (3) 、实际应用中不需要外部任何元器件即可实现测温。 (4) 、测量温度范围在 55。C 到125。C 之间。 (5) 、数字温度计的分辨率用户可以从9 位到 12 位选择。 (6) 、内部有温度上、下限告警设置。 2.2.3 DS18B20的引脚介绍 TO92 封装的 DS18B20 引脚排列见图 2.2,其引脚功能描述见表2.1。 - - 5 图 2.2 DS18B20 引脚(底视图) 表 2.1 DS18B20详细引脚功能描述 序号名称引脚功能描述 1 GND 地信号 2 DQ 数据输入 / 输出引脚。开
16、漏单总线接口引脚。 既可以用在寄生电源 下,也可以向器件提供电源。 3 VDD 可选择的 VDD 引脚。当工作于寄生电源时,此引脚必须接地。 2.3 信号分析与处理 由于 DS18B20 采用的是 1Wire 总线协议方式,即在一根数据线实现数据的双 向传输,而对 STC89C52单片机来说,硬件上并不支持单总线协议,因此,我们必 须采用软件的方法来模拟单总线的协议时序来完成对DS18B20 芯片的访问。 由于 DS18B20 是在一根 I/O 线上读写数据, 因此,对读写的数据位有着严格的 时序要求。 DS18B20 有严格的通信协议来保证各位数据传输的正确性和完整性。该 协议定义了几种信号
17、的时序:初始化时序、读时序、写时序。所有时序都是将主机 作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动 启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读 时序完成数据接收。数据和命令的传输都是低位在先。 2.3.1 单总线的实现 (1)DS18B20 的复位时序 - - 6 图 2.3 DS18B20 的复位时序 D S18B20 的读时序对于 DS18B20 的读时序分为读 0 时序和读 1 时序两个过程。 DS18B20 的读时序是从主机把单总线拉低之后,在15 秒之内就得释放单总线, 以让 DS18B20 把数据传输到单总线上。DS18B
18、20 在完成一个读时序过程,至少需 要 60us才能完成。 图 2.4 DS18B20 的读时序 (2)DS18B20 的写时序 对于 DS18B20 的写时序仍然分为写0 时序和写 1 时序两个过程。 对于 DS18B20 写 0 时序和写 1 时序的要求不同,当要写0 时序时,单总线要 被拉低至少 60us,保证 DS18B20 能够在 15us到 45us之间能够正确采样IO 总线上 的“0”电平,当要写 1 时序时, 单总线被拉低之后, 在 15us之内就得释放单总线。 图 2.5 DS18B20 的写时序 - - 7 2.3.2 DS18B20的使用 DS18B20 内部结构 图 2
19、.6 DS18B20 内部结构 DS18B20 测温原理如图 2.7 所示。图中低温度系数晶振的振荡频率受温度影响 很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其 振荡率明显改变,所产生的信号作为计数器2 的脉冲输入。计数器1 和温度寄存器 被预置在 55所对应的一个基数值。计数器1 对低温度系数晶振产生的脉冲信号 进行减法计数,当计数器1 的预置值减到 0 时,温度寄存器的值将加1,计数器 1 的预置将重新被装入,计数器1 重新开始对低温度系数晶振产生的脉冲信号进行计 数,如此循环直到计数器2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存 器中的数值即为所测
20、温度。图2.7 中的斜率累加器用于补偿和修正测温过程中的非 线性,其输出用于修正计数器1 的预置值。 - - 8 图 2.7 DS18B20 的测温原理 DS18B20 有 4 个主要的数据部件: (1)光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码。 64 位光刻 ROM 的排列是:开始 8 位(28H)是产品类型 标号,接着的48 位是该 DS18B20 自身的序列号,最后8 位是前面 56 位的循环冗 余校验码( CRC=X8+X5+X4+1 ) 。光刻 ROM 的作用是使每一个DS18B20 都各不相 同,这样就可以实现一根总线上挂接
21、多个DS18B20 的目的。 (2)DS18B20 中的温度传感器可完成对温度的测量,以12 位转化为例:用 16 位符号扩展的二进制补码读数形式提供,以0.0625/LSB 形式表达,其中S 为 符号位。 图 2.8 DS18B20 温度值格式 这是 12 位转化后得到的12 位数据,存储在18B20 的两个 8 比特的 RAM 中, 二进制中的前面5 位是符号位,如果测得的温度大于0,这 5 位为 0,只要将测到 的数值乘于 0.0625 即可得到实际温度;如果温度小于0,这 5 位为 1,测到的数值 - - 9 需要取反加 1 再乘于 0.0625 即可得到实际温度。例如 +125的数字
22、输出为07D0H, +25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输 出为 FC90H。 (3)DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一个高速暂存RAM 和一个非易失性的 可电擦除的 EEPRAM,后者存放高温度和低温度触发器TH、TL 和结构寄存器。 (4)配置寄存器 该字节各位的意义如下: 图 2.9 配置寄存器 低五位一直都是 “1“,TM 是测试模式位, 用于设置 DS18B20 在工作模式还是在 测试模式。在 DS18B20 出厂时该位被设置为0,用户不要去改动。 R1 和 R0 用来设 置分辨率,
23、如下表所示: (DS18B20 出厂时被设置为12 位) 图 2.10 温度分辨率设置表 (5)高速暂存存储器 高速暂存存储器由9 个字节组成,其分配如表 5 所示。当温度转换命令发布后, 经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0 和第 1 个字 节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如 图 2.9 所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制; - - 10 当 S=1 时,先将补码变为原码,再计算十进制值。图2.10是对应的一部分温度值。 图 2.11 DS18B20 暂存存储器分布 根据 DS18B20 的通讯协议
24、,主机(单片机)控制DS18B20 完成温度转换必须 经过三个步骤:每一次读写之前都要对DS18B20 进行复位操作,复位成功后发送 一条 ROM 指令,最后发送RAM 指令,这样才能对DS18B20 进行预定的操作。复 位要求主 CPU 将数据线下拉 500 微秒, 然后释放,当 DS18B20 收到信号后等待16 60 微秒左右,后发出60240 微秒的存在低脉冲,主CPU 收到此信号表示复位成 功。ROM、RAM 指令如下图所示: - - 11 图 2.12 ROM、RAM 指令表 2.3.3 DS18B20的应用电路 DS18B20 测温系统具有测温系统简单、测温精度高、连接方便、占用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仓库 温湿度 检测 系统
链接地址:https://www.31doc.com/p-5168136.html