摘要:本文提出的粮仓温、湿度测控系统采用AT89C51单片机为测控核心,以“一线式”数字温度传感器DS18B20和电容式湿敏传感器HS1100/HS1101为温、湿度数据采集部件,通过PC机作为人机接口,实现了远程数据采集与测控指令参数的设置。具有界面友好、控制灵活、硬件系统集成度高、电路简单、功能强、性能可靠、成本低等特点。本系统解决了传统温、湿度测试器材及人工去湿、降温的诸多弊端。并可实现多点温、湿度参数的测量与控制。关键词:AT89C51;DS18B20;HS1100/HS1101;PC机;人机接口Abstract:Thepaperdevelopsatemperatureandhumiditycontrollingsystemforgraindepot.ThesystemisbasedonachipmicroprocessorAT89C51,usesone-linetypedigitaltemperaturesensorDS18B20andthecapacitancehumiditysensorHS1100/HS1101tocollecthumituredata,realizesthecollectingofremotedataaswellasthesettingofmeasuringandcontrollingorderparameter.Thesystemhasthefollowingadvantages:itsinterfaceisfriendly,itiscontrolledeasily,itshardwaresystemisintegratedhighly,thecircuitryissimple,itsfunctionisstrong,ithasgoodperformance,thecostislowerandsoon.Thesystemsettlesmanydefectsoftraditionalhumituretestingequipmentsaswellasmanualdewettingandcooling.Meanwhile,thesystemrealizesthemeasuringandcontrollingofmultiple-pointhumitureparameters.Keywords:AT89C51;DS18B20;HS1100/HS1101;PC;personaldigitalassistant(PDA)11.系统功能说明本设计以粮仓室内外温、湿度测控电路为核心,以上位PC机为系统人机接口,测控电路与上位PC机通过串行通信方式实现数据交互。测控电路通过数据采集装置定时采集粮仓温湿度数据,并根据控制参数做出控制决策,驱动设备运行(自动启动或关闭空调设备或风机系统),并随时准备接受上位PC机的指令,当受到询问时,将粮仓的各项数据编码通过串行通信方式传输到上位PC机。上位PC机可根据用户要求定时向测控电路查询粮仓温、湿度数值和设备运行状态。并可以对从机进行参数设置(包括:空调起、停参数;风机起、停参数;加湿机起、停参数;温、湿度报警门限等)及控制(强制打开空调风机与加湿机),从机也可以独立工作。上位PC机通过串口电路接收到数据后,进行数据处理,在监控界面上显示当前的状态信息,并将此信息实时地存储到数据库中,为用户维护和管理准备数据。也可以将一段时期的数据信息汇集成报表,还可以将一段时间的数据绘制成图形、曲线,实现对数据的分析与管理。2.系统总体设计2.1.系统硬件结构设计根据系统功能要求,本硬件系统包括四个功能模块:1、上位PC机。完成参数设置及控制、数据存储、处理及管理功能。2、串行通信模块。应用RS-485通信方式完成测控电路与上位PC机的数据交换。3、测控电路模块。主要由AT89C51组成主控电路,实现数据收集与控制功能,并能在主机关机的情况下独立实现所有的控制功能。4、数据采集模块。实现温、湿度实时数据采集与数据转换。系统结构框图如下:图1:系统结构框图2.2.通信方案选择RS-485以远距离、多节点(128个)以及传输线成本低的特性成为工业应用中数据2传输的首选标准。考虑到本系统传输距离及多粮仓控制的扩展方向等因素,本系统选用RS-485通信方式,RS-485通信的特点如下:(1)RS-485的逻辑“1”以两线间的电压差为+2~+6V表示;逻辑“0”以两线间的电压差为-2~-6V表示,该电平与TTL电平兼容,可方便与TTL电路连接;(2)RS-485接口的最大传输距离标可达3000米,RS-485接口在总线上是允许连接最多达128个收发器,可以利用单一的RS-485接口建立起单元用户设备网络系统。本设计采用RS-485总线半双工通信方式。标准RS-485接口的输入阻抗为≥12KΩ,相应的标准驱动节点数为32个。MAX1487芯片的输入阻抗设计成1/4负载(≥48KΩ),相应的节点数可增加到128个。MAX1487是半双工通信芯片,且具有抗静电及抗雷击的功能,因此本设计选用了MAX1487芯片。3.系统硬件设计本系统硬件包括:温度检测、湿度检测、A/D转换、单片机及附属电路、控制接口(空调、风机)、键盘及显示、报警电路、通信串口、PC机等部分的设计。系统整体电路框图如图2所示。图2:系统整体电路框图3.1.数据采集电路设计3.1.1.温度采集接口电路3.1.1.1.DS18B20介绍:DALLAS最新单线数字温度传感器DS18B20“一线总线器件”体积小、适用电压宽、3经济。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测控,支持3~5.5V的电压范围。DS18B20具有如下特点:(1)独特的单线接口只需1个接口引脚即可通信。(2)在DS18B20中的每一个器件上都有独一无二的序列号可实现多点测量。(3)不需要外部元件即可实现测温。(4)由数据线供电,不需外接电源。(5)测量范围从-55至+125℃,在-10—+85℃范围内保证0.5℃的精度。(6)用户可以从9位到12位选择数字温度计的分辨率。(7)内部有温度上、下限告警设置。(8)用户可定义的非易失性的温度告警设置图3:是TO-92封装和SSOP封装的DS18B20的外部结构图。图3:DS18B20外观DS18B20引脚功能描述如下:DQ:数据输入/输出引脚。开漏单总线引脚。当被用在寄生电源下,可向器件供电。VDD:电源引脚,可选择使用。当工作于寄生电源时,此引脚必须接地。NC:空引脚。DS18B20内部结构主要由六部分组成:电源电路、64位光刻ROM及1—wire接口、温度传感器、非易失的温度报警触发器TH和TL、配置寄存器和CRC校验码产生器。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。DS18B20高速存储器包含了9个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是配置寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余校验字节。其中,配置寄存器的内容如下:“TMR1R011111”低5位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表1所示:(DS18B20出厂时被设置为12位)4R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms表1分辨率设置表DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,S为符号位。如下表2所示。表212位的温度转化形式表这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。DS18B20依靠一个单线接口通信。在单线接口情况下,必须先建立ROM操作协议,才能使用存贮器和控制操作。因此,控制器必须首先提供五种ROM操作命令之一:(1)ReadROM(读ROM);(2)MatchROM(匹配ROM);(3)SearchROM(搜索ROM);(4)SkipROM(跳过ROM);(5)AlarmSearch(告警搜索)。这些命令对每一器件的64位光刻ROM部分进行操作。如果在单线上有许多器件,那么可以挑选出一个特定的器件并给总线上的主机指示存在多少器件及其类型。在成功地执行了ROM操作序列之后可,使用存贮器和控制操作,然后控制器可以提供六种存贮器和控制操作命令之一。DS18B20依靠一个单线接口通信。单线总线的空闲状态是高电平。3.1.1.2.接口电路AT89C51与DS18B20的接口电路如图4所示。5图4:AT89C51与DS18B20的接口电路图中,DS18B20的I/O端口DQ通过一个4.7K的外部上拉电阻与单片机连接。多片DS18B20共用一条总线,通过光刻序列号的区分实现多点测温。本设计中DS18B20采用寄生电源方式,故GND与VDD端均接地。3.1.2.湿度采集电路3.1.2.1.HS1100/HS1101湿度传感器介绍:HS1100/HS1101湿度传感器特点:高可靠性和长期稳定性,快速响应时间,适用于线性电压输出和频率输出两种电路,其相对湿度在1%--100%RH范围内;电容量由16pF变到200pF,其误差不大于±2%RH;响应时间小于5S;温度系数为0.04pF/℃,精度较高。3.1.2.2.湿度测量电路设计:HS1100/HS1101电容传感器,其容量随着所测空气湿度的增大而增大。将电容的变化量准确地转为计算机易于接受的信号,常有两种方法:一是将该湿敏电容置于运放与阻容组成的桥式振荡电路中,产生的正弦波电压信号经整流、直流放大、再A/D转换为数字信号;另一种是将该湿敏电容置于555振荡电路中,将电容值的变化转为与之成反比的电压频率信号,可直接被计算机所采集。集成定时器555芯片外接电阻R1、R3与湿敏电容C,构成了对C的充电回路。7端通过芯片内部的晶体管对地短路又构成了对C的放电回路,并将引脚2、6端相连引入到片内比较器,便成为一个典型的多谐振荡器,即方波发生器。另外,R21是防止输出短路的保护电阻。该振荡电路两个暂稳态的交替过程如下:首先电源v㏄通过R1、R3向HS1100充电,经t充电时间后,Uc达到芯片内比较器的高触发电平,约0.67V㏄,此时输出引脚3端由高电平突降为低电平,然后通过R3放电,经t放电时间后,Uc下降到比较器的低6触发电平,约0.33V㏄此时输出,此时输出引脚3端又由低电平突降为高电平,如此翻来覆去,形成方波输出。其中,充放电时间为t充电=C(R1+R3)Ln2,t放电=CR3Ln2因而,输出的方波频率为:f=1/(t放电+t充电)=1/[C(R1+2R3)Ln2]可见,空气湿度通过555测量电路就转变为与之呈反比的频率信号,表3给出了其中的一组典型测试值。表3:空气湿度与电压频率的典型值3.1.2.3.多路湿度检测信号的实现为了能够实现湿度信号的多点测量,本设计采用2片8选1模拟开关CD4051组成矩阵测量网络,可实现64路湿度信号的采集。矩阵测量网络由湿度—频率变换电路及2片CD4051组成,其硬件电路如图5所示。图中,每片CD4051有3条地址码控制线,通过单片机的控制每片CD4051可实现8选1功能,2片CD4051组合使用就可实现64路湿度信号的采集。U2的INH端直接接地,U1的INH端通过单片机端口控制,在进行湿度