电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

基于单片机的浅海温度测量仪设计

来源:-- 作者:-- 浏览:484

标签:

摘要: 1 温度测量仪的硬件设计   浅海温度测量仪主要由智能数字集成温度传感器DS18B20和AT89S51单片机控制器及屏蔽通信电缆组成。浅海温度测量仪总体结构图如图1所示。   1.1 DS18B20单线数字温度传感器简介   由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大

  1 温度测量仪的硬件设计

  浅海温度测量仪主要由智能数字集成温度传感器DS18B20和AT89S51单片机控制器及屏蔽通信电缆组成。浅海温度测量仪总体结构图如图1所示。

  1.1 DS18B20单线数字温度传感器简介

  由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。

  DS18B20采用单总线专用技术,既可通过串行口线,也可通过其他I/O口线与微机接口,测温范围为-55℃~+125℃,测量分辨率为0.0625℃。DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地, I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时Vcc、GND接地, I/O接单片机I/O。无论是内部寄生电源还是外部供电, I/O口线要接5kΩ左右的上拉电阻。DS18B20有六条RAM控制命令和五条ROM控制命令,具体说明如表1、表2所示。

  单片机对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器及数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。在主机控制DS18B20完成温度转换这一过程中,根据DS18B20的通讯协议,必须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

  1.2 温度测量仪硬件电路设计

  基于单片机的浅海温度测量仪主要以AT89S51作为控制核心,通过长距离屏蔽通信电缆对DS18B20进行读写操作。在长距离数据传送时,对DS18B20进行读写操作,尤其在进行写1时,由于DS18B20在启动写时序后的15~60μs的时间内必须采样单线,因为导线分布电容和DS18B20元件内部电容的影响,这个条件很难被满足。为了解决长距离通信电缆的导线分布电容及阻抗匹配,采用了三态门驱动电路以提高数据读写的可靠性,三态门器件可以采用74LS125,具体硬件电路示意图如图2所示。

  为了能分析海水一定深度的温度梯度及海水的表面温度,设计在通信电缆总线上按需要每隔一段距离如10m或20m并接一个DS18B20。每一段节点的温度值可以通过DS18B20中的64位激光修正的只读ROM来定位。

  由于系统所处的环境非常恶劣,抗干扰设计也是一项很重要的内容。为了减少电磁干扰对通信电路正常工作的影响,通信总线使用三芯屏蔽电缆,并对屏蔽层进行单点接地,将屏蔽层单点连接到控制器端的电源地上,DS18B20由专用的电源线提供电源。如果由于电磁干扰使单片机程序失控,AT89S51的看门狗定时器可以自动进行程序复位。为了同时显示多点温度数据,采用一块128*64的LCD作为温度测量仪的显示器模块,可以显示32个汉字或64个数字及英文字母,可以同时动态显示8个温度值。

  2 温度测量仪的软件设计

  程序主要分为DS18B20传感器控制读写程序、数据处理程序及LCD显示程序三大部分。传感器控制读写程序是按照DS18B20的通信协议进行编制,系统在AT89S51程序控制下,完成对传感器温度值的读写和温度数据处理及LCD的显示。主程序的流程图如图3所示。

  要进行多点温度的巡回测量,先要读取并接在总线电缆上的每一个DS18B20传感器64位的光刻ROM代码,然后将取得的ROM代码编程写入AT89S51单片机内部的FlashROM对应数据表中,建立测量位置点和ROM代码之间的关系表。获取64位ROM序列号代码的读取必须严格按单总线数字温度传感器规定的协议操作,在ROM操作命令中,如表2所示中有两条命令专门用于获取传感器序列号:读ROM命令(33H)和搜索ROM命令(0F0H),读ROM命令只能在总线上仅有一个传感器的情况下使用,搜索ROM命令则允许总线主机使用一种“消去”处理方法来识

  别总线上所有的传感器序列号。DS18B20的64位ROM代码结构如表3所示。

  在对单总线接口编写程序时,可以采用功能子程序的设计方法提高程序设计的效率, DS18B20传感器的控制读写程序是程序设计的难点。多点温度读取程序流程图如图4所示。

  DS18B20芯片出厂时默认为12位的转换精度,转换的结果用16位符号扩展的二进制补码表示。其中最高5位是符号位,如果温度值大于0,这5位是0,只要将测量到数值乘0.0625即可得到实际温度值;如果温度值小于0,这5位是1,将测量到数值二进制数取反加1,再乘0.0625即可得到实际温度值。用单片机实现乘0.0625不是很容易的,可以采用整数位与小数位分别处理的方法,其中最低四位可以用查表方法进行二进制数转换成十进制数,即查表16个对应的数值就可以得到0.0~0.9对应的十进制小数位,整数位可以用直接的二进制数转换成十进制数方法。

  3 结束语

  渔业生产中采用海水表温和一定深度温度梯度的分析,结合相应的地理位置信息,可以获取相关的丰产渔场分布,提高渔业生产的产量。这种方法可以有很大的应用前景,用单总线温度传感器和单片机设计成的浅海温度测量仪具有一定的推广价值。

  参考文献

  [1]刘洪生,陈新军. 2000年5-7月北太平洋海域水温分布及柔鱼渔场研究[J].湛江海洋大学学报, 2002, 22(1):34-39.

  [2]沙占友,王晓君.智能化集成温度传感器原理与应用[M].机械工业出版社, 2002.

  [3]王幸之,钟爱琴. AT89系列单片机原理与接口技术[M].北京航空航天大学出版社, 2004.

  [4]高玉芹.基于AVR单片机和DS18B20的多点温度测量系统[J].仪表技术, 2005, (3).

  作者简介:蔡志刚(1964—),男,讲师,硕士,研究方向为通信与信息系统。

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67