基于单片机的温度控制系统毕业设计精品.docx
《基于单片机的温度控制系统毕业设计精品.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度控制系统毕业设计精品.docx(29页珍藏版)》请在冰豆网上搜索。
![基于单片机的温度控制系统毕业设计精品.docx](https://file1.bdocx.com/fileroot1/2023-2/2/8fe0bf02-373b-4037-baf5-4d8c1c7cfcf3/8fe0bf02-373b-4037-baf5-4d8c1c7cfcf31.gif)
基于单片机的温度控制系统毕业设计精品
基于单片机的温度控制系统设计
摘要
随着国民经济的发展,人们需要对各中加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。
采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
本设计采用无ROM的8031作为主控制芯片。
8031的接口电路有8155、2764。
8155用于键盘/LED显示器接口,2764可作为8031的外部ROM存储器。
其中温度控制电路是通过可控硅调功器实现的。
双向可控硅管和加热丝串联接在交流220V,50HZ交流试点回路,在给定周期内,8031只要改变可控硅管的接通时间便可改变加热丝功率,以达到调节温度的目的。
关键字:
温度控制;接口电路;可控硅
DesignofTemperatureControlSystemBasedonSCM
Libing
(CollegeofZhangjiajie,JishouUniversity,Jishou,Hunan416000)
Abstract
Alongwithnationaleconomydevelopment,thepeopleneedtoeachheatingfurnace、theheat-treatmentfurnace、inthereactorandtheboilerthetemperaturecarryonthemonitorandthecontrol.Notonlyusesthemonolithicintegratedcircuittocometothemtocontrolhasthecontroltobeconvenient,simpleandflexibilitybigandsoonmerits,moreovermayenhancelargescaleisaccusedthetemperaturetechnicalspecification,thuscanbigenhancetheproductthequalityandquantity.
Thisdesignusesnon-ROM8031totakethemastercontrolchip.8031connectionelectriccircuitshave8155、2764.8155usesinthekeyboard/LEDmonitorconnection,2764maytake8031exteriorROMmemories,onetemperature-controlcircuitisadjuststhemeritrealizationthroughthesilicon-controlledrectifier.Thebidirectionalsilicon-controlledrectifiertubeandtheheaterseriesconnectioninexchange220V,50HZexchangecityelectricityreturnroute,inassignsinthecycle,8031solongasthechangesilicon-controlledrectifiertubeputsthroughthetimethentobepossibletochangetheheaterpower,achievestheattemperationthegoal.
Keywords:
Temperaturecontrol;Connectionelectriccircuit;Silicon-controlledrectifier
目录
绪论1
第一章单片机温度控制系统方案简介2
第二章单片机3
2.1单片机内部模块3
2.1.1MCS-51单片机内部结构3
2.1.2MCS-51输入/输出端口的结构与功能3
2.1.3MCS—51单片机的引脚及其功能4
2.1.48031系统扩展设计5
2.2单片机外总线结构5
2.3芯片的扩展设计5
2.4单片机温控模块7
第三章系统硬件设计8
3.1系统总体设计8
3.28155接口电路8
3.3A/D转换电路10
3.4可控硅控制电路10
第四章系统软件设计13
4.1主程序流程图13
4.2T0中断服务程序14
4.3采样子程序18
4.4数字滤波程序19
总结21
参考文献22
绪论
温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。
成熟的温控产品主要以“点位”控制及常规的PID控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。
随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,开展创新性研究,使我国仪表工业得到了迅速的发展。
随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。
传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。
温度是工业对象中的一个重要的被控参数。
然而所采用的测温元件和测量方法也不相同;产品的工艺不同,控制温度的精度也不相同。
因此对数据采集的精度和采用的控制方法也不相同。
传统的控制方式以不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。
近几年来快速发展了多种先进的温度控制方式,如:
PID控制,模糊控制,神经网络及遗传算法控制等。
这些控制技术大大的提高了控制精度,不但使控制变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。
本系统所使用的加热器件是电炉丝,功率为三千瓦,要求温度在400~1000℃。
静态控制精度为2.43℃。
本设计使用单片机作为核心进行控制。
单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。
本系统所使用的单片机8031有128K的RAM,使温度控制大为简便。
第一章单片机温度控制系统方案简介
单片机温度控制系统是数控系统的一个简单应用。
在冶金、化工、建材、机械、食品、石油等各类工业中,广泛使用着加热炉、热处理炉、反应炉等,因此,温度是工业对象中一个主要的被控参数。
由于炉子的种类不同,因而所使用的燃料和加热方法也不同,例如煤气、天然气、油、电等;由于工艺不同,所需要的温度高低不同,因而所采用的测温元件和测温方法也不同;产品工艺不同,控制温度的精度也不同,因而对数据采集的精度和所采用的控制算法也不同。
单片微型计算机的功能不断的增强,为先进的控制算法提供的载体,许多高性能的新型机种应运而生。
本系统所使用的加热炉为电加热炉,炉丝功率为2kw,系统要求炉膛恒温,误差为士VC,超调量可能小,温度上升较快且有良好的稳定性.[6]
单片机温度控制系统是以MS-5l单片机为控制核心,辅以采样反馈电路,驱动电路,晶闸管主电路对电炉炉温进行控制的微机控制系统。
其系统结构框图可表示为:
系统采用单闭环形式,其基本控制原理为:
将温度设定值(即输入控制量)和温度反馈值同时送入控制电路部分,然后经过调节器运算得到输出控制量,输出控制量控制驱动电路得到控制电压施加到被控对象上,电炉因此达到一定的温度。
图1.1控制电路的设计
第二章单片机
单片机是单片微型计算机SCM(singlechipmicro-computer)的译名简称,在国内也常简称为“单片机”。
它包括中央处理器CPU、随机存储器RAM、只读存储器ROM、中断系统、定时器/计数器、串行口和I/O等等。
单片机主要应用于工业控制领域,用来实现对信号的检测、数据的采集以及对应用对象的控制。
它具有体积小、重量轻、价格低、可靠性高、耗电少和灵活机动等许多优点,单片微型计算机(简称单片机)是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种,特别适合用于智能控制系统。
2.1单片机内部模块
在本设计中,从经济上以及性能上考虑,我选用8031作为CPU。
8031是MCS-51系列单片机的一种型号。
MCS-51单片机的类型有:
8051、8031、8751等。
2.1.1MCS-51单片机内部结构
8031单片机内部结构见图2.1。
它其中包含CPU、震荡器和时序电路、4KB的ROM、256B的RAM、两个16定时/计数器T0和T1、4个8位I/O端口(P0、P1、P2、P3)、串行口等组成。
其中震荡时序与时钟组成定时控制部件。
图2.18031单片机功能方框图
2.1.2MCS-51输入/输出端口的结构与功能
MCS-51单片机有4个I/O端口,公32根I/O线,4个端口都是准双向口。
每个口都包含一个锁存器,即专用寄存器P0~P3,一个输出驱动器和输入缓冲器。
为方便起见,我们把4个端口和其中的锁存器都统称P0~P3。
在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高8位地址由P2口传送。
在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的I/O口使用。
P0口:
可作为一般的I/O口用,但应用系统采用外部总线结构时,它分时作低8位地址和8位双向数据总线用。
P1口:
每一位均可独立作为I/O口。
P2口:
可作为一般I/O口用,但应用系统采用外部系统采用总线结构时,它分时作为高8位地址线。
P3口:
双功能口。
作为第一功能使用时同P1口,每一位均可独立作为I/O口。
另外,每一位均具有第二功能,每一位的两个功能不能同时使用。
2.1.3MCS—51单片机的引脚及其功能
MCS-51单片机采用40引脚的双列直插封装形式。
1)主电源引脚VCC和VSS
VSS(40脚):
主电源+5V,正常操作的对EPROM编程及验证时均接+5V电源。
VSS(20脚):
接地。
2)XTAL1(19脚)和XTAL2(18脚):
接外部晶振的两个引脚。
3)RST/VPD、ALE、/PROG——、PSEN——控制信号引脚。
RST/VPD(9脚):
单片机复位/备用电源引脚。
刚接上电源时,其内部寄存器处于随机状态,在引脚上输入持续两个机器周期的高电平将使单片机复位。
VCC掉电期间,此引脚可接上备用电源,一旦芯片在使用中VCC电压突然下降或短电,能保护片内RAN中信息不丢失,使复电后能继续正常运行。
ALE、/PROG——(30脚):
当访问片外存储器时,ALE的输出用于锁存低字节地址信号。
即使不访问片外存储器,ALE端仍以不变的频率周期性地出现脉冲信号。
其频率为振荡器频率1/6。
因此,它可用作对外输出的时钟,或用于定时的目的。
应注意的是:
当访问片外数据存储器时,将跳过一个ALE脉冲;ALE端可以驱动8个LSET负载。
对含有EPROM的单片机,片内EPROM编程期间,此引脚用于输入编程脉冲(PROG——)。
PROG——(29脚):
输出访问片外程序存储器的读选通信号。
CPU在从片外程序存储器取指令(或常数)期间,每个机器周期两次有效。
每当访问片外存储器时,这两次有效的PROG——信号将不会出现。
该端同样可驱动8个LSTTL负载。
EA——/VPP(31脚):
当EA——输入端输入高电平时,CPU可访问片内程序存储器4KB的地址范围。
若PC值超出4KB地址时,将自动转向片外程序存储器。
当EA——输入低电平时,不论片内是否有程序存储器,则CPU只能访问片外程序存储器。
2.1.48031系统扩展设计
通常情况下,采用MCS-51系列单片机的最小系统只能用于一些很简单的应用场合,在此情况下直接使用单片机内部存储器、数据存储器、定时功能、中断功能、I/O端口等,组成的应用系统的成本较低。
[9]
单片机系统扩展的方法有并行扩展法和串行扩展法两种。
并行扩展法是利用单片机的三种线(AB、DB、CB)进行的系统扩展;串行扩展法是利用SPI三线总线或I2C双总线的串行系统扩展。
但是,一般串行接口器件速度慢,在需要高速应用的场合,还是并行扩展法占主导地位。
在本设计中,由于存储数据比较少,单片机内部的数据存储器能满足需要,故不需再扩展片外存储器。
2.2单片机外总线结构
微型计算机大多数CPU外部都有单独的地址总线、数据总线和控制总线,而MCS—51单片机由于受到芯片管脚的限制,数据线和地址线(低8位)是复用的,而且是I/O口兼用。
为了将它们分离开来,以便同单片机之外的芯片正确地相连,常常在单片机外部加地址锁存器来构成与一般CPU相类似的三总线,如图2.2所示。
图2.2三总线图
2.3芯片的扩展设计[7]
1)程序存储器扩展设计
(A)程序存储器简介
常见的EPROM有:
2716(容量2K×8位)、2732(容量4K×8位)、2764(容量8K×8位)、27128(容量16K×8位)、27256(容量32K×8位)、27512(容量64K×8位)。
EPROM外引脚功能如下:
A0~A15:
地址输入线;
O0~O7:
三态数据总线,读或编程校验时为数据输出线,编程时为数据输入线。
维持或编程禁止时O0~O7呈高阻抗;
CE——:
片选信号输入线,“0”(即TTL低电平)有效;
PGM:
编程脉冲输入线;其值因芯片型号和制造厂商不同而异;
VPP:
编程电源输入线,其值因芯片型号和制造厂商不同而异;
OE——:
读选通信号输入线,“0”有效;
VCC:
主电源输入线,一般为+5V;
(B)扩展方法
扩展程序存储器时,一般扩展容量大于256字节,因此,除了由P0口提供低8位地址线外,还需由P2口提供若干地址线,最大的扩展范围位64K字节,即需16位地址线。
具体方法是CPU应向EPROM提供三种信号线。
即
A:
数据总线:
P0口接EPROM地O0~O7(D7~D0);
B:
地址总线:
P0口经锁存器向EPROM提供地址低8位,P2口提供高8位地址以及片选线。
扩展的程序存储器究竟需要多少位地址线,应根据程序存储器容量和选用的EPROM芯片容量而定。
C:
控制总线:
PSEN———片外程序存储器取指令控制信号,接EPROM的“OE”。
ALE—接锁存器的G——。
EA——接地。
2)数据存储器设计
由于算法的需要,在存储器中需要存储24个从A/D片出来的数据,即需要24单元的存储单元。
在8031的内部数据存储区低128字节RAM中30H~7FH共80个存储单元使用户RAM区,完全可以容纳下24个数据以及其运算过程中的临时数据,故不需要在另外扩展片外数据存储器。
我选用的EPROM芯片为2764。
连接如图2.3
图2.32764与8031连接图
2.4单片机温控模块
温度检测元件和变送器的选择和被控温度及精度等级有关。
本设计采用镍铬/镍铝热电偶,此电偶用于0℃~1000℃的温度测量范围,相应的输出电压为0mV-41.32mV.
变送器由毫伏变送器和电流/电压变送器组成:
毫伏变送器用于把热电偶输出的0-41.32mV变换成0-10mA范围内的电流;电流/电压变送器用于把毫伏变送器输出的0-10MA电流变换成0-5V范围的电压。
[5]
为了提高精度,变送器可以进行零点迁移。
例如:
若温度测量范围为
400℃~1000℃,则热电偶输出为16.4mV-41.32mV,毫伏变送器零点迁移后输出0-10mV范围电流。
这样,采用8位A/D转换器就可以使量化误差达到正负2.34度以内。
第三章系统硬件设计
3.1系统总体设计
系统控制主电路是由8031及其外围芯片,及一些辅助的部分构成的。
图3.1系统设计原理图
3.28155接口电路
8155芯片内具有256个字节的RAM,两个8位、一个16位的可编程I/O口和一个14位计数器。
它与51型单片机接口简单,是单片机应用系统中广泛使用的芯片。
图3.2带有I/O接口和计时器的静态RAM8155
8155用作键盘/LED显示器接口电路,当IO/
为高电平时,8155选通片内的I/O端口。
A,B,C三个口可以作为扩展的I/O口使用,MCS-51单片机的PO口与8155的AD0~AD7相连。
此时P0输出的低8位地址只有3位有效,用于片内选址,其他位无用。
使用A,B,C三个口时,首先向命令寄存器写入一个控制字以确定三个口的工作方式。
如果写入的控制字规定他们工作于方式Ⅰ或方式Ⅱ下,则这三个口都是独立的基本I/O口。
可以直接利用MOVXA,@DPTR或MOVX@DPTR,A指令完成这三个口的读/写(输入/输出)操作。
工作在方式Ⅲ或方式Ⅳ时,C口用作控制口或部分用于控制。
MCS-51单片机可以和8155直接连接,不需要任何外加电路,给系统增加了256个字节的RAM、22位I/O线及一个计数器。
当P2.0=0且P2.1=0时,选中8155的RAM工作;在P2.0=1和P20=0时,8155选中片内三个I/O端口。
相应地址分配为:
[2]
0000H-00FFH8155内部RAM
0100H命令/状态口
0101HA口
0102HB口
0103HC口
0104H定时器低八位口
0105H定时器高八位口
3.3A/D转换电路
图3.3A/D转换电路图
ADC0809的IN0和变送器输出端相连,故IN0上输入的0V-+5V范围的模拟电压经A/D转换后可由8031通过程序从P0口输入到它的内部RAM单元。
首先输入地址选择信号,在ALE信号作用下,地址信号被锁存,产生译码信号,选中一路模拟量输入。
然后输入启动转换控制信号START启动转换。
转换结束,数据送三态缓冲锁存器,同时发出EOC信号。
在允许输入信号OE的控制下,再将转换结果输入到外部数据总线。
3.4 可控硅控制电路
8031对温度的控制是通过可控硅调控器实现的。
如图3.4所示,
图3.4可控硅功输出与通断时间关系
双向可控硅管和加热丝串联接在交流220V,50Hz交流试点回路。
在给定的周期T内,8031只要改变可控硅管的接通时间便可改变加热丝功率,以达到调节温度的目的。
图3.4示出了可控硅管在给定周期T内具有不同接通时间的情况。
显然,可控硅在给定周期T的100%时间内接通的功率最大。
可控硅接通时间可以通过可控硅控制板上控制脉冲控制。
该触发脉冲由8031用软件在P1.3引脚上产生,受过零同步脉冲后经光偶管和驱动器输送到可控硅的控制极上。
通常,电阻炉炉温控制采用偏差控制法。
偏差控制的原理是先求出史册炉温对所需炉温的偏差值,然后对偏差值处理而获得控制信号去调节电阻炉的假热功率,以实现对电阻炉的炉温控制。
在工业上,偏差控制又称为PID控制,这是工业控制中常用的控制形式,一般能收到令人满意的效果。
控制论告诉我们,PID控制的理想方程是:
(3.1)
式中e—测量值与给定值之间的偏差;
TD—微分时间:
T-积分时间;
(3.2)
KP—调节器的放大系数.
将上式离散化得到数字PID位置式算法
式中在位置式算法的基础之上得到数字PID
增量式算法:
(3.3)
第四章系统软件设计
4.1主程序
图4.1主程序流程图
主程序:
ORG0100H
DISM0DATA78H
DISM1DATA79H
DISM2DATA7AH
DISM3DATA7BH
DISM4DATA7CH
DISM5DATA7DH
MOVSP,#50H;50H送SP
CLR5EH;清本次越限标志
CLR5FH;清上次越限标志
CLRA;清累加器A
MOV2FH,A
MOV30H,A
MOV3BH,A
MOV3CH,A清暂存单元
MOV3DH,A
MOV3EH,A
MOV44H,A
MOVDISM0,A
MOVDISM1,A
MOVDISM2,A
MOVDISM3,A清显示缓冲区
MOVDISM4,A
MOVDISM5,A
MOVTMOD,#56H
MOVTL0,#06H
MOVTH0,#06H
CLRPT0
SETBTR0
SETBET0
SETBEA
LOOPACALLDISPLY;调用显示程序
ACALLSCAN;调用扫描程序
AJMPLOOP;等待中断
应当注意:
由于T0被设定为计数器方式2,初值为06H,故它的溢出中断时间为250个过零同步脉冲。
为了系统正常工作,T1中断服务程序的执行时间必须满足T0的制一时间要求,因为T1的中断是嵌套在T0中断之中的。
4.2T0中断服务程序
T0中断服务程序是温度控制系统的主程序,用于启动A/D转换器,读如数据采样,数字滤波,越权温度报警和处理,PID计算和输出可控硅的同步触发脉冲等。
P1.3引脚上输出的该同步脉冲宽度由T1计数器的溢出中断控制,8031利用等待T1溢出中断空隙时间完成把本次采样数值转换成显示值而放入显示缓冲区和调用温度显示程序,8031从T1中断服务程序返回后便可以恢复现场和返回主程序,以等待下次T0中断。
T0中断服务程序框图如图4.2所示
图4.2T0中断服务程序流程图
T0中断服务程序:
ORG000BH
AJMPCT0
CT0:
PUSHACC;
PUSHDPL;保护现场
PUSHDPH;
SETBD5H;置标志
ACALLSAMP
ACALLFILTER
CJNEA,42H,TPL
WL:
MOVC,5EH
MOV5FH,C
CLR5EH
ACALLUPL
POPDPH
POPDPL
POPACC
RETI;中断返回
TPL:
JNCTPL1
CLR5FH;清上次越限标志
CJNEA,43H,MTPL
HAT:
SETBP1.1;若温度不越限,则绿灯亮
ACALLPID
MOVA,2FH
CPLA;
INCA;对PID值求补,作为TL1值
NM:
SETBP1.3
MOVTL1,A
MOVTH1,#0FFH
SETBPT1
SETBTR1;启动T1
SETBET1;允许T1中断
ACALLTRAST
LOOP:
ACALLDISPLY;显示温度
JBD5H,LOOP;等待T1中断
POPDPH
POPDPL
POPACC
RETI
MTPL:
JNCHAT
SETBP1.0;否则,下