基于单片机恒温控制系统的设计.docx
- 文档编号:4867324
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:37
- 大小:323.42KB
基于单片机恒温控制系统的设计.docx
《基于单片机恒温控制系统的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机恒温控制系统的设计.docx(37页珍藏版)》请在冰豆网上搜索。
基于单片机恒温控制系统的设计
独 创 性 声 明
本人声明所呈交的学位论文是本人在老师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。
学位论文作者签名:
日期:
学位论文版权使用授权书
本学位论文作者授权长江师范学院可以将学位论文的全部或部分内容编入有关数据库进行检索,允许论文被查阅和借阅,可以采用影印、缩印或其它复制手段保存、汇编学位论文。
(保密的学位论文在解密后适用本授权书)
学位论文作者签名:
指导教师签名:
日 期:
日 期:
摘要
本设计主要研究的是基于单片机的恒温控制,通过对单片机添加外围电路并编程来达到设计目的。
其主要分为了软件系统和硬件系统两个部分,然而软件系统的设计是建立在硬件系统的基础上进行的。
设计最终达到了恒温控制功能的目的。
包括实际温度的测量及显示、温度上下限范围设定、超过上下限温度报警并亮灯以及处理。
本设计是把AT89C52单片机作为控制中心,把DS18B20温度传感器作为温度传感器。
它的测量范围在0℃~100℃之间,分辨率为0.1摄氏度且误差不大于1摄氏度;采用继电器作为弱电控制强电输出。
作为恒温控制系统,它将温度探测、单片机控制和弱电控制强电技术相结合,从而达到恒温控制系统的目的。
本设计不但能够设置目标温度的上下限值范围,并且当实际温度不高于设定目标温度下限值的时候,继电器一吸合灯亮开始加热,蜂鸣器响且灯亮;当温度不低于设定目标温度上限值的时候,继电器一断开灯灭停止加热,同时继电器二吸合灯亮开始降温,蜂鸣器响且灯亮。
关键字:
51单片机;恒温控制系统;DS18B20温度传感器
Abstract
Thisdesignstudyisbasedonsingle-chiptemperaturecontrol,byaddingexternalcircuitandmicrocontrollerprogrammingtomeetthedesignobjectives.Themainsoftwaresystemisdividedintotwopartsandhardwaresystems,however,thedesignofsoftwaresystemsisbasedonthehardwaresystemperformed.Designedtoultimatelyachievethepurposeoftemperaturecontrolfunction,includingmeasurementandabctheactualtemperature,upperandlowertemperaturerangeisset,overthelowertemperaturealarmandlightingandprocessing.
ThisdesignistheAT89C52microcontrollerasthecontrolcenter,theDS18B20temperaturesensorasatemperaturesensor,itsmeasurementrangebetween0℃~100℃,witharesolutionof0.1degreesCelsiusandtheerrorislessthan1degreeCelsius;usingtherelayasaweakcontrolthestrongelectricoutput.Astemperaturecontrolsystem,itwilldetectthetemperature,single-chipcontrolandweakcontroltechnologycombinedwithstrongpower,soastoachieveaconstanttemperaturecontrolsystem.Thisdesigncannotonlysetthetargettemperatureoftheupperandlowerlimits,andwhentheactualtemperatureisnothigherthanthetargetsettemperaturelimitswhentherelayapullstartheatinglights,buzzerandlights,whenthetemperatureisnotlowerthansetthetargettemperaturelimit,whenabrokenlamprelaystopsheating,whiletherelaypulltwolightsbegantocool,thebuzzersoundsandlights.
Keywords:
51microcontroller;temperaturecontrolsystem;DS18B20temperaturesensor
1绪论
1.1课题背景
随着社会的进步和工业的快速发展,在工业生产过程中以及日常生活中,都对各种温度、压力、流量以及液位这四种过程变量有着更高的要求。
其中,温度的过程变量是最为重要,也是应用最为广泛的。
在很多地方,都需要用到对温度的控制。
然而,使用常规的方法来进行控制是没有多少发展潜力的,而且还不能够满足用户所想要的性能要求。
因此,本设计将利用51单片机和温度传感器来设计一个恒温控制系统。
1.2研究的目的和意义
恒温控制系统的设计,可以满足较高的性能要求,具有控制方便、简单和灵活性大、降低消耗、控制成本等优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量,从而提高生产效率。
为了能够对温度传感器有进一步的认识和了解,研究其用法与用途。
因此,本人利用51单片机再结合温度传感器技术而设计了这一恒温控制系统。
本设计适用范围比较广,不但可以作为工业锅炉的温度控制还能够用于室内监控系统、大棚恒温控制系统、水温控制系统等等。
课题主要任务是完成恒温控制,利用单片机实现温度在一定范围内实现恒温且具有操作方便,控制灵活的优点。
1.3本文研究的主要内容
本文简单介绍了温度智能控制系统的历史发展,重点介绍如何用单片机和温度传感器实现恒温控制系统的设计和制作,并且分析其算法。
并通过KeilC编译软件来对设计的程序进行仿真调试,从而实现本次毕业设计。
本文重点部分主要体现在对单片机最小系统的设计,包括实时温度测量电路的设计,单片机时钟电路的设计,单片机复位电路的设计,掉电保护数据电路的设计,键盘输入电路的设计,LCD显示电路的设计,弱电控制强电的设计等。
以及这些电路工作的各个子程序。
本文重点强调的是原理和实用性,原理结合实例,综合分析了恒温控制系统的工作原理和实现方法。
1.4本文的章节安排
本文分为3章:
第1章是绪论,作为引子,介绍文章用到的一些简单概念,介绍恒温智能控制系统的历史背景,应用以及各种工业传感器的其它一些知识,说明恒温控制系统的应用以及本文的意义。
第2章为关键技术,介绍测量电路、主控电路、显示电路等各个方案的优缺点,并从几个方案中选择一个最优的方案进行系统设计。
第3章为电路设计,分为硬件设计和软件设计及测试结果,电路的硬件设计,包括AT89C52单片机电路、键盘电路、加热器控制电路、温度测量电路、LCD1602显示电路等。
程序设计主要介绍恒温控制系统的主程序和各个子程序,子程序包括:
读取温度子程序、温度上下限比较子程序、温度计算子程序、显示温度数据子程序等。
简要介绍了测试恒温控制系统的测试方法和测试结果。
2方案选择
2.1温度测量部分
温度测量电路设计可以采用AD590温度传感器,温度范围在-55℃〜+150℃之间,精度较高,在温度范围内非线性误差在±0.3℃内。
AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏,使用可靠。
它能够在只有直流电源的环境下工作,无需进行线性校正,使用方便,接口简单。
和电压输出型相比,它有很强的抗外界干扰能力,测量信号可远传百余米。
但是51单片机没有A/D接口,如果采用AD590就要增加硬件成本。
温度测量电路设计可以采用DS18B20温度传感器,DS18B20数字温度传感器是DALLAS公司生产的单总线器件,它具有线路简单,体积小的特点[4];该芯片直接向单片机传输数字信号,便于单片机处理及控制。
本制作的最大特点之一就是直接采用温度传感器对温度进行测量,使电路更简单操作更方便。
因此,本设计采用温度传感器DS18B20进行温度测量,体现了设计制作的集成化趋势。
使总体设计电路更简洁,有效地减少了一些不必要的干扰,提高精准度。
2.2主控部分
设计中采用AT89C52是一个低电压,高性能CMOS8位单片机,它除具有了89C51单片机所具有的优点外,AT89C52单片机的内部RAM存储器还扩展为256字节,相比89C51单片机的容量增大了;AT89C52单片机的内部FLASHPERAM也增加1倍,达到8K。
额外在89C51单片机的基础上还多了一个定时器/计数器T2。
且价格便宜,再编程方便,在工业控制中有广泛的应用,因此在本次毕业设计中采用AT89C52作为主控器。
2.3显示部分
显示电路设计中可以采用LED数码管显示器件来作为显示模块,然而LED不同位显示的时间间隔局限性较大,间隔太短,由于发光二极管从导通到发光有一定的延时,使导通时间太短,发光太弱没有办法看清。
间隔太长,由于要受到临界闪烁频率的限制,时间越长,占用CPU时间也越多。
它的优点是LED数码管价格便宜,显示清晰并且编程较简单。
由于选用数码管显示会占用许多CPU的时间所以我没有采用它。
显示电路设计中也可以采用液晶显示器件作为显示模块,它具有体积小,功耗低,显示内容丰富等特点。
在单片机系统中使用LCD液晶显示器件作为显示输出模块有以下优点:
(1)数字式接口:
LCD1602液晶显示器一般采用数字式的接口,使用起来更加简单快捷。
(2)体积小,重量轻。
(3)功率消耗小:
相比LED数码管显示器件LCD1602液晶显示器占用CPU时间少,功率消耗比其它显示器要小。
(4)显示效果好:
在收到信号后,LCD1602液晶显示器上的每一个点都将保持原有的色彩和亮度,使其恒定发光,屏幕不会出现闪烁现象。
1602型LCD显示模块具备这么多优点,所以这次设计采用了1602LCD作为显示模块。
2.4数据掉电存储部分
数据掉电存储电路在很多地方都是需要用到的,比如,电子日历等一些需要电源的电子产品,如果没有设置数据掉电保护电路,那么在突然掉电后,它的数据将得不到保护,就会自动回到初始状态的数据设置,在下一次通电时用户需要再一次的去设置各种数据,增加了用户的操作,使整个产品变得不适用,然而数据掉电存储电路设计中采用I2C总线式串行器件,它有体积小、抗干扰、低功耗等特点,而且能够完美的解决上面所提到的种种问题。
所以本次设计选用AT24C02芯片作为数据掉电存储芯片。
2.5弱电控制强电部分
毕业设计中有一部分电路是弱电控制强电的,它的作用是用单片机的输出信号去控制继电器的断开与吸合,然后把继电器的控制端接在电热丝或压缩机上。
在设计中用继电器作为弱电控制强电输出,其实还可以用可控硅作为弱电控制强电输出。
常用的继电器有电磁继电器、固体继电器、舌簧继电器等几种,然而在实际应用的时候要根据实际的情况来做出选择,用途不一样,所选择的继电器也不一样。
如何选择合适的继电器是关键。
下面简要介绍几种继电器的工作原理:
1)电磁继电器:
它主要是利用电磁铁铁芯与衔铁间产生的吸力作用来使电路吸合(通)和断开的一种电气继电器。
2)固体继电器:
它是使电源的输入和输出相隔离从而达到通、断的效果的一种继电器。
3)舌簧继电器:
它是利用触电簧片和衔铁磁路在一个密封的空间内产生双重作用的舌簧动作来使电路通、断或者转换的一种继电器
因为电子市场电磁继电器比较便宜而且控制简单,因此在本设计中采用电磁继电器作为弱电控制强电输出。
电磁继电器参数为:
输入为5V,可以和单片机接口相匹配,输出额定驱动电流为10A、驱动电压为250V,能满足我的设计要求,而且额定驱动电流和电压越大,价格越高。
51单片机的驱动电流小,不能直接驱动电磁继电器工作,还要在电路设计中加上继电器的驱动电路。
继电器的驱动电路可以采用ULN2803作为继电器驱动电路,因为它具有很多优点。
ULN2803,是采用AP=DIP18,AFW=SOL18封装方式的八路NPN达林顿连接晶体管阵系列特别适用于低逻辑电平数字电路(诸如TTL,CMOS或PMOS/NMOS)和较高的电流/电压要求之间的接口,广泛应用于计算机,工业用和消费类产品中的灯、继电器、打印锤或其它类似负载中;所有器件具有集电极开路输出和续流箱位二极管,用于抑制跃变。
ULN2803的设计与标准TTL系列兼容,而ULN2804最适于6至15伏高电平CMOS或PMOS[18]。
继电器的驱动电路也可以采用三极管驱动,它具有电路简单,抗干扰能力强等优点。
2.6控制算法分析
下面先简要描述一下PID算法:
PID是工业控制上的一种常见的、实用性强的控制算法,其中P表示的是比例,I表示的是积分,D表示的是微分。
以温度控制的PID程序为例:
其公式为:
Uo(N)=P*E(N)+I*[E(N)+E(N-1)+...+E(0)]+D*[E(N)-E(N-1)]
E--表示的是误差值。
P--表示的是比例,它可以提高主机的响应速度并且减小静态误差值,但是如果P的值太大也是会增大超调量以及稳定时间的,因此在应用的时候要注意其值得大小合适。
I—表示的是积分,它的作用与P大致相同,然而它确可以使静态误差值小到0。
D--表示的是微分,它的作用与P和I的刚好相反,它是为了减小超调和稳定时间的。
然而,在实际应用中我们要综合性的对P、I、D进行考虑,在通常情况下先把I、D的值设定为零,这样就方便我们把P的值调好,在调好I的值,把误差降到最低,这时我们再把D的值加进去,这是一个繁杂的过程要有耐心反复调试,这样才能达到较好的结果。
控制不同的对象所采用的算法也是不同的,而且在对P、I、D进行调试的时候难度差异也是比较大的。
因此在应用时要结合实际的情况灵活运用。
本次毕业设计是对继电器进行控制因此没有采用上述的PID控制算法,但是这种控制算法在工业生产中得到了广泛的应用。
而使采用了反馈式温度控制系统,组成部分见下图。
其中数字控制器的功能由51单片机AT89C52来实现。
图2-1 反馈式控制系统方框图
综上所述我设计的恒温控制系统实际采用电路方案如下图:
图2-2 总体设计方框图
3系统设计
3.1硬件设计
3.1.1中央控制器设计
本设计中,采用了AT89C52单片机作为中央控制器。
从图3-1中,我们可以看出AT89C52单片机内部主要包括了CPU,定时器/计数器,I/0接口等多个部分,然而每一个部分都是不可缺少的,都有着各自的作用。
下图是AT89C52单片机的内部结构总框图。
图3-1AT89C52单片机内部结构框图
P3口除可作为一般的I/O口线外,更重要的用途是它的第二功能,如表3-1所示:
表3-1P3口第二功能
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
/INT0(外中断0)
P3.3
/INT1(外中断1)
P3.4
T0(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
/WR(外部数据存储器写选通)
P3.7
/RD(外部数据存储器读选通)
下图是这次毕业设计中的单片机设计原理图:
图3-2AT89C52外围电路图
图中单片机的P0口接在LCD1602液晶显示器的数据端口,P25口、P26口、P27口分别接LCD1602液晶显示器的RS口、R/W口、EN口。
单片机的P10口、P11口、P12口、P13口分别接上一个按键,这样单片机就有四个输入设备,分别用来进行温度上下限参数的设置。
单片机的P20口、P21口分别用于控制一路继电器,一路用于控制电热丝加热,一路用于控制压缩机降温。
单片机P37口接在温度传感器DS18B20的数据端口,P36口用于控制蜂鸣器和LED报警指示灯。
3.1.2数据掉电保护电路
数据掉电保护电路,是为了保护整个设计的系统在工作中所设置的数据在人为断电或者突然地异常断电后能够被保存,使系统在下次运行时不用重新设置,减少了人工操作,让整个设计系统更简单、方便。
数据掉电保护电路设计中AT24C02芯片硬件电路及与单片机接口如图3-3:
图3-3AT24C02与单片机接口电路图
由上图可以看出,本设计的数据掉电保护电路是非常简单的,其中AT24C02的1、2、3三个脚分别是A0、A1、A2三条地址线,都是用来接地的,主要作用是用来确定AT24C02芯片的硬件地址;8脚和4脚分别是为AT24C02芯片提供+5V电源以及接地的,不然芯片没有电源不能正常工作;5脚SDA是作为串行数据的输入/输出,在本设计电路中与单片机的P2.4口相连接;6脚SCL是作为串行时钟的输入线,在本设计电路中是与单片机的P2.3口连接;在+5V电源与5脚、6脚间各需要接一个10K的上拉电阻;而7脚则与1、2、3、三个脚一样需要接地。
3.1.3键盘电路
本次恒温控制系统设计中,除了复位按键有专门的电路及专一的功能外,还需要四个设置恒温上下限范围的按键,这四个按键的电路我们称为键盘电路,它们都是以开关状态的形式来工作的。
本系统采用的是非编码键盘硬件电路,它的电路非常简单。
当有键按按下时,系统开始执行一个时长为10ms的延时程序,然后再来判断该键的现在的电平状态,如果现在呈现出来的是闭合状态电平那么系统就会认为有按键按按下。
本设计中的四个设置按键的一端接地,而另一端分别与AT89C52单片机的P10,P11,P12,P13链接。
具体如下图3-4所示:
图3-4按键与单片机接口电路图
3.1.4加热器控制电路
本设计采用的AT89C52单片机的驱动电流小,不能直接驱动电磁继电器工作,还要在电路设计中加上继电器的驱动电路。
本设计从成本及电路方面考虑,决定采用三极管来作为继电器的驱动电路。
三极管驱动继电器控制电路如图3-5所示:
图3-5三极管驱动继电器控制电路图
3.1.5温度测量芯片DS18B20
本次毕业设计中采用的是DS18B20温度传感器,它是一种集成芯片,能减小干扰,提高精准度,简化电路,它可以直接读出被测物的温度,并根据用户要求实现9~12位的数字值读数方式,其性能特点如下:
●独特的单线接口仅需要一个端口引脚进行通信;
●多个DS18B20温度传感器可以并联在一起使用,检测多个地方的温度;
●无须外部器件;
●允许电压范围在3.0~5.5V之间,可以采用数据线供电;
●零待机功耗;
●温度以9或12位数字;
●用户可定义报警设置;
●电源极性接反时,不会损坏元器件,只是无法正常工作;
它的内部结构框图如图3-6所示。
图3-6DS18B20温度传感器内部结构框图
DS18B20温度传感器中的高速暂存RAM的结构如表3-2所示。
表3-2DS18B20温度传感器高速暂存RAM的结构
温度LSB
温度MSB
TH用户字节1
TL用户字节2
配置寄存器
保留
保留
保留
CRC
TM
R1
R0
1
1
1
1
1
由表3-3可见,DS18B20温度传感器在使用的过程中需要不短的转换时间,而且当分辨率越高的情况下,所需要的转换时间就会越长。
因此,在实际应用中需要考虑这两个因素。
表3-3是一部分温度值对应的二进制温度数据。
表3-3DS18B20温度转换时间表
R1
R0
分辨率/位
温度最大转向时间/MS
0
0
9
93.75
0
1
10
187.5
1
0
11
375
1
1
12
750
本设计中DS18B20温度传感器完成温度转换后,就会进行温度比较,把DS18B20温度传感器测得的温度值T与用户设定在RAM中的TH、TL范围作比较。
当发生T>TH或者T<TL的情况下,则对主机发出的报警命令作出相应的响应。
在DS18B20温度传感器中,低温度系数晶振的振荡频率用来产生固定频率的脉冲信号并送给计数器1;高温度系数晶振产生的振荡频率所产生的信号作为计数器2的脉冲输入。
下面是一部分温度对应值表格3-4。
表3-4 一部分温度对应值表
温度/℃
二进制表示
十六进制表示
+125
0000011111010000
07D0H
+85
0000010101010000
0550H
+25.0625
0000000110010001
0191H
+10.125
0000000010100010
00A2H
+0.5
0000000000001000
0008H
0
0000000000000000
0000H
-0.5
1111111111111000
FFF8H
-10.125
1111111101011110
FF5EH
-25.0625
1111111001101111
FE6FH
-55
1111110010010000
FC90H
本设计中DS18B20温度传感器的电路设计非常简单,主要是在3脚加了一个+5V的电源和一个10K的电阻。
具体的电路及与单片机的接口如图3-7。
图3-7DS18B20温度传感器硬件电路以及与单片机的接口电路图
3.1.61602LCD显示电路
随着用户的需要,液晶显示模块已经成为最常用的显示器件。
LCD1602液晶显示模块的体积小而且功耗低最重要的是它显示的内容比其他显示模块丰富。
1.外型尺寸:
80X36X13(LXWXH)
2.接口信号说明
表3-5LCD1602显示器的引脚介绍
序号
符号
引脚名称
序号
符号
引脚名称
1
VSS
电源地
9
D2
DataI/O
2
VDD
电源正极
10
D3
DataI/O
3
VL
液晶显示偏压信号
11
D4
DataI/O
4
RS
数据/命令选择端
12
D5
DataI/O
5
R/W
读写选择端
13
D6
DataI/O
6
E
使能信号
14
D7
DataI/O
7
D0
DataI/O
15
BLA
背光源正极
8
D1
DataI/O
16
BLK
背光源负极
3.主要技术参数
表3-6LCD1602液晶显示器的主要技术参数
显示容量
16X2个字符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 恒温 控制系统 设计