当前位置: 编码机 >> 编码机发展 >> 基于DS18B20传感器的温度控制系统
摘要
温度作为环境监控中具有重要意义的参数之一,其直接影响植物生长、土壤变化,也密切关联着高质量农产品的栽培,在工业生产等诸多领域均起着至关重要的作用。温度控制系统的实现是一个非常关键的课题,但是目前先进的温度测量技术存在数据采集精度较低、检测不科学等问题。
为了解决上述问题,本文设计了一种温度控制器,可以实时监测水温。本文可以及时获得设备内的水温,时间延迟为1ms,并根据需要控制热源来控制水温。本文主要研究了一种基于DS18B20温度传感器的温度模拟系统。该系统控制核心为单片机,DS18B20温度传感器作为对环境温度进行实时监测的重要元件,实现环境温度的检测和管理功能。此外,系统还具有其他功能,包括环境温度数据显示和跨线报警功能。
本文的主要研究内容如下所示:
(1)首先针对温度的测量以及控制技术的国内外研究现状进行阐述。
(2)其次温度控制系统的具体需求对温度耦控制系统的硬件部分进行了设计以及传感器等模块的选择,介绍了不同传感器芯片以及单片机的特点和工作原理。
(3)利用keilC汇编语言,按照系统的功能需求完成温度控制系统的软件部分调试。
(4)最后介绍本文采用的系统硬件的低功耗措施和软硬件的抗干扰措施,并总结了系统的KeilC系统调试经验,针对系统的仿真结果加以阐述。
本系统经过实验验证,各项指标均满足温度控制系统的要求,效果良好且性能可靠稳定,可以应用于水温、大棚以及工业生产等对温度的监测与控制等领域。
关键词:单片机;温度控制系统;DS18B20;
Abstract
Temperatureisoneofthemostimportantparametersinenvironmentalmonitoring,whichdirectlyaffectsplantgrowth,soilchanges,andisalsocloselyrelatedtothecultivationofhigh-qualityagriculturalproducts,andplaysacrucialroleinmanyfieldssuchasindustrialproduction.Theimplementationoftemperaturecontrolsystemisaverycriticaltopic,butthecurrentadvancedtemperaturemeasurementtechnologyhasproblemssuchaslowdatacollectionaccuracyandunscientificdetection.
Inordertosolvetheaboveproblem,awatertemperaturecontrollerwithinstantaneousmonitoringofwatertemperaturehasbeenimplementedtoobtainthetemperatureofthewaterintheequipmentandtocontrolthewatertemperatureasrequiredfortheheatingsource.ThispaperfocusesonatemperaturesimulationsystemusingaDS18B20temperaturesensor.ThesystemisbasedonamicrocontrollerchipandusestheDS18B20temperaturesensortomonitortheambienttemperatureinrealtime,thusrealisingthefunctionofdetectingandmanagingtheambienttemperature,inaddition,thesystemalsohasthefunctionofdisplayingtheambienttemperaturedataandalarmingthecrossingoftheline.
Themainresearchcontentsofthispaperareasfollows.
(1)Firstlythecurrentstatusofdomesticandinternationalresearchontemperaturemeasurementaswellascontroltechnologyisdescribed.
(2)Secondly,thehardwarepartofthetemperaturecontrolsystemisdesignedandthesensormodulesareselectedaccordingtothespecificrequirementsofthetemperaturecontrolsystem,andthecharacteristicsandworkingprinciplesofdifferentsensorchipsandmicrocontrollersareintroduced.
(3)UsingkeilCassemblylanguage,thesoftwarepartofthetemperaturecontrolsystemisdebuggedaccordingtothefunctionalrequirementsofthesystem.
(4)Finally,thelowpowerconsumptionmeasuresofthesystemhardwareandtheanti-interferencemeasuresofthehardwareandsoftwareadoptedinthispaperareintroduced,andtheexperienceofdebuggingthesysteminkeilCissummarisedandthesimulationresultsofthesystemareelaboratedforthesystem.
Thesystemhasbeenexperimentallyverifiedthatalltheindicatorsmeettherequirementsofthetemperaturecontrolsystem,withgoodresultsandreliableandstableperformance,andcanbeappliedtothemonitoringandcontroloftemperatureinthefieldsofwatertemperature,greenhouseandindustrialproduction.
Key:microcontroller;Temperaturecontrolsystem;DS18B20;
第1章绪论
1.1研究背景
随着我国科技信息化、自动化水平的提高,温度作为生命生存、工业生产等方面最基本的环境参数之一,无论是物理、化学还是生物科学等方面都与环境的温度息息相关。在电力系统、化学工厂、石油以及机械制造等工业生产场所与实验室,甚至农业塑料大棚、人类居住环境等多领域均需要对环境温度的实时检测与监控,并需要对其所处在的环境区域进行温度控制。
温度测量方法主要有接触式温度测量和非接触式温度测量。非接触式温度测量的价格相对较高,具有一定的局限性;在温控系统开发的早期阶段,通过两个物体之间的热平衡,两个物体接触来测量目标物体的温度。该接触式的测量方式具有简洁、数据更真实、造价较低等优点。但是也存在对于热容量比较小的物体测量准确度较低等现象。接触式测温一般在外层包裹一层不锈钢套管,其导热系数会对问的测量的准确性有一定的影响。此外,也不能应用于易腐蚀性介质以及极高温度的测量部分。而目前对于温度传感器的选择主要存在感温元器件选型、装置匹配等问题,根据硬件结构的设计,提高测温精度,实现温度控制系统。
本课题为了实现对温度的实时控制,以水温为例,实时获得装置内水的温度并按要求对加热源实施控制对水温的温度控制。采用对装置内水的温度进行实时检测,并判断是否在要求的温度范围,根据比较结果,做出对加热源的实时控制,使水温控制在35℃~38℃范围。研究基于DSl温度控制传感器,利用单片机的控制来实现温度控制系统,是解决装置内水恒定温度的实时控制的重要手段。
1.2国内外研究现状
1.2.1温度测量模块
温度作为最基本的物理量,代表着对物体冷热的测量。随着科学的进步,国内外在新材料、传感器等元器件以及自动化技术的突破,温度控制系统的研究也进日益迫切。
郁翔,赵学增等将DS18B20传感器应用于AT90S单片机。其将温度数字传感器DS18B20与铂电阻组成的多路测温传感器进行了对比。其中,在以铂电阻为传感器的多通道检测系统中,由于其应用时引线较长,会造成一定的误差。通常,自动补偿将通过三线制或四线制实现。然而,电流和电压引线是基于多通道模拟开关进行切换的。此外,需要为铂电阻提供稳定的恒流源,以确保良好的线性度、信号放大的零位移等,对长引线、多通道模拟开关、端子、控制电路等元件的需求量很大。温度传感器DS18B20支持单线总线,即只需一根线即可完成温度信号的传输。一条总线可以简化系统,也可以降低成本。只不过这样系统对软件的要求相对较高。
赵松等基于单总线结构的DS18B20温度传感器设计了感温元件。该设计可以解决田间土壤温度的控制系统。在设计过程中采用了多层土壤温度探测传感器系统。魏英智等基于DSl传感器设计了温度控制系统,其研究对象主要是水流,主要应用在:医学、家庭生活等方面,例如医用洗胃、浴室温度控制、烧水壶温度控制等。王明辉等人将DS18B20传感器应用于化工领域,将化工现场环境与系统结合起来,在单片机系统中实现了温度检测原理和程序设计功能。
上世纪60年代起,国外发达国家即投入到环境温度控制系统方面的研究,其各方面产品相对成熟。随着技术的突破、数字化时代的到来,将计算机科学、传感器网络以及自动控制等技术相结合,可以大幅度提高工作效率。例如,DFS-测温系统和远中距离测温系统均为20世纪90年代由日本和英国公司研发。
目前国内对温度控制系统的研究,主要集中在化工以及农业方面。而以往对温度的控制大多数为人为控制,这样设备存在着一些弊端,会出现不可控因素。
1.3主要研究内容及技术方案
1.3.1主要研究内容
本课题为解决对水流温度的实时检测,实现水流温度控制系统的设计。基于目前国内外研发出的高性能温度传感器,完成单片机仿真电路设计及系统软件研发设计,最后进行了试验研究。本课题主要包含以下4个基本功能:
选择合适的加热源,以便对流水温度进行控制。
实现在流水的过程中,控制温度(水流温度在35—38度之间)。
当系统按照要求,开始预热及结束后,系统会相应给出信号。
编写相关程序,有详细的程序说明。有仿真结果。
1.3.2技术方案
本文的研究方案是基于温度传感器DS18B20。单片机作为系统基本控制核心。当按下开始按键后,开始预热;当温度上升至38度,温度控制系统开始运行;当温度超过设定温度时,触发越线报警器模块,会发出报警声音。当温度处于设定值时结束加热,进入循环。此外还可以通过外部键盘改变温度的设定值。系统的基本结构框图如图1-1所示:
图1-1系统的基本结构框
1.3.3论文章节安排
第一章绪论,介绍了温度控制系统国内外研究背景,总体概述系统的基本结构框。
第二章温度控制系统的总体设计方案和硬件设计,分别介绍了温度控制系统的总体设计方案,以及硬件单片机模块、温度采集模块、温度传感器模块、温度传感器模块的功能、性能和引脚,分别介绍了显示模块和跨线报警模块。
第三章温度控制系统软件实现,利用KeilC51编译调试,配合硬件达到温度检测、对温度的设定、显示、报警等功能,完成单片机的开发与应用。
第四章系统性能总结与分析,针对芯片的选择、硬件设备和软件设备抗干扰等措施分析以及KeilC调试系统的经验等方面进行总结。
第五章总结,整体分析并总结温度控制系统的整体构建以及硬件、软件设计。对温度控制系统实现的功能进行总结。
第2章温度控制系统设计总体方案及硬件设计
本章将以水温控制系统为例,根据系统的功能、设计要求和性能指标,详细介绍系统的总体组成框图和各部分硬件电路的设计方案,并介绍了主芯片的原理和应用。控制核心芯片选用AT89S52单片机;测温电路采用美国达拉斯公司生产的单线总线数字温度传感器dsl;数字显示电路采用LED数码管7seg-mpx4-ca,动态显示方式。
2.1温控系统总体设计方案
本文温度控制系统设计的总体功能如下:
(1)实时显示温度检测功能。
(2)温度控制功能:可方便地设置和维护所需的温度值,直到设置为另一个温度值。系统将自动加热到此值,并将其保持在一定的恒温范围内。
(3)定时功能:可设定系统开始工作的时间和恒温的持续时间。
(4)系统需要具备掉电保护功能,下一次上电后可保持相关整定参数。
(5)尽量使用标准化零件。一旦损坏,在市场上很容易买到替代零件。
本文温度控制系统设计的主要技术指标如下:
系统的温度范围为0℃~99℃。
系统控制精度为士l℃。
本系统的额度功率为W。
系统的实测温度数字可以实时显示。
系统对电源要求为ACV。
设计原则如下:
(1)在满足功能、性能和使用的前提下,使系统的成本和体积最小化;
(2)在开发过程中,我们应该充分利用最新的技术和研究成果,确保目前和未来中国的先进性和实用性。
(3)在设计中应充分考虑系统的可靠性、可用性、可维护性和可扩展性,为设备的使用、维护、寿命延长和功能扩展奠定基础;
(4)外观美观大方,配色合理。
2.2总体硬件设计模块
温度控制系统以AT89S52单片机为核心,基于dsl控制整个测试系统,进行温度测量和数据处理;将测量结果发送至LED显示屏输出,并驱动相应的温控设备。实时温度由单线总线数字温度传感器dsl8B20获得。温度经单片机处理后,一方面通过显示驱动电路送到LED数码管进行显示。另一方面,将温度值与控制值进行比较。其结果是通过控制固态继电器来实现加热装置的通断控制,如流程图2-1所示。
图2-1温度控制系统流程图
当系统通电时,将显示实时温度。一旦系统开始工作,MCU将测量的温度与设置的温度进行比较。当测量温度低于设定温度值的1℃时,加热设备开始加热。当测量温度高于设定温度值时,加热设备停止加热。在此期间,MCU继续根据上述条件进行判断,直到计时时间到来,当加热设备停止加热时,报警会发出报警。可通过修改软件程序设置恒温范围。电源部分采用V交流电,经变压、滤波、稳压后,系统获得5V电压。整体框图如图2-2所示。
图2-2温度控制系统硬件整体框图
2.3单片机模块
单片机模块采用AT89C52单片机装置,采用ATMEL公司生产的高密度、非易失性存储技术。它是一种低压CMOS管8位高性能单片机。它包含8K字节的可重写闪存只读程序存储器和字节的随机存取数据存储器(RAM)。AT89C52单片机装置与标准MCS-51指令系统兼容。该芯片有一个通用的8位CPU和闪存存储单元。它广泛应用于电子行业。
AT89C52单片机有40个引脚,其中32个为外部双向输入/输出端口(I/O),包括2个外部和中间断口、3个16位可编程定时计数器、2个全双工串行通信端口和2条读写端口线。AT89C52可按常规方法编程或在线编程。它将普通微处理器与闪存,特别是可重写闪存相结合,可以有效降低开发成本。AT89C52有三种封装形式:PDIP、PQFP/TQFP和PLC,以满足不同产品的需要。本系统所采用的单片机最小系统如图2-3所示。
图2-3单片机最小系统硬件设计图
2.4温度采集模块设计
在温度传感器的选择中,热敏电阻的优点在于其成本较低,但是后续的电路设计复杂,温度标定困难。对于输出模拟信号的温度传感器,其输出端模拟信号相对较为薄弱、仍需要信号放大器、A/D转换器等部分放大电路信号,然而其放大器昂贵、系统成本较高。
本设计的温度采集模块由DS18B20温度传感器组成。DS18B20温度传感器由达拉斯半导体公司引进。其测温范围为-55℃~+℃,在-10℃~+85℃范围内误差为±0.4℃。此外,该款传感器返回两字节十六进制的温度数值,其中16位二进制是由于该传感器是一种基于“一线总线”接口设计的传感器,所以只有一根I/O线,只能以二进制操作,即每8次得到一个字节,读入两个字节得到完整的温度数据。其具体功能特性如下:
(1)宽电压应用范围(3V~5V)。
(2)温度测量范围:-55摄氏度~+摄氏度。其中测量精度在:10℃~85℃为±0.5℃。
(3)DS18B20采用独特的单线接口方式,只需一条通信线即可实现微处理器与DS18B20的双向通信。
(4)DS18B20支持多点联网功能。多个dsl可以在一条独特的三线上并联连接。每片dsl都有一个64位序列号存储在片上Rom中,因此,多个DS18B20可以共存于同一条数据传输线上,实现多点温度测量。CPU只需要一条端口线就可以与多个DS18B20通信。它占用微处理器的端口较少,可以节省大量的引线和逻辑电路。
(5)DS18B20在使用中不需要任何外围组件。
(6)用户还可以通过编程实现9~12位温度读数,即温度分辨率可调。
(7)用户可自行设置非易失性温度报警th和TL的上下限。
(8)典型的供电方式为三线制,可通过总线供电,供电电压为3v-5v。也可以使用由寄生电源供电的2线制系统。由于DS18B20的分辨率可以通过编程选择,因此在提高分辨率的前提下,DS18B20比DS18B20具有更好的一致性。
主从机之间的通信采用单总线,即数据传输和接收采用单线。使用时无需外围器件,工作可由独立芯片完成。与传统热敏电阻等测温元件相比,它不仅体积小、电压宽、与微处理器接口简单,而且总线结构简单经济。它可以使用户方便地建立传感器网络,从而为测量系统的建设引入新的概念。这是一个数字温度传感器。
DS18B20的温度测量原理如图2-4:每次测量前,先将55℃对应的基数分别放入减法计数器1和温度寄存器中。减法计数器1减去由低温系数晶体振荡器产生的脉冲信号。当减法计数器1的预设值减小到0时,温度寄存器的值将增加1,并且减法计数器l的预设值将再次加载。减法计数器1再次开始对低温系数晶体振荡器产生的脉冲信号进行计数。此循环将继续,直到减法计数器2计数为0,停止温度寄存器值的累积,并且温度寄存器中的值为测量温度。斜率累加器用于补偿和校正温度测量过程中的非线性,其输出用于校正减法计数器的预设值。只要计数门未关闭,重复上述过程,直到温度寄存器值达到测量温度值。
图2-4DS18B20的温度测量原理
DS18B20可以使用外部电源或寄生电源。寄生电源的原理是利用总线信号实现寄生电源。在寄生电源的情况下,当总线信号高时,DS18B20从总线获取能量并将其存储在内部电容器上;当总线处于低电平时,电容器向DS18B20供电。利用DS18B20的这一特性,可以形成一个简单清晰的温度检测系统,可以节省大量的布线和施工成本。
2.5按键及显示模块
键盘和显示电路主要用于人机互动,包含键盘以及显示两大部分。其可以反映系统状态的同时,可以便于人工干预。
2.5.1键盘模块
键盘作为单片机应用系统中至关重要的部件之一。它能实现输入数据、传送命令等功能,是人工干预系统的主要手段。键盘可分为编码键盘和非编码键盘两种。前者用软件来识别和产生代码,后者用硬件来识别,本文在设计中使用独立式编码键盘。
2.5.2显示模块
显示模块采用7seg-mpx4-ca数码管,四个公二极管显示器1、2、3、4为公共端子。LED数码管由四个8形发光管组成,每个发光管有8个部分。这些段分别用字母a、B、C、D、e、F、G、DP表示。当用户编辑控制端口的不同逻辑电压时,这些特定段根据信号要求形成字符。
7seg-mpx4-caled数码管的结构如图2-5所示。其中端口1、2、3、4为位选择端口,端口P0与段码连接,P2的4位用于I/0位选择。
图2-57seg-mpx4-caled数码管的结构图
7seg-mpx4-ca的工作原理是动态显示。MCU的输出端口输出字体代码,LED数码管的接收端口可以接收字体代码,但只能点亮选定的段。主要原因是用户只能通过位选通控制字段打开要显示的数码管的选通控制来显示字符,没有选通的数码管将不会点亮。控制数码管的公共
转载请注明:http://www.aideyishus.com/lktp/3181.html