基于proteus的热式热水器温度控制系统的仿真研究毕业论文Word格式文档下载.docx
- 文档编号:17453499
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:28
- 大小:619.69KB
基于proteus的热式热水器温度控制系统的仿真研究毕业论文Word格式文档下载.docx
《基于proteus的热式热水器温度控制系统的仿真研究毕业论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于proteus的热式热水器温度控制系统的仿真研究毕业论文Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。
目前中国市场即热式电热水器的销售比率只占3%,这表明即热式电热水器在中国有极为广阔的市场前景。
1.2系统任务
设计一热式热水器温度闭环控制系统,系统方框图如下图1.1所示:
图1.1系统方框图
(1)热水器温度工作范围:
0℃~63℃;
(2)检测分辨率
1℃;
(3)键盘是采用拨动开关,实现温度设定范围为:
(4)给定温度用2位LED用动态或静态扫描技术显示;
(5)实际温度用2位LED用动态或静态扫描技术显示;
(6)增加预警系统,当加热到设定的温度时,则发出报警信号。
1.3设计思路
热式热水器温度闭环控制系统包括检测系统、显示系统、按键设置温度系统、模拟加热系统、报警系统、单片机控制系统等六个部分。
系统选择性能优良的DS18B20温度传感器来模拟检测热水器内的温度;
用两个两位的数码管来分别显示实时设定温度和实际温度;
采用两个按键来分别设置温度的十位和个位;
采用一个绿色LED灯来模拟加热装置(灯亮则表示启动加热装置,灯灭表示关闭加热装置);
采用一个红色LED灯来模拟报警信号(灯亮则表示实际水温高于预设水温,讲产生报警信号并关闭加热装置;
灯灭则表示实际水温要低于预设水温,此时系统处于加热状态);
核心的单片机控制系统采用常用的AT89C51芯片,接收传感器反馈回来的温度信号,与设定温度值进行比较处理并作出是否开启加热装置的命令。
总体结构图如下图1.2所示:
图1.2系统总体原理框图
第2章热式热水器温度控制系统的硬件设计
本章的重点是热式热水器温度控制系统的硬件设计,主要包括控制处理器以及实现其他设计功能的硬件模块。
2.1AT89C51单片机简介
2.1.1AT89C51单片机资源简介
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
2.1.1.1主要特性
-与MCS-51兼容
-4K字节可编程闪烁存储器
-寿命:
1000写/擦循环
-数据保留时间:
10年
-全静态工作:
0Hz-24MHz
-三级程序存储器锁定
-128×
8位内部RAM
-32可编程I/O线
-两个16位定时器/计数器
-5个中断源
-可编程串行通道
-低功耗的闲置和掉电模式
-片内振荡器和时钟电路
2.1.1.2管脚说明
VCC:
供电电压
GND:
接地
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,说明如下:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入
XTAL2:
来自反向振荡器的输出
2.2数字温控芯片DS18B20介绍
美国Dallas半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
全部传感元件及转换电路集成在形如一只三极管的集成电路内。
“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的DS18B20体积更小、更经济、更灵活,使你可以充分发挥“一线总线”的优点。
同DS18B20一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°
C~+125°
C,在-10~+85°
C范围内,精度为±
0.5°
C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便,而且新一代产品更便宜,体积更小。
2.2.1DS18B20的特性
(1)适应电压范围更宽,电压范围:
3.0~5.5V,寄生电源方式下可由数据线供。
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±
0.5℃。
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(9)负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2.2.2DS18B20的测温原理
DS18B20的测温原理如图2.1所示,图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
DS18B20在正常使用时的测温分辨率为0.5℃,如果要更高的精度,则在对DS18B20测温原理进行详细分析的基础上,采取直接读取DS18B20内部暂存寄存器的方法,将DS18B20的测温分辨率提高到0.1~0.01℃。
图2.1DS18B20测温原理图
2.2.3DS18B20与单片机接口电路
P3.7口和DS18B20的引脚DQ连接,作为单一数据线。
U4即为温度传感芯片DS18B20,本设计虽然只使用了一片DS18B20,但由于不存在远程温度测量的考虑,所以为了简单起见,采用外部供电的方式,如左图2.2所示。
测温电缆采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一对接VCC和地线,屏蔽层在电源端单点接地。
图2.2DS18B20与单片机接口电路
2.3显示驱动电路设计
采用74HC245总线驱动器,是典型的TTL型三态缓冲门电路。
主要作用是将信号的功率放大。
第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。
第2~9脚“A”信号输入输出端,A1=B1、A2=B2、A3=B3、A4=B4、A5=B5、A6=B6、A7=B7、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。
如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。
第11~18脚“B”信号输入输出端,功能与“A”端一样,不再描述。
第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。
第10脚GND,电源地。
第20脚VCC,电源正极。
如下图2.3所示:
图2.374HC245驱动器的电路连接
2.4按键电路设计
采用独立按键接口,这种方式是各种按键相互独立,每个按键接一根输入线,一根输入线按键的工作状态不会影响其他输入线上的工作状态。
因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下。
独立式按键电路配置灵活,软件简单。
但每个按键需要占用一根输入口线,在按键数量较多时,需要较多的输入口线且电路结构复杂,故此种键盘用于按键较少或操作速度较高的场合。
独立式按键电路按键直接与单片机的I/O口连接,通过读I/O口,判定每个I/O口的电平状态,即可识别按下的键。
由于只有四个按键,因此按键接口电路的设计比较简单,单片机P3.2和P3.3端口设定为输入状态,平时通过电阻上拉到Vcc,按键按下时,对应的端口的电平被拉到低电平,如下图2.4所示。
这样就可以通过查询有无外部中断来判断有没有按键按下,按键各接一根输入线,一根输入线的按键工作状态不会影响其他输入线上的工作状态。
通过内部判断是否产生外部中断,即可识别按下的键。
2个按键定义如下:
P3.2:
个位按键,按此键则设定温度的设定值个位加一。
P3.3:
十位按键,按此键则设定温度的设定值十位加一。
图2.4按键电路
2.5光耦隔离输出电路
光耦隔离就是采用光耦合器进行隔离,光耦合器的结构相当于把发光二极管和光敏(三极)管封装在一起。
发光二极管把输入的电信号转换为光信号传给光敏管转换为电信号输出,由于没有直接的电气连接,这样既耦合传输了信号,又有隔离作用。
在此系统中,使用的绿色LED灯模拟加热装置与红色LED灯模拟报警信号装置的控制就是采用的光耦隔离电路,单片机产生的命令信号通过光电耦合隔离电路传送给加热装置和报警装置。
电路如下图2.5所示,U5为光电耦合隔离装置:
图2.5光电耦合隔离输出电路
2.6整体硬件电路
系统整体的硬件电路设计如下图2.6所示:
图2.6整体硬件电路
第3章热式热水器温度控制系统的软件设计
整个系统需要对每一个硬件模块进行软件设计。
在这一章,主要针对每个硬件电路模块编程,然后进行系统的整合,最后输入到控制处理器中实现所有设计功能。
3.1系统软件设计框图
如下图3.1所示:
图3.1系统软件设计框图
根据设计要求,首先要确定软件设计方案,即确定该软件应该完成那些功能;
其次是规划为了完成这些功能需要分成多少个功能模块,以及每一个程序模块的具体任务是什么。
一般划分模块应遵循下述原则:
1)每个模块都应具有独立的功能,能产生一个明确直观的结果。
2)模块长度要适中。
模块太长时,分析和调试比较困难,失去了模块化程序结构的优越性;
模块太短则信息交换太频繁,也不合适。
3)每个模块之间的控制参数应尽量简单,数据参数应尽量少。
控制参数是指模块进入开始运行和退出停止运行的条件及方式,数据参数是指模块间的信息交换方式、交换量的多少及交换的频率。
该系统的软件由五大模块组成:
主程序模块、温度采集模块、报警及加热电路模块、温度显示模块、键盘扫描模块。
下面将对这几个模块具体阐述,相对应的汇编程序语言详见附录。
3.2主程序模块
计算机基本的被独立提供出来的程序,它能够调用子程序,而不被任何子程序所调用,它是计算机程序的中心部分。
主程序的设计内容一般包括:
主程序的起始地址,中断服务程序的起始地址,有关存储单元及相关部件的初始化和一些子程序调用等等。
主程序模块的主要内容是对整个系统进行初始化,并且包含调用子程序。
在本课题研究的系统中,主程序主要为两个部分:
第一个是对系统初始化,如打开相关中断,设置相关引脚的电平信号以及设置初始实际水温和设定水温的数值。
此系统中主程序初始化包括以下内容:
1)外部中断0采用边沿触发:
SETBIT0
2)打开中断允许命令:
SETBEA
3)打开外部中断0:
SETBEX0
4)外部中断1采用边沿触发:
SETBIT1
5)打开外部中断1:
SETBEX1
6)设置初始实际水温和设定水温都为0℃
***************************************/主程序模块
MAIN1:
SETBIT0
SETBEA
SETBEX0
SETBIT1
SETBEX1
SETBP3.6
SETBP3.2;
初始化系统
MOV74H,#0
MOV75H,#0
MOV76H,#0
MOV77H,#0;
设置初始显示温度
MAIN:
LCALLGET_TEMPER;
调用温度采集程序
LCALLCVTTMP
LCALLDISP1;
调用显示程序
AJMPMAIN
3.3温度采集模块
该模块主要对温度传感器DS18B20的操作,主要包括以下几个内容:
A、DS18B20的初始化
1)先将数据线置高电平“1”;
2)延时;
3)数据线拉到低电平“0”;
4)延时;
5)数据线拉到高电平“1”;
6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。
据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制);
7)若CPU读到了数据线上的低电平“0”后,还要做延时;
8)将数据线再次拉高到高电平“1”后结束。
B、DS18B20的写操作
1)数据线先置低电平“0”;
2)延时;
3)按从低位到高位的顺序发送字节(一次只发送一位);
5)将数据线拉到高电平;
6)重复上1到6的操作直到所有的字节全部发送完为止;
7)最后将数据线拉高。
C、DS18B20的读操作
1)将数据线拉高“1”;
2)延时;
3)将数据线拉低“0”;
4)延时;
5)将数据线拉高“1”;
6)延时;
7)读数据线的状态得到1个状态位,并进行数据处理;
8)延时。
程序内容详见附录。
3.4报警及加热电路模块
此模块主要控制报警功能,当实际水温高于设定水温时红灯亮报警,当实际水温低于设定水温时绿灯亮开启加热装置。
使用单片机AT89C51的P3.5和P3.6分别作为红灯和绿灯的输入信号。
当单片机内部对温度进行处理后的结果来设定这两个引脚的电平信号。
当P3.5的信号为高电平时,此时报警电路被触发,红灯亮,系统处于报警状态。
当P3.6的信号为高电平时,此时加热电路被触发,绿灯亮,系统处于加热状态。
程序内容如下:
LEDH:
CLRP3.6
SETBP3.5;
报警电路被触发,红灯亮,系统报警
SJMPPLAY
PLAY1:
SETBP3.6;
加热电路被触发,绿灯亮,开启加热装置
CLRP3.5
SJMPPLAY
3.5温度显示模块
该系统中的温度显示采用两个两位的数码管显示,一个显示设定温度,另一个显示实际温度。
软件设计中将实际水温数据的十位和个位分别存放在地址为74H和75H的单元中,设定水温的数据的十位和个位存在地址为76H和77H的单元中。
根据设计要求,设定水
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 proteus 热水器 温度 控制系统 仿真 研究 毕业论文