由DS1820构成的单线多点储粮温度自动测试系统
数字式温度检测仪 论文答辩 PPT素材
在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要 地位。首先让我们了解一下温度检测系统在各个方面的应用领域:消 防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测, 空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视 系统之应用,医疗与健诊的温度测试,化工、机械…等设备温度过热 检测。温度检测系统应用十分广阔。
本设计的数字温度检测仪与传统的温度计相比,具有读数方便,测温 范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较 准确的场所,或科研实验室使用,该设计控制器使用单片机 AT89C51,测温传感器使用DS1820,用LCD液晶显示器实现温度 显示,能准确达到以上要求。
总体方案设计
将采集过来的温度信号通过测量通道,传 入给单片机,单片机通过处理在数字显示 器显示出温度值并判断是否符合所定标准, 并且通过传输通道将报警信号传送给蜂鸣 器使蜂鸣器做出相应反应从而起到监控温 度的目的。
本系统工作原理
。由温度传感器DS1820对温度进行采样 和转换成数字信号送入单片机,并与设定 的报警温度上下限值进行比较,信息通过 LCD显示出来。如果实时温度超过设定的 上,下限值,一方面由LCD显示信息,另 一方面让蜂鸣器发出警报声。从而达到对 温度进行实时检测。键盘可以输入所要控 制的温度值,与检测到的温度进行比较, 根据结果进行报警控制。
系统总体框图
硬件选择与设计
传感器 进行温度控制首先要采集温度信号,本设
计选择的是单线数字温度传感器DS1820,它与 其他传感器相比有以下几个优点: (1)单总线,节省I/O口线; (2)数字化,内部自带A/D,编程方便; (3)集成度高,外围硬件电路简单; (4)精度高,测温分辨率可达0.0625℃; 所以本设计选用DS1820作为温度传感器。
基于数字传感器DS1820测温系统
基于数字传感器DS1820的测温系统【摘要】:本文介绍了美国dallas半导体公司生产的数字传感器ds1820的电路结构、寄生电源供电方式和测温工作原理,设计了基于4个ds1820 构成的单线多点温度测量系统的电路,采用单片机at89c2051控制多点温度的采集和处理,并将采集到的多点温度循环显示。
给出了测温系统的工作原理和程序流程。
【关键词】:ds1820 数字温度传感器单线多点温度测量系统由ds1820 构成的单线多点温度测量系统是一种非常实用的现场总线分布式测量系统。
其硬件和软件简单,只占用单片机一个接口引脚,放大器和a/ d 转换器也都被省却,节约了大量的引线和控制通道切换的逻辑电路,安装方便,廉价,在- 55~ + 125 ℃范围内相对其它通用的现场总线分布式测温系统来讲具有绝对的优势[1]。
1、ds1820 芯片简介1.1ds1820引脚及功能ds1820有三个引脚:gnd(接地)、dq(数据输入/输出脚;单线接口,可作寄生供电)、vdd(接电源电压)。
1.2ds1820内部结构ds1820 内部硬件电路主要由四部分组成: 64 位rom、暂存存储器、温度传感器、温度报警触发装置th 和tl,如图1方框内结构所示[2]。
光刻rom中的64位序列号可以看作是该ds18b20的地址序列码。
光刻rom的作用是使每一个ds18b20都各不相同,这样就可以实现一根总线上挂接多个ds18b20的目的。
ds1820 的存贮器由一个高速暂存便笺式ram 和一个非易失性电可擦除eeram 组成,后者存贮高温度和低温度和触发器th 和tl。
暂存存贮器有助于在单线通信时确保数据的完整性。
2、ds1820的工作原理ds1820的测温原理:内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时振荡器的脉冲无法通过门电路。
计数器设置为-55℃时的值,如果计数器到达0之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55℃。
用DS1820实现温度测量
任务三用DS1820实现温度测量*一、任务要求DS1820是美国DALLAS公司生产的单总线式数字温度传感器,具有微型化、低功耗、高性能、搞干扰能力强、易配处理器等优点。
本任务利用DS1820来完成温度的检测,通过单片机进行数据处理并显示温度值。
知识目标:(1) 了解DS1820的工作原理。
(2) 掌握DS1820的使用和特性。
技能目标:(1) 会单片机和DS1820的接口电路设计。
(2) 能进行DS1820温度采集、单片机数值处理和温度显示的程序设计。
二、知识链接1. DS1820简介DS1820能在现场采集温度数据,并将温度数据直接转化成串行数字信号输出给单片机处理。
(1) 独特的单线接口方式:当DS1820与微处理器连接时,仅需要一条数据线即可实现微处理器与DS1820的双向通信。
(2) 测量温度范围为 -55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃。
(3) 电压适用范围3V~5.5V。
(4) 可编程为9位~12位A/D转换精度。
(5) 用户设定的上、下限报警温度存储在EEPROM中,掉电后依然保存。
(6) 在没有外部电源时,DS1820依然能够继续工作,此时电源由总线为高电平时DQ脚上的上拉电阻提供(寄生供电模式),此模式下,VDD脚必须接地。
(7) 同一总线上可以挂接多个DS1820,适用于构成多点温度测控系统。
2. DS1820测温原理DS1820只有3个引脚,说明如下:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端。
图4-25 DS1820内部测温电路框图DS18B20内部的低温度系数振荡器是一个振荡频率随温度变化很小的振荡器,为计数器1提供一频率稳定的计数脉冲。
高温度系数振荡器是一个振荡频率对温度很敏感的振荡器,为计数器2提供一个频率随温度变化的计数脉冲。
初始时,温度寄存器被预置成-55℃,每当计数器1从预置数开始减法计数到0时,温度寄存器中的值就增加1℃,这个过程重复进行,直到计数器2计数到0时便停止。
基于DS1820的多点温度测量电路设计
5 "时的值 ,如果计数器 到达 0之前 ,门 电路未 关闭,则 5 C
温度寄存器的值 将增加, 这表示当前温度高于一52 同时, 5 *。 ( 计数器复位在 当前温 度值上 , 电路对 振荡器的温 度系数进行 补偿 , 计数器重新开始计数直到 回零 。 如果门电路仍然未关 闭,则重复以上过程。温 度表示值为 9i b ,高位为符号位 , t
42
入 DS 8 0中的 C C值作比较 , I2 R 以判断主机收到的 R OM 数 据是否正确。 R C C的函数表达式为 : R = +X 4X3 。 C C X8 5 - +l 此外 ,D 12 S 8 0尚需依上式为暂存器中的数据来 产生一个 8
维普资讯
( )D 12 1 S 80的特点: 它具有微型化 ,低功耗 ,高性能 ,抗干扰能力强,易 配
( DS 8 0的测 温 原 理 : 3) 1 2
D 12 S 80内部计数器对一个受温度影响的振荡器 的脉冲 计数 , 低温时振荡器的脉冲可 以通过 门电路 , 当到达某一 而 设置 高温时振荡器 的脉 冲无法通过 门电路。计数器设置为
得到所测实际温度的整数部分T , Z 然后再用 B H指令取计 E
数器 l 的计数剩余值 C 和每度计数值 C 考虑到 D 12 S D。 S 80
测量温度的整数部分以 02 ℃、07 " . 5 . C为进位界 限的关系 , 5
实际温度 T 可用下式计算 : S
TS (’ = Z一02 I ,5℃)+( -CS / CD- )CD
位 C C送给主机,以确保 暂存器数据传送无误 。 R
口来完成对 DS 8 0的总线上拉 。 采 用寄 生电源供电方式 12
时 V D必须接地 。由于单线制只有一根线 ,因此发送接收 D
济南清风电子 DS1820单总线数字温度计 说明书
DS1820单总线数字温度计一概述1 1 一般说明DS1820数字温度计提供9位温度读数,指示器件的温度 信息经过单线接口送入DS1820或从DS1820送出因此从中央处理器到DS1820仅需连接一条线和地读写和完成温度变换所需的电源可以由数据线本身提供而不需要外部电源因为每一个DS1820有唯一的系列号silicon serial number 因此多个DS1820可以存在于同一条单线总线上这允许在许多不同的地方放置温度灵敏器件此特性的应用范围包括HVAC环境控制建筑物设备或机械内的温度检测以及过程监视和控制中的温度检测1 2 特性 独特的单线接口只需1个接口引脚即可通信多点multidrop能力使分布式温度检测应用得以简化 不需要外部元件 可用数据线供电不需备份电源测量范围从-55至+125增量值为0.5等效的华氏温度范围是-67F至257 F增量值为0.9F以9位数字值方式读出温度在1秒典型值内把温度变换为数字 用户可定义的非易失性的温度告警设置告警搜索命令识别和寻址温度在编定的极限之外的器件温度告警情况 应用范围包括恒温控制工业系统消费类产品温度计或任何热敏系统1.3引脚排列1.4 详细的引脚说明 引 脚8脚SOIC 引脚PR35符号 说 明 5 1 GND地4 2 DQ 单线运用的数据输入/输出引脚漏极开路见寄生电源一节33V DD可选V DD 引脚有关连接的细节见寄生电源一节二详细说明2 1 综述图1的方框图表示DS1820的主要部件DS1820有三个主要的数据部件164位激光lasered ROM;2温度灵敏元件和3非易失性温度告警触发器TH 和TL 器件从单线的通信线取得其电源在信号线为高电平的时间周期内把能量贮存在内部的电容器中在单信号线为低电平的时间期内断开此电源直到信号线变为高电平重新接上寄生电容电源为止作为另一种可供选择的方法DS1820也可用外部5V 电源供电图1 DS1820方框图与DS1820的通信经过一个单线接口在单线接口情况下在ROM操作未定建立之前不能使用存贮器和控制操作主机必须首先提供五种ROM操作命令之一1Read ROM(读ROM)2Match ROM(符合ROM),3)Search ROM(搜索ROM),4)Skip ROM(跳过ROM),或5Alarm Search(告警搜索)这些命令对每一器件的64位激光ROM部分进行操作如果在单线上有许多器件那么可以挑选出一个特定的器件并给总线上的主机指示存在多少器件及其类型在成功地执行了ROM操作序列之后可使用存贮器和控制操作然后主机可以提供六种存贮器和控制操作命令之一一个控制操作命令指示DS1820完成温度测量该测量的结果将放入DS1820的高速暂存便笺式存贮器Scratchpad memory 通过发出读暂存存储器内容的存储器操作命令可以读出此结果每一温度告警触发器TH和TL构成一个字节的EEPROM如果不对DS1820施加告警搜索命令这些寄存器可用作通用用户存储器使用存储器操作命令可以写TH和TL对这些寄存器的读访问通过便笺存储器所有数据均以最低有效位在前的方式被读写2 2 寄生电源(parasite power)引脚为高电平时这个电路便取得方框图(图1)示出寄生电源电路当I/O或VDD电源只要符合指定的定时和电压要求I/O将提供足够的功率标题为单总线系统一节寄生电源的优点是双重的1利用此引脚远程温度检测无需本地电源2缺少正常电源条件下也可以读ROM为了使DS1820能完成准确的温度变换当温度变换发生时I/O线上必须提供足够的功率因为DS1820的工作电流高达1mA5K的上拉电阻将使I/O线没有足够的驱动能力如果几个SD1820在同一条I/O线上而且企图同时变换那么这一问题将变得特别尖锐有两种方法确保DS1820在其有效变换期内得到足够的电源电流第一种方法是发生温度变换时在I/O线上提供一强的上拉如图2所示通过使用一个MOSFET把I/O线直接拉到电源可达到这一点当使用寄生电源方式时V引脚必须连接到地DD引脚的外部电源如图3所示这种方法向DS1820供电的另外一种方法是通过使用连接到VDD的优点是在I/O线上不要求强的上拉总线上主机不需向上连接便在温度变换期间使线保持高电平这就允许在变换时间内其它数据在单线上传送此外在单线总线上可以放置任何数目的DS1820而且如果它们都使用外部电源那么通过发出跳过Skip ROM命令和接着发出变换Convert T命令可以同时完成温度变换注意只要外部电源处于工作状态GND地引脚不可悬空图2 强上拉在温度变换期内向DS1820供电在总线上主机不知道总线上DS1820是寄生电源供电还是外部V供电的情况下在DS1820内DD采取了措施来通知采用的供电方案总线上主机通过发出跳过Skip ROM的操作约定然后发出读电源命令可以决定是否有需要强上拉的DS1820在总线上在此命令发出后主机接着发出读引脚供电它将送回1时间片如果是寄生供电DS1820将在单线总线上送回0如果由V如果主机接收到一个0它知道它必须在温度变换期间在I/O线上供一个强的上拉有关此命令约定的详细说明见存贮器命令功能一节23运用测量温度SDS1820通过使用在板on-board温度测量专利技术来测量温度温度测量电路的方框图见图4所示提供温度变换所需电流图3 使用VDD图4 温度测量电路DS1820通过门开通期间内低温度系数振荡器经历的时钟周期个数计数来测量温度而门开通期由高温度系数振荡器决定计数器予置对应于-55的基数如果在门开通期结束前计数器达到零那么温度寄存器它也被予置到-55的数值将增量指示温度高于-55同时计数器用钭率累加器电路所决定的值进行予置为了对遵循抛物线规律的振荡器温度特性进行补偿这种电路是必需的时钟再次使计数器计值至它达到零如果门开通时间仍未结束那么此过程再次重复钭率累加器用于补偿振荡器温度特性的非线性以产生高分辩率的温度测量通过改变温度每升高一度计数器必须经历的计数个数来实行补偿因此为了获得所需的分辩率计数器的数值以及在给定温度处每一摄氏度的计数个数钭率累加器的值二者都必须知道此计算在DS1820内部完成以提供0.5的分辩率温度读数以16位符号扩展的二进制补码读数形式提供表1说明输出数据对测量温度的关系数据在单线接口上串行发送DS1820可以以0.5的增量值在0.5至+125的范围内测量温度对于应用华氏温度的场合必须使用查找表或变换系数注意在DS1820中温度是以1/2LSB最低有效位形式表示时产生以下9位格式MSB 最高有效位最低有效位 LSB 1 11111=-25最高有效符号位被复制到存储器内两字节的温度寄存器中较高MSB 的所有位这种符号扩展产生了如表1所示的16位温度读数以下的过程可以获得较高的分辩率首先读温度并从读得的值截去0.5位(最低有效位)这个值便是TEMP_READ然后可以读留在计数器内的值此值是门开通期停止之后计数剩余COUNT_REMAIN 所需的最后一个数值是在该温度处每一摄氏度的计数个数COUNT_PER_C于是用户可以使用下式计算实际温度表1 温度/数据关系温 度数字输出/二进制安息字输出十六进制+12500000000 1111101000FAh +2500000000 001100100032h +1/200000000 000000010001h +000000000 000000000000h -1/211111111 11111111FFFFh -2511111111 11001110FFCEh -5511111111 10010010FF92h2 4 运用告警信号在DS1820完成温度变换之后温度值与贮存在TH 和TL 内的触发值相比较因为这些寄存器仅仅是8 位所以0.5位在比较时被忽略TH 或TL 的最高有较位直接对应于16位温度寄存器的符号位如果温度测量的结果高于TH 或低于TL 那么器件内告警标志将置位每次温度测量更新此标志只要告警标志置位DS1820将对告警搜索命令作出响应这允许并联连接许多DS1820C _PER _COUNT )REMAIN _COUNT C _PER _COUNT (25.0READ _TEMP (TEMPRATURE −+−=温度同时进行温度测量如果某处温度超过极限那么可以识别出正在告警的器件并立即将其读出而不必读出非告警的器件2 5 64位激光ROM每一DS1820包括一个唯一的64位长的ROM编码开绐的8位是单线产品系列编码DS1820编码是10h接着的48位是唯一的系列号最后的8 位是开始56位CRC见图564位ROM和ROM操作控制部分允许DS1820作为一个单线器件工作并遵循单线总线系统一节中所详述的单线协议直到ROM操作协议被满足DS1820控制部分的功能是不可访问的此协议在ROM 操作协议流程图图6中叙述单线总线主机必须首先操作五种ROM操作命令之一1Read ROM(读ROM),2)Match ROM(匹配ROM),3)Search ROM(搜索ROM),4)Skip ROM(跳过ROM),或5)Alarm Search 告警搜索在成功地执行了ROM操作序列之后DS1820特定的功能便可访问然后总线上主机可提供六个存贮器和控制功能命令之一图5 64位激光ROM8位CRC编号48位序列号8位产品系列编码MSB LSB MSB LSE MSB LSB最高有效位最低有效位图6 ROM操作流程图2 6 CRC产生DS1820有一存贮在64位ROM的最高有效字节内的8位CRC总线上的主机可以根据64位ROM的前56位计算机CRC的值并把它与存贮在DS1820内的值进行比较以决定ROM的数据是否已被主机正确地接收CRC的等效多项式函数为CRC=X8+X5+X4+1DS1820也利用与上述相同的多项式函数产生一个8位CRC值并把此值提供给总线的主机以确认数据字节的传送在使用CRC来确认数据传送的每一种情况中总线主机必须使用上面给出的多项式函数计算CRC的值并把计算所得的值或者与存贮在DS1820的64位ROM部分中的8位CRC值ROM读数或者与DS1820中计算得到的8位CRC值在读暂存存贮器中时它作为第九个字节被读出进行比较CRC值的比较和是否继续操作都由总线主机来决定当存贮在DS1820内或由DS1820计算得到的CRC值与总线主机产生的值不相符合时在DS1820内没有电路来阻止命令序列的继续执行总线CRC可以使用如图7所示由一个移位寄存器和异或XOR门组成的多项式产生器来产生其它有关Dallas公司单线循环冗余校验的信息可参见标题为理解和使用Dallas半导体公司接触式存贮器产品的应用注释移位寄存器的所有位被初始化为零然后从产品系列编码的最低有效位开始每次移入一位当产品系列编码的8位移入以后接着移入序列号在序列号的第48位进入之后移位寄存器便包含了CRC值移入CRC的8 位应该使移位寄存器返回至全零图7 单线CRC编码27存贮器DS1820的存贮器如图所示那样被组织存贮器由一个高速暂存便笺式RAM和一个非易失性电可擦除E2RAM组成后者存贮高温度和低温度和触发器TH和TL暂存存贮器有助于在单线通信时确保数据的完整性数据首先写入暂存存贮器在那里它可以被读回当数据被校验之后复制暂存存贮器的命令把数据传送到非易失性E2RAM这一过程确保了更改存贮器时数据的完整性SCRATCHPAD BYTE E2RAMTEMPERATURE LSB 0TEMPERATURE MSB1TH/USERBYTE1 2TH/USERBYTE1TL/USERBVTE2 3TL/USERBVTE2RESERVED4RESERVED5COUNT REMAIN 6COUNT PER7CRC8图8 DS1820存贮器映象图暂存存贮器是按8位字节存储器来组织的头两个字节包含测得温度信息第三和第四个字节是TH和TL的易失性拷贝在每一次上电复位时被刷新接着的两个字节没有使用但是在读回时它们呈现为逻辑全1第七和第八个字节是计数寄存器它们可用于获得较高的温度分辨率见运用测量温度一节还有第九个字节它可用Read Scratchpad读暂存存贮器命令读出该字节包含一个循环冗余校验CRC字节它是前面所有8 个字节的CRC值此CRC值以CRC产生一节中所述的方式产生28单线总线系统单线总线是一种具有一个总线主机和一个或若干个从机从属器件的系统DS1820起从机的作用这种总线系统的讨论分为三个题目硬件接法处理顺序以及单线信号信号类型与定时2.8.1 硬件接法根据定义单线总线只有一根线这一点是重要的即线上的第一个器件能在适当的时间驱动该总线为了做到这一点第一个连接到单线总线上的器件必须具有漏极开路或三态输出DS1820的单线接口I/O引脚是漏极开路的其内部等效电路如图9所示多站multidrop总线由单线总线和多个与之相连的从属器件组成单线总线要求近似等于5k的上拉电阻单线总线的空闲状态是高电平不管任何原因如果执行需要被挂起那么若要重新恢复执行总线必须保持在空闲状态如果不满足这一点且总线保持在低电平时间大于480us那么总线上所有器件均被复位存在脉冲presence pulse使总线主机知道DS1820在总线上并已准备好工作详情见单线信号一节图9 硬件接法2.8.2 处理顺序经过单线接口访问DS1820的协议protocol如下初始化ROM操作命令存贮器操作命令处理/数据2.8.2.1 初始化单线总线上的所有处理均从初始化序列开始初始化序列包括总线主机发出一复位脉冲接着由从属器件送出存在脉冲2.8.2.2 ROM操作命令一旦总线主机检测到从属器件的存在它便可以发出器件ROM操作命令之一所有ROM操作命令均为8 位长这些命令列表如下参见图6的流程图Read ROM(读ROM) [33h]此命令允许总线主机读DS1820的8位产品系列编码唯一的48位序列号以及8 位的CRC 此命令只能在总线上仅有一个DS1820的情况下可以使用如果总线上存在多于一个的从属器件那么当所有从片企图同时发送时将发生数据冲突的现象漏极开路会产生线与的结果Match ROM( 符合 ROM) [55h]符合ROM命令后继以64位的ROM数据序列允许总线主机对多点总线上特定的DS1820寻址只有与64位ROM序列严格相符的DS1820才能对后继的存贮器操作命令作出响应所有与64位ROM序列不符的从片将等待复位脉冲此命令在总线上有单个或多个器件的情况下均可使用Skip ROM(跳过ROM ) [CCh]在单点总线系统中此命令通过允许总线主机不提供64位ROM编码而访问存储器操作来节省时间如果在总线上存在多于一个的从属器件而且在Skip ROM命令之后发出读命令那么由于多个从片同时发送数据会在总线上发生数据冲突漏极开路下拉会产生线与的效果Search ROM( 搜索ROM) [F0h]当系统开始工作时总线主机可能不知道单线总线上的器件个数或者不知道其64位ROM编码搜索ROM命令允许总线主机使用一种消去elimination处理来识别总线上所有从片的64位ROM编码Alarm Search(告警搜索) [ECh]此命令的流程与搜索ROM命令相同但是仅在最近一次温度测量出现告警的情况下DS1820才对此命令作出响应告警的条件定义为温度高于TH或低于TL只要DS1820一上电告警条件就保持在设置状态直到另一次温度测量显示出非告警值或者改变TH或TL的设置使得测量值再一次位于允许的范围之内贮存在EEPROM内的触发器值用于告警ROM搜索举例ROM搜索过程是简单三步过程的重复读一位读核位的补码complement然后写所需的那一位的值总线主机在ROM的每一位上完成这一简单的三步过程在全部过程完成之后总线主机便知道一个器件中ROM的内容器件中其余的数以及它们的ROM编码可以由另外一个过程来识别以下ROM搜索过程的例子假设四个不同的器件连接到同一条单线总线上四个器件的ROM数据如下所示ROM1 00110101ROM2 10101010ROM3 11110101ROM4 00010001搜索过程如下1. 总线主机通过发出复位脉冲开始初始化序列从属器件通过发出同时的存在脉冲作出响应2.然后总线主机在单线总线上发出搜索ROM命令3.总线主机从单线过程中读一位每一器件通过把它们各自ROM数据的第一位的值放到单线总线上来作出响应ROM1和ROM4将把一个0放在单线总线上即把它拉至低电平ROM2和3通过使总线停留在高电平而把1放在单线总线上结果是线上所有器件的逻辑与因此总线主机接收到一个0总线主机读另一位因为搜索ROM数据命令正在执行所以单线总线上所有器件通过把它各自ROM数据第一位的补码放到单线总线上来对这第二个读作出响应ROM1和ROM4把1放在单总线上使之处于高电平ROM2和ROM3把0放在单线上因此它将被拉至低电平对于第一个ROM数据位的补码总线主机观察到的仍是一个0总线主机便可决定在单线总线上有一些第一位为0的器件和一些第一位为1的器件从三步过程的两次读中可获得的数据具有以下的解释00 有器件连接着在此数据位上它们的值发生冲突01有器件连接着在此数据位上它们的值均为010 有器件连接着在此数据位上它们的值均为111没有器件与单线总线相连4.总线主机写一个0在这次搜索过程的其余部分将不选择ROM2和ROM3仅留下连接到单线总线的ROM1和ROM45.总线主机再执行两次读并在一个1位之后接收到一个0位这表示所有还连接在总线上的器件的第二个ROM数据位为06.总线主机接着写一个0使ROM1和ROM4二者继续保持连接7.总线主机执行两次读并接收到两次0数据位这表示连接着的器件的ROM数据的第三位都是1数据位和0数据位8.总线主机写一个0数据位这将不选择ROM1而把ROM4作为唯一仍连接着的器件加以保留9.总线主机读ROM4的ROM数据位的剩余部分而且访问需要的部件这就完成了第一个过程并且唯一地识别出单线总线上的部件10.总线主机通过重复步骤1至7开始一个新的ROM搜索序列11.总线主机写一个1这将不与ROM4发生联系而唯一地与ROM1仍保持着联系12.总线主机对于ROM1读出ROM位的剩余部分而且如果需要的话与内部逻辑通信这就完成了第二个ROM搜索过程在其中ROM中的另一个被找到13.总线主机通过重复步骤1至3开始一次新的ROM搜索14.总线主机写一个1数据位这使得在这一搜索过程的其余部分不选择ROM1和ROM4仅留下ROM2和ROM3与系统相连接15.总线主机执行两个读时间片并接收到两个零16.总线主机写一个0数据位这去掉ROM3仅留下ROM217.总线主机对于ROM2读出ROM数据位的剩余部分而且若有需要便与内部逻辑通信这完成了第三个ROM搜索过程在此过程中找到另一个ROM18.总线主机通过重复步骤13至15开始一次新的ROM搜索19.总线主机写一个1数据位这去掉ROM2仅留下ROM320.总线主机读出ROM3数据位的剩余部分而且若有需要就与内部逻辑通信这样便完成了第4个ROM搜索过程在这过程中找到了另一个ROM注意下述内容在第一次ROM搜索过程中总线主机知道一个单线器件的唯一的ID识别号ROM数据样本取得部件唯一ROM编码的时间为960s+8+36461s=13.16mS因此总线主机每秒钟能够识别75个不同的单线器件2.8.3 I/O信号DS1820要求严格的协定protocols来确保数据的完整性协议由几种单线上信号类别型组成复位脉冲存在脉冲写0写1读0和读1所有这些信号除了存在脉冲之外均由总线主机产生开始与DS1820的任何通信所需的初始化序列和图11所示后继以存在脉冲的复位脉冲表示DS1820已经准备好发送或接收给出正确的ROM命令和存贮器操作命令的数据总线主机发送TX一复位脉冲最短为480s的低电平信号接着总线主机便释放此线并进入接收方式Rx单线总线经过5k的上拉电阻被拉至高电平状态在检测到I/O引脚上的上升沿之后DS1820等待15-60s并且接着发送存在脉冲60-240s的低电平信号2.8.3.1 存贮器操作命令表2和图10的流程图给出下述命令约定的摘要图10 存贮器操作流程图图10 存贮器操作流程图续图10 存贮器操作流程图续图11 初始化过程复位和存在脉冲表2 DS1820命令集指 令说 明约定代码发出约定代码后单总线的操作注温 度 变 换 命 令 温度变换启动温度变换44h读温度忙状态1存 储 器 命 令 读暂存存储器从暂存存储器读字节BEh读9字节数据写暂存存储器写字节至暂存存储器地此2和3处TH 和TL 温度触发器4Eh写数据至地此2和地此3的2个字节复制暂存存储器把暂存存储器复制入非易性存储器仅地此2和地此343h读复制状态2重新调出E 2把贮存在非易失性存储器内的数值重新调入暂存存储器温度触发器E3h读温度忙状态读电源发DS1820电源方式的信号至主机B4h读电源状态注 1.温度变换需要2秒钟在接收到温度变换命令之后如果器件未从V DD 引脚取得电源那么DS1820的I/O 引线必须至少保持2秒的高电平以提供变换过程所需的电源这样在温度变换命令发出之后至少在此期间内单线总线上不允许发生任何其他的动作2.在接收到复制暂存存储器的命令以后如果器件没有从V DD 引脚取得电源那么DS1820的I/O 引脚必须至少维持10ms 的高电平以便提供复制过程中所需的电源这样在复制暂存存储器命令发出之后至少在这一期间之内单线总线上不允许发生任何其他的动作此命令写至DS1820的暂存存储器以地址2开始接着写的两个字节将被保存在暂存存储器地址2和3之间中发出一个复位便可在任何处终止写操作读暂存存储器Read Scratchpad [BEh] 此命令读暂存存储器的内容读开始于字节0并继续经过暂存存储器直至第九个字节字节8CRC 被读出为止如果不是所有位置均可读那么主机可以在任何时候发出一复位以中止读操作复制暂存存储器Copy Scratchpad [48h]此命令把暂存存储器复制入DS1820的E2存储器把温度触发器字节存贮入非易失性存储器如果总线主机在此命令之后发出读时间片那么只要DS1820正忙于把暂存存储器复制入E2它就会在总线上输出0当复制过程完成之后它将反回1如果由寄生电源供电总线主机在发出此命令之后必须能立即强制上拉至少10mS温度变换Convert T[44h]此命令开始温度变换不需要另外的数据温度变换将被执行接着DS1820便保持在空闲状态如果总线主机在此命令之后发出读时间片那么只要DS1820正忙于进行温度变换它将在总线上输出0当温度变换完成时它便返回1如果由寄生电源供电那么总线主机在发出此命令之后必须立即强制上拉至少2秒重新调出E2Recall E2[B8h]此命令把贮存在E2中温度触发器的值重新调至暂存存储器这种重新调出的操作在对DS1820上电时也自动发生因此只要器件一接电暂存存储器内就有有效的数据可供使用在此命令发出之后对于所发出的第一个读数据时间片器件都将输出其忙的标志0=忙1=准备就绪读电源Read Power Supply[B4h]对于在此命令送至DS1820之后所发出的第一读出数据的时间片器件都会给出其电源方式的信号0=寄生电源供电1=外部电源供电2.8.3.1 读/写时间片通过使用时间片time slots来读出和写入DS1820的数据时间片用于处理数据位和指定进行何种操作的命令字读时间片Write Tim Slots当主机把数据线从高逻辑电平拉至低逻辑电平时产生写时间片有两种类型的写时间片写1时间片和写0时间片所有时间片必须有最短为60微秒的持续期在各写周期之间必须有最短为1微秒的恢复时间在I/O线由高电平变为低电平之后DS1820在15s至60s的窗口之间对I/O线采样如果线为高电平写1就发生如果线为低电平便发生写0见图12。
DS18B20多点温度检测系统的设计
目录摘要2 ABSTRACT 3 第一章绪论4 §1.1 系统背景4 §1.2 系统概述4 第二章方案论证5 §2.1 传感器部分5 §2.2 主控制部分6 §2.3 系统方案6 第三章硬件电路设计7 §3.1 电源以及看门狗电路7 §3.2 键盘以及显示电路9 §3.2 温度测试电路11 §3.3 串口通讯电路15 §3.4 整体电路16 第四章软件设计16 §4.1 概述16 §4.2 主程序方案16 §4.3 各模块子程序设计18 第五章系统调试20 §5.1 分步调试20 §5.2 统一调试20 结束语21 参考文献22 附录一:软件流程图24 附录二:电路原理图25 致谢27多点温度检测系统设计作者:谭诗炜(电信200201 班)指导老师:冯杰摘要DS18B20 是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠.本文结合实际使用经验,介绍了DS18B20 数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图.该系统由上位机和下位机两大部分组成.下位机实现温度的检测并提供标准RS232 通信接口芯片使用了ATMEL 公司的AT89C51 单片机和DALLAS 公司的DS18B20 数字温度传感器上位机部分使用了通用PC.该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域关键字:温度测量;单总线;数字温度传感器;单片机AbstractAs a kind of high-accuracy digital net temperature sensor,DS18 B20 can be used building a sensor net easily. It can also make the net simple and reliable with it's special 1-wire interface .This paper introduces the application of DS18B20 with single chip processor.The system is constituted by two parts the temperature measured part and displayed part. The temperature measured part has a RS232 interface. It used AT89C51 of ATMEL company and DS18B20 of DALLAS company .The displayed part uses PC .This system is applied in such domains as warehouse detecting temperature;air-conditioner controlling system in building and supervisory productive process etc.Key words:temperature measure;single bus;digital thermometer;single chip processor;第一章绪论§1.1 系统背景在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位.首先让我们了解一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械…等设备温度过热检测•温度检测系统应用十分广阔.§1.2 系统概述本设计运用主从分布式思想,由一台上位机(PC 微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统.该系统采用RS-232 串行通讯标准,通过上位机(PC)控制下位机(单片机)进行现场温度采集•温度值既可以送回主控PC进行数据处理由显示器显示.也可以由下位机单独工作,实时显示当前各点的温度值,对各点进行控制. 下位机采用的是单片机基于数字温度传感器DS18B20 的系统.DS18B20 利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便而且适合于在恶劣的环境下进行现场温度测量.本系统可以应用在大型工业及民用常温多点监测场合.如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械…等•第二章方案论证温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等.若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D 转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理.这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降.所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择和主控单元的设计.温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首.§2.1 传感器部分采用热敏电阻,可满足40 摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1 摄氏度的信号是不适用的.而且在温度测量系统中,采用单片温度传感器,比如AD590,LM35 等.但这些芯片输出的都是模拟信号,必须经过A/D 转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度.方案二:在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行AD 转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题.采用数字温度芯片DS18B20 测量温度,输出信号全数字化.便于单片机处理及控制,省去传统的测温方法的很多外围电路.且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好.在0—100 摄氏度时,最大线形偏差小于1摄氏度.DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计DS1820 和微控制器AT89C51 构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接.这样,测温系统的结构就比较简单,体积也不大且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量•轻松的组建传感器网络.采用温度芯片DS18B20 测量温度,可以体现系统芯片化这个趋势•部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快•而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度.所以集成芯片的使用将成为电路发展的一种趋势.本方案应用这一温度芯片,也是顺应这一趋势.§2.2 主控制部分此方案采用PC机实现.它可在线编程,可在线仿真的功能,这让调试变得方便•且人机交互友好但是PC机输出信号不能直接与DS18B20通信•需要通过RS232电平转换兼容,硬件的合成在线调试,较为繁琐,很不简便.而且在一些环境比较恶劣的场合,PC 机的体积大,携带安装不方便,性能不稳定,给工程带来很多麻烦!此方案采用AT89C51 八位单片机实现•单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制•而且体积小,硬件实现简单,安装方便•既可以单独对多DS18B20 控制工作,还可以与PC 机通信•运用主从分布式思想,由一台上位机(PC 微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制•另外AT89C51 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟•§•3系统方案综上所述,温度传感器以及主控部分都采用第二方案•系统采用针对传统温度测温系统测温点少,系统兼容性及扩展性较差的特点,运用分布式通讯的思想•设计一种可以用于大规模多点温度测量的巡回检测系统•该系统采用的是RS-232 串行通讯的标准,通过下位机(单片机)进行现场的温度采集,温度数据既可以由下位机模块实时显示,也可以送回上位机进行数据处理,具有巡检速度快,扩展性好,成本低的特点•实际采用电路方案如下图:第三章硬件电路设计系统底层电路的功能主要包括:多点温度测试及其相关处理,实时显示温度信息,与上位机通讯传输温度数据•硬件设计主要包括以下几个模块:电源以及看门狗电路,键盘以及显示电路,温度测试电路,串口通讯电路•下面对电路分模块进行说明§3.1电源以及看门狗电路a. 电源电路因为单片机工作电源为+5V,且底层电路功耗很小•采用7805三端稳压片即可满足要求• 具体电路图如下:b. 看门狗电路考虑到底层电路板的工作环境相对恶劣,单片机会受到周围环境的干扰,而出现程序跑飞,死机…等一些不可预知的不正常工作现象•工作人员也不可能到现场对单片机重起,本设计为单片机电路添加一个外部看门狗电路•定时查询单片机的工作状态,一但发现异常即对单片机延时重起•保证系统安全可靠的运行•NE56604能为多种微处理器和逻辑系统提供复位信号,其门限电平为4.2V •在电源突然掉电或电源电压下降到低于门限电平时.NE56604将产生精确的复位信号.NE56604内置一个看门狗定时器,用于监控微处理器,以确保微处理器的正常运行•看门狗能产生一个系统复位信号用来终止任何由于微处理器故障而引发的不正常的系统操作.NE56604 的看门狗的监控周期为100mS(典型值).特性.正负双逻辑输出的有效复位信号..精准的门限电平监测..上电复位内部延时..可利用外部电阻调节的内部看门狗定时器..看门狗定时器的监控周期为100mS 典型值..VCC=0.8VDC 时产生有效的复位信号典型值. .仅需很少的外围元件.具体电路图如下:§3.2 键盘以及显示电路键盘电路单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据.键盘有编码和非编码两种.非编码键盘硬件电路极为简单.故本系统采用拨码开关来控制.具体电路如下:A. 开关状态的可靠输入键开关状态的可靠输入有两种解决方法.一种是软件去抖动:它是在检测到有键按下时,执行一个10ms 的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响.另一种为硬件去抖动:即为按键添加一个锁存器.两种方法都简单易行,本设计采用的是硬件去抖.B. 对按键进行编码给定键值或给出键号对于按键无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应的键值以实现按键功能程序的散转转移.为使编码间隔小, 散转入口地址安排方便, 常采用依次序排列的键号.拨码开关值含义0000 实时显示通道一的温度值0001 实时显示通道二的温度值0010 实时显示通道三的温度值0011 实时显示通道四的温度值0100 实时显示通道五的温度值0101 实时显示通道六的温度值0110 实时显示通道七的温度值0111 实时显示通道八的温度值1*** 自动循环显示所有通道的温度C. 选择键盘监测方法对是否有键按下的信息输入方式有中断方式与查询方式两种.本设计采用的查询法,即在在CPU 空闲时调用键盘扫描子程序.温度显示电路设计采用的是共阴极七段数码管.显示方式有动态扫描和静态显示,两种方法在本设计中皆可由于静态扫描要用到多片串入并出芯片,考虑到电路板成本计算.本人采用是节约硬件资源的动态扫描方式.即用两块芯片就可以完成显示功能.显示数据由4511 译码器输出,ULN2003 为位驱动扫描信号.具体电路图如下:§3.2 温度测试电路这里我们用到温度芯片DS18B20.DS18B20 是DALLAS 公司生产的一线式数字温度传感器, 具有3引脚TO-92小体积封装形式•测温分辨率可达0.0625C,被测温度用符号扩展的16位数字量方式串行输出.其工作电源既可在远端引入,也可采用寄生电源方式产生.CPU 只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路•DS18B20支持一线总线”接口,测量温度范围为-55 C~+125°C,在-10~+85 °范围内精度为±).5 °现场温度直接以一线总线”的数字方式传输,大大提高了系统的抗干扰性•适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等•DS18B20 内部结构(1) DS18B20 的内部结构如下图所示•DS18B20 内部结构图DS18B20 有4 个主要的数据部件:①64位激光ROM.64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H) 组成•②温度灵敏元件•③非易失性温度报警触发器TH和TL.可通过软件写入用户报警上下限值.④配置寄存器•配置寄存器为高速暂存存储器中的第五个字节•DS18B20 在0 工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图所示•TM R1 R0 1 1 1 1 1MSB DS18B20 配置寄存器结构图LSB其中,TM:测试模式标志位,出厂时被写入0,不能改变;R0、R1:温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:R0=1,R仁1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率• 配置寄存器与分辨率关系表:R0 R1 温度计分辨率/bit 最大转换时间/us0 0 9 93.750 1 10 187.51 0 11 3751 1 12 750(2) 高速暂存存储器高速暂存存储器由9个字节组成,其分配如下图所示.当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0 和第1 个字节.单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示.对应的温度计算:当符号位S=0时, 直接将二进制位转换为十进制;当S=1 时,先将补码变为原码,再计算十进制值.温度低位温度高位TH TL 配置保留保留保留8 位CRCLSB DS18B20 存储器映像图MSB温度值格式图DS18B20 温度数据表:23 22 21 20 2-1 2-2 2-3 2-4MSB LSBS S S S S 26 25 24典型对应的温度值表:温度/c二进制表示十六进制表示+125+25.0625+10.125+0.5-0.5-10.125-25.0625-55 00000111 1101000000000001 1001000100000000 1010001000000000 0000100000000000 0000000011111111 1111100011111111 0101111011111110 0110111111111100 10010000 07D0H0191H00A2H0008H0000HFFF8HFF5EHFE6FHFC90HDS18B20 最大的特点是单总线数据传输方式,DS18B20 的数据I/O 均由同一条线来完成. 硬件连接电路如下图:本系统为多点温度测试.DS18B20 采用外部供电方式,理论上可以在一根数据总线上挂256 个DS18B20, 但时间应用中发现,如果挂接25 个以上的DS18B20 仍旧有可能产生功耗问题.另外单总线长度也不宜超过80M, 否则也会影响到数据的传输.在这种情况下我们可以采用分组的方式,用单片机的多个I/O 来驱动多路DS18B20. 在实际应用中还可以使用一个MOSFET 将I/O 口线直接和电源相连,起到上拉的作用.对DS18B20 的设计, 需要注意以下问题(1) 对硬件结构简单的单线数字温度传感器DS18B20 进行操作,需要用较为复杂的程序完成.编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写.尤其在使用DS18B20 的高测温分辨力时,对时序及电气特性参数要求更高.(2) 有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20 序列号和自动排序,以减少调试和维护工作量.(3) 测温电缆线建议采用屏蔽4 芯双绞线,其中一对线接地线与信号线,另一组接VCC 和地线, 屏蔽层在源端单点接地.DS18B20 在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND 接在一起,焊接牢固若VCC脱开未接传感器只送85.0 C的温度值.⑷实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离.另外还应根据实际情况选择其接线拓扑结构.§3.3 串口通讯电路AT89C51 有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯.进行串行通讯时要满足一定的条件,比如电脑的串口是RS232 电平的,而单片机的串口是TTL 电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232 进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠.具体电路如下:我们采用了三线制连接串口,也就是说和电脑的9 针串口只连接其中的3 根线:第5 脚的GND 、第2 脚的RXD 、第3 脚的TXD. 这是最简单的连接方法,但是对本设计来说已经足够使用了,电路如上图所示.通信线采用交叉接法,即两者信号线对应成为R—T,T—R. 具体连接电路如下:§3.4 整体电路见附件二(电路原理图)第四章软件设计§4.1 概述整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了.从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心专门用来协调各执行模块和操作者的关系.二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等.每一个执行软件也就是一个小的功能执行模块.这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义.各执行模块规划好后就可以规划监控程序了.首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系.§4.2 主程序方案主程序调用了 4 个子程序,分别是数码管显示程序、键盘扫描以及按键处理程序、温度测试程序、中断控制程序、单片机与PC机串口通讯程序.键盘扫描电路及按键处理程序:实现键盘的输入按键的识别及相关处理温度测试程序: 对温度芯片送过来的数据进行处理,进行判断和显示数码管显示程序:向数码的显示送数,控制系统的显示部分. 中断控制程序: 实现循环显示功能.串口通讯程序:实现PC 机与单片机通讯,将温度数据传送给PC 机.将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序,然后在寄存器的分配上作一下调整,消除寄存器冲突和I/O 冲突即可.程序应该尽可能多的使用调用指令代替跳转指令.因为跳转指令使得程序难以看懂各程序段之间的结构关系.而调用指令则不同,调用指令使得程序结构清晰,无论是修改还是维护都比较方便.将功能程序段写成子程序的形式,除了方便调用之外,还有一个好处那就是以后写程序的时候如果要用到, 就可以直接调用这个单元功能模块.主程序流程图如右图:§4.3 各模块子程序设计下面对主要几个子程序的流程图做介绍:(1) 温度测试子程序设计见附录一:温度测试子程序流程图(2) 中断控制程序设计如右图:(3) 串口通信程序设计本次通讯中,测控系统分位上位机和下位机之间的通信,系统中单片机负责数据采集、处理和控制,上位机进行现场可视化检测,通信协议采用半双工异步串行通信方式,通过RS232 的RTS 信号进行收发转换,传输数据采用二进制数据,上位机与下位机之间采用主从式通讯.本人采用的VB环境下PC机与单片机之间实现串行通讯的软硬件方案.VB是Microsoft公司推出的Windows 应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且Visual Basic 6.0 版本带有专门实现串行通讯的MSCOMM 控件.MSComm控件串口具有完善的串口数据的发送和接收功能•通过此控件,PC机可以利用串行口与其它设备实现轻松连接,简单高效地实现设备之间的通讯.此控件的事件响应有两种处理方式.事件驱动方式:由MSComm 控件的OnComm 事件捕获并处理通讯错误及事件;查询方式:通过检查CommEvent 属性的值来判断事件和错误.1) MSComm 控件的主要属性和方法a. CommPort:设置或返回串行端口号,其取值范围为1—99,缺省为1b. Sett ing:设置或返回串行端口的波特率、奇偶校验位、数据位数、停止位c. PortOpe n:打开或关闭串行端口d. RThreshold: 该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生MSComml-OnComm 事件.e. In put :从接收缓冲区移走一串字符.f. Output: 向发送缓冲区传送一字符串. 软件流程图如下:单片机程序流程图PC 通讯程序流程图参数设定:通信端口选择COM1,波特率设定为1200B/SmPort=1MSComm.Setting= “1200, n, 8, 1 ”.START: MOV SP,#60HMOV TMOD,#20HMOV TH1,#0E6HMOV TL1,#0E6H ;1200B/S,晶振为12MHZMOV PCON,#00HMOV SCON,#50HSETB TR1第五章系统调试§5.1 分步调试1 、测试环境及工具测试温度:0~100摄氏度.(模拟多点不同温度值环境)测试仪器及软件:数字万用表,温度计0~100 摄氏度,串口调试助手测试方法:目测.2、测试方法使系统运行,观察系统硬件检测是否正常(包括单片机最小系统,键盘电路,显示电路,温度测试电路等).系统自带测试表格数据,观察显示数据是否相符合即可. 采用温度传感器和温度计同时测量多点水温变化情况(取温度值不同的多点), 目测显示电路是否正常.并记录各点温度值,与实际温度值比较,得出系统的温度指标. 使用串口调试助手与单片机通讯,观察单片机与串口之间传输数据正确否.3、测试结果分析自检正常,各点温度显示正常,串口传输数据正确.因为芯片是塑料封装,所以对温度的感应灵敏度不是相当高,需要一个很短的时间才能达到稳定.§5.2 统一调试将硬件及软件结合起来进行系统的统一调试.实现PC 机与单片机通讯,两者可以实时更新显示各点温度值.结束语AT89C51的时钟为12M,I/O 口可达32个,高的时钟频率和丰富的I/O,都为实现电路功能提供了非常有利的条件.同时也AT89C51 内含4KB FLASH ROM, 开发环境友好,易用,方便,大大加快本系统设计开发.拨码开关的使用,使操作更为简洁,易懂.实时显示电路的设计,使温度信息更迅速,直观地发布.本制作的设计中使用了传感器的只是插座电路,因此,该系统的可扩展性很强.整个系统硬件简单、可靠,系统成本低.致此本人设计基本完成了预期的目标,系统在硬件自动测试,键盘操作,实时显示方面做的比较好.但是由于时间仓促、条件有限,设计成果并不是很完美,还存在下面问题:串口通讯不稳定未对温度数值统计处理以及存储.我准备在今后的工作过程中进一步完善此设计.参考文献[1] .贾振国.DS1820及高精度温度测量的实现[J].电子技术应用,2000(1):58 - 59.[2] . 余永权. 单片机原理及应用. 北京:电子工业出版社, 1997[3] . 邦田. 电子电路实用抗干扰技术. 北京: 人民邮电出版社,1994[4] . Dallas semiconductor inc,ds18b20 programmable resolution 1 —wiredigital thermometer 2001[Z] .[5] . 曲喜贵. 电子元件材料手册[ M]. 北京:电子工业出版社,1989.422-430.[6] . 黄贤武,郑筱霞,曲波等. 传感器实际应用电路设计[M]. 成都:电子科技大学出版社,1997.4-10.[7] . 刘君华. 智能传感器系统[M] . 西安:西安电子科技大学出版社,1999.[8] . 余永权. Flash 单片机原理及应用[M]. 北京:电子工业出版社,1997.[9] . 邦田. 电子电路实用抗干扰技术[M] . 北京:人民邮电出版社,1994.[10] . 周云波. 由DS18B20 单线数字温度计构成的单线多点温度测量系统. 电子技术应用,1996(2):15- 20.[11] . 吉鹏,马云峰等. 微机原理与接口技术[M]. 北京:高等教育出版社,2001.[12] . 振国. DS1820 及高精度温度测量的实现[J] . 电子技术应用,2000 (1) .[13] . 东耀,汪仁煌. 数字温度传感器在仓库温度检测系统的应用[J]. 传感器世界,2001(12):30- 33.[14] . 月霞,孙传友. DS18B20 硬件连接及软件编程[J]. 传感器世界,2001(12):25- 29.[15] . 一线数字温度传感器资料[M]. 武汉:武汉力源电子有限公司,1996.[16] . 贤武,郑霞,曲波. 传感器实际应用电路设计[M]. 成都:电子科技大学出版社,1997.[17] . 伟正. 单线数字温度传感器的原理与应用[1]. 电子技术应用,2000,6.66-68[18] . DALLAS 公司.DS18B20 数据手册[Z][19] . 周月霞,孙传友. DS18B20 硬件连接及软件编程[J]. 传感器世界,2001,(12).[20] . 单线数字温度传感器资料[M]. 武汉:武汉力源电子有限公司,1996.[21] . 贾东耀,汪仁煌. 数字温度传感器在仓库温度检测系统的应用[J]. 传感器世界,2001(12).[22] . 余永权. ATMEL 89 系列单片机应用技术[M]. 北京:北京航空航天大学出版社2002.[23] . 胡汉才. 单片机原理及系统设计[M]. 北京:清华大学出版社,2002[24] . 李更祥. 单总线数字式智能型温度传感器在测控领域中的应用[J]. 计算机自动测量与控制,1999,7(3):51-53.[25] . 忠梅. 单片机的C 语言应用程序设计[M]. 北京:北京航空航天大学出版社,1997。
多点温度检测系统设计
0 引言随着电子技术的迅速发展,特别是超大规模集成电路产生而出现的微型计算机,给人类生活带来了根本性的改变。
如果说微型计算机的出现使现代科学研究得到了质的飞跃,那么可以毫不夸张的说,单片机技术的出现则给现代工业测控领域带来了一次新的技术革命。
目前,单片机以其高可靠性、高性能价格比,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已走入普通家庭,从洗衣机、微波炉到音响、汽车,到处都可见到单片机的踪影,因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。
许多物质的特性与温度有很大的依赖关系,温度的影响甚至是起决定作用的。
传统的温度控制系统采用模拟电路设计,存在不可避免的缺陷,如系统的电路结构复杂,操作困难,系统电路所需的功率较大,温度控制的精度差,易出现温度的漂移,电路结构复杂,缺乏友好的人机界面,温度控制的实时性差等。
单片机的出现使得温度的采集和数据处理等问题能够得到很好的解决,温度是工业对象中的一个重要的被控参数,然而所采用的测温元件和测量方法也不相同,产品的工艺不同,控制温度的精度也不相同。
因此对数据采集的精度和采用的控制方法也不相同。
本课题使用单片机作为核心进行控制,单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。
本课题介绍的温度控制系统采用AT89C52单片机控制技术对温度进行调节,具有操作简单便捷、采集方便准确、适应性强、成本低以及节省能源等特点,可明显增加使用者的经济效益。
该系统不但可以推行到温室中,还可以应用于其它进行温度调节的场合。
1 绪论1.1系统背景在实际生产中,为了避免局部的温度过高或过低,需要对某个空间内多个点的温度进行监测,如温室大棚、粮仓等,以便采取相应的措施.为了改善监测人员的工作条件,监测人员一般需要远离监测对象.因此,多点温度远程监测在实际生产中具有重要的应用价值.温度测量的方法有多种,目前典型的温度测量系统是由模拟式温度传感器、A /D转换电路和单片机组成.但是,由于模拟式温度传感器输出的为模拟信号,必须经过A/D转换才能与单片机等微处理器接口,并且每个测温点都要占甩单片机一个I/0口,这种系统的远距离传输使得系统非常复杂,成本较高.此外,模拟传感器的信号在传输中易受干扰,降低了系统检测的精度和稳定性。
一种基于DS1820的防火测控系统设计
A sgn o r e e t g Me s r men n De i fFi Pr v n i a u e e n ta d
Co to S s e B s d o 2 n r l y t m a e n DS1 0 8
Z e g X a — 0 ,Z h n io d HU Y -i uqn,WA in NG Ja ( eatet f hs sadEet ncIf mao , a a o a C l g , u i n2 20 , hn ) D pr n yi n l r i n r t n Hui nN r l ol e H a a 30 1 C ia m oP c co o i n m e n
图 3所 示 为 D 1 2 S 8 0测 温 原 理 图 , 内部 计 数 器 对一 个受 温度影 响 的振 荡 器 的脉 冲计 数 , 温 时 振 低 荡器 的脉 冲可 以通 过 门 电路 , 当到 达某 一 设 置 高 而 温时振 荡器 的脉 冲无 法 通过 门电路 。计数 器设 置为
( )主要 结构 1
图 1所示 为 D 12 S 8 0的 内部 框 图 , 主 要 包 括 它 寄生 电源 、 度传 感 器 、4位 激 光 R M 单 线 接 口 、 温 6 O 存 放 中间数据 的 高速暂存 器 ( 内含便 笺式 R M) 用 A ,
V D是 外 部 +5 电源 端 , 用 时 应 接 地 ; C为 空 D V 不 N
报 警上 下 限 , 其值是 非 易失性 的 ; 报警 搜索命 令可 识
别 那 片 D 12 温度 限 。 S 8 0超
( )工作 原理 4
( )外部 封装 2
安徽省高校 自然科学基金资助项 目( 编号 : J0 8 16 K20B2 )
由MSP430单片机和DS1820构成的小型测温系统
功能和 更高的性 能, 传 感器与单 片机 的结合成 为一个重要的发展趋势 。本文介绍 了 MS P 4 3 0单片机 与数 字化 温度传感 器 D S 1 8 2 0的接 口设计 , 并给 出 了程序设 计。
DS 1 8 2 0的 主要 特性 如 下 : ( 1 ) 独特 的单线接 口方 式 . D S 1 8 2 0在与微处理器连接 时只需要一
根总线就可 以实现与微处理器 的双 向通信 : ( 2 ) D S 1 8 2 0 支持多点组 网功能 .多个 D S 1 8 2 0 可 以并联在 唯一 的 总线上 . 以实现多点测温 : ( 3 ) D S 1 8 2 0 在 使用 中不需要任何外 围元器件件 : ( 4 ) 可 以由数据线来供 电: ( 5 ) 测温范 围一 5 5 ℃至+ 1 2 5 %, 固有测 温分辨率 为 0 . 5 q C ; ( 6 ) 测量结果 以 9 位数字量方式串行传送 : ( 7 ) 用户可 以设置报警温度 。 以下是该芯片 内部结构方框图 , 如图 1所示。
芯 片进 行 连接
1 硬 件 设计
本 系统的硬件接 口电路相 对比较简单 . 主要就是 M 连接 首先简要介绍数字化温度传感
器 DS 1 8 2 0 。 1 . 1 DS I 8 2 0的 芯 片
如图 3 所示 为具体 的接 口电路 图
电平 。如 图 4所示为总线复位的时序图。
片帆 接收复位脉 冲 赫小 4 8 ol l B
l
D o 一
'
i
S ' — L ’ W R H 虬 ‰一
智能温室多点温度检测系统电路设计与仿真
风机系统、补光系统等自动控制系统模块的工作,而且精确的温度采集系统还决定
着植物的生长。为了精确采集温室的温度,本文设计了一款基于嵌入式微控制器
单片机作为上位机和美国 DALLAS 公司的可编程分辨率的 1-Wire 数字温度传感器
DS18B20 构成的多点温室温度检测采集系统,通过在 EDA 软件———Proteus 平台中
DS18B20 传感器的网络拓扑结构,从原理上来说, 可以将多个传感器都挂在一根总线上,但实际上一根 总线上的传感器数目超过 8 个时,就要计算总线的驱 动能力,因此,在系统设 计 时,每 根 总 线 最 好 接 8 个 DS18B20。本文在电路设计和仿真时以 4 个为例,其 电路图如图 2 所示。
DS18B20 的核心功能是直接输出数字温度值,温 度值的精度为用户可编程的 9、10、11 或者 12 位,分别
以 0. 5、0. 25、0. 125、0. 0625 °C增量递增。系统上电状 态下默认为 12 位精度。上电复位时温度寄存器默认 值为 + 85 °C,所以在调试时会出现 + 85 °C温度的显 示。
收稿日期: 2014 - 04 - 17 基金项目: 国家自然科学基金( 61261045) ; 宁夏师范学院科研基金 项目( YB201448) ; 宁夏自然科学基金( NZ12228) ; 宁夏教育厅高等学校 科学研究重点项目( NXGX2012-10) ; 宁夏师范学院 2013 年“本科质量 工程”项目( 201312-13) ; 宁夏师范学院 2013 年“本科质量工程”项目 ( 201312-10) 作者简介: 刘德全( 1977 - ) ,男,甘肃白银人,硕士,讲师,主要从事 信号与信息处理研究。Tel. : 0954-2079617; E-mail: ldqzhh@ 163. com
基于单片机的家用热水器控制器设计毕业设计论文
基于单片机的家用热水器控制器设计毕业设计论文————————————————————————————————作者:————————————————————————————————日期:摘要我的毕业设计题目是:基于单片机的家用热水器控制器的设计。
目前热水器已成为日常生活中不可缺少的家用电器,设计制造更实用、更方便、更安全、更节能的热水器是产品设计师和生产厂商不断追求的目标[1]。
家用热水器具有体积小、使用安全、安装方便等优点。
系统硬件电路设计包括加热控制、温度检测等电路的设计.电热水器是一种可供洗手间、厨房、浴室使用的家用电器,具有无污染、安全、保温时间长、使用方便等优点。
随着人民生活水平的不断提高和我国电力工业的不断发展,电热水器得到不断普及。
本文给出了一种基于51单片机实现的热水器电加热器的设计方案。
本文运用以AT89S51为控制核心的方法,提出了利用DS18B20来实现温度检测,并设计一个由继电器控制的电路,利用继电器来改变小电流控制的电路功率,构建了一个加热控制电路,从而得出了可以实现加热以及保温的结论。
关键字:热水器,单片机,DS18B20温度检测器,继电器Micro—controller of water heater controller designAbstractMy graduation project topic is:the design of micro controller—based home water heater controller. Water heaters have become indispensable in the daily life of household appliances, the design and manufacture of more practical,more convenient, safer, more energy-efficient water heater is continuing to pursue the goal of product designers and manufacturers.The hardware circuit design including heating control,temperature detection circuit design.Electric water heater is an available toilet,kitchen,bathroom and household appliances。
基于智能化温度传感器DS1820的多点温度检测系统
2 1 D 1 2 的性 能特 点 . S 8 0
D 12 S 8 0是 一种 单 总线 数字 式温 度 传感 器, 在其 内部使 用 了在板 ( n O B r d [专利 技术 , 部传感 元件 与 转换 电路 封装 在一 片集 成 电路 中。它 采 o a )2 全 用独特 的单 线接 口方 式, S 8 0与微处 理器 连接 时仅 需要 一条 口线 即可实现 O 12 微处理 器与D 12 的双 向通 讯 : S8 0 在使用 中 不需要 任何 外 围元件, 不需 要备份 电 源, 可用 数据 线供 电 : 测温 范 围为 一 5 ~ +2 ℃, 过编 程可 实现 12 1 5℃ 15 通 /~ / l 的 4级精 度转 换 9 .5 s 7 0 s 6 在 3 7m 和 5m 内将 温度 转化 为 9 位和 l 位 的数 字 2 量: 用户 可 自设定 非易 失性 的报警 上下 限值 : 可适用 于各 种领 域、各种 环境 的 自动 化 测 量 及 控 制 系统 ,具 有 微 型化 、低 功耗 、高 性 能 、抗 干 扰 能 力 强 、 易 配微 处 理 器 等 优 点 。
DS18B20数据手册
位 ROM 和 ROM 操作控制部分允许 DS1820 作为一个单线器件工作并遵循 单线总线系统 一节中所
详述的单线协议 直到 ROM 操作协议被满足 DS1820 控制部分的功能是不可访问的 此协议在 ROM
操作协议流程图 图 6 中叙述 单线总线主机必须首先操作五种 ROM 操作命令之一 1 Read ROM(读
+0
00000000 00000000
-1/2
11111111 11111111
-25
11111111 11001110
-55
11111111 10010010
安息字输出 十六进制 00FAh 0032h 0001h 0000h FFFFh FFCEh FF92h
2 4 运用 告警信号
在 DS1820 完成温度变换之后 温度值与贮存在 TH 和 TL 内的触发值相比较 因为这些寄存
DS1820
DS1820 单总线数字温度计
一 概述
济南清风电子
1 1 一般说明
----------------更多资料和源程序,请访问以下网站
===========================
DS1820 数字温度计提供ht9tp位://w温ww度.q读fm数cu.,co指m示器件的温度
以下的过程可以获得较高的分辩率 首先 读温度 并从读得的值截去 0.5 位(最低有效位) 这个值便是 TEMP_READ 然后可以读留在计数器内的值 此值是门开通期停止之后计数剩余
TEMPRATURE(温度 = TEMP _ READ − 0.25 + (COUNT _ PER _ C − COUNT _ REMAIN) COUNT _ PER _ C
数字温度传感器DS18B20在多点测温系统中的应用_甘勇
2001年 12月河南农业大学学报Dec. 2001第35卷 第4期Journal of Henan Agricultural University Vol.35No.4文章编号:1000-2340(2001)04-0391-03数字温度传感器DS18B20在多点测温系统中的应用甘 勇,宋春来,宋寅卯(郑州轻工业学院计算机科学与工程系,河南郑州450002)摘要:阐述了数字温度传感器DS18B20的功能、结构、测温原理以及在多点温度测试系统中的应用.由于其精度高、互换性好,可直接将温度数据进行编码,且可以只使用1根电缆传输温度数据,通信方便,传输距离远且抗干扰;系统得以简化,扩充维护十分方便.与用传统温度传感器组成的多点测温系统相比能节省大量电缆.关键词:数字传感器;温度;数据采集中图分类号:TP273 文献标识码:ADigital temperature sensor DS18B20application in multipletemperature measurement systemGAN Yong,SONG Chun-lai,SONG Yin-mao(Computer Science and Engineering Department of Zhengzhou Institute of Light Industry,Zhengzhou450002,China)A bstract:The function,structure and principle of temperature measurement of digital temperature sensor and its ap-plication in multiple temperature measurement syste m are introduced.With its high accurac y and good exchange capac-ity,this sensor can card temperature data directly,and transmit information through1-wire bus.So communication become more convenient and with high ability to resist interference.DS18B20multiple temperature measurement system can save a lot of cables compared with the maltiple temperatare measare ment system consisting of fradifional sensers. Key words:digital sensor;temperature;data acquisition DS18B20是美国DALLAS半导体器件公司在其前代产品DS1820[1]的基础上最新推出的单线数字化智能集成温度的传感器,其特点是:①DS18B20可将被测温度直接转换成计算机能识别的数字信号输出.温度值不需要经电桥电路先获取电压模拟量,再经信号放大和A/D转换成数字信号,解决了传统温度传感器存在的因参数不一致性,在更换传感器时会因放大器零漂而必须对电路进行重新调试的问题,使用方便.②DS18B20能提供9到12位温度读数,精度高.且其信息传输只需1根信号线,与计算机接口十分简便,读写及温度变换的功率来自于数据线而不需额外的电源.③每一个DS18B20都含有一个惟一的序列号,这就允许多个DS18B20连接到同一总线上.尤其适合于多点温度检测系统.④负压特性:当电源极性接反时,DS18B20虽然不能正常工作,但不会因发热而烧毁.正是由于具有以上特点,DS18B20在解决各种误差、可靠性和实现系统优化等方面与传统各种温度传感器相比,有无可比拟的优越性,因而广泛应用于过程控制、环境控制、建筑物、机器设备中的温度检测.1 DS18B20的功能与结构数字化温度传感器DS1820测温范围为-55~+125℃,增量值为0.5℃(9位温度读数),其内部功能结构如图1所示.它主要由4个数据部件部分组成:64位ROM;温度传感器;非易失性的温度告警触发器收稿日期:2001-8-27基金项目:河南省科技攻关计划资助项目(991140199)作者简介:甘勇(1965-),男,湖南株洲人,郑州轻工业学院副教授,博士生,从事计算机应用和计算机网络研究. 392河 南 农 业 大 学 学 报第35卷TH 和TL ;高速便笺存储器.64位ROM 用于存储序列号,其首字节固定为28H ,表示产品类型码,后6个字节是每个器件的编码,最后1个字节是CRC 校验码.温度告警触发器TH 和TL 存储用户通过软件写入的报警上下限值.高速便笺存储器由9个字节组成,其中有2个字节R AM 单元用来存放温度值,前1个字节为温度值的补码低8位,后1个字节为符号位和温度值的补码高3位.图2 DS18B20测量电路图1 DS18B20功能结构图图3 基于RS -485组网多点温度数据采集系统图4 数据采集仪原理2 DS18B20测温原理DS18B20测量温度采用了特有的温度测量技术,其温度测量电路如图2所示.它是通过计数时钟周期来实现的.低温度系数振荡器输出的时钟信号通过由高温度系数振荡器产生的门周期而被计数.计数器被预置在与-55℃相对应的一个基权值.如果计数器在高温度系数振荡周期结束前计数到零,表示测量的温度值高于-55℃,被预置在-55℃的温度寄存器的值就增加1℃,然后重复这个过程,直到高温度系数振荡周期结束为止.这时温度寄存器中的值就是被测温度值,这个值以16位形式存放在便笺式存贮器中,此温度值可由主机通过发存贮器读命令而读出,读取时低位在前,高位在后.斜率累加器用于补偿温度振荡器的抛物线特性.DS18B20在使用时,一般都采用单片机来实现数据采集[2].只需将DS18B20信号线与单片机1位I /O线相连,且单片机的1位I /O 线可挂接多个DS18B20,就可实现单点或多点温度检测.3 DS18B20在多点测温系统中的应用基于RS -485组网[3]的多点温度数据采集系统(图3).该系统是为新飞电器股份有限公司九分厂扩建生产线配套的冰箱温度微机自动检测系统.该系统由5条测试线组成.每条线能同时对40台电冰箱降温曲线进行测试并自动判定冰箱是否合格;整个检测过程由计算机控制完成;能打印冰箱降温曲线等数据和参数.系统基本要求如下:①每台冰箱测试2个温度点.②测温范围在-40℃~+40℃之间.③温度的测量精度在±0.5℃之间.④每条测试线测试时间30~180min .⑤系统软件完成冰箱降温曲线的图形显示和打印、判定冰箱是否合格、打印温度数据及报表.⑥每条线既可以单独测试.又可以多条线同时测试.每条测试线上的2个探头既可单独使用,也可同时使用.为满足以上要求,系统设计时采用了分布式计算机控制技术,由1台研华P Ⅲ800工业控制计算机作为上位机完成系统通信控制、数据管理、存贮及显示打印等工作;由215个前端数据采集仪作为下位机完成对5条生产线的40台冰箱温度及每条生产线3个环境温度的数据的采集,数据采集仪由1个2051单片计算机和2个DS18B20数字温度传感器组成,其原理图如图4所示.每条生产线43个数据采集仪通过RS -485通讯总第4期甘 勇等:数字温度传感器DS18B20在多点测温系统中的应用393 图5 主程序流程图 图6 中断服务程序流程图线连成总线型网络,5条生产线的数据采集仪通过总线与上位机连成1个星型网络.系统它以PC工业控制机为上位主机,以单片机为核心的数据采集仪作为下位从机.上位机通过向下位机发送地址信息来获取下位机的响应,下位机则不断查询总线来确定自己是否被访问.一旦总线数据与自己端口地址相符,下位机就马上把最近采集到的数据发送到总线上.上位机接收到温度数据,并把这些以二进制补码表示的数据转换成十进制数,根据这些数据绘制温度曲线,同时将数据存入Access 数据库中.本系统上位机的软件是用VC ++6.0编写的,采用多种人机对话方式,操作简便,适合于生产现场使用.其主要功能如下:①显示打印制冷曲线②显示打印保存温度数据③打印统计报表④计算最低温度、降温速率、初停时间⑤记录保存开停次数⑥自动判定冰箱是否合格⑦测试数据查询等.据存储和查询,采用了数据库来存放温度数据.下位机软件是用汇编语言编写的,包括主程序和中断服务子程序两大部分.主程序实现对DS18B20的实时数据采集,并将结果存贮于单片机的R AM 区(图5).中断服务程序实现数据采集仪与上位机的数据通信(图6).该系统已在新飞电器股份有限公司投入实际运行,取得了良好的社会和经济效益.4 结语DS18B20传感器精度高、互换性好;它直接将温度数据进行编码,可以只使用一根电缆传输温度数据,通信方便,传输距离远且抗干扰性好;与用传统温度传感器组成的多点测温系统相比可节省大量电缆,而且系统得以简化,系统扩充维护十分方便.DS18B20可以广泛用于工厂工业过程、大型粮仓、酿酒厂,食品加工厂的温度检测以及宾馆、仪器仪表室等处的温度检测和控制.参考文献:[1] 绒炜,王东平.数字温度计DS1820[J ].电子技术,1997,(1):12-14.[2] 潘新民.微型计算机控制技术[M ].北京:人民邮电出版社,1988.[3] 甘勇,宋寅卯,高为民.Windows2000下基于RS -485工业数据采集网络的设计与实现[J ].河南师范大学学报(自然科学版),2001,29(4):82-84.。
DS1820单总线数字温度计 说明书
DS1820单线数字温度计特性• 独特的单线接口仅需一个端口引脚进行通讯• 简单的多点分布应用• 无需外部器件• 可通过数据线供电• 零待机功耗• 测温范围-55~+125℃,以0.5℃递增。
华氏器件-67~+2570F,以0.90F递增• 温度以9位数字量读出• 温度数字量转换时间200ms(典型值)• 用户可定义的非易失性温度报警设置• 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件• 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统说明DS1820数字温度计以9位数字量的形式反映器件的温度值。
DS1820通过一个单线接口发送或接收信息,因此在中央微处理器和DS1820之间仅需一条连接线(加上地线)。
用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。
因为每个DS1820都有一个独特的片序列号,所以多只DS1820可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。
这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。
引脚说明16脚SSOP PR35符号说明91GND接地82DQ数据输入/输出脚。
对于单线操作:漏极开路(见“寄生电源”节)73VDD可选的VDD引脚。
具体接法见“寄生电源”节DS1820S(16脚SSOP):所有上表中未提及的引脚都无连接。
概览图1的方框图示出了DS1820的主要部件。
DS1820有三个主要数字部件:1)64位激光ROM,2)温度传感器,3)非易失性温度报警触发器TH和TL。
器件用如下方式从单线通讯线上汲取能量:在信号线处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。
DS1820也可用外部5V电源供电。
DS1820依靠一个单线端口通讯。
在单线端口条件下,必须先建立ROM操作协议,才能进行存储器和控制操作。
温度传感器DS1820
美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
全部传感元件及转换电路集成在形如一只三极管的集成电路内。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的DS18B20体积更小、更经济、更灵活。
使你可以充分发挥“一线总线”的优点。
目前DS18B20批量采购价格仅10元左右。
在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。
另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。
因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。
新的"一线器件"DS18B20体积更小、适用电压更宽、更经济。
DS18B20、DS1822的特性DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。
可选更小的封装方式,更宽的电压适用范围。
分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS1822与DS18B2 0软件兼容,是DS18B20的简化版本。
省略了存储用户定义报警温度、分辨率参数的EEP ROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。
继"一线总线"的早期产品后,DS1820开辟了温度传感器技术的新概念。
DS18B20和DS182 2使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
DS1820中文手册
移位寄存器的各位都被初始化为 0。然后从系列编号的最低有效位开始,一次一位移入寄存 器,8 位系列编码都进入以后,序列号再进入,48 位序列号都进入后,移位寄存器中就存储 了 CRC 值。移入 8 位 CRC 会使移位寄存器复 0。 存储器 DS1820 的存储器结构示于图 8。存储器由一个暂存 RAM 和一个存储高低温报警触发值 TH 和 TL 的非易失性电可擦除(E2)RAM 组成。当在单线总线上通讯时,暂存器帮助确保数据的完 整性。数据先被写入暂存器,这里的数据可被读回。数据经过校验后,用一个拷贝暂存器命 令会把数据传到非易性(E2)RAM 中。这一过程确保更改存储器时数据的完整性。
DS1820 依靠一个单线端口通讯。在单线端口条件下,必须先建立 ROM 操作协议,才能进行存 储器和控制操作。因此,控制器必须首先提供下面 5 个 ROM 操作命令之一:1)读 ROM,2) 匹配 ROM,3)搜索 ROM,4)跳过 ROM,5)报警搜索。这些命令对每个器件的激光 ROM 部分 进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指 明有多少器件或是什么型号的器件。成功执行完一条 ROM 操作序列后,即可进行存储器和控 制操作,控制器可以提供 6 条存储器和控制操作指令中的任一条。 一条控制操作命令指示 DS1820 完成一次温度测量。测量结果放在 DS1820 的暂存器里,用一 条读暂存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器 TH 和 TL 各由 一个 EEPROM 字节构成。如果没有对 DS1820 使用报警搜索命令,这些寄存器可以做为一般用 途的用户存储器使用。可以用一条存储器操作命令对 TH 和 TL 进行写入,对这些寄存器的读 出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。 寄生电源 寄生电源的方框图见图 1。这个电路会在 I/O 或 VDD 引脚处于高电平时“偷”能量。当有特 定的时间和电压需求时(见节标题“单线总线系统”),I/O 要提供足够的能量。寄生电源 有两个好处:1)进行远距离测温时,无需本地电源,2)可以在没有常规电源的条件下读 ROM。 要想使 DS1820 能够进行精确的温度转换,I/O 线必须在转换期间保证供电。由于 DS1820 的 工作电流达到 1mA,所以仅靠 5K 上拉电阻提供电源是不行的,当几只 DS1820 挂在同一根 I/O 线上并同时想进行温度转换时,这个问题变得更加尖锐。 有两种方法能够使 DS1820 在动态转换周期中获得足够的电流供应。第一种方法,当进行温度 转换或拷贝到 E2 存储器操作时,给 I/O 线提供一个强上拉。用 MOSFET 把 I/O 线直接拉到电源
温度传感器DS1820使用中注意事项
温度传感器DS1820使用中注意事项DS1820虽然具有测温系统简洁、测温精度高、连接便利、占用口线少等优点,但在实际应用中也应留意以下几方面的问题:(1)较小的硬件开销需要相对简单的软件进行补偿,由于DS1820与微处理器间采纳串行数据传送,因此,在对DS1820进行读写编程时,必需严格的保证读写时序,否则将无法读取测温结果。
在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采纳汇编语言实现。
由于本节技术简单性,对一般读者DS18B20内容只作阅读。
(2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,简单使人误认为可以挂任意多个DS1820,在实际应用中并非如此。
当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以留意。
(3)连接DS1820的总线电缆是有长度限制的。
试验中,当采纳一般信号电缆传输长度超过50m时,读取的测温数据将发生错误。
当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采纳每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。
这种状况主要是由总线分布电容使信号波形产生畸变造成的。
因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
温度传感器DS18B20指令(命令)说明命令功能指令代码功能说明读ROM33H读DS18B20中的64位光刻ROM序列号启动转换44H启动温度转换,结果存入内部高速暂存器RAM中写温限值4EH向内部字节地址2和3 中写入上下限温度值匹配ROM55H发出命令后,还发送64位ROM序列号查找对应号码的18B20 读供电B4H读电源供应方式: 18B20发0为寄生供电,1为外接供电读取温度BEH读取温度寄存器等9字节的内容跳过ROMCCH单片18B20时,跳过读序列号操作,直接发温度转换报警搜寻ECH执行后,当温度超过上下限值时18B20才作响应搜寻ROMF0H搜寻同一条线上挂接有几个18B20,识别ROM(4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序会进入死循环。
推荐-基于LabVIEW和DS1820的多点温度测试系统—上位机
()原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的(),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用()的规定,即:按照学校要求提交()的印刷本和电子版本;学校有权保存()的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存;在不以赢利为目的前提下,学校可以公布的部分或全部内容。
作者签名:日期:学位原创性声明本人郑重声明:所呈交的是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位版权使用授权书本学位作者完全了解学校有关保留、使用学位的规定,同意学校保留并向国家有关部门或机构送交的复印件和电子版,允许被查阅和借阅。
本人授权大学可以将本学位的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位。
涉密按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计()的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对支持必要时)2.字数要求:理工类设计()正文字数不少于1万字(不包括图纸、程序清单等),文科类正文字数不少于1.2万字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文章编号:1008-1402(2002)02-0156-03
由D S 1820构成的单线多点储粮温度自动测试系统
①
赵 斌, 匡丽红, 孙 明
(黑龙江八一农垦大学,黑龙江密山158308)摘 要: 介绍了数字式温度传感器D S 1820的工作特点与工作原理,利用D S 1820的单总线数字输出的特点和单片机技术,给出了一种基于由D S 1820构成的单线多点储粮温度自动测试系统的硬件结构和软件流程.鉴于D S 1820的特点,本系统节省单片机的口线及A D 转换器等硬件设备,节约资金
.关键词: 单线制;温度传感器;自动测试系统
中图分类号: T P 229.31 文献标识码: A
0 引 言
传统的粮仓温度检测采用热敏电阻作为温度敏感元件,热敏电阻成本低,但需要后续信号处理电路,而且,热敏电阻的可靠性相对较差,测温精度低.在本文中介绍一种以数字温度传感器D S 1820为温度敏感元件的储粮温度自动测试系统.该系统以586以上PC 机为主机、A T 89C 51单片机作为分机,D S 1820通过1根口线与单片机相连接,单片机通过通信线路与PC 机交换信息,所有测量操作均通过PC 机软件的菜单命令进行.本系统具有温度检测、显示、打印和系统故障自检等多种功能.基本能满足仓储粮情检测的要求.
1 D S 1820的特点与工作原理
由美国DALLA S 公司生产的单线数字温度传感器D S 1820,可把温度信号直接转换成9位串行数字信号供单片机处理.由于每片D S 1820含有唯一的硅串行数,故在一条总线上可挂接多个D S 1820(试验表明,当一条总线上挂接的D S 1820超过8个时,就必需解决微处理机的总线驱动问题).信息写入D S 1820或读出D S 1820仅需单线接口,同时总线本身也可以向所挂接的D S 1820供电,而无需额外电源,由
D S 1820构成的温度检测系统无需任何处围硬件,系统结构简单
.D S 1820的测温范围为55℃~125℃,精度0.5℃,在1S (典型值)内把温度转换为数字量,用户自设定温度报警上下限,其值是非易失的,报警搜索命令可识别哪片D S 1820超温度限[1].
图1 D S 1820引脚图
D S 1820的引脚图如图1所示.GND 是地,DQ 是数据输入 输出脚,V DD
是可选的电源.每只D S 1820都可以设置成两种供电方式,即数据总线供电方式和
外部供电方式.
D S 1820的内部结构如图2所示
.D S 1820主要由3个主要数字器件组成:64B IT 闪速ROM ,温度传感器,非易失性温度报警触发器.每一个D S 1820都有一
个唯一的64位长的序号存放在闪速ROM 中,开始的8位是产品类型编码
(D S 1820编码均为10H ).接着的48位是每个器件唯一的序号,最后的8位是前面
56位的CRC 码.第20卷第2期
佳木斯大学学报(自然科学版)Vol .20No .22002年6月Journa l of J i am usi Un iversity (Na tura l Sc ience Ed ition )June .2002①收稿日期:2001-12—15
作者简介:赵斌(1970-),男,黑龙江哈尔滨人,黑龙江八一农垦大学讲师,工学硕士.
图2 D S 1820内部结构图
D S 1820的测温原理为内部计数器对一个受温度影
响的振荡器计数,在低温时振荡器的脉冲可以通过门电
路,而到达某一个设置高温时,振荡器的脉冲无法通过门
电路.计数器设置为-55℃,同时计数器复位在当前温度
值上,电路的振荡器的系数进行补偿,计数器重新开始计
数直至回零,如果门电路仍未关闭,则重复以上过程.温
度表示值为9位,由D S 1820中的两个8位RAM 储存,
高位为符号位,低位为温度值.
2
测试系统原理及程序流程图图3 自动测温系统框图 图4 D S 1820与单片机构成的系统图
图5 统统软件流程图
图3为基于D S 1820的储粮温度自动测试系统的结构框图.
传感器组单线与单片机相连,向单片机提供数字化的温度测量信
息,试验表明,传输距离受总线电缆的性质影响,当总线电缆为双
绞线屏蔽电缆时,正常通讯距离可达到150m ,单片机将多路温度
测量信号经通信电路传送给PC 主机,主机通过显示器和打印机
输出测量结果及故障自检信息.图4为D S 1820与单片机相连的
单线多点温度测量系统图.为保证在有效的D S 1820时钟周期内
提供足够的电流,用一个M O SFET 管和89C 51的P 1.0口来实现对
D S 1820总线的上拉,由于采用单线制,数据的发送、
接收及电源仅用一根总线(注意,V DD 和GND 引脚都必须接地),接收口必须是
三态的,在这里用P 1.1口作发送口,P 1.2口作接收口[2].
无论进行单点或多点温度测量,在进行系统安装及工作之前,
首先要弄清每一只D S 1820的序列号,应将D S 1820逐个挂接总
线,读出其序列号.其工作过程如下:单片机P 1.1口发低电平至少
480Λs ,复位D S 1820,待D S 1820发响应脉冲由P 1.2接收后,通过发
送口发送读ROM 命令的机器码33H ,然后发送口发出一个负脉
冲(15Λs )并通过接收读取D S 1820序号值的一位直到读完序号值
的全部56位,依此方法可读出所有D S 1820的序号.需要注意的
是,在读写D S 1820时,必须严格地保证读写时序,否则将无法读
取测温结果.
系统工作的软件流程如图5所示.7
51第2期 赵 斌等:由D S 1820构成的单线多点储粮温度自动测试系统
851 佳木斯大学学报(自然科学版) 2002年
3 结束语
该测试系统结构简单,易于增减传感器的数量.由于数字温度传感器以数字形式输出温度量,传输可靠性好,抗干扰能力强,易于与总线连接.此系统还可用于食品、化工、智能楼宇等环境的温度实时检测.
参考文献:
[1] D allas Sem iconducto r data book s[M].D allas Sem iconducto r Co rpo rati on,1995.
[2] 何立民.M CS-51系列单片机应用系统设计[M].北京:北京航空航天大学出版社,1991.
AN AUT OM AT I C M EASUR ING S Y STE M OF TE M PERATURE
FOR GRA IN ST ORAGE BASED ON D IGITAL SENS OR D S1820
ZH A O B in, KUA N G L i-hong, SUN M ing
(He ilongj i ang August F irst Agr iculture Un iversity,M ishan158308,Chi na)
ABSTRACT: T h is paper in troduces the characteristics and w o rk ing p rinci p le of digital sen so r D S1820.B y m ak ing u se of the advan tage of the characteristics of1-w ire digital ou tpu t of D S1820and the m icrocom p u ter techn ique,an au tom atic m easu ring system of tem p eratu re fo r grain sto rage based on D S1820is p ropo sed.A nd the structu re and softw are flow diagram of the au to-m easu ring system are given.B ased on D S1820’s characteristics,the system u ses less of the data bu s of the m icrocom pu ter, even does no t u se the A D converter,w h ich can cu t dow n it’s cap ital rem arkab ly.
KEY WOR D S: 1-w ire digital;sen so r of tem peratu re;au tom atic m easu ring system。