文章图片标题

基于DS18B20的温度控制系统设计

分类:论文资源库 作者:admin 评论:0 点击: 440 次

在日常生活及工业生产过程中,经常要用到温度的检测及系统主要包括单片机控制模块,温度采集模块,温度上下限控制,温度是生产过程和科学实验中普遍而且重要的物理参数之设定模块、液晶显示模块,温度控制模块,以及外部存储模块等六一。随着新技术的不断开发与应用,近年来单片机发展十分迅速,大部分。
一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的1.1 单片机控制模块单片机控制模块是整个系统的核心,它控制了温度的采集、实际的使用范围已经包含了化工、冶金、电力、机械、食品、建筑等多个行业 。传统的温度采集方法不仅费时费力,而且精度差,
温度上下限值的设定、温度超限时加热器的启动。本文选用宏晶科技公司生产的一款型号为 STC89C52RC的单片机。STC89C52单片机的出现使得温度的采集和数据处理问题能够得到很好的在 I/O口的数量、RAM容量、功能实现等多个方面都优于较早型解决。
号的单片机,其 32个双向 I/O口可用于多路电机转速和转向信1 系统组成号的发送以及限位信号的接收;而 512字节 RAM可够用于存储本文以实验室水箱为被控对象,进行了智能温控系统设计,上位机发送来的数据,而不需要存储扩展 ;时钟频率也满足需本系统首先将温度采集后发给单片机进行处理,并通过 16位矩求。串口可直接下载程序到单片机上并可多次擦除,方便了程序阵键盘设定上下限温度,当温度超过设定值后,单片机将控制温的随时改进和调试。而且此款单片机无读出命令,解密困难,很好度控制模块启动,使温度在一定的范围内保持恒定。所有温度数地保护了知识产权。
据均通过液晶显示器显示出来,为了防止掉电引起的数据丢失,1.2 温度采集模块系统将某些时间点的温度数据和温度上下限的设定值存储在外对于温度数据采集的主要系统是根据DALLAS公司制造的一线式的数字温度传感器 DS18B20的相关数据来进行采集的。在系温度采集模块温度显示模块统当中具备独特的单总线接口方式,仅需使用1个端口就能实现与单片机的双向通讯,读写和完成温度变换所需的电源可以由数外模部据线本身提供而无需外部电源。温度传感器 DS18B20的温度的块存储理论的测试区间是零下 55摄氏度到零上 125摄氏度之间,温度测试的分辨率可以达到 0.0625摄氏度 [3],最后的测试结果通常以 9到 12位数字量的方式来输出数字温度,把信号通过“一线总温度上下限设置模块温度控制模块线”发送给CPU,并且还可以发送 CRC效验码,在信号发送过程中信号的抗干扰纠错能力是非常强的。
64位的 ROM光感刻录、配置寄存器以及温度警报触发器 TL和TH。其中光雕ROM的 64位序列号主要是产品出厂前就刻录好,它是每一个 DS18B20的地址的序列号。我们通过这个 64位序列号就能够使 DS18B20的每个功能都不一样,从而真正的实现可以一线上挂接好几个 DS18B20的目标。
DS18B20的温度测试的流程如下图中所示。在图中我们可以发现低温的温度的系数晶振基本上不受到温度的影响,同时把产生的频率固定的晶振传输给计数器1。但是高温的温度系数的晶振受温度影响比较明显,振荡率发生改变,并且所产生的晶振信号发送给计数器2。在计数器 1中的温度的设置范围在零下 55摄氏度的范围内。在计数器 1中对于低温的温度系数进行基本加减法运算,假如当计数器 1中的预置的值变为0,那么就可以把温度寄存器的结果在加1,这是使得计数器 1的预置值被重置,计数器1再次在开始对于低温温度系数的晶振进行信号记录,这时当计数器 2的预置值变为 0时,可以停止对于温度寄存器的累加,此时的温度寄存器的最终的值就是所得到的温度。在下图当中的斜率累加器主要的作用就在于对于温度测试过程中的非线性数据进行修正和填补,它的结果主要是用于对于计数器 1的预置修正。
停止=0高温度系数晶振 图2 DS18B20 测温原理图
1.3 温度控制模块
在本系统温度控制电路中,单片机通过控制三极管的通断控制继电器,达到控制电热器的目的。当温度低于设定温度下限时,单片机发送低电平信号经过 74LS04 非门电路后变为高电平,使NPN 型三极管导通,继电器使电源与电热器接通。电热器加热,温度慢慢升高。当温度高于设定温度上限时,单片机发送高电平信号经过 74LS04 非门电路后变为低电平。使 NPN 型三极管截止,继电器使电源与制冷系统接通,制冷系统工作,温度慢慢降低。当继电器突然断电时。会产生很大的反向电流,反接在三极管两端的二极管可将反向电流分流,达到保护三极管的作用 。
2 温度检测程序设计
DS18B20和单片机连接方式是通过一条数据线进行连接,信号的传输方式主要是进行串行。对于最终的温度数值的读取,需要根据时序配合关系来对于程序进行编制。在 DS18B20的数值传输中具有专门的通信协议来进行完整性限制。在通信协议上对于总线信号进行了多累信号规定。比如影响脉冲、复位脉冲、以及读写信号 0和 1的信号时序。在对于 DS18B20的时序的严格的规定情况下的操作过程,主要就是对于通过各类的软件来进行对
斜率累加器
预置比较
计数器1预置
=0温度寄存器
低温度系数晶振LSB
置位 /清除
加1
计数器2
2.1于硬件设备的串接。具体操作如下:
对于数字温度传感器的复位操作过程
复位主要是把时序进行恢复,这一过程是传输过程中的开始阶段。在这个复位的过程上主要是通过主要设备发出相关的复位脉冲来同 DS18B20的响应脉冲进行结合。通过在主设备的复位过程当中,通常主设备的拉低的数据线最少到480μS,当这种情况时 DS18B20就会接受这一复位的脉冲信号,从而和主设备进行信号传输,在数据线的上拉电阻的影响下,使得数据线的电平被提升,同时使得主设备开始接受信号。这过程当中 DS18B20的检测的延时出现到 15到60μS,使得拉低的总线延时 60到 240μS来进行信号的应答。这时主机才能对它进行其他操作。
2.2 对于温度传感器的读的操作过程
基本上所有的 DS18B20在产品出厂时都有一个唯一的 64位的序列号,在温度传感器被使用以前,都需要把传感器串接到 I/O的接口中去,比如:p1.0,然后在对于温度传感器的序列号进行数据读取。只有在 DS18B20读取都了设备对于序列号的读取才能够进行数据的发送。因此通常主设备进行数据信号发送后,都需要进行读时序过程,这样方便 DS18B20进行数据的传输。基本需要有最少 1μS的时间恢复。读时序过程基本先是主设备发送,在通过数据线的高电平,把数据线进行 1μS的拉低,同时对于数据线进行释放。如果主设备进行读时序,那么 DS18B20在数据线中的发送数据主要为 1和0。如果发送信号为1,那么数据线保持高电平。假如发送信号为0,那么 DS18B20进行数据线的拉低,并
且在过程后期释放数据线。DS18B20所发送的数据在 15μS的时序中是能够保持真实有效的。所以说主设备在进行读时序过程中必须要能够释放数据线,同时保持时序能够在 15μS中进行数据线读取。
2.3 对于温度传感器的写的操作过程
写时序主要就包含有对于1和0的写时序。其中 1的时序基本是都是主设备对于 DS18B20进行数据 1写入,0时序主要就是主设备对于 DS18B20进行数据 0写入。不管是何种写时序都需要最少 60μS,同时两个分开的写时序中间需要有最少 1μS的时间恢复。这两类的写时序都是从主设备开始来对数据线进行电平拉低。在进行 1时序写入时,主设备在对于数据线进行拉低情况下,然后在 15μS以内进行数据线的释放,因为对于电阻上拉使得数据线到了高电平状态;不过在进行 0时序的写入时,主设备在对于数据进行拉低的情况下,在时序中保持低电平那么就能
够有最少60μS。在进行写时序的 15到 60μS之间,DS18B20进行对于数据线电平状态的读取。假如该过程当中的数据线状态为高电平,那么就进行 1数据写入,不然的话就是进行逻辑 0的写入。

