基于DS18B20的温控系统冷热调节设计

发布者:PeacefulWarrior最新更新时间:2010-07-11 来源: 电子设计工程 关键字:DS18B20  冷热调节  温控系统 手机看文章 扫描二维码
随时随地手机看文章

  随着我国经济的发展,科学研究深入推进,温度监测与控制系统在工业设计、智能仪表、日常家用电器等领域的应用越为广泛,基于单片机设计的电子产品有着广阔的应用市场和发展前景。

  DS18B20是Dallas公司生产的一款数字温度传感器,超小体积,超低硬件开销,抗干扰能力强,精度高,附加功能强。DS18B20的温度检测与数字数据输出集成于,一个芯片上,单总线数据通信,二进制输出,分辨率最高可达12位,检测温度范围为-55~+125℃,具有限温报警功能。同时,DS18B20内置EEPROM、64位光刻ROM,支持多点组网,根据需要把多个DS18B20并联在唯一的三总线上,便可实现组网多点测温,便于温控系统的扩展和升级。

  1系统工作原理

  为实现被控对象温度的冷热调节,所设计的温度控制系统以AT89S51单片机作为控制核心,包括温度采样模块、温度显示模块、执行模块、过欠温指示模块以及小键盘等外同电路。系统时钟频率为12MHz,采用智能集成化器件DS18B20来监测被控对象,将温度值转换为带符号的数字信号,通过单总线输出,实现了温度采集、转换与变送的功能,有利于简化电路。考虑到单片机的直流输出驱动能力,采用三极管、74LS244和74LS07来驱动相应的外围集成电路。温度数据通过4个并行共阳极的LED动态显示,并自行搭建小键盘来实现被控对象目标温度的设定。执行模块利用固态继电器SSR进行光电隔离,实现小功率直流电控制220V交流电通断,使得控制加热管通断、风扇启停的继电器带电或失电,并采用大功率的风扇和加热管以实现有效的温度冷热调节。系统中采用不同颜色的LED灯指示系统的工作运行状态,红色发光二极管亮表示温度过高或过低报警,绿色发光二极管亮则表示系统工作正常。系统组成如图1所示。

系统组成

  在核心控制处理模块AT89S51单片机中,为了有效抑制从DS18B20传来的温度数字信号的随机误差,提高系统的测量精度和抗干扰性,在AT89S51单片机的控制程序中加入数字滤波子程序。数字滤波平滑处理尽可能消除系统随机误差的影响,从软件方面提高系统的抗干扰能力。并利用MATLAB对测温数据进行拟合,从而进一步校正测量温度值,使测量值更逼近精确值。

  2系统硬件设计

  2.1电源及温度显示模块

  为避免信号之间的串扰,采用5V直流电源分别为单片机、键盘、固态继电器控制模块、8段数码管供电,并提供上电复位电压。同时为风扇和400W加热器提供220V交流电。

  温度显示模块采用4个8段数码管显示温度。为稳定显示,采用总线延时的动态显示方式。驱动电路和位选分别由74IS244、74LS07搭建组成。

  2.2小键盘模块

  小键盘模块自行搭建,由复位键、确认键、加1键和TAB键等4个按键组成。键盘电路简单明了,满足设定被控对象目标温度的人机交互要求。各个按键的功能说明如表1所示。

各个按键的功能说明

  2.3温度数据采集

  DS18B20采用单总线专用技术,通过I/O端口线与单片机相接,无须经过其他变换电路便可直接输出被测温度值(12位二进制数,含符号位)。其引脚功能分别为:VDD引脚接工作电源,当工作于寄生方式时,此引脚必须接地;DQ引脚用于数据输入/输出;GND引脚接地。

  在该系统中DS18B20与单片机的接口电路,如图2所示,VDD经1kΩ的上拉电阻与外部电源相接,GND接地,DQ通过单总线与单片机P0.0口相连。

DSl8820与单片机的接口电路

  DS18B20测量温度与输出温度之间的关系如表2所示,输出温度为12位的二进制数,存储在DS18B20两个8位的RAM中,二进制数的前5位是符号位。

