数字化温度场测量系统设计

   2023-07-11 互联网2780
核心提示:  摘 要:设计了一个数字化温度场测量系统,该系统可以对三维空间温度进行多点分布式数据采集,并对单总线系统通讯的可靠性进行了

  摘 要:设计了一个数字化温度场测量系统,该系统可以对三维空间温度进行多点分布式数据采集,并对单总线系统通讯的可靠性进行了分析和实验。采用了数字集成温度传感器,具有测量误差小、分辨率高、抗干扰能力强、成本低等特点。该系统适合于测温点多,测量空间范围大,测量实时性强,数据处理量大的场合。

  1 引言

  本测量系统采用了近年来出现的半导体智能温度传感器[1],它的内部是一个智能化的测温集成电路(微处理器),可以直接将温度信号转换成数字信号传送给下位机(单片机);它还可以将数个传感器用单总线的形式连接在一起, 进行远距离的测量。具有测温点多, 测量电路简单,占用计算机 I/O 口少,测量速度快,测量精度和分辨率高、抗干扰能力强、成本低的特点。上位机采用组态软件建立实时数据库,具有实时数据和历史数据显示管理功能。

  本项目研究的目的是测量一个有限空间内气体或液体的温度场数据[2] [3],并将采集的实时数据传送给计算机(上位机),保存在数据库中。为分析气体或液体温度场的变化规律,以及进行温度控制提供了一个智能化应用平台。该实验系统可以应用在热力学的实验教学中,也可以应用于电冰箱、空调机制冷系统温度场分布的研究, 以及应用在中央空调的节能与计费, 大型冷冻库和粮食仓库温度监控系统中[4]。

  2 系统硬件设计

  2.1 系统设计要求

  本文以有限空间内的空气温度测量为例。设计在该空间内均匀分布有 64 个测温点,为了能准确描述温度场的空间分布,要求该系统能对所有测温点进行同步测量,测量周期为 30 秒,测量温度分辨率为0.5℃,测量温度范围-30~+100℃。

  2.2 智能温度传感器

  本系统采用的是美国DALLAS 公司生产的数字式智能温度传感器 DS18B20。该传感器的特点是:采用DALLAS 公司独特的单总线技术,可以直接与单片机I/O 口连接,单片机可以通过单总线将操作命令字发送给传感器,也可以从传感器中读出测量的温度数据;测温范围是 -55~+125℃,其分辨率可以通过编程的方法设定,分辨率的范围是0.5~0.0625℃;温度/ 数字量转换时间为94ms~750ms,分辨率越高转换时间也越长;该传感器内部有一个 6 4 位经过激光修正的只读存储器ROM,其中产品系列号占 8 位,产品序号占 48 位,每一个传感器只有一个唯一的产品序号,适合于在单总线上挂接多片DS18B20 传感器。

  单总线是一种具有一个总线主机(亦称主CPU)和一个或多个从机(从属器件)的系统, D S l 8 B 2 0 为从机。DSl8B20 有严格的通信协议来保证各位数据传输的正确性和完整性。通信协议规定了复位脉冲、应答脉冲、写0、写1、读0和读1等几种信号的时序。除了应答脉冲, 其余信号均由主CPU控制。主机CPU经过单线接口访问DSl8B20 的工作流程为:对 DSl8B20 进行初始化→ROM 操作命令→存储器(包括便笺式RAM 和E2RAM)操作命令→数据处理。主CPU 对ROM 操作完毕,即发出控制操作命令,使DSl8B20 完成温度测量并将测量结 果存入高速暂存器中,然后读出此结果。

  2.3 系统硬件设计

  本文设计了一个单线多点温度监控系统,该系统是由上位机和下位机两大部分组成。

  下位机完成远程数据采集与控制,它是由单片机和若干个DS18B20 数字温度传感器电路等组成、可以对64 个(可以扩展至256 个)测温点进行数字化测量。温度传感器采集的数据通过单总线方式传送给单片机进行数据处理。每个传感器温度测量时间为 0.2s,测量距离50M。DSl8B20 采用独特的“单线(1-Wire)总线”专有技术,可以通过单总线直接与AT89S52 单片机I/O 口相连接, 进行数据传送, 能以数字形式直接输出被测点温度值。对于挂在同一总线上的所有 DS18B20 来说,既要共享总线资源而又不产生通信冲突,这里采用了标识码识别技术。DS18B20 具有全球唯一标识码,其长度为64位,即 8 个字节,可通过标识码匹配来选择传感器,并进行温度读取。当单片机向总线发出某个DS18B20 的标识码时, 总线上所有的器件都将对该标识码进行核对。

  只有符合匹配的传感器才会响应,并可接收来自微机的调用命令, 而其它的传感器则关闭, 在没有新的复位脉冲到来之前不会响应。DS18B20 标识码可以事先通过另外编写的程序读出, 并存放在单片机程序表格中, 通过查表的方法对已知标识码进行搜索,这样便实现了在单总线上进行多传感器数据通信的目的.

  

  在实际应用中,当单总线上所挂 DS18B20 超过8 个时, 就需要解决微处理器的总线驱动问题。图 1 为 DS18B20 与单片机的两种连接方法。为了简单起见, 可通过扩展AT89S52 单片机I/O 口的方法,来增加温度传感器的数目。例如选用单片机8 位I/O 口作为8 路温度采样通道,每个通道可直接挂8 个DS18B20 传感器,8 个通道一共可以挂 64 个传感器。若温度采集点与单片机距离比较远, 则需增加长线驱动电路来解决。此时, 单片机需要两条I/O线来完成与DS18B20的数据通讯。当远程采集数据时,AT89S52 通过P1.0 经总线驱动器向DS18B20 发送控制命令,DS18B20 根据接受到的不同命令完成传感器识别、温度采集、温度上、下限设定、报警和测温值发送等任务。AT89S52 通过 P1.1 接收由DS18B20 发送来的测温数据。当近距离采集数据时,AT89S52 通过P1.7 可直接与DS18B20 连接(不超过8个),P1.7 既是数据发送口,也是数据接收口。

         需要注意的是,连接DS18B20 的总线电缆是有长度限制的。当采用普通信号电缆传输长度超过 50m 时,传送数据将发生错误。当总线电缆改为带屏蔽电缆时,正常通讯距离可达 100m,当采用长线驱动电路通讯距离可加长到150m。长距离数据通讯发生错误的原因主要是由于总线分布电容加大, 使信号波形产生畸变( 上升沿时间变长) , 而无法在规定的时间区间内完成数据的读写操作。为了验证电缆的分布电容对通信的影响,在距单片机 I/O 口不同位置处分别接入不同容量的电容器进行通信实验。实验表明: 分布电容越大误码率越高。为了减小分布电容的影响,可将单总线与电源线以及地线尽量分离或单独布线; 在器件复位操作中, 若某个器件接触不好、断线或受到干扰时,将没有返回信号使程序进入死循环。因此,在软件设计中采用了容错技术和报警提示。

 

 3 系统软件设计

  3.1 下位机程序设计

  

  下位机AT89S52 单片机的主要任务有:对全部温度传感器进行温度转换,温度读取;并将采集的温度数据通过串行口发送给上位机。图2 为单片机温度采集子程序流程图。首先对单总线上的传感器进行初始化,然后发跳过ROM 命令,最后发温度转换命令,此时单总线上的全部传感器同时进行温度转换。这样一方面减少了温度转换的时间,另一方面使系统采集的数据为同一时刻的温度,提高了数据的时效性。又因为在单总线上有不同的传感器, 所以温度的读取只能每次读取一个传感器。注意的是:每次读取温度的过程还要先对单总线上的传感器进行初始化;再发符合 ROM 命令,接着发某一个传感器的 64 位标识码,只有 64 位标识码全部符合的传感器才会被选中;此时单片机发读温度命令,读出该传感器的温度值。如果系统出错,没有一个传感器符合该标识码, 则程序返回重新进行初始化。需要说明的是: 每个传感器对应的标识码是通过专门编写的读标识码程序读出, 并存放在单片机程序的数据表中, 此时单总线上只能挂一个传感器。

  3.2 上位机软件设计

  上位机采用 MCGS 组态软件 建立了实时数据库。可以实现在线监控和显示所有测温点实时和历史温度值; 实时温度曲线和历史温度曲线显示以及数据打印等功能。这里为测量的温度场建立了一个三维空间坐标(见图 3 温度场三维空间坐标),每一个坐标的单位长度为 1 米,每间隔 1 米安装一个温度传感器,每一个坐标安装 4 个传感器,三维空间共安装 4 × 4 × 4=64 个温度传感器。设每一个温度传感器的编号就是它的三维空间坐标, 如编号 4 1 0 表示它的坐标为 X = 4 m 、Y=1m、Z=0m.

  

  应用 MCGS 组态软件设计了系统管理、历史、数据、数据显示、报警数据等一级菜单。系统管理菜单可以对用户窗口进行设置和系统退出。

  历史数据菜单可以显示所有传感器的历史温度值, 温度测量周期用户可以设置,保留历史温度值的时间区间也可以设置。进入数据显示菜单中,可以看到 4 个窗口, 即温度场历史数据窗口和实时数据窗口, 温度场历史温度曲线和实时温度曲线,这里显示的是系统最高温度和最低温度数据和曲线。本系统对测量的温度值设置了上、下限报警值,当某传感器测量的温度值达到报警值时,将会在数据报警菜单中显示出传感器的编号(即坐标),报警时的温度值,报警开始时间和报警结束时间,以及系统对报警信号是否作出过应答.

  单片机与上位机的串行通讯可以有两种方法,一种方法是采用RS232 串口通讯,虽然RS232 通讯距离只有15 米左右,但温度传感器DS18B0 与单片机的单总线通讯可以达到100 米;另一种方法是采用RS485 串口通讯标准,单片机与上位机的通讯距离可以达到 1000 米以上。这里采用了RS232 串口通讯。

  4 结束语

  本系统采用了新型智能化半导体温度传感器;采用了单总线多点远程数据采集系统。它可以将传感器直接与计算机(单片机)连接,传感器能以数字形式直接输出被测点温度值,以单线(一条线)形式远程传送若干测温点数据给单片机。具有测温点多, 测量电路简单, 占用计算机 I/O 口少,测量速度快,测量精度和分辨率高、抗干扰能力强、成本低的特点。本系统经实际使用,工作稳定可靠, 取得了良好的效果。

  参考文献:

  [1] 沙占友.智能化集成温度传感器原理与应用[M],北京:机械工业出版社,2002,7.

  [2] 郁翔,赵学增.数字温度传感器DS18B20在温度场测试中的应用[J],导弹与航天运载技术,2004(5):55-58.

  [3] 何东坡,任贵波,韩春鹏.DS18B20在季冻土区公路路基温度场测量中的应用[J],电子技术应用,2010(4):48-51.

  [4] 文哲雄,罗中良.单总线多点分布式温度监控系统的设计[J],微计算机信息,2005(6):63-65

  作者简介: 文哲雄, 男, 副教授, 研究方向: 传感技术与智能控制


 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