0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

h1654155282.3538 来源:Chip37 作者:Chip37 2021-02-13 17:46 次阅读

随着我国经济的发展,科学研究深入推进,温度监测与控制系统工业设计、智能仪表、日常家用电器等领域的应用越为广泛,基于单片机设计的电子产品有着广阔的应用市场和发展前景。本文提出了一种高精度、系统稳定性较好的温度调节设计方法。采用Atmel公司的AT89S51作为控制核心,以DS18B20作为主要温度测量和变送元件,结合小键盘、固态继电器(SSR)等外围电路,进行光电隔离,根据指令要求,利用小功率直流电快速控制220V交流电通断。在软件处理程序中加入抗干扰能力强的限速数字滤波,并利用积分分离PID算法,使积分作用在温度值接近目标值时才起作用,有效降低启、停频繁时给系统带来的振荡。为提高温度测量值的精度,利用MATLAB对温度数据进行曲线拟合,进一步对温度值进行校正。下面一起看看设计方案:

1.DS18B20概述

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

2.系统工作原理

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

pIYBAGAP5QiAb5vDAACkuqR3Ndc216.png

图1 温控系统组成框图

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

3.系统硬件设计

3.1电源及温度显示模块

为避免信号之间的串扰,采用5V直流电源分别为单片机、键盘、固态继电器控制模块、8段数码管供电,并提供上电复位电压。同时为风扇和400W加热器提供220V交流电。温度显示模块采用4个8段数码管显示温度。为稳定显示,采用总线延时的动态显示方式。驱动电路和位选分别由74IS244、74LS07搭建组成。

3.2小键盘模块

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

o4YBAGAP5Q-AI8MBAAGehJCD-Dw801.png

3.3温度数据采集

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

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

pIYBAGAP5RaAKrW1AAI3yCBo36U709.png

图2 系统总体电路

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

3.4固态继电器驱动模块

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

3.5AT89S51单片机控制模块

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

4.系统软件设计

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

4.1主程序模块

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

o4YBAGAP5R6ACLe4AACHHvqLAOk150.png

图3 主程序流程

4.2运算控制模块

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

o4YBAGAP5SaAAcDCAAFqEhRIpnc597.png

图4 限速滤波子程序流程

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

o4YBAGAP5S2AJq-jAABWGW9qV-k815.png

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

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

4.3功能实现模块

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

5.系统调试

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

pIYBAGAP5TKASh-FAAGYxZCffFI955.png

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

pIYBAGAP5TmAFKWQAAB4q4LxqJY720.png

图5 一维曲线拟合图

结束语

从温控系统冷热调节详细的硬件和软件设计,充分利用DS18B20单总线测温的准确性和便捷性,并使用限速滤波、积分分离PID算法、MATLAB一维曲线拟合等方法来提高系统的可靠性和测量值的精确性;结果表明,温控系统的模块化设计与MATLAB相结合,提高了系统的抗干扰性、稳定性并使测量值的误差减少到5%以下。但信号传输线的抗干扰、键盘按键消抖等方面还不够完善,而且采用MATLAB进行处理的实验数据采样不够充分,未考虑在测量过高或过低温度时的温度漂移情况,因此系统的设计有待进一步的深入与完善。
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DS18B20
    +关注

    关注

    10

    文章

    778

    浏览量

    80690
  • 温控系统
    +关注

    关注

    3

    文章

    94

    浏览量

    18523