系统软件采用 keil c51 编制。

复位子程序:

bit RST_DS18B20()

{

bit ret="1";

DQ=0;/*拉低总线 */

Delayxus_DS18B20(32);/*为保险起见,延时 495us */

DQ=1;/*释放总线,DS18B20检测到上升沿后会发送存在
脉冲 */

电 子 测 试 第9期

设计研发
ELECTRONIC TEST2013年5月

Delayxus_DS18B20(4);/*需要等待 15~60us,这里延时

75us后可以保证接受到的是存在脉冲(如果通信正常的话)*/

ret=DQ;

Delayxus_DS18B20(14);/*延时495us,让 ds18b20释放

总线,避免影响到下一步的操作 */

DQ=1;/*释放总线 */

return(~ret);

}

向DS18B20写一位数据子程序
void WR_Bit(bit i)

{

DQ=0;//产生写时序

_nop_();

_nop_();//总线拉低持续时间要大于 1us

DQ=i;//写数据,0和1均可

Delayxus_DS18B20(3);//延时60us,等待ds18b20采样读取

DQ=1;//释放总线

}

向DS18B20读一位数据

unsigned char Read_Bit()

{unsigned char ret;

DQ=0;//拉低总线

_nop_();_nop_();

DQ=1;//释放总线

_nop_();_nop_();

_nop_();_nop_();

ret=DQ;//读时隙产生7 us后读取总线数据。把总线的读取动作放在 15us时间限制的后面是为了保证数据读取的有效性 Delayxus_DS18B20(3);//延时60us,满足读时隙的时间长

表1 传感器测试达到的性能指标

技术指标实测性能
角度测量范围 ±30°
输出范围 -5v- ~ +5v
零位电压 1.4 mV
零点漂移 <0.02° /h 灵敏度 167mV/° 非线性度 0.24%FS 7 结论 (1)该水平倾角传感器线性度好、输出稳定,测量精度较高、零点漂移小。它可以作为一个单独的数字输出传感器,也可以作为一个测量模块嵌入到测量控制系统中,有较广阔的应用前景。 度要求DQ=1;//释放总线return ret;//返回读取到的数据 }对于子程序的延时过程 void delay(unsigned char time),其中的延时的时间为 25us×time 3 结语 微型计算机在智能化电器发展中起着至关重要的作用,而单片机经济实用、开发简便,因而在工业控制、家电智能化等领域占据了广泛的市场。这里针对目前温度控制器现状设计了一种新方案,该方案主要是应用 DS18B20来进行温度的测控,在 AT89S52的单片机中进行对于温度的控制,这样就能够实现硬件应用方便,温度控制能力强(温度误差控制在 2摄氏度之内)、价格不高、功能强并且体积小等的特点,并且在于对于需要对温度进行零下55摄氏度到零上 125摄氏度的温度控制的条件下,基本上都能够实现对于温度数据采集、显示和控制过程,这样也是一种十分全面的智能化的温控系统。 参考文献 [1] 黎惠成等一种基于模糊控制的温度控制系统设计 [J].计 算机技术与发展 .2009.19(12):236-239 [2] 潘新民.微型计算控制技术[M].清华大学出版社.1999.8 [3] 赵鸿图 .基于单片机的温度控制系统的设计与实现 [J].微计算机信息2008.24(9):54-56 [4] 余瑾;姚燕 .基于 DS18B20测温的单片机温度控制系统 [J].微计算机信息 .2009.25(03):105-107 [5] 黄保瑞等.基于AT89C51单片机的温度测控系统设计[J]. 现代电子技术 .2011.3:78-80 (2)利用数字化的补偿技术使传感器的性能得到很大的提 高。 参考文献 [1] 施云贵 .基于 SCA103T实现的高精度倾角检测系统设计 [J].吉林化工学院学报,2008,25(3),68-69 [2] 王旭,傲日格乐,陈绍英 .减小传感器放大器零点漂移的电 路设计 [J].呼伦贝尔学院学报,2010,18(5),87-89 [3] 张伟,朴林华,林宇,张福学 .气体摆式水平倾角传感器的 结构及信号处理 [J].电子元件与材料.2005,8. 作者简介 林建华(1986—)男,汉,福建宁德人,北京信息科技大学理学 院,在读硕士,研究方向:研究微机械惯性器件、微电子学与固体 电子学专业。




声明: 本文由( admin )原创编译,转载请保留链接: http://www.hxlww.net/16670/hxlwfb

近期评论