原创基于单片机的温度控制系统毕业论文设计.docx
《原创基于单片机的温度控制系统毕业论文设计.docx》由会员分享,可在线阅读,更多相关《原创基于单片机的温度控制系统毕业论文设计.docx(31页珍藏版)》请在冰豆网上搜索。
原创基于单片机的温度控制系统毕业论文设计
本科毕业设计
题目:
基于单片机的温度控制系统
Title:
TemperaturecontrolsystembasedonMCU
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
摘要
本文主要介绍了基于单片机的温度控制系统的工作原理、硬件电路的设计和软件设计。
该温度控制系统由单片机核心处理模块、温度采集模块、控制执行模块,LCD显示模块组成。
能够完成温度的设定、采集、显示、控制等功能。
关键词:
温度控制,单片机,PID
Abstract
Thispaperisspecificationofadesignoftemperaturecontrolsystembasedonthesingle-chip,mainlyintroducedtheworkprincipleoftemperaturecontrolsystem,thedesignofthe.Thetemperaturecontrolsystemiscomposedofasingle-chipmicrocomputercoreprocessingmodule,atemperatureacquisitionmodule,akeyboardinputmodule,LCDmodule,controlmodule,serialcommunicationmodule.Itcanrealizethetemperatureacquisition,setting,display,controlandotherfunctions.
Keywords:
temperaturecontrol,MCU,PID
1引言
温度作为一个基本的物理量,它是一个与人们生活环境、生产活动密切相关的重要物理量。
在现代冶金、石油、化工及电力生产过程中,温度是极为重要而又普遍的热工参数之一。
在现代化工业生产过程中温度作为一种常用的被控参数,在很多生产过程中我们需要对温度参数进行检测。
在环境恶劣或者温度较高等场合下,为了保证生产过程正常安全地进行,提高产品的质量和数量,以及减轻工人的劳动强度、节约能源,要求对温度进行测、显示、控制。
使之达到工艺标准,以单片机为核心设计的水箱温度控制系统,采用单片机来对温度进行控制,不仅具有组态简单、控制方便和灵活性大等优点,而且可以大幅提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
因此单片机对温度的控制是一个工业生产中经常会遇到的问题。
[1]
随着电子行业的迅猛发展,传感器技术和计算机技术的不断进步,而且微型计算机和传感器的价格也慢慢的变低,可靠性也逐步的提高,用信息技术来实现温度的控制并且提高温度控制的精确度不但是可以达到的而且是不难实现的。
用高新技术来解决工业生产中遇到的问题,以此来加强我国工业化的建设,提高人民的生活水平和生活质量。
温度的控制是无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,过低的温度或过高的温度都会使资源浪费而失去相关的作用。
特别是在当前全球能源极度缺乏的情况下,我们更应该好好把握对温度的控制,合理的利用身边的资源。
[3]
2设计要求
设计并制作一个基于单片机的温度控制系统,基本要求如下:
设定一个合适的温度(如30℃),让水箱温度达到设定值;实际温度与设定值误差在±1.5℃以下。
3方案论证
根据本题设计要求,确定了本系统的原理框图如图3-1所示。
图3-1原理框图
3.1方案论证与比较
根据题目的要求,我提出了以下的两种系统设计方案供选择:
方案1:
该方案采用的是传统的模拟控制方法,选用传统的模拟电路,用电位器设定给定的目标温度值,采用上下限比较电路将反馈的温度值与给定的目标温度值进行比较之后,然后由加热控制器决定加热或者不加热。
由于采用模拟控制方式,温度控制系统受环境温度的影响大,不能够实现复杂的控制算法和相对比较精确的温度控制精度,而且不能用显示和键盘设定及上位机传输信息。
[6]
方案2:
采用单片机为核心。
采用了温度传感器采集温度信号并通过单片机进行一定的计算产生控制信号去控制加热模块。
使用单片机控制具有编程简单灵活,控制方便等优点,较为容易的实现温度的控制及显示。
通过软件编程能够实现各种控制算法使系统具有控制精度相对较为高的优点。
通过上述两种方案的比较,方案2明显改善了方案1中的不足,并具有控制温度精度高、控制简单的特点,因此本温度控制系统的设计采用方案2。
3.2核心处理模块的方案
方案1:
采用PIC单片机。
PIC单片机的各个型号的兼容性强,功能全,型号多,抗干扰能力强。
缺点:
PIC单片机价格贵,烧写器较贵,烧写程序比较麻烦。
方案2:
采用MCS-51单片机。
MCS-51系列单片机是8位增强型。
51单片机具有功能强,体积小,可靠性好和价格便宜的优点,并且编程较为容易,程序的烧写也较为简单。
综合上面两个方案以及本人日常学习到的单片机,选择方案二作为本设计的核心处理模块。
3.3温度采集模块的方案
采用温度传感器DS18B20。
DS18B20具有体积小、质量轻、精密度高、全数字化、性能稳定等优点。
它的测量范围在-50℃至+125℃,在-10℃至+85℃范围内精度为±0.5℃,当电源电压在5-10V之间,稳定度为1﹪时,其各方面特性都满足了本系统的设计要求。
此外DS18B20可直接将温度转化成串行数字信号供处理器处理,可以简化硬件电路和提高可靠性。
[2]
3.4控制执行的方案
方案1:
由单片机IO口输出高低电平控制电磁继电器的通断。
当IO口输出低电平时,三极管不导通,继电器无电流通过,开关断开,电阻丝不加热。
当IO口输出高电平时,三极管导通,继电器有较大的电流通过,开关闭合,电阻丝开始加热。
[4]
方案2:
采用固态继电器进行控制。
首先单片机进行PID算法,实时的更新PWM脉冲的输出参数,来控制PWM波的产生,从而控制固态继电器的导通和断开,进而控制电阻丝的加热来实现温度的控制。
用单片机实现了自适应的控制,更好的减少了温度的迟滞性,改进了传统的直接输出高低电平控制的方法。
而且固态继电器的性能满足控制的高频频率的要求。
比较了上面的种方案,方案1虽然电路比较简单,控制比较容易,但是无法满足温度控制系统的较小的温度波动和频繁的开关普通的电磁继电器从而产生较大的噪音和器件寿命的损耗。
所以我最终采用固态继电器为控制执行的方案。
3.5显示模块
方案一:
选用数码管显示,用普通的数码管显示简单的数字、符号、字母。
方案二:
选用液晶显示,显示的内容更加的丰富。
根据所学知识与方案显示内容的设定,我选择了方案二。
4系统设计
本系统选用的模块包括:
单片机系统,LED显示模块,温度采集模块,控制执行模块,加热模块。
4.1单片机模块
此次的毕业设计的核心部分是单片机的控制,本次选用的是ATMEL公司生产的芯片AT89C52,主要是它的价格便宜,而且在学习中接触较多比较熟悉,容易获得。
4.1.1复位电路的设计
复位使单片机处于起始状态,并从该起始状态开始运行。
STC89C52的RST引脚为复位端,该引脚连续保持2个机器周期(24个时钟振动周期)以上高电平,就可以使单片机复位。
单片机的外部复位有上电复位和按键电平复位。
由于单片机运行过程中,其本身的干扰或外界干扰会导致出错,此时我们可按复位键重新开始运行。
考虑到本系统的运行和调试,复位电路采用按键复位方式,如图4-1所示。
图4-1复位电路
4.1.2时钟电路设计
时钟电路是单片机的心脏,它控制着单片机的工作节奏。
STC89C52内部有一个反相振荡放大器,XTAL1和XTAL2分别是该反向振荡放大器的输入端和输出端。
本设计采用的晶振频率为11.0592MHZ。
因为可以准确得到9600波特率和19200波特率,用于有串口通讯的场合。
51系列单片机还可使用外部时钟。
在使用外部时钟时,外部时钟必须从XTAL1输入,而XTAL2悬空。
图4-2为晶振电路
图4-2晶振电路
4.1.3单片机的IO口的分配
首先对LCD和单片机的连接分配IO口,LCD的E,RW,RS端分别为P0.5-P0.7,P2.0-P2.7为LCD1602的数据输入端。
然后再对独立键盘进行IO口分配,本设计中的独立按键只需要四个端口,设置P3.4-P3.7分别为功能键,加一键,减一键,确定键。
DS18B20温度传感器是单总线的结构,和单片机的通讯只需要一个IO口,可以设置P1.3为DS18B20温度传感器的总线和单片机的通讯接口。
同样的,系统对温度的控制的信号的输出也是一个IO口就能实现的,那么就设置P2.0为温度控制信号输出端。
4.2LCD1602显示模块
在本设计中采用LCD1602来充当显示的作用,对LCD模块的电路的设计得先了解LCD的各个引脚然后再设置其各个引脚和单片机连接的的IO口。
LCD1602液晶显示模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。
1602液晶模块内部的控制器共有11条控制指令,如表4-3所示:
表4-3LCD1602液晶模块内部的控制器共有11条控制指令
序号
指令
RS
RW
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
ID
S
4
显示开关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
SC
RL
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRAM或DDRAM)
1
0
要写的数据内容
11
从CGRAM或DDRAM读数
1
1
读出的数据内容
根据LCD1602的引脚定义和资料设计了了温度控制系统的显示模块,电路图如下图4-4
图4-4温控系统显示模块
4.2.11602接口信号说明
1602接口信号说明如表4-5所示
表4-51602接口说明
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据口
2
VDD
电源正极
10
D3
数据口
3
VO
液晶显示对比度调节端
11
D4
数据口
4
RS
数据命令选择端
12
D5
数据口
5
RW
读写选择端
13
D6
数据口
6
E
使能端
14
D7
数据口
7
D0
数据口
8
D1
数据口
4.2.21602操作时序
1602的操作时序图(见图4-6)
图4-61602操作时序
分析时序图可知1602液晶的流程如下
(1)通过RS确定是写数据还是写命令。
写命令包括液晶的光标显示不显示、光标闪烁不闪烁、需不需要移动屏幕、在液晶什么位置显示等。
写数据是指要显示什么内容。
(2)读写控制端设置为写模式,即低电平。
(3)将数据或命令送至数据线。
(4)给E一个高脉冲将数据送入液晶控制器,完成写操作。
4.3DS18B20温度采集模块的设计
DS18B20的管脚排列如图4-7所示,DQ为数字信号输入输出端;GND为电源地;VDD为外接供电电源输人端。
本温度控制系统采用外接供电方式,电路图如下图4-8所示
图4-7DS18B20管脚图
图4-8DS18B20电路图
4.3.1DS18B20的分辨率
DS18B20温度传感器可完成对温度的测量,温度分辨率的设定能够影响到温度传感器的转换时间和转换的精确度[11]。
温度的分辨率设置如表4-9所示。
表4-9:
温度分辨率设置表
R1
R0
分辨率
温度最大转换时间
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
1
1
12位
750ms
由于本系统的对被控的对象的温度采集的实时要求较高,所以选择DS18B20的分辨率位12位,在12位分辨率的时候的温度采集精度是0.0625度,满足温度系统的控制的精度的要求,所以R1和R0的设置分别为R1=1,R0=1。
4.3.2DS18B20工作时序图
(1)初始化(时序图见4-10)
图4-10初始化时序
(2)写数据(时序图见图4-11)
图4-11写数据时序
(3)读数据(时序图见图4-12)
图4-12读数据时序
4.4控制执行模块
STC89C52是本温度控制系统的处理器。
首先由DSl8B20数字温度传感器检测并且采集温度数据直接转换成数字信号发送给单片机,单片机将检测的温度值与设定的目标温度值进行比较,计算出温度的偏差,然后采用PID算法并且输出相应的控制信号,控制固态继电器在控制周期内的通断占空比(控制电阻丝的平均发热功率的大小),从而达到较为精确可靠的控制温度的目的。
控制执行电路作为单片机温度控制系统的执行部分,他是将单片机处理后的数字控制信号用输出口输出,并将该数字信号通过电路对控制对象的控制。
由于单片机的输出信号电平很低,无法直接驱动外围设备进行工作,因此在本设计中单片机的控制部分需要外围设备的驱动、信号电平的转换技术。
本温度控制系统的设计主要采用固态继电器作为控制电路的器件,通过固态继电器可以实现单片机的电平信号控制高功率负载的功能。
控制模块的电路设计如下图4-13:
图4-13控制模块电路图
4.5加热模块
本次设计的温控系统由100W的电阻丝给水进行加热,加热的开关由固态继电器实现。
4.6PID控制算法
温度控制的PID控制原理是先求出实际的温度值与目标温度值的偏差值。
再对偏差值进行比例,积分与微分的计算处理,得到的控制数字信号来控制电阻丝的加热,使实际温度稳定在设定的目标温度范围内。
本温度控制系统采用的数字PID算法是增量式PID算法,增量式PID算法的优点是编程比较简单,数据可以递推使用,占用存储空间少,运算快,可以用单片机的程序来实现。
增量式PID算法是指数字控制器的输出只是控制量的增量∆u(K),增量式PID控制系统的系统如图4-14所示。
图4-14增量式PID控制系统框图
通过离散化过程,可得离散的PID表达式为:
4-1
式中:
k为采样序号,k=0、1、2、3、……;u(k)为第k次采样时刻的计算输出值;e(k)为第k次采样时刻输入的偏差值;e(k-1)为第k-1次采样时刻输入的偏差值。
可由式
(1)导出提供增量的PID控制算式,根据递推原理可得:
4-2
用式4-1减去式4-2,可得:
4-3
由上面的公式可得:
控制系统的输出仅仅是与最近的3次的偏差有关。
在确定了各个常量之后,根据最近的3次偏差即可求出PID控制的增量。
4.7增量式PID算法的参数确定
PID参数的设定决定了温度控制系统升温速度和温度控制系统的稳定性。
面对不同的控制对象的PID参数都是不相同。
根据这些参数在整个PID控制过程中的作用,在系统最终调试中具体来确定。
PID参数的设置对系统的可能的影响如下:
1)温度很迅速就能达到设定的目标值,但是超调量很大。
出现这种情况的可能的原因是:
比例系数KP太大,使得温度达到目标值之前的上升比例过高;微分系数KD太小,致使对温度系统的控制反应不够灵敏。
2)温度达不到目标值,长时间小于目标值。
出现这种情况的可能原因是:
比例系数KP过小,升温的比例不够;积分系数KI太小,对恒定的温度偏差补偿不足。
3)基本上能稳定在目标温度值上,但上下偏差很大而且经常波动。
出现这种现象的可能原因是:
微分系数KD太小,对温度的即时变化反应不够迅速;积分系数I太大,使得微分的反应被淹没从而钝化;基本的控制周期太短,加热温度还没有传到测温点上。
PID参数的调整步骤为先比例,后积分,再微分的步骤。
编写程序的时先设定它们的大概的数值。
然后通过反复的实验调试,根据实验调试的结果最终确定比较理想的PID参数值。
5软件设计
5.1主程序流程图
主程序流程图如下图5-1
图5-1主程序流程图
5.2子程序设计
子程序包括了LCD显示模块程序,温度控制模块程序,DS18B20温度采集模块程序等。
5.2.1温度采集模块子程序
根据DS18B20的相关资料编写了温度采集程序,程序流程图如下图5-2
No
No
5-2温度采集模块程序流程图
5.2.2LCD显示程序
根据1602的资料编写了温控系统显示模块的程序,流程图如下图5-3
Yes
图5-3显示模块程序流程图
6实测结果
下面是PID参数实验调试数据如表6-1表6-2及图6-3至图4-8所示。
表6-1PID参数实验数据
项目
序号
KP
KI
KD
稳定值℃
上升时间min
1
4
0
0
30.75±0.5
8
2
8
0
0
30.85±0.5
8
3
3
0
12.8
30.70±0.5
7
4
3
0.1
0
30.75±0.5
6
5
2
0.1
10
29.36±0.5
6
6
1
0.1
10
29.50±0.5
6
表6-2试验记录数据
序号
时间()
0min
1
2
3
4
5
6
7
8
9
1
21.58
22.20
23.75
27.18
29.91
30.89
30.85
30.83
30.79
30.75
2
21.58
22.23
23.86
27.26
29.98
30.95
30.92
30.90
30.88
30.85
3
21.60
22.21
23.62
26.65
29.78
30.75
30.79
30.76
30.75
30.70
4
21.60
22.22
23.65
26.68
29.79
30.79
30.78
30.76
30.75
30.74
5
21.58
22.18
23.63
26.60
28.41
29.20
29.36
29.33
29.36
29.36
6
21.59
22.18
23.62
26.62
28.50
29.32
29.50
29.46
29.50
29.50
图6-3序号1
图6-4序号2
图6-5序号3
图6-6序号4
图6-7序号5
图6-8序号6
经过对温度控制系统反复的实验调试,以及数据的对比。
最后确定PID参数:
KP=1,KI=0.1,KD=10。
7总结
此温控系统的设计电路比较简单,硬件电路基本完成,使用ISIS7Professional完成了温度显示部分的仿真。
在以51单片机为核心,配合其他电路的温控系统,完成了对控制对象的恒温控制。
温控系统实现设定温度,显示温度,以及自动恒温等功能。
本次设计的步骤如下:
1、根据任务要求选择合理方案
2、元件的选择
3、硬件设计,用protues进行电路设计与仿真
4、软件设计
5、焊接电路板,对电路进行检查
6、调试电路与程序
7、反复试验确定PID参数
8、对整个系统进行调试,使其达到要求
本设计理论上能完成设计要求,但在调试中发现每次到达设定温度的时间都不确定,温度的误差也比较大。
设定温度