DSl8820测量温度与输出温度之间的关系

  2.4固态继电器驱动模块

  本设计中选用交流型固态继电器SSR,它是一种输入控制电流小、带光电隔离器的无触点开关。通过控制SSR输入端直流电的通断便可控制输出端交流电的通断,而且启动性能平稳,对电网辐射干扰小。固态继电器控制电路见系统总电路图(图2),在负载端由100Ω和0.1μF组成串接电路,用于对风扇、加热管进行过电压保护。

  2.5AT89S51单片机控制模块

  AT89S5l是整个系统的控制核心,其内置FlashROM,用于存放用户程序。DS18B20所感测的温度数字信号和用户目标温度作为输入信号,经控制程序处理后发出相应的控制信号,显示系统工作状态、被控对象温度值,以及控制SSR直流端的通、断电,从而控制风扇、加热管的通断电,实现被控对象温度的冷热调节。总电路图(图2)中虽然给出DS18B20与单片机的接口电路、固态继电器控制电路,但由于DS18B20和执行设备设置在被控对象现场,因而在实际中要留出相应的信号传输线。

  3系统软件设计

  软件部分采用程序模块化设计,便于各个功能的调试和实现。系统软件程序主要由主程序、功能实现和运算控制3个模块组成。

[page] 

  3.1主程序模块

  主程序模块采用循环查询直至中断退出,以达到温控系统冷热自动控制的目的。主程序流程如图3所示。

主程序流程

  3.2运算控制模块

  运算控制模块包括数字滤波、PID算法、温度传感器控制3个子程序。数字滤波由限速滤波实现,限速滤波能充分利用每一个采样值,保证了采样的实时性和采样值变化的连续性。限速滤波子程序流程如图4所示。

限速滤波子程序流程

  PID算法由积分分离PID算法实现,采用积分分离的方法,在被控量开始监控时取消积分作用,在温度值接近目标值时才产生积分作用,有效降低系统启、停次数频繁给系统带来的振荡。积分分离PID算法为:

积分分离PID算法

  式中,Y(K)为温度的目标设定值,C(K)为经数字滤波后的温度测量值,△Y为设定的最大允许偏差值。根据此算法思想可用汇编语言编程实现积分分离PID算法。

  DS18B20控制子程序按照DS18B20的通信协议编制,包括DDS18B20初始化,DS18B20读、写控制子程序,分别按照相应的规则说明进行编程实现。

  3.3功能实现模块

  功能实现模块包括温度值设置、温度显示、固态继电器通断控制以及系统运行状态显示等子程序,其中在温度显示子程序中要完成各个位置段码的调用、数码管的选通以及数据总线的稳定(一般采用延时几ms实现)。

  4系统调试

  系统调试主要进行PID参数的整定和温度值的系统误差校正。PID参数及系统其它参数的整定首先采用经验值,再逐个细调,以满足控制精度要求。根据表3的实验数据,利用MATLAB进行一维曲线拟合,校正系统误差,从而得到更准确的测量数据。

一维曲线拟合

  MATLAB拟合过程和结果如图5所示。图5中“O”表示(检测值,标准值),“*”表示(检测值,拟合值),一维曲线拟合方程为:y=0.9948x-0.3996,经数字滤波后的采样值再采用此方程处理便可得到更为精确的测量值。

MATLAB拟合过程和结果

  5结束语

  本文从应用角度出发,给出了温控系统冷热调节详细的硬件和软件设计,充分利用DS18B20单总线测温的准确性和便捷性,并使用限速滤波、积分分离PID算法、MATLAB一维曲线拟合等方法来提高系统的可靠性和测量值的精确性。但信号传输线的抗干扰、键盘按键消抖等方面还不够完善,而且采用MATLAB进行处理的实验数据采样不够充分,未考虑在测量过高或过低温度时的温度漂移情况,因此系统的设计有待进一步的深入与完善。

关键字:DS18B20  冷热调节  温控系统 引用地址:基于DS18B20的温控系统冷热调节设计

上一篇:安森美半导体先进电机控制技术满足更高能效要求
下一篇:基于手机短信的温度报警控制系统设计

推荐阅读最新更新时间:2024-03-30 21:31

