单片机水温控制器设计1.docx
- 文档编号:18365910
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:51
- 大小:409.35KB
单片机水温控制器设计1.docx
《单片机水温控制器设计1.docx》由会员分享,可在线阅读,更多相关《单片机水温控制器设计1.docx(51页珍藏版)》请在冰点文库上搜索。
单片机水温控制器设计1
摘要
随着国民经济的发展,单片机技术应用已经成为高、新科学技术的重要内容和标志之一,它在国民经济的各个领域正在发挥着引人注目的作用。
本系统设计热水器温度控制系统是以单片机AT89S52为核心,通过3个数码管显示温度和4个按键实现人机对话,使用单总线温度转换芯片DS18B20实时采集温度并通过数码管显示,并提供各种运行指示灯用来指示系统现在所处状态,如:
温度设置、加热、停止加热等,整个系统通过四个按键来设置加热温度和控制运行模式,可以用于热水器温度控制系统和饮水机等各种电器电路中。
采用单片机的热水器温度控制系统不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高产品的性能比指标,提高产品的质量和数量。
关键词:
AT89S52;DS18B20;温度控制系统
Abstract
Withthedevelopmentofthenationaleconomy,theapplicationofSCMtechnologyhasbecomeoneoftheimportantcontentandsymbolofhigh,newscienceandtechnologyinallfieldsofthenationaleconomy,itisplayingtheroleofattractsb.'sattention.
HeatertemperaturecontrolsystemdesignofthesystemofhotwaterisAT89S52MCUcore,therealizationofhuman-computerdialoguetemperatureand4buttonsdisplayedbythe3digitaltube,usingasinglebustemperatureconversionreal-timecollectionoftemperaturechipDS18B20andthroughthedigitaltubedisplay,andprovidevariousoperationindicatorlampsareusedtoindicatethesystempresentstatus,suchas:
temperaturesettingstopheating,heating,etc.,thewholesystemtosetthetemperatureandcontrolmodeofoperationthroughthefourbuttons,canbeusedforthewaterheatertemperaturecontrolsystemandwaterdispensersandotherelectricalcircuit.
Thewaterheatertemperaturecontrolsystembasedonsinglechipisnotonlyeasytocontrol,simpleandflexibleandotheradvantages,andcangreatlyimprovetheperformanceindexoftheproduct,improvethequalityandquantityofproducts.
Keywords:
AT89S52;DS18B20;temperaturecontrolsystem
第1章绪论
1.1选题的目的和意义
温度控制系统可以说是无所不在,热水器系统、空调系统、冰箱、电煲电风扇等家电产品以至手持式高速高效的计算机和电子设备,均需要提供温度控制功能。
以计算机为例,当中的中央处理器的运行速度愈快,所耗散的热量便愈多,为免计算机系统过热而受损,有关系统必须加强温度过高保护功能。
传统的温度采集电路相当复杂,需要经过温度采集、信号放大、滤波、AD转换等一系列工作才能得到温度的数字量,并且这种方式不仅电路复杂,元器件个数多,而且线性度和准确度都不理想,抗干扰能力弱。
现在常用的温度传感器芯片不但功率消耗低、准确率高,而且比传统的温度传感器有更好的线性表现,最重要的一点是使用起来方便。
自动控制仪器仪表总的发展趋势是高性能、数字化、集成化、智能化和网络化。
智能温度控制系统的设计是为了满足市场对成本低、性能稳定、可远程监测、控制现场温度的需求而做的课题,具有较为广阔的市场前景。
目前,测温控温系统得到快速的发展,国外的测量控制系统已经成熟,产品也较多。
近两年,国内也出现了许多高精度的温度控制系统产品,但相对于用户来说,价格还是偏高。
而由于竞争越来越激烈,现在企业发展的趋势是如何最有效的提高生产效率,降低生产成本。
寻求性能可靠、价格低廉,且应用广泛的元器件是生产过程的首先要考虑的问题,因此设计一种控制简单、精度较高、价格低廉的控制系统会有很好的发展前景。
1.2国内外研究状况及发展
1.国外温度测控系统研究
国外对温度控制技术研究较早,始于20世纪70年代。
先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。
80年代末出现了分布式控制系统。
目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。
现在世界各国的温度测控技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。
2.国内温度测控系统研究
我国对于温度测控技术的研究较晚,始于20世纪80年代。
我国工程技术人员在吸收发达国家温度测控技术的基础上,才掌握了温度室内微机控制技术,该技术仅限于对温度的单项环境因子的控制。
我国温度测控设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展。
在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。
我国温度测量控制现状还远远没有达到工厂化的程度,生产实际中仍然有许多问题困扰着我们,存在着装备配套能力差,产业化程度低,环境控制水平落后,软硬件资源不能共享和可靠性差等缺点。
1.3论文研究的主要内容
本设计利用单片机结合传感器技术而开发设计了这一温度控制系统,文中传感器与单片机实际应用有机结合,简单讲述了利用新型芯片探测环境温度的过程,以及实现模数转换的原理过程。
1.功能实现
本设计的目的是以单片机为核心设计出一个温度采集系统。
通过本课题设计,综合运用单片机及接口技术、微机原理、微电子技术,锻炼动手操作能力。
综合运用能力,学习论文的写作方法和步骤。
设计的温度控制器有以下功能:
(1)测温范围:
-55℃~+125℃;
(2)测温分辨力:
〈=0.5℃;
(3)测温准确度:
〈=0.5℃;
(4)温度显示:
采用6个7段数码管;
(5)温限可经键盘实现简单的人机互动,灵活设定温度范围;
(6)超温度范围报警。
2.方案设计
本系统采用了单片机AT89S52,利用数字温度传感器DS18B20对环境进行测温,同时采用MAX7219驱动六位7段共阴极数码管,同时还采用EEPROM对温度上下限进行存储,此外还有键盘设备来实现温度上下限值的设置,红绿灯报警温度的越线,继电器和电机对温度进行调整等来实现该温度控制器的智能化。
总体硬件结构框图如图1-1所示。
图1-1系统硬件结构
第2章系统总体设计
当将单片机用作测控系统时,系统总要有被测信号的输入通道,由计算机拾取必要的输入信息。
对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。
2.1系统需求及可行性分析
温度传感器DS18B20从设备环境的不同位置采集温度,单片机AT89S5获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。
当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器),当采集的温度经处理后低于设定温度的下时,单片机通过三极管驱动继电器开启升温设备(加热器)。
当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。
2.2硬件总体设计
设计并制作一个基于单片机的热水器温度控制系统的电路,其结构框图如图2-1所示:
图2-1系统结构框图
硬件系统子模块
(1)单片机最小系统电路部分
(2)键盘扫描电路部分
(3)数码管温度显示和运行指示灯电路部分
(4)温度采集电路部分
(5)继电器控制部分
(6)报警部分
2.3软件总体设计
良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读性。
本系统的设计方案和步骤如下:
(1)根据需求按照系统的功能要求,逐级划分模块。
(2)明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性,便于软件编制和调试。
(3)确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过。
(4)按照开发式软件设计结构,将各模块有机的结合起来,即成一个较完善的系统。
首先接通电源系统开始工作,系统开始工作后,通过按键设定温度值的上限值和下限值,确定按键将设定的温度值存储到指定的地址空间,温度传感器开始实时检测,调用显示子程序显示检测结果,调用比较当前显示温度值与开始设定的温度值比较,如果当前显示值低于设定值就通过继电器起动加热装置,直到达到设定值停止加热,之后进行保温,如果温度高于上限进行报警。
第3章硬件系统设计
3.1设计思想
本设计是基于单片机对数字信号的高敏感和可控性、温湿度传感器可以产生模拟信号,和A/D模拟数字转换芯片的性能,本设计了以51单片机基本系统为核心的一套检测系统,其中包括A/D转换、单片机、复位电路、温度检测、湿度检测、键盘及显示、报警电路、系统软件等。
本次设计主要思路是通过对单片机编程将由温度传感器DS18B20采集的温度外加驱动电路显示出来,包括对继电器的控制,进行升温,当温度达到上下限蜂鸣器进行报警。
P1.7开关按钮是用于确认设定温度的,初始按下表示开始进入温度设定状态,然后通过P1.5和P1.6设置温度的升降,再次按下P1.7时,表示确认所设定的温度,然后转入升温或降温。
P2.3所接的发光二极管用于表示加热状态,P2.5所接的发光二极管用于表示保温状态。
P2.3接继电器。
P3.1是温度信号线。
整个电路都是通过软件控制实现设计要求。
3.2AT89S52
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
AT89S52使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,AT89S52拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
采用40引脚双列直插封装(DIP)的AT89S52单片机引脚分配如图3-1所示。
图2-1AT89S52引脚分配图
1.主要性能参数
(1)与MCS51兼容;
(2)1000次擦写寿命;
(3)工作电压为4.0V~5.5V;
(4)全静态工作:
0~24MHz;
(5)3级程序安全加密保护;
(6)256×8位内部RAM;
(7)32个可编程I/O端口;
(8)3个16位定时器/计数器;
(9)8个中断源;
(10)支持低功耗及掉电模式;
(11)支持中断从掉电模式唤醒;
(12)内置看门狗。
2.引脚功能
(1)P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
(2)P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数和定时器/计数器2的触发输入。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXA,@DPTR)时,P2口送出高八位地址。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
3.3单片机最小系统电路
单片机最小系统有复位电路和振荡器电路。
值得注意的一点是单片机的31脚
必须接高电平,否则系统将不能运行。
因为该脚不接时为低电平,单片机将直接读取外部程序存储器,而系统没有外部程序存储器,所以
必须接VCC。
在按键两端并联一个电解电容,滤除交流干扰,增加系统抗干扰能力。
3.4键盘电路
键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非编码键盘。
编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动生成按键代码,并有去抖功能。
因此使用方便,但硬件较复杂。
非编码键盘仅仅提供键开关状态,由程序来识别闭合键,消除抖动,产生相应的代码,转入执行该键的功能程序。
非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。
图为按键和AT89S52的接线图,检测仪共设有4个按键,每个按键由软件来决定其功能,4个按键功能分别为:
(1)SW1:
设定按键(设定按键)
(2)SW2:
加法按键(当前位加5)
(3)SW3:
减法按键(当前位减5)
(4)SW4:
退出设置键(系统初始化)
图3-1单片机最小系统
3.5数码管及指示灯显示电路
1.数码管显示说明
各个数码管的段码都是单片机的数据口输出,即各个数码管输入的段码都是一样的,为了使其分别显示不同的数字,可采用动态显示的方式,即先只让最低位显示0(含点),经过一段延时,再只让次低位显示1,如此类推。
由视觉暂留,只要我们的延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚,过程如表3-1所示。
表3-1数码管编码表
段码
位码
显示器状态
08H
01H
□□□□□□□0
abH
02H
□□□□□□1□
12H
04H
□□□□□2□□
22H
08H
□□□□3□□□
a1H
10H
□□□4□□□□
24H
20H
□□5□□□□□
04H
40H
□6□□□□□□
aaH
80H
7□□□□□□□
本论文中使用了3个数码管,其中前两位使用动态扫描显示实测温度,在设置加热温度的时候,两个数码管是闪烁,以提示目前处在温度设置状态。
第三位数码管静态显示符号“℃”。
(2)运行指示灯说明
本热水器温度控制系统中共使用到3个LED指示灯和3个数码管。
右上角的红色LED是电源指示灯;
数码管右边的红色LED是加热指示灯,当刚开机或温度降到设定温度5℃以下时,该灯会亮,表示目前处于加热状态;当温度上升到设定温度时,该LED灭,同时数码管右边的绿色LED亮,表示目前处于保温状态,用户可以使用热水器;当温度再次下降到设定温度5℃以下时,绿色LED灭,红色加热的LED灯亮,不断循环。
图3-2LED数码管显示电路图
3.6温度采集电路
(1)DS18B20介绍
Dallas最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济。
Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
DS18B20、DS1822“一线总线”数字化温度传感器同DS18B20一样,DS18B20也支持“一线总线”接口,测量温度范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃。
DS1822的精度较差为±2℃。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
其DS18B20的管脚配置和封装结构如图3-3所示。
图3-3DS18B20封装
引脚定义:
①DQ为数字信号输入/输出端;
②GND为电源地;
③VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
(2)DS18B20的单线(1-wirebus)系统
单线总线结构是DS18B20的突出特点,也是理解和编程的难点。
从两个角度来理解单线总线:
第一,单线总线只定义了一个信号线,而且DS18B20智能程度较低(这点可以与微控制器和SPI器件间的通信做一个比较),所以DS18B20和处理器之间的通信必然要通过严格的时序控制来完成。
第二,DS18B20的输出口是漏级开路输出,这里给出一个微控制器和DS18B20连接原理图。
这种设计使总线上的器件在合适的时间驱动它。
显然,总线上的器件与(wiredAND)关系。
这就决定:
(1)微控制器不能单方面控制总线状态。
之所以提出这点,是因为相当多的文献资料上认为,微控制器在读取总线上数据之前的I/O口的置1操作是为了给DS18B20一个发送数据的信号。
这是一个错误的观点。
如果当前DS18b20发送0,即使微控制器I/O口置1,总线状态还是0;置1操作是为了是I/O口截止(cutoff),以确保微控制器正确读取数据。
(2)除了DS18B20发送0的时间段,其他时间其输出口自动截止。
自动截止是为确保:
1时,在总线操作的间隙总线处于空闲状态,即高态。
2时,确保微控制器在写1的时候DS18B20可以正确读入。
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
1DS18B20的复位时序,如图3-4所示:
图3-4DS18B20的复位时序图
②DS18B20的读时序
对于DS18B20的读时序分为读0时序和读1时序两个过程。
对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。
DS18B20在完成一个读时序过程,至少需要60us才能完成。
DS18B20的读时序图如图3-5所示。
图3-5DS18B20的读时序
③DS18B20的写时序
对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。
如图3-6所示。
图3-6DS18B20的写时序图
(3)DS18B20的供电方式
在图3-7中示出了DS18B20的寄生电源电路。
当DQ或VDD引脚为高电平时,这个电路便“取”的电源。
寄生电路的优点是双重的,远程温度控制监测无需本地电源,缺少正常电源条件下也可以读ROM。
为了使DS18B20能完成准确的温度变换,当温度变换发生时,DQ线上必须提供足够的功率。
有两种方法确保DS18B20在其有效变换期内得到足够的电源电流。
第一种方法是发生温度变换时,在DQ线上提供一强的上拉,这期间单总线上不能有其它的动作发生。
如图3-8所示,通过使用一个MOSFET把DQ线直接接到电源可实现这一点,这时DS18B20工作在寄生电源工作方式,在该方式下VDD引脚必须连接到地。
图3-7DS18B20供电方式1
另一种方法是DS18B20工作在外部电源工作方式,如图3-8所示。
这种方法的优点是在DQ线上不要求强的上拉,总线上主机不需要连接其它的外围器件便在温度变换期间使总线保持高电平,这样也允许在变换期间其它数据在单总线上传送。
此外,在单总线上可以并联多个DS18B20,而且如果它们全部采用外部电源工作方式,那么通过发出相应的命令便可以同时完成温度变换。
图3-8DS18B20供电方式2
(4)DS18B20设计中应注意的几个问题
DS18B20具有测温系统简单、测温精度高、连接方便、占用接口线少等优点,但在实际应用中也应注意以下几方面的问题:
较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送。
因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
在DS18B20有关资料中均未提及1Wire上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。
当1Wire上所挂DS18B20超过8个时,就需要考虑微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
连接DS18B20的总线电缆是有长度限制的。
实际应用中,测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。
本文以广泛应用的数字温度传感器DS18B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 水温 控制器 设计