数字温度计设计报告3562656772文档格式.docx
- 文档编号:21848311
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:17
- 大小:252.84KB
数字温度计设计报告3562656772文档格式.docx
《数字温度计设计报告3562656772文档格式.docx》由会员分享,可在线阅读,更多相关《数字温度计设计报告3562656772文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
3.1方案一
采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成(热电偶的构成如图2.1),热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。
通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。
数据采集部分则使用带有A/D通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。
热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D转换电路,感温电路比较麻烦。
图2.1热电偶电路图
3.2、方案二
采用数字温度芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。
这样,测温系统的结构就比较简单,体积也不大。
采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。
该系统利用AT89C51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。
该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。
系统框图如图3.3所示
图3.3DS18B20温度测温系统框图
从以上两种方案,容易看出方案一的测温装置可测温度范围宽、体积小,但是线性误差较大。
方案二的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案二。
四、系统器件选择
4.1.单片机的选择
对于单片机的选择,可以考虑8051系列。
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,
4.2温度传感器的选择
DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。
DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。
温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
被测温度用符号扩展的16位数字量方式串行输出;
其工作电源既可以在远端引入,也可以采用寄生电源方式产生;
多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
4.2.1.DS18B20的性能特点
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种集成温度传感器。
与传统的热敏电阻等测温元件相比,它能直接输出二进制温敏信号,并通过串行输出方式与单片机通信。
DS18B20的性能特点如下:
.适应电压范围3.0-5.5V,在寄生电源方式下可由数据线供电;
;
.独特的单线接口仅需要一个端口引脚进行通信;
.多个DS18B20可以并联在唯一的三线上,实现多点组网功能;
.不需要外部器件;
.测温范围-55~+125摄氏度,在-10~+85摄氏度时精度为±
0.5摄氏度;
.零待机功耗;
.温度以9~12位数字量读出;
.用户可定义的非易失性温度报警设置;
.报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
.负电压特性,电源极性接反时,温度计不会因发热而烧毁,只是不能正常工作。
4.2.2.DS18B20使用中的注意事项
DS18B20虽然具有测温系统简单、测温精度高,连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
1.较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格地保证读写程序,否则将无法读取测量结果。
在使用VC等高级语言进行系统程序设计时,对DS18B20操作部分仍要采用汇编语言实现。
2.连接DS18B20的总线电缆是有长度限制的。
试验中,当采用普通信号电缆传输长度超过50m时,读取的测量数据将发生错误;
当将总线电缆改为双绞线带屏蔽电缆时,正常通信距离进一步加长,这种情况主要有总线分布电容使信号波形产生畸变造成的。
因此,在使用DS18B20进行长距离测温系统设计时,要充分考虑总线分布电容和阻抗匹配问题。
3.在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序将进入死循环,这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。
4.2.3.DS18B20的内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器、配置寄存器。
DS18B20的管脚排列、各种封装形式如图4.2所示,DQ为数据输入/输出引脚。
开漏单总线接口引脚。
当被用作在寄生电源下,也可以向器件提供电源;
GND为地信号;
VDD为可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
其电路图4.3所示。
图4.2外部封装形式图4.3传感器电路图
DS18B20采用3脚PR-35封装,其内部结构框图如图4.4所示。
图4.4DS18B20内部结构框图
64位R光刻ROM的排列结构如图4.3所示。
开始8位是产品类型的编号;
接着的48位是DS18B20自身的序列号,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用单线进行通信的原因。
通过非易失性温度报警触发器TH和TL的比较,DS18B20内的报警位置对主机发出的报警搜索命令作出响应。
图4.364位ROM结构框图
4.2.4.DS18B20测温原理
图4.4所示,图中低温度系数振荡器的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;
高温度系数振荡器随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输人。
图4.4DS18B20的测温原理图
图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数振荡器产生的脉冲信号进行减法计数,当减法计数器1的预置值减到。
时,温度寄存器的值将加1,减法计数器1的预置值将重新被装人,并重新开始对低温度系数振荡器产生的脉冲信号进行计数。
如此循环,直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值就是所测温度值。
图4.8中的斜率累加器用于补偿和修正测温过程中的非线形性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直到温度寄存器值达到被测温度值。
另外,由于DS18B20单线通信功能是分时完成的,有严格的时隙概念,因此读/写时序很重要。
系统对DS18B20的各种操作必须按协议进行。
操作协议为:
初始化DS18B20(发复位脉冲)—发ROM功能命令—发存储器操作命令—处理数据。
4.3.显示及报警模块器件选择
在本设计测量范围为0℃~+125℃,精度为±
0.5℃,因此只需要用液晶就可以完成相关的显示功能,报警器可以用有源蜂鸣器配合三极管来代替。
五、硬件设计电路
温度计电路设计原理图如图4.1所示,温度计的控制器使用单片机AT89C2051,温度传感器使用DS18B20,用液晶实现温度显示。
本温度计大体分为三个工作过程。
首先,由DS18B20温度传感器芯片测量当前温度,并将结果送入单片机。
然后,通过AT89C2051单片机芯片对送来的测量温度读数进行计算和转换,并将此结果送入液晶显示模块。
最后,SMC1602A芯片将送来的值显示与显示屏上。
其中,DS18B20温度传感器芯片采用“一线制”与单片机相连,它独立完成温度测量以及将温度测量结果送到单片机工作。
图中有3个独立式按键可以分别调整温度的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时液晶模块将被测温度显示,这时可以调整上下限,从而测出被测的温度值。
5.1主控制器:
单片机AT89C2051具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要。
主机控制DS18B20完成温度转换必须经过三个步骤:
初始化、ROM操作指令、存储器操作指令。
必须先启动DS18B20开始转换,在读出温度转换值。
5.2显示电路
显示电路采用4位共阳极LED数码管,从P0口输出段码,列扫描用P2.0~P2.3口来实现,列驱动用9012三极管。
5.3温度检测电路
DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成。
DS18B20的电源供电方式由两种:
外部供电方式和寄生电源方式。
工作于寄生电源方式时,VDD和GND均接地,它在需要远程温度检测和空间受限的场合特别有用,原理是当1wire总线的信号线DQ为高电平是,窃取信号能量给DS18B20供电,同时一部分能量给内部电容充电,当DQ为低电平时释放能量为DS18B20供电。
但寄生电源方式需要强上拉电路,软件变得复杂(特别是在完成温度转换和拷贝数据到ROM时),同时芯片的性能也有所降低。
因此,在条件允许的场合,尽量采用外供电方式。
无论是内部寄生源还是外部供电,I/O口线要接5KΩ左右的上拉电。
在这里采用外部供电方式。
DS18B20与芯片连接电路如图所示。
外部电源供电方式是DS18B20最佳工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。
在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。
由于DS18B20只有一根数据线,因此它和主机(单片机)通信时需要串行通信,而AT89C51有两个串行端口,所以可以不用软件来模拟实现。
经过单线接口访问DS18B20必须遵循如下协议:
初始化、ROM操作指令、存储器操作命令和控制操作。
要使传感器工作,一切处理均严格按照时序。
主机发送(Tx)—复位脉冲(最短为480us的低电平信号)。
接着主机便释放此线并进入接收方式(Rx)。
总线经过4.7K的上拉电阻被拉至高电平状态。
在检测到I/O引脚上的上升沿之后,DS18B20等待15~60μs,并且接着发送脉冲(60~240μs的低电平信号)。
然后以存在复位脉冲表示DS18B20已经准备好发送或接收,然后给出正确的ROM命令和存储操作命令的数据。
DS18B20通过使用时间片来读出和写入数据,时间片用于处理数据位和进行指定操作的命令。
它有写时间片和读时间片两种:
●写时间片:
当有主机把数据线从逻辑高电平拉至逻辑低电平时,产生写时间片。
有两种类型的写时间片:
写1时间片和写0时间片。
所有时间片必须有60微妙的持续期,在各写周期之间必须有最短为1微妙的恢复时间。
●读时间片:
从DS18B20读数据时,使用读时间片。
当主机把数据线从逻辑高电平拉至逻辑低电平时产生读时间片。
数据线在逻辑低电平必须保持至少1微妙;
来自DS18B20的输出数据在时间下降沿之后的15微妙内有效。
为了读出从读时间片开始算起15微妙的状态,主机必须停止把引脚驱动拉至低电平。
在时间片结束时,I/O引脚经过外部的上拉电阻拉回高电平,所有读时间片的最短持续期为60微妙,包括两个读周期间至少1us的恢复时间。
一旦主机检测到DS18B20的存在,它便可以发送一个器件ROM操作命令。
所有ROM操作命令均为8位长。
所有的串行通讯,读写每一个bit位数据都必须严格遵守器件的时序逻辑来编程,同时还必须遵守总线命令序列,对单总线的DS18B20芯片来说,访问每个器件都要遵守下列命令序列:
首先是初始化;
其次执行ROM命令;
最后就是执行功能命令(ROM命令和功能命令后面以表格形式给出)。
如果出现序列混乱,则单总线器件不会响应主机。
当然,搜索ROM命令和报警搜索命令,在执行两者中任何一条命令之后,要返回初始化。
基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。
应答脉冲使主机知道,总线上有从机,且准备就绪。
在主机检测到应答脉冲后,就可以发出ROM命令。
这些命令与各个从机设备的唯一64位ROM代码相关。
在主机发出ROM命令,以访问某个指定的DS18B20,接着就可以发出DS18B20支持的某个功能命令。
这些命令允许主机写入或读出DS18B20便笺式RAM、启动温度转换。
软件实现DS18B20的工作严格遵守单总线协议:
(1)主机首先发出一个复位脉冲,信号线上的DS18B20器件被复位。
(2)接着主机发送ROM命令,程序开始读取单个在线的芯片ROM编码并保存在单片机数据存储器中,把用到的DS18B20的ROM编码离线读出,最后用一个二维数组保存ROM编码,数据保存在X25043中。
(3)系统工作时,把读取了编码的DS18B20挂在总线上。
发温度转换命令,再总线复位。
(4)然后就可以从刚才的二维数组匹配在线的温度传感器,随后发温度读取命令就可以获得对应的度值了。
在主机初始化过程,主机通过拉低单总线至少480μs,来产生复位脉冲。
接着,主机释放总线,并进入接收模式。
当总线被释放后,上拉电阻将单总线拉高。
在单总线器件检测到上升沿后,延时15~60μs,接着通过拉低总线60~240μs,以产生应答脉冲。
写时序均起始于主机拉低总线,产生写1时序的方式:
主机在拉低总线后,接着必须在15μs之内释放总线。
产生写0时序的方式:
在主机拉低总线后,只需在整个时序期间保持低电平即可(至少60μs)。
在写字节程序中的写一个bit位的时候,没有按照通常的分别写0时序和写1时序,而是把两者结合起来,当主机拉低总线后在15μs之内将要写的位c给DO:
如果c是高电平满足15μs内释放总线的要求,如果c是低电平,则DO=c这条语句仍然是把总线拉在低电平,最后都通过延时58μs完成一个写时序(写时序0或写时序1)过程。
写时间时序:
当主机把数据从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。
有两种写时间隙,写1时间隙和写0时间隙。
所有写时间隙必须最少持续60μs,包括两个写周期至少1μs的恢复时间。
I/O线电平变低后,DS18B20在一个15μs到60μs的窗口内对I/O线采样。
如果线上事高电平,就是写1,如果是低电平,就是写0。
主机要生成一个写时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始后的15μs内允许数据线拉到高电平。
主机要生成一个写0时间隙,必须把数据线拉到低电平并保存60μs。
每个读时隙都由主机发起,至少拉低总线1us,在主机发起读时序之后,单总线器件才开始在总线上发送0或1。
所有读时序至少需要60us。
源程序:
假设要写1B的数据,且数据放在A中。
SETB TEMPDN
NOP
WRITEDS1820LOP:
CLR TEMPDIN
MOVR6,#08H;
延时15Ls
DJNZ R6,$
RRC A;
将要写数据存入C
MOVTEMPDIN,C;
将数据写入总线
MOV R6,#14H;
延时40Ls
DJNZ R6,$
SETB TEMPDIN;
释放总线
DJNZ R7,WRITEDS1820LOP;
写8位
RET
读时间时序:
当从DS18B20读数据时,主机生成读时间隙。
当主机把数据从高电平拉到低电平时,写时间隙开始,数据线必须保持至少1μs;
从DS18B20输出的数据在读时间隙的下降沿出现后15μs内有效。
因此,主机在读时间隙开始后必须把I/O脚驱动拉为的电平保持15μs,以读取I/O脚状态。
在读时间隙的结尾,I/O引脚将被外部上拉电阻拉到高电平。
所有读时间隙必须最少60μs,包括两个读周期至少1μs的恢复时间。
假设要读1B的数据,且数据放在A中。
READDS1820:
MOV R7,#08H;
1个字节8位
SETB TEMPDIN
NOP
READDS1820LOOP:
SETB TEMPDIN;
MOV R6,#05H;
延时10Ls
MOV C,TEMPDN;
采样总线数据
MOV R6,#14H;
RRC A;
采样数据存入A
DJNZ R7,READDS1820LOOP;
采样下一位
MOVR6,#14H;
读/写时序如图5.3如下:
图5.3DS18B20的读写时序图
复位时序:
复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
其中TEMPDIN定义为DS18B20的数据管脚,主机为AT89C2051。
NITDS1820:
SETB TEMPDN
CLR TEMPDN
MOV R6,#0A0H;
延时640Ls
MOV R6,#0A0H
SETB TEMPDN;
MOV R6,#32H;
延时100Ls,等待回应
MOV R6,#3CH
LOOP1820:
MOV C,TEMPDN;
采样总线信号
JC NITDS1820OUT
DJNZ R6,LOOP1820
MOV R6,#064H
SJMP NITDS1820
INITDS1820OUT:
复位时序如图5.3所示:
5.4温度报警电路
本设计采用软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。
当所测温度超过或低于所设温度时,数据口相应拉高电平,报警输出。
报警电路硬件连接如图所示。
六.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 温度计 设计 报告 3562656772