1-Wire总线测温网络的构建
摘要:本文以1-Wire 器件DS18B20为核心元件,以单片机教学实验仪PHOENIX325为平台,搭建了一套集成度高、扩充空间大的测温网络。该测温网络由4只DS18B20组成,挂接在单片机P1口;软件设计方面,采用二叉树遍历算法,搜索总线上所有家族号为28H的器件,匹配ID号后启动温度转换,将结果送到1-Wire总线上,并对编程思路、1-Wire器件的各种操作作了详细的介绍。
引言
多点测温是重要库所、场站、厂房安全工作的重要环节,多点测温应以实时、精确为原则,在此基础上,电路设计要求尽量简单,程序设计应功能强、效率高,本文采用DS18B20作为核心元件,充分利用该器件分辨率高、所需元件少、宜于组网的特点,以二叉树遍历法为编程算法,构建基于1-Wire总线的测温网络。
方案设计
核心元件的选择
测温元件选用Dallas公司出品的DS18B20,与传统热敏电阻不同,DS18B20是1-Wire总线的数字温度传感器,可直接将被测温度转化成串行数字信号供单片机处理,适用于恶劣环境的现场温度测量。
1-Wire器件的特性
DS18B20具有以下特性:测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;可由软件设定9~12位分辨率,对应的测量精度分别为0.5℃、0.25℃、0.125℃和0.0625℃,实现高精度测温;在寄生电源方式下可由数据线供电;独特的单线接口方式,DS18B20在与单片机连接时仅需要一条口线即可实现与单片机的双向通信;支持多点组网,多个DS18B20可以并联在总线上,实现组网测温;测量结果直接输出数字温度信号,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
电路设计
DS18B20供电方式有两种:内部电源和外部电源。采用内部电源供电时,功率由总线提供,此时引脚3接地,引脚2通过上拉电阻接至总线,在总线高电平期间,器件内部的寄生电容充电,总线低电平期间,寄生电容向器件供电;采用外部电源供电时,引脚3接VCC,在温度转换期间总线不用保持高电平,这样在温度转换期间总线上可以进行其他数据往来,本文采用外部电源方式。图1是测温网络电路图。
除测温电路之外,还有LCD显示、USB通信及电源模块,其功能分别为数据显示、程序下载、系统供电,由于这几部分电路通用性强,参考资料较多,故此处省略。
软件编程
二叉树遍历算法
二叉树遍历算法是搜索识别网络中1-Wire器件的编程首选,二叉树遍历算法的要点可归纳为“读2位,写1位”。
- 由DS18B20数字温度计全面解析1-Wire通信(05-03)
- 自学单片机心得体会(06-17)
- 基于霍尔传感器的直流电机转速测量系统设计(11-14)
- 基于8051F单片机的数字音频信号源的幅度控制(12-01)
- 动态参数检测与虚拟仪器综合系统设计(11-26)
- 基于C8051F005单片机的小电阻测试仪(01-05)