收藏 人收藏

    评论

    相关推荐

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

    提出一种高精度、系统稳定性较好的温度调节设计方法。采用Atmel公司的AT89S51作为控制核心,以DS18B20作为主要温度测量和变送元件,结合小键盘、固态继电器(SSR)等外围电路,进
    发表于 01-05 11:00 64次下载

    基于DS18B20的远程粮仓温控系统

    基于DS18B20的远程粮仓温控系统 1 引言 粮食温度检测是储备库中防止粮食霉烂、保质存放的重要环节。对于一个农业大国来讲,粮食生产、需求与储备量都很大。
    发表于 01-25 11:26 1832次阅读
    基于<b class='flag-5'>DS18B20</b>的远程粮仓<b class='flag-5'>温控</b><b class='flag-5'>系统</b>

    DS18B20构成的电脑温控系统

    DS18B20构成6通道电脑温控系统的电路框图和总电路,分别如图1.2.4、图1.2.5所示。现使用6片DS18B20
    发表于 11-30 15:32 984次阅读
    由<b class='flag-5'>DS18B20</b>构成的电脑<b class='flag-5'>温控</b><b class='flag-5'>系统</b>

    基于DS18B20测温系统设计

    针对单线总线数字温度传感器 DS18B20 的工作特性,本文对基于DS18B20的测温系统进行了硬件和软件的设计。仿真实验结果表明,该测温系统具有电路结构简单,测试精度高的优点,适用于
    发表于 07-22 16:13 552次下载
    基于<b class='flag-5'>DS18B20</b>测温<b class='flag-5'>系统</b>设计

    基于ARM和DS18B20的温度监测系统

    基于ARM和DS18B20的温度监测系统使用SAMSUNG公司的32位ARM微控制器S3C2440作为数据采集单元, 数字温度传感器DS18B20作为温度检测元件。给出了系统的总体
    发表于 11-03 11:21 339次下载

    DS18B20实例

    一个DS18B20的实例(仿真和程序),可以很好地了解关于DS18B20的运行过程
    发表于 06-02 16:16 142次下载

    ds18b20

    ds18b20
    发表于 01-14 22:32 15次下载

    基于DS18B20的温度测量系统_杜海龙

    基于DS18B20的温度测量系统_杜海龙
    发表于 03-19 11:45 15次下载

    利用DS18B20做一个温控器(DS18B20引脚图_工作原理及应用电路)

    本文首先阐述了DS18B20的性能及引脚功能,其次介绍了DS18B20工作原理与它的两个应用电路,最后详细介绍了利用DS18B20做一个温控器。
    发表于 04-20 08:56 8.3w次阅读

    DS18B20温控系统的合集包括:芯片介绍,设计资料,原理图和程序的概述

    基于DS18B20温控系统的设计采用了DS18B20芯片和四位共阳极LED数码管,还有主控芯片AT89C51。通过温度传感器DS18B20
    发表于 06-19 08:00 30次下载
    <b class='flag-5'>DS18B20</b><b class='flag-5'>温控</b><b class='flag-5'>系统</b>的合集包括:芯片介绍,设计资料,原理图和程序的概述

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

    DS18B20是Dallas公司生产的一款数字温度传感器,超小体积,超低硬件开销,抗干扰能力强,精度高,附加功能强。
    的头像 发表于 03-28 10:20 5286次阅读
    基于<b class='flag-5'>DS18B20</b>的<b class='flag-5'>温控</b><b class='flag-5'>系统</b><b class='flag-5'>冷热</b><b class='flag-5'>调节</b><b class='flag-5'>设计方案</b>

    ds18b20的特性_ds18b20温度传感器应用

    本文首先介绍了ds18b20的特性,其次介绍了DS18B20工作原理,最后介绍了ds18b20温度传感器应用。
    发表于 04-24 09:10 1.1w次阅读
    <b class='flag-5'>ds18b20</b>的特性_<b class='flag-5'>ds18b20</b>温度传感器应用

    DS18B20驱动根据数据手册编写

    DS18B20驱动根据数据手册编写#include<reg51.h>sbit ds18b20=P1^4;void delay_ds18b20(unsigned int x
    发表于 11-21 12:06 75次下载
    <b class='flag-5'>DS18B20</b>驱动根据数据手册编写

    DS18B20 DS18B20 - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

    电子发烧友网为你提供()DS18B20相关产品参数、数据手册,更有DS18B20的引脚图、接线图、封装手册、中文资料、英文资料,DS18B20真值表,DS18B20管脚等资料,希望可以
    发表于 11-02 08:23
    <b class='flag-5'>DS18B20</b> <b class='flag-5'>DS18B20</b> - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

    基于DS18B20的多点测温方案详解

    DS18B20 单线数字温度传感器,多个 DS18B20 可以并联在惟一的单线上,实现多点测温。具体方案主要是以下步骤:
    的头像 发表于 09-15 16:23 3594次阅读
    基于<b class='flag-5'>DS18B20</b>的多点测温<b class='flag-5'>方案</b>详解