采用Linux/Qtopia的车载温度网络采集
引言   本文在嵌入式Linux平台上实现了车载信息采集系统的一部分——汽车常规温度的数据采集,如采集车内温度、暖风或空调温度、车外温度、水箱温度等。DS18B20是一种可组网单总线数字温度传感器,为信息采集提供了经济有效的可行方案。嵌入式Linux以其源码开放、容易定制和扩展、多硬件平台支持和内置网络功能等优良性能,逐渐成为车载设备广泛使用的系统平台。本文涉及的系统使用三星公司的S3C2410AL20处理器,操作系统采用2.6.8.1内核Linux,GUI采用Trolltech公司的Qtopia;功能上主要实现:各路温度的采集显示、音频报警、温度数据的存储、相关功能设置等。当需要语音提示或报警时,应用程序调用语音模块;当需要
[嵌入式]
ds18b20温度传感器应用实例
/* ******************************************************************************* * 文件名:main.c * 描 述:温度传感器DS18B20示例 * 备 注:控制DS18B20测量温度并将温度值显示到液晶上 ******************************************************************************* */ #include reg52.h #include stdint.h extern bit startDs18b20();
[单片机]
PIC16F877A驱动DS18B20温度采集芯片
今天开始驱动DS18B20温度采集芯片! 从网上收集的资料 DS18B20的内部结构 DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下: DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的
[单片机]
PIC16F877A驱动<font color='red'>DS18B20</font>温度采集芯片
PIC16F877A 温度DS18B20
#include pic.h #define uchar unsigned char #define uint unsigned int #define rs_h (PORTC|=0x01) #define rs_l (PORTC&=0xfe) #define rs_o (TRISC&=0xfe) #define rw_h (PORTC|=0x02) #define rw_l (PORTC&=0xfd) #define rw_o (TRISC&=0xfd) #define en_h (PORTC|=0x04) #define en_l (PORTC&=0xfb) #define en_
[单片机]
FPGA与DS18B20型温度传感器通信的实现
DS18B20是DALLAS公司生产的一线式数字温度传感器,采用3引脚TO-92型小体积封装;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出。 一线式(1-WIRE)串行总线是利用1条信号线就可以与总线上若干器件进行通信。具体应用中可以利用微处理器的I/O端口对DS18B20直接进行通信,也可以通过现场可编程门阵列(FPGA)等可编程逻辑器件(PLD)实现对1-WIRE器件的通信。 本文介绍利用ACTEL公司的ProASICplus系列FPGA实现与DS18B20的通信功能。FPGA可以将读出DS18B20的48位ID号和1
[嵌入式]
读取温度传感器DS18B20的实例
配置IO引脚 #define DS18B20 BIT4 //配置IO引脚 #define DS18B20_HIGH P2OUT |= BIT4 #define DS18B20_LOW P2OUT &= ~BIT4 精确延时宏代码 #define CPU_CLOCK 8000000UL //MCLK设为8MHz #define delay_us(us) __delay_cycles(CPU_CLOCK/1000000*(us)) #define delay_ms(ms) __delay_cycles(CPU_CLOCK/1000*(ms)) 求
[单片机]
单片机中使用DS18B20温度传感器C语言程序(参考7)
硬件: 51板 (1)单线ds18b20接 P2.2 (2)使用外部电源给ds18b20供电,没有使用寄生电源奥 软件: Kei uVision 2 #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit ds=P2^2; sbit dula=P2^6; sbit wela=P2^7; uchar flag ; uint temp; //参数temp一定要声明为 int 型 uchar code table ={0x3f,0x06,0x5b,0x4f,0x66,
[单片机]
数字式温度计DS18B20的特性及应用
    摘要: DS18B20是美国DALLAS公司生产的可完全替代DS1820的全新型单线数字式温度计。文中介绍了DS18B20的性能结构和与DS1820比较所具有的不同特点,说明了DS18B20的使用要求。给出了DS18B20与单片机成成的测温系统的应用电路和检测流程。     关键词: 单线器件 数字式温度仪 DS18B20 1 引言 DS18B20是美国DALLAS公司生产的一线式数字式温度计芯片,它具有结构简单,不需外接元件,采用一根I/O数据线既可供电又可传输数据、并可由用户设置温度报警界限等特点,可广泛用于食品库、冷库、粮库等需要控制温度的地方。DS18B20是DS1820的改进型产品,但该
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved