电控柴油机用温度传感器主要包括冷却液温度传感器、进气温度传感器、燃油温度传感器及大气温度传感器。②进气温度传感器的作用是测量进气温度、修正喷油量和喷油正时、最大功率保护等。长城GW2.8TC型BOSCH共轨柴油机冷却液温度传感器与ECU的电路连接如图4-50所示。将冷却液温度传感器的工作部分放入水中进行加热,测量两端子之间的电阻值是否符合规定,否则应更换传感器。柴油机电控系统具有燃油加热功能时,必须设置燃油温度传感器。......
2023-09-23
1.项目演示
项目演示步骤分别如图7-46、图7-47、图7-48所示。
图7-46 步骤1——当前环境温度值的显示
图7-47 步骤2——升高的温度值显示
图7-48 步骤3——制冷后的温度值显示
2.项目的设计
(1)了解温度传感器DS18B20的工作原理。
(2)掌握一线制总线的通信方式及原理。
(3)掌握单片机对温度传感器DS18B20进行读、写控制的方法。
(4)对照温度传感器DS18B20的数据手册,理解对其进行读和写的软件编制方法。
3.项目的任务
温度传感器项目的电路原理图如图7-49所示。温度传感器DS18B20与单片机STC89C52RC之间的数据读写采用了一线制总线方式,STC89C52RC本身不包含一线制总线通信控制器的功能,为了与具有一线制总线通信功能的DS18B20进行数据交换,STC89C52RC必须利用自身的1根I/O线(这里是P17引脚),作为一线制的通信信号线,利用软件模拟产生一线制通信协议规定的传输数据信号,以完成与DS18B20之间的数据交换。
本项目应完成以下程序设计:通过C51嵌入式软件对DS18B20进行初始化及当前温度的读取,并将读取的温度值在7段LED数码管和1602液晶显示器上进行实时显示。
4.系统板上硬件连线
PMY单片机开发板上温度传感器项目的连接插线设置如图7-50所示。
图7-49 温度传感器项目的电路原理图
图7-50 单片机开发板上温度传感器项目的连接插线设置
5.程序流程图
程序流程图如图7-51所示。
图7-51 温度传感器项目的程序流程图
6.系统构成和程序分析
(1)温度传感器DS18B20的概述
DS18B20是美国DALLAS半导体器件公司在其前代产品DS18B20的基础上推出的单线数字化智能集成温度传感器,其特点是:
独特的单线接口,只需1个引脚即可通信;不需要额外的外部元件搭建外围电路即可正常运行;可用数据线供电,不需备份电源;测量范围为-55℃~+125℃,增量值为0.5℃,等效的华氏温度范围是-67℉~257℉,增量值为0.9℉;以9~12位数字值方式读出温度;在1s典型值内把温度变换为数字;用户可定义的非易失性的温度告警设置。
主要的优点是:
①DS18B20可将被测温度直接转换成计算机能识别的数字信号输出。传统温度传感器的温度值转换需要先经电桥电路获取电压模拟量,再经信号放大和A/D转换成数字信号,其缺点是在更换传感器时,会因放大器出现零点漂移而必须对电路进行重新调试,以克服这种参数的不一致性。由于DS18B20为数字式器件,不存在这类问题,因此使用起来非常方便。
②DS18B20能提供9~12位温度读数,精度高且其信息传输只需1根信号线,与计算机接口十分简便,读写及温度变换的功率全部来自于数据线,因此不需额外的附加电源。
③每一个DS18B20都含有一个唯一的序列号,这样的设计是为了允许多个DS18B20连接到同一总线上,因此非常适合构建多点温度检测系统。
④负压特性。当DS18B20的电源极性接反时,它虽然不能正常工作,但也不会因发热而烧毁。正是由于具有以上特点,DS18B20在解决各种误差、可靠性和实现系统优化等方面与传统各种温度传感器相比,有着无可比拟的优越性,因而广泛应用于过程控制、环境控制、建筑物和机器设备中的温度检测等领域。
(2)温度传感器DS18B20的引脚排列和内部功能
DS18B20全部传感元件及转换电路集成在形如一只三极管的集成电路内,如图7-52所示。三端口分别是地线、数据线和电源线,其外围电路非常简单。每一个DS18B20有唯一的序列号,多个DS18B20可以存在于同一条单线总线上。
图7-52 DS18B20
DS18B20的测温范围为-55℃~+125℃,增量值为0.5℃(9位温度读数),其内部功能结构如图7-53所示。它主要由4个数据部件部分组成:64位ROM温度传感器、非易失性的温度告警触发器TH和TL及中间结果暂存器。其中,64位ROM用于存储序列号,其首字节固定为28H,表示产品类型码,接下来的6个字节是每个器件的编码,最后1个字节是CRC校验码。
图7-53 DS18B20的内部功能结构图
温度告警触发器TH和TL用于存储用户通过软件写入的报警上、下限值。中间结果暂存器由9个字节组成,其中有2个字节RAM单元用来存放温度值,前1个字节为温度值的补码低8位,后1个字节为符号位和温度值的补码高3位。
DS18B20通过使用在板(on-board)温度测量专利技术来测量温度,温度测量电路的方框图如图7-54所示,它是通过计数时钟周期来实现的。其中,低温度系数振荡器输出的时钟信号通过由高温度系数振荡器产生的门周期而被计数;计数器被预置在与-55℃相对应的一个基权值,如果计数器在高温度系数振荡周期结束前计数到零,表示测量的温度值高于-55℃,被预置于-55℃的温度寄存器的值就增加1℃,然后重复这个过程,直到高温度系数振荡周期结束为止。这时温度寄存器中的值就是被测温度值,这个值以16位形式存放在中间结果暂存器中,此温度值可由主器件通过发出存储器读命令而读出,读取时低位在前,高位在后;斜率累加器用于补偿温度振荡器的抛物线特性。
(3)温度传感器DS18B20的内部存储器分配
如图7-55所示为DS18B20的内部存储器分配示意图,它由一个中间结果暂存器RAM和一个非易失性电可擦除EEROM组成,后者存储高、低温度触发器TH和TL及程序设置字节。暂存存储器有助于在单线通信时确保数据的完整性,数据首先写入暂存存储器,在那里它可以被读回,当数据被校验之后,复制暂存存储器的命令把数据传送到非易失性EEROM。
图7-54 DS18B20温度测量电路方框图
图7-55 DS18B20内部存储器分配示意图
暂存存储器是按8位字节存储器来组织的,头两个字节包含测得的温度信息,第三、第四和第五个字节分别是TH、TL和程序设置字节的易失性拷贝,在每一次上电复位时被刷新;接着的3个字节没被使用,但是在读回时它们呈现为逻辑全1;第八个字节是冗余校验CRC字节,它是前面所有8个字节的CRC值。例如,图7-55所示的字节,头两个字节代表测得的温度读数,MSB中当S=1时表示温度为负,S=0时表示温度为正,其余低位以二进制补码形式表示,最低位为1时表示0.0625℃。规定TH中的有符号值必须大于TL中的有符号值,DS18B20的输出数据与温度的对应关系由表7-4给出。
程序设置寄存器主要是用来设置分辨率位数的,各位的意义:TM为测试模式位。TM=1表示测试模式,TM=0表示工作模式,出厂时该位设为0,且不可改变。R1、R0与温度分辨率有关。00表示9位,01表示10位,10表示11位,11表示12位。分辨率越高,则转换时间越长,12位分辨率的典型转换时间大约为750ms。
表7-4 DS18B20输出数据与温度的对应关系
(4)温度传感器DS18B20的寄生电源和硬件接法
如图7-53所示DS18B20的内部功能结构图给出了寄生电源电路。当I/O(DQ引脚)或VCC引脚为高电平时,这个电路便“取”得电源,只要符合指定的充电时间和电压要求,I/O将提供足够的功率。寄生电源具有两个优点,第一,可以利用I/O引脚远程温度检测而无须本地电源;第二,在缺少正常电源条件下也可以读取ROM的值。
因为DS18B20的工作电流高达1mA,为了使DS18B20能准确地完成温度变换,当温度变换发生时,I/O线上必须提供足够的功率。有两种方法确保DS18B20在其有效变换期内得到足够的电源电流。第一种方法是发生温度变换时,在I/O线上提供一路强的上拉电源,如使用一个MOSFET把I/O线直接拉到电源电压。当使用寄生电源方式时,VCC引脚必须连接到地。向DS18B20供电的另外一种方法是通过使用连接到VCC引脚的外部电源。这种方法的优点是在I/O线上不要求附加强的上拉电源,总线上DS18B20便可以在温度变换期间保持自身供电,这就保证了在变换时间内其他数据能够在单线上正常传送。
此外,在单线总线上可以放置任何数目的DS18B20,而且如果它们都使用外部电源,那么通过发出SkipROM命令和接着发出ConvertT命令可以同时完成温度变换。此时要注意,只要外部电源处于工作状态,GND引脚就不可悬空。开发板上的J2连接插线设置了VCC的选择模式,参照图7-50,J2的3脚为DS18B20的电源输入脚,用短接片插入不同的位置,即可选择该脚与电源和地相连,从而完成上述两种方式的实验设置。为了更加清晰地说明开发板的系统连线,图7-56给出了温度计项目的系统功能图,请读者对照该图加深对以上内容的理解。
(5)温度传感器DS18B20的程序编制方法
单总线上每一个器件的使用都是从初始化开始的。初始化的时序是,单片机首先发出复位脉冲,在经过一定延时后,一个或多个单总线器件发出应答脉冲,如果单片机检测到单总线上有器件存在,就可以发出传送ROM命令。具体的ROM命令见表7-6。
图7-56 温度计项目的系统功能图
只有当表7-5所示的任意一条ROM指令被成功执行后,才会执行单片机发出的访问被选中器件的存储和控制命令。这些命令被存放在DS18B20的RAM中,主要实现启动单总线DS18B20温度转换等功能,具体的RAM命令格式见表7-6。
表7-5 DS18B20的ROM命令格式
表7-6 DS18B20的RAM命令格式
对DS18B20的访问可分为3个步骤,即初始化、序列号访问和内存访问。由于项目用开发板上只有一个DS18B20,因此在初始化DS18B20后,将跳过对ROM编码搜索的指令,直接调用温度转换命令,并在主程序中实现7段LED数码管和1602LCD液晶显示器同时显示当前温度值的功能。关于DS18B20实现多点温度测控系统的方法,请读者结合本章内容方法加以实现。
①DS18B20的初始化方法。DS18B20要求按照严格的协议来确保数据传送的完整性。协议由几种单线上的信号类别组成,即:复位脉冲、存在脉冲、写0、写1、读0和读1。所有这些信号除了存在脉冲之外,均由总线主器件(开发板上的STC89C52RC)产生。
图7-57给出了DS18B20的初始化复位脉冲时序图,当主器件开始与从器件DS18B20进行通信时,主器件必须先给出复位脉冲,经过给定时间,DS18B20发出存在脉冲,表示已经准备好发送或者接收由主器件发送的ROM命令和存储器操作命令。
图7-57 DS18B20的初始化复位脉冲时序图
首先,总线主器件发送最短为480μs的低电平TX复位脉冲信号,源代码中的以下语句实现这一过程:
接着总线主器件便释放此线,并进入接收方式,由于图7-49中上拉电阻R43的作用,一线制总线被拉至高电平状态,在检测到DQ(I/O)引脚上的上升沿之后,DS18B20等待15~60μs,源代码中的下条语句实现一线制总线置1大约66μs。
此时,DS18B20的最大等待时间60μs已被超过,可以检测一线总线上是否存在DS18B20给出的存在脉冲,可用检测DQ的引脚状态来实现:
_nop_()为执行一个时钟周期的空指令,本开发板采用了11.0592MHz的外部晶振,一个时钟周期大约要1.1μs;delay(1)延时函数则能够延时大致11μs。
至此,按照DS18B20的初始化复位脉冲时序图编制的程序实现代码分析完毕。
②写时间片。如图7-58所示,当主器件把数据线从高逻辑电平拉至低逻辑电平时,产生写时间片。写时间片有两种类型:分别为写1时间片和写0时间片,所有时间片必须有最短为60μs的持续期,在各写周期之间必须有最短为1μs的恢复时间。
在DQ线由高电平变为低电平之后,DS18B20在15~60μs的时间窗口之间对DQ线采样,如果DQ线为高电平,就发生写1;如果DQ线为低电平,便发生写0。
图7-58 DS18B20的写时间片脉冲时序图
源程序中的DS18B20_ReadByte函数完成对DS18B20的写时间片功能。源代码列写如下:
对于主器件产生写1时间片的情况,数据线DQ必须先被拉至逻辑低电平,然后被释放,使数据线在写时间片开始之后的15μs之内由主器件拉至高电平;对于主器件产生写0时间片的情况,数据线必须被主器件拉至逻辑低电平,且至少保持低电平60μs。读者可以对照图7-58给出的写时间片脉冲时序图,理解上面给出的程序代码。
③读时间片。如图7-59所示,当从DS18B20读数据时,主器件产生读时间片,当主器件把数据线DQ从逻辑高电平拉至低电平时,产生读时间片,数据线DQ必须保持在低逻辑电平至少1μs,来自DS18B20的输出数据在读时间片下降沿之后15μs有效,因此为了读出,从读时间片开始算起15μs的状态主器件必须停止把DQ引脚驱动至低电平。
以下程序代码模拟了这一过程:
图7-59 DS18B20的读时间片脉冲时序图
图7-59在读时间片结束时,DQ引脚经过外部的上拉电阻拉回至高电平,所有读时间片的最短持续期限为60μs,各个读时间片之间必须有最短为1μs的恢复时间。同样读者可以对照图7-59给出的读时间片脉冲时序图理解上面给出的程序代码。
有关传感器与检测技术的文章
电控柴油机用温度传感器主要包括冷却液温度传感器、进气温度传感器、燃油温度传感器及大气温度传感器。②进气温度传感器的作用是测量进气温度、修正喷油量和喷油正时、最大功率保护等。长城GW2.8TC型BOSCH共轨柴油机冷却液温度传感器与ECU的电路连接如图4-50所示。将冷却液温度传感器的工作部分放入水中进行加热,测量两端子之间的电阻值是否符合规定,否则应更换传感器。柴油机电控系统具有燃油加热功能时,必须设置燃油温度传感器。......
2023-09-23
由于PN结不能耐高温,所以集成温度传感器通常测量150 °C以下的温度。这类电压输出型集成温度传感器特别适合于工业现场测量。AD590是美国模拟器件公司生产的单片机集成两端温度传感器,如图3-46所示。图3-46 AD590的封装形式和电路符号3.频率输出式集成温度传感器频率输出式集成温度传感器的特点是输出方波的频率与热力学温度成正比,频率温度系数Kf的单位是Hz/K,典型产品是MAX6677,以热力学温度定标。......
2023-06-22
温度传感器使用范围广,数量多,居各种传感器之首。智能温度传感器。目前,国际上已开发出多种智能温度传感器系列产品。另外,温度传感器按传感器与被测介质的接触方式可分为两大类:一类是接触式温度传感器,一类是非接触式温度传感器。接触式温度传感器的测温元件与被测对象要有良好的热接触,通过热传导及对流原理达到热平衡,这时的示值即被测对象的温度。......
2023-06-26
电热元件的最高使用温度应比炉膛温度高出50℃~100℃。图6-1硅碳棒电热元件4.二硅化钼电热元件二硅化钼熔点为2030℃,硅钼棒的最高工作温度为1700℃。这样既可以迅速达到所需的炉温,又能避免电热元件过热。图6-2硅钼棒电热元件......
2023-10-11
电控汽车大多采用负温度系数热敏电阻式传感器。图2-52 温度传感器的内部结构早期发动机ECU的内装电阻与温度传感器的热敏电阻呈串联关系,因此ECU探测到的信号电压依据温度传感器电阻值的变化而变动。如果某个温度传感器内部发生短路或者断路,会被发动机ECU检测到,并且储存相应的故障码。......
2023-08-30
在焊接自动化中,还经常用到光栅尺、光电编码器、测速发电机等传感器。通过对其相位差的检测,可以检测物体的移动方向。增量编码器又称为脉冲盘式数字传感器或脉冲盘式编码器。图5-2-19 绝对编码器的结构3.测速发电机测速发电机是一种将机械转速变换为与转速成正比的电压信号的传感器。......
2023-06-26
按被测介质与测温传感器是否接触,温度测试可分为接触式和非接触式两大类。1)接触式测温方法是基于热平衡原理,其特点是测温传感器直接与被测对象相接触,两者之间进行充分的热交换,最后达到热平衡,这时测温传感器的某一物理参数的量值就代表了被测对象的温度值。主要有全辐射高温计、红外温度传感器、比色高温计和射流温度传感器等,在此不做详细介绍。......
2023-06-28
相关推荐