自动加热控制系统设计毕设论文.docx
- 文档编号:25488070
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:60
- 大小:2.74MB
自动加热控制系统设计毕设论文.docx
《自动加热控制系统设计毕设论文.docx》由会员分享,可在线阅读,更多相关《自动加热控制系统设计毕设论文.docx(60页珍藏版)》请在冰豆网上搜索。
自动加热控制系统设计毕设论文
题目:
自动加热控制系统设计
摘要
目前,很多场合都需要自动加热控制系统,如锅炉、金属热处理等工业生产中。
自动加热控制系统改善了生产条件差、控制精度低、资源利用率低等问题。
本文设计了一个可用于金属热处理的自动加热控制系统,系统采用STC89C52单片机作为系统控制处理核心,采用数字化的温度传感器DS18B20采集水箱温度信息,并与设定值比较,计算出偏差,由固态继电器作为电加热炉的控制开关,控制器其导通时间。
实测温度与给定值由LED显示。
此外,还设置了温度报警功能,当期望值与实测值温差较大时进行故障声光报警。
论文着重介绍了系统的硬件及软件设计。
初步试验表明:
该系统达到设计任务要求。
该系统的电路结构简单,具有人工设定、自动调节、报警显示等功能。
本系统采用单片机控制,具有成本低、可靠性好、结构简单、控制能力强等特点。
因此,可很多领域都得到应用。
关键词:
单片机,DS18B20,固态继电器
ABSTRACT
Atpresent,manyoccasionstheneedforautomaticheatingcontrolsystem,suchastheboiler,theheattreatmentofmetalsinindustrialproduction.Automaticheatingcontrolsystemtoimprovetheproductionconditionsarepoor,lowcontrolprecision,resourceutilizationrateislowproblem.
Thispaperintroducesthedesignofacanbeusedinmetalheattreatmentautomaticheatingcontrolsystem,thesystemadoptsSTC89C52chipasthesystemcontrolprocessorcore,theapplicationofdigitaltemperaturesensorDS18B20temperatureinformationcollectionwatertank,andiscomparedwiththesetvalue,calculatethedeviation,bysolidstaterelayastheelectricheatingfurnacecontrolswitch,controlleroftheconductiontime.ThemeasuredtemperatureandagivenvaluebytheLEDdisplay.Inaddition,alsosetupatemperaturealarmfunction,thedesiredvalueandthemeasuredvalueoflargetemperaturedifferencewhenthefaultalarm.Thispapermainlyintroducesthesystemhardwareandsoftwaredesign.Preliminaryexperimentsshowthat:
thesystemreachthedesignrequirements.Thesystemhastheadvantagesofsimplecircuitstructure,withartificialsettings,automaticcontrol,alarmdisplayandotherfunctions.
Thissystemadoptssingle-chipmicrocomputercontrol,hastheadvantagesoflowcost,goodreliability,simplestructure,strongcontrolabilityandothercharacteristics.Therefore,manyareashavebeenapplied.
KEYWORDS:
Singlechipmicrocomputer,DS18B20,SolidStateRelay
第一章前言
1.1选题的背景意义
随着我国经济的迅速发展,能源短缺已成为制约我国工业发展的重要阻碍,社会各界都对此积极关注。
此外,温湿度的自动化控制已经在工业生产中得到了广泛的应用。
因此,自动加热控制系统的出现极大地解决了能源利用率的问题,有效地改善了目前资源浪费和利用率低等问题。
自动加热控制系统极大地方便了以前生产条件差、控制精度低、资源利用率低等问题。
温度控制系统在国内各行各业虽得到了广泛的应用,但就我国目前生产的温度控制器来讲,总体发展水平仍然存在很多问题,存在很多弊端。
目前,很多场合都需要自动加热控制系统,如锅炉、石油、化工、冶金、机械、热处理、建材、电子、材料、轻工业、制药、表面处理等工业生产中。
在比如好多都与我们日常生活紧密相关的空调、电热毯、电饭锅、电磁炉、电暖气、打印机、吹风机等也都不同程度的应用了自动加热控制系统。
现在,我国正主张节能减排。
因此,设计一套完善可行的自动加热控制系统具有巨大的经济意义和环保价值。
自动加热控制系统与我们生活紧密联系,所以它的需求将会有一个非常可观的发展前景,况且,目前我国自动加热器的发展还不是很成熟,综合国力还有待提高,21世纪赋予我们更多的机遇,同时也给了我们更大的挑战,只有提高我国的综合国力,大力加强科技教育投资力度,让我国的科技更加提高,这样才能立足世界不败之林!
加热温度控制系统的设计有很多不同的方案,有的是采用手动控制,继电器控制,可控硅晶闸管控制等。
1.2国内外研究方案
目前国内的主要控制方法:
手动控制、温度仪表显示;顺序控制器;全PLC控制;专用电脑控制
加热形式有:
1.电阻加热式这也正是国内绝大多数厂家采用的方式,其特点是锅水不带电2.电磁感应加热式其原理是当电流通过加热线圈时,就会形成电磁场,把金属铝壳至于电磁场中就会使炉壳产生涡流并导致其发热,从而完成对锅水加热的目的。
传统的自动控制加热系统普遍采用继电器控制技术,根据继电器的导通与关断来控制加热设备的加热。
由于传统继电器采用固定接线的硬件实现逻辑控制,使控制系统的体积增大,耗电多,效率不高并且因为接线繁多容易出现故障,不能保证产品的质量以及正常的工业生产。
国外的主要形式有:
PID控制、模糊控制、神经网络和遗传算法等。
1.3我的可选方案
经分析国内外的现状及我们完成的可行性,经讨论决定我们的思路是:
方案一:
自动加热控制系统采用单片机为核心进行控制。
期望温度值由电位器电路经过A/D转换后得到,然后与数字温度传感器DS18B20的测量结果进行比较,这样可能会存在偏差,如果偏差存在,则再经PID调节,再进行D/A转换、运算放大器放大,然后再和555定时器产生的三角波进行比较得到脉冲信号,该脉冲信号的高电平使IGBT导通以控制电阻丝加热,再用数字温度传感器测温,构成闭环。
直至测量的温度与期望值相等,最后经LED显示实测值。
设计的主要内容包括52最小系统、电位器电路、A/D转换模块、D/A转换模块、555定时器模块、运算放大器和比较器、加热和测量模块、显示模块。
方案二:
利用单片机作为最小系统进行控制,期望温度值由电位器电路经过A/D转换后得到,实测温度值通过DS18B20测得,然后将期望值与实测值的进行比较,但这样可能会存在偏差,如果偏差为正,则固态继电器吸合,电炉开始加热,如果偏差为负,则固态继电器不吸合,直至测量的温度与期望值相等,最后经LED显示。
此外,本设计还设置了温度报警功能,当期望值与实测值温差较大时进行报警警示,温差较小时则不报警。
这样有利于提示工作人员更好的进行温度控制,而且,我们采用了灯光和蜂鸣器双报警,这样就避免了一个报警出现问题,导致不能正常报警,使其出现误差。
同时,对于有的噪声干扰大的工作环境中,采用声源报警可能无法正确识别;而对于有的能见度低的工作环境中,采用灯光报警也不利于识别。
因此,采用双报警有效地避免了报警误差。
设计的主要内容包括52最小系统、电位器电路、A/D转换模块、加热和测量模块、显示模块、报警模块。
最后,我们以方案一为主,方案二作为预备方案,实现对水温的检测控制。
第二章总体设计方案
2.1设计指标
1.控制加热炉中水温的恒定;
2.采用位式调节规律;
3.运行开始后,可显示瞬时温度和设定温度值;
4.具有上下限报警功能;
5.可以实时设置期望温度值;
2.2系统概述
本课题所设计的自动加热控制系统主要包括两部分:
硬件电路及软件程序。
硬件电路采用ATMEL公司的AT89C52作为主处理器,系统主要由信号采集、A/D转换、数据处理输出、LED显示等模块组成。
各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用C语言编程,利用Keil软件对其编译和仿真,详细的设计算法将会在程序设计部分详细介绍。
系统控制原理框图如下:
测量值
——
被控变量
偏差
给定值
图2-1控制原理框图
首先给定一个温度期望值然后与测量值进行比较,将得到后的偏差通过控制器再经过调节控制执行器对加热设备进行加热,然后经测温传感器进行测温,将实测值再与期望值进行比较,直至实测值与期望值相符合。
2.3系统总体方案
2.3.1方案一的系统总体方案框图
——
图2-2方案一系统总体方案
2.3.2方案二的系统总体方案框图
温度值
——
图2-3方案二的系统总体方案
2.4控制方案选择
在实际的温度测量系统中,常用的控制方法有开关控制和PID控制等。
开关控制的输出规律是根据输入的偏差的正负,控制器的输出为最大或最小。
这种控制方法比较简单,易于实现。
但其存在一定的滞后,使得温度在设定值附近有一定的波动,不适合高精度的温度控制中。
PID控制具有较强的适用范围,可适用于控制对象惯性较大且控制精度要求较高的场合。
这种控制既能快速控制,又能消除余差,具有较好的控制技能。
2.4.1开关控制介绍
开关控制又称双位控制,其控制器只有最大或最小两个输出值,相应的执行器只有开和关两个极限位置。
理想的双位控制器其输出y与输入偏差error之间的关系为:
理想的双位控制特性如图:
图2-4双位控制特性
2.4.2PID控制介绍
在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制是应用最为广泛的一种自动控制器。
它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;因此PID控制器是一种最优控制。
参数的选择:
①比例系数P对系统性能的影响:
在连续控制方式中,最基本的控制规律就是比例控制。
比例系数越大,放大倍数就越大,将偏差放大的能力越强,控制力度也就越强,反之亦然。
比例控制的优点是控制及时、反应灵敏,偏差越大,控制力度越强,但其缺点是控制结果存在余差。
②积分控制I对系统性能的影响:
为了消除比例控制器中的余差,在比例的基础上加入积分调节器,就可以轻松的解决,从而提高系统的控制精度。
但积分的作用是随着时间的积累才逐渐增强的,控制动作缓慢,控制不及时。
③微分控制D对系统性能的影响:
对于惯性较大的对象,受到干扰作用的初始时刻偏差很小。
如果用比例控制,偏差值很小时,控制作用也很小,因此,比例控制对于惯性较大的对象控制过程缓慢,控制品质不佳。
微分的特点是能起到超前控制的作用。
能在偏差很小时,提前增大控制作用。
对于惯性大的对象用比例微分,可以改善控制品质,减小最大偏差,缩短控制时间。
但当偏差存在但不变化时,控制作用为零。
基于以上特点,将比例(P)、积分(I)、微分(D)结合起来组成PID控制器可以有效地改善控制性能。
数字PID算法的增量表达式为:
Δu(k)=P[e(k)-e(k-1)]+Ie(k)+D[e(k)-2e(k-1)+e(k-2)]
变形为:
Δu(k)=(P+I+D)e(k)-(P+2D)e(k-1)+De(k-2)
其中,k表示第k次采样,X(k)为设定温度,Y(k)为实际水温,u(k)为控制量,误差为e(k)=X(k)-Y(k)。
2.5软件设计任务
软硬分工后,软件部分完成的任务:
开机后首先进行初始化,然后将给定温度值经A/D转换后显示出来,由于我们既要看到给定值又要看到实测值,否则难以判断当前温度是否符合给定的温度值,但我们又不想占用太多的单片机口线,所以我们采用一个四位LED数码管显示,通过一个按键的开关两种状态控制显示哪个温度值,这样只需在程序中进行选择即可。
实测值采用DS18B20进行测温,将这两个温度值进行比较,判断是否符合误差范围,如果符合继续测温比较;如果不符合,判断是需要加热还是需要降温,然后进行相应的控制,直到符合误差范围,然后在测温比较,返回继续判断。
第三章硬件系统设计
3.1主控制器的选择
这次设计采用的是Atmel公司生产的AT89C52单片机,目前,单片机产品百花齐放,各具特色,互为互补。
单片机有着一般的微处理器芯片所不具有的功能,他可以独立的完成现代工业控制场所要求的智能化控制功能,其应用领域也在不断扩大。
AT89C52单片机片内含有可编程Flash存储单元,用户可以很方便地进行程序的擦写操作;同时还含有12B的随机存取数据存储器(RAM)。
AT89C52单片机属于AT89C51单片机的增强型,其主要工作特性是:
片内程序存储器内含有的8KB的Flash程序存储器,可擦写寿命为1000次;片内数据存储器内含256字节的RAM;有32根可编程I/O口线;有3个可编程定时器;8个中断源;串行口是具有一个全双工的可编程串行通信口;具有一个数据指针DPTR;低功耗工作模式有空闲模式和掉电模式;工作电源电压为+5V;最高工作频率为24MHz。
因为AT89C52的价格比较便宜、编程简单、支持在线下载程序,适合初学者学习使用,所以我们这次采用AT89C52作为主控制器。
单片机引脚图为:
图3.1单片机的引脚图
3.2温度信号采集部分
方案一:
采用热敏电阻。
利用半导体电阻值随温度呈显著变化的特性制成的热敏元件。
但热敏电阻的互换性差,非线性严重,温度和电阻关系是指数关系。
方案二:
采用热电偶。
热电偶是一种发电型的温敏元件,它将温度信号转换成电动势信号,配以测量电动势信号的仪表就可实现温度的测量。
其优点为:
①测量精度高。
精度可达0.1~0.2℃。
具有良好的复现性和稳定性。
②动态特性好。
它的测量端可以制成很小的接点,响应速度快,时间常数可以达到毫秒级甚至微妙级。
③构造简单,制造极其方便。
通常是由两种不同的金属丝组构成,而且不受大小和开头的限制,外面设有保护管套,使用用起来非常方便。
方案三:
采用DS18B20。
DS18B20是DALLAS公司生产的一种单总线系统的数字温度传感器。
他能提供9位温度读数,分辨力为0.5℃,可在-55℃~+125℃的范围内测量。
每一个DS18B20有唯一的系列号因此同一条单线总线上可以放多个DS18B20,十分方便。
DS18B20的主要特点:
1)用户可自设定报警上下限温度值
2)不需要外部组件,能在-55℃~+125℃的范围内进行温度的测量
3)在-10℃~+85℃范围内的准确度为±0.5℃
4)通过编程可以实现9到12位的数字读数,测温分辨率达0.0625℃
5)单总线接口方式,仅用一条线就可实现与微处理器的双向通信
经过比较后我们发现DS18B20优越于其它两种方案,所以我们采用方案三。
采集电路如图所示:
图3.2采集电路部分
3.3给定温度电路
通常温度设定值由按键给定,但这样会使电路复杂;用电位器电路给定会简化电路,方便调节。
本设计采用电位器电路给定初始值,需要用到AD转换电路。
给定温度电路图如图所示。
图3.3给定温度电路
3.4显示部分
本设计采用四位一体LED作为显示模块其图片为:
图3.4.1LED显示屏
它与单片机的连接如图所示:
图3.4.2LED与单片机的连接图
3.5报警电路
本设计采用发光二极管报警和蜂鸣器报警,即声光双报警,减少了单个报警不正常工作后带来的弊端,同时双报警的应用范围比较广阔。
其报警电路图为:
图3.5报警电路部分
方案一较方案二相比除了上述部分外,还要D/A转换电路、三角波电路以及执行器电路等模块。
第四章软件设计部分
这次软件设计由以下几部分组成:
DS18B20温度采集部分,数据处理部分,AD转换部分,显示部分以及声光报警部分。
采用模块化将各个模块分别编程,最后采用子程序调用将程序融为一体,使程序编程简单,结构清晰,易于改正错误。
在这里将对各个模块的流程设计做出说明,并给出了各自的程序流程图。
4.1主程序设计
本系统采用DS18B20进行测温。
通过调整电位器阻值的大小设定给定值,将该给定值经过A/D转换后通过LED显示。
给定值和设定值的偏差通过PID控制算法进行整定计算出控制量,然后和555构成的多谐振荡器生成的三角波进行比较,得到PWM脉冲对绝缘栅双极型晶体管(IGBT)进行控制,由于占空比的不同,IGBT的导通时间就不同,这样就可以控制加热时间的长短。
其主程序流程图如下所示:
否
是
图4.1程序主流程图
主函数的定义
voidmain()
{
initial();//调用初始化函数
while
(1)
{
adc0809();
ds18b20();
if(aj==1)
{
Delay_ms(10);
b20display();
}
elseif(aj==0)
{
Delay_ms(10);
display();
}
jrbj();
}
}
4.2ADC0809模块
4.2.1ADC0809引脚及功能介绍
ADC0809为28引脚的双列直插式封装,其引脚如下:
1)IN0~IN7:
模拟量输入通道。
2)ADDA、ADDB、ADDC:
模拟通道地址线。
用于对模拟通道进行选择,其通道选择表如下所示:
表1ADC0809通道选择表
C(ADDC)
B(ADDB)
A(ADDA)
选择的通道
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
3)ALE:
地址锁存信号,对应于ALE上跳沿时,ADDA、ADDB、ADDC地址状态送入地址锁存器中。
4)START:
转换启动信号。
在START信号上跳时,所有内部寄存器清0;在START信号下跳时,开始进行A/D转换。
(转换期间START保持低电平)
5)D7~D0:
数据输出线。
6)OE:
输出允许信号。
OE=0时,输出数据线呈高阻状态;OE=1时允许输出。
7)CLK:
时钟信号。
需要外部提供,内部没有。
8)EOC:
转移结束状态信号。
当EOC=0时,表示正在进行转换;当EOC=1时,表示转换结束。
(可作为查询信号,也可作为中断请求求信号)
9)VCC:
+5电源
10)VREF:
参考电压(VREF(+)=+5V、VREF(-)=0V)
4.2.2A/D转换流程图
由于本系统只需要采集一路信号,故可将A/D转化器的地址信号全部直接接地,这样在软件编程时就不需要设置ADC0809的地址信号。
A/D采样时先对ADC0809进行初始化,然后给ADC0809的START端子一个上升沿和下降沿,启动A/D;然后单片机读取ADC0809的EOC端信号,如果此信号为高电平,则说明A/D转换结束,单片机给ADC0809的OE端子一个高电平,读取转换后的采样值。
A/D采样流程图如下图所示:
NO
YES
图4.2AD转换流程图
4.2.3A/D转换子程序
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcodetable[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
uchardisp[4];//定义数组变量
uchartd[]={0xf7,0xfb,0xfd,0xfe};
sbitEOC=P3^2;//定义EOC引脚
sbitOE=P3^1;//定义OE引脚
sbitST=P3^0;//定义START引脚
sbitCLK=P3^3;
sbitxsd=P1^7;//定义数码管小数点
inttemp,getdata;
voiddelay(uintz);
voiddisplay();
voidinitial();
voidmain()
{
initial();//调用初始化函数
while
(1)
{
OE=0;//刚开始禁止将转换结果输出
ST=0;
ST=1;
ST=0;//启动A/D转换开始
while(EOC==0);//等待转换结束
OE=1;//允许转换结果输出
getdata=P0;//将转换结果赋值给变量getdata
OE=0;//禁止转换结果输出
temp=getdata*1.0*5*25*10/255;//将得到的数据进行处理
disp[0]=temp%10;//取得个位数
disp[1]=temp/10%10;//取得十位数
disp[2]=temp/100%10;//取得百位数
disp[3]=temp/1000;//取得千位数
display();//调用显示子程序
}
}
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=115;y>0;y--);
}
voidinitial()
{
TMOD=0x01;
TH0=(65536-20)/256;
TL0=(65536-20)%256;
EA=1;
ET0=1;
TR0=1;
}
voidtimer0()interrupt1//给AD0809提供25KHz的时钟脉冲
{
TH0=(65536-20)/256;
TL0=(65536-20)%256;
CLK=~CLK;
}
voiddisplay()//将显示结果在数码管中显示
{
uchari,temperature;
for(i=0;i<4;i++)
{
P2=td[i];
P1=table[disp[i]];
if(i==1)xsd=1;
delay
(1);
}
}
4.3温度传感器DS18B20模块
4.3.1引脚及功能脚介绍
温度传感器DS18B20有3个管脚:
VCC为电源接口即可由数据线提供电源,又可由外部提供电源,范围3.0V~5.5V。
GND为接地线。
DQ为数据输入输出接口。
DS18B20温度传感器的内部存储器包
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动 加热 控制系统 设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)