基于单片机对加热炉温度控制系统本科学位论文.docx
《基于单片机对加热炉温度控制系统本科学位论文.docx》由会员分享,可在线阅读,更多相关《基于单片机对加热炉温度控制系统本科学位论文.docx(22页珍藏版)》请在冰豆网上搜索。
基于单片机对加热炉温度控制系统本科学位论文
计算机控制设计
课程设计报告
班级
姓名
学号
课程设计题目:
基于单片机对加热炉温度控制系统
本课程设计要求使用单片机作为核心进行控制。
传统的控制方式以不能满足高精度,高速度的控制要求。
近几年来快速发展了多种先进的温度控制方式,如:
PID控制,模糊控制,神经网络及遗传算法控制等。
这些控制技术大大的提高了控制精度,不但使控制变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。
本系统使用8031单片机,使温度控制大为简便。
技术参数和设计任务:
1、利用单片机8031对温度的控制,以实现加热炉智能化;
2、达到将8031输出的信号送出,设计了8155接口电路设计;
3、达到控制温度,设计温度控制电路;
4、达到A/D转换,设计ADC0809转换电路;
5、达到检测温度反馈给8031,设计了传感检测电路
6、为了让单片机系统运行,设计了主程序,T0中断服务程序,采样子程序,数字滤波程序。
一、本课程设计系统概述
1、系统原理
加热炉是将物料或工件加热的设备。
按热源划分有燃料加热炉、电阻加热炉、感应加热炉、微波加热炉等。
应用遍及石油、化工、冶金、机械、热处理、表面处理、建材、电子、材料、轻工、日化、制药等诸多行业领域。
加热炉按炉温分布,炉膛沿长度方向可分为预热段、加热段和均热段。
单片机的温度控制是数字控制系统的一个应用。
本系统所使用的加热炉为电加热炉,炉丝功率为3kw,系统要求炉膛恒温,误差为士2℃,超调量可能小,温度上升较快且有良好的稳定性。
单片机温度控制系统是以MS-5l单片机为控制核心,辅以采样反馈电路,驱动电路,晶闸管主电路对电炉炉温进行控制的微机控制系统。
系统的原理框图如图1所示,其基本控制原理为:
:
用键盘将温度的设定值送入单片机,启动运行后,通过信号采集电路将温度信号采集到后,送到A/D转换电路将信号转换成数字量送入单片机系统进行PID控制运算,将控制量输出,控制电阻炉的加热。
2、系统结构图
图1原理框图
3、文字说明控制方案
给定一个值送到8031控制电路,由8031控制电路产生信号,送到驱动电路,驱动电路驱动晶闸管主电路,主电路控制被控对象,输出所需的温度,最后采集电路把采集来的温度送到8031控制电路,这样就是一个循环。
二、硬件设计
1、总体设计
系统控制主电路是由8031及其外围芯片,及一些辅助的部分构成的。
图2总体设计原理图
2、程序存储器的扩展
8031片内不带ROM,采用8031芯片时,须扩展程序存储器。
用作程序存储器的芯片主要有EPROM和EEPROM。
由于EPROM价格低廉、性能可靠,所以本次设计用EPROM.
EPROM是紫外线可擦除电可编程的半导体只读存储器,掉电后信息不会丢失。
EPROM中程序一般通过专门编程器可写入。
常用的EPROM芯片主要有:
2716、2732、2764、27128、27256等。
扩展程序存储器时,一般扩展容量大于256字节,因此,除了由P0口提供低8位地址线外,还需由P2口提供若干地址线,最大的扩展位为64K字节,即需16位地址线。
具体方法是CPU应向EPROM提供三种信号线。
即
A:
数据总线:
P0口接EPROM的O0-O7。
B:
地址总线:
P0口经锁存器向EPROM提供地址低8位,P2口提供高8位地址以及片选线。
C:
控制总线:
PSEN片外程序存储器取指令控制信号,接EPROM的OE,ALE锁存器的EA接地。
图32764管脚图
结合本次设计,选择扩展的型号为2764
3、温控模块的设计
温度检测元件和变送器的选择和被控温度及精度等级有关。
本设计采用镍铬/镍铝热电偶,此电偶用于0到摄氏度的温度测量范围。
系统功能和系统的工作工程为:
反映炉温的热电偶,用于采集炉内的温度信号,将采集到的信号经冷端补偿后送运算放大器放大,由变送器将热电偶信号(温度信号)变为电流输出,再由高精密电流/电压变换器将电流信号变为标准电压信号,将放大的电压送入采样保持器和转换电路后得到与炉温相应的数字量。
具体设计为,将温度传感器输出的电流信号
I,输入到电流/电压转换电路,在采样电阻R1上获得对应的电压分量VR=R1*
,并将该值经过由R2,C1构成的带有一定延时(时间与温度传感器的响应时间相对应)作用的低通滤波电路后,输入到放大器A1的正相端。
因为传感器输出4mA时,在取样电阻上的电压不是零,直接经模拟/数字转换电路转换后的数字量不是零,所以单片机不能直接利用,这样利用稳压管产生一个精确基准电压
与R3。
RW1构成的可调分压电路,通过调节RW1可以获得精确的
=(Rx/RW1)
,该值可用于抵消4mA电流在取样电阻上产生的压降,所以当温度传感器为最小值4mA时,A1的2脚与3脚之间的电压差基本为0V。
与A1相连的C2、R3、R4、R5构成带有积分校正的放大电路,积分校正会增加系统的惯性,对变化较快的信号起阻尼作用。
通过适当调整电阻就可以获得理想的比例增益,再将经过处理的温度传感器感测到的电信号VT放大后,送入下一级的差值放大电路的负相端。
系统的炉温工艺曲线经分段换算后转换为对应的电压数据,再经过进制转换后存入E2PROM中。
当系统投入运行后,为了实现误差测量,单片机依据时钟定时器,按一定的时间间隔将数据通过总线传至DAC0832的数据寄存器,经D/A转换后的模拟电压VTS,从运算放大器器A2送入由A3、R6、R7、R8和R9构成的差值检测放大电路的正相端,与经过转换的采样电压值VT作差,得到的差值△VT放大后送入A/D转换器0809。
另外,变送器由毫伏变送器和电流/电压变送器组成:
毫伏变送器用于把热电偶输出的0-41.32mV变换成0-10mA范围内的电流;电流/电压变送器用于把毫伏变送器输出的0-10MA电流变换成0-5V范围的电压。
为了提高精度,变送器可以进行零点迁移。
例如:
若温度测量范围为400
~1000
,则热电偶输出为16.4mV-41.32mV,毫伏变送器零点迁移后输出0-10mV范围电流。
这样,采用8位A/D转换器就可以使量化误差达到正负2.34度以内。
4、8155接口电路
8155在单片机应用系统中是16位地址数据,其高8位由片选线提供,而低8位地址为片内地址。
当IOM/=0时,单片机对8155内RAM读/写,RAM低8位编址为00~FFH;当IO/M=1时,单片机对8155中的I/O口进行读/写。
图48155管脚图
5、A/D转换电路
ADC0809是一个典型的A/D转换芯片,为逐次逼近式8位CMOS型A/D转换器,片内有8路模拟选通开关、三态输出锁存器以及相应的通道地址锁存与译码电路。
ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。
输入输出与TTL兼容。
8路8位A/D转换器,即分辨率8位。
具有启动停止控制端。
转换时间为100μs,单个+5V电源供电,模拟输入电压范围0~+5V,不需零点和满刻度校准。
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
A/D转换是把从热电偶接收到的温度模拟量转换成温度数字量输送到单片机里,以便可以用单片机进行控制。
图5ADC0809管脚图
引脚结构
(1)IN7~IN0:
8条模拟量输入通道
(2)地址输入和控制线:
4条
(3)数字量输出及控制线:
11条
(4)电源线及其他:
5条
输入为8个可选通的模拟量IN0-IN7。
至于ADC转换器接收哪一路输入信号由地址A、B、C控制的8路模拟开关实现。
同一时刻,ADC0809只接收一路模拟量输入,不同时刻对8路模拟量进行模数转换。
图68155与ADC0809接线图
6、可控硅控制电路
双向可控硅管和加热丝串联接在交流220V,50Hz交流试点回路。
在给定的周期T内,8031只要改变可控硅管的接通时间便可改变加热丝功率,以达到调节温度的目的。
图3.5示出了可控硅管在给定周期T内具有不同接通时间的情况。
显然,可控硅在给定周期T的100%时间内接通的功率最大。
可控硅接通时间可以通过可控硅控制板上控制脉冲控制。
该触发脉冲由8031用软件在P1.3引脚上产生,受过零同步脉冲后经光电耦合管和驱动器输送到可控硅的控制极上。
偏差控制的原理是先求出史册炉温对所需炉温的偏差值,然后对偏差值进行处理而获得控制信号去调节电阻炉的功率,以实现对电阻炉的炉温控制。
在工业上,偏差控制又称为PID控制,这是工业控制中常用的控制形式,一般能收到令人满意的效果。
控制论告诉人们,PID控制的理想方程是:
(3.1)
式中e—测量值与给定值之间的偏差;
TD—微分时间:
T-积分时间;
(3.2)
KP—调节器的放大系数.
将上式离散化得到数字PID位置式算法
式中在位置式算法的基础之上得到数字PID
增量式算法:
(3.3)
三、软件设计
这次程序的软件设计主要运用KEILμVison3软件,这个软件是德国KEIL公司推出的51系列兼容单片机软件开发系统。
μVison3是集成的可视化Windows操作界面,其提供了丰富的库函数和各种编译工具,能够对51系列单片机以及和51系列兼容的绝大部分类型的单片机进行设计。
KEILμVison3系列可以支持单片机C51程序设计语言,也可以直接进行汇编语言的设计与编译。
KEILμVison3系列的集成开发环境最高版本是μVison3,版本号为V8.08。
KEILμVison3系列是一个非常优秀的编译器,受到广大单片机设计者的广泛使用。
其主要特点如下:
①支持汇编语言、C51语言等多种单片机设计语言;
②可视化的文件管理,界面友好;
③支持丰富的产品线,除了51及其兼容内核的单片机外,还新增加了对ARM内核产品的支持;
④具有完善的编译连接工具;
⑤具备丰富的仿真调试功能,可以仿真串口、并口、A/D、D/A、定时器/计数器以及中断等资源,同时也可以和外部仿真器联合进行在线调试;
⑥内嵌RTX-51实时多任务操作系统;
⑦支持在一个工作空间中进行多项目的程序设计。
⑧支持多级代码优化。
1、主程序
主程序主要完成加热控制系统各部件的初始化和实现各功能子程序的调用,以及实际测量中各个功能模块的协调在无外部中断申请时,单片机通过循环对外部温度进行实时显示。
应当注意:
由于T0被设定为计数器方式2,初值为06H,故它的溢出中断时间为250S。
为了系统正常工作,T1中断服务程序的执行时间必须满足T0的制一时间要求,因为T1的中断是嵌套在T0中断之中的。
图7主程序流程图
2、T0中断服务程序
T0中断服务程序是温度控制系统的主程序,用于启动A/D转换器,读如数据采样,数字滤波,越权温度报警和处理,PID计算和输出可控硅的同步触发脉冲等。
P1.3引脚上输出的该同步脉冲宽度由T1计数器的溢出中断控制,8031利用等待T1溢出中断空隙时间完成把本次采样数值转换成显示值而放入显示缓冲区和调用温度显示程序,8031从T1中断服务程序返回后便可以恢复现场和返回主程序,以等待下次T0中断。
图8T0中断服务程序流程图
3、采样子程序
图9采样子程序框架图
4、数字滤波程序
数字滤波程序FILTER:
用于滤去来自控制现场对采样值的干扰。
本设计采用中值滤波
图10数字滤波程序框图
四、小结
通过本次课程设计,我了解了加热炉,这个一直很陌生的东西。
我的课题是基于单片机对加热炉的温度控制系统,单片机和加热炉我了解了更多的东西。
在这个过程中,我碰到了不少的困难,比如:
由于没有对单片机的器件不太熟悉,我查阅了很多资料,才找到了我所需要的几种器件。
虽然只是找器件,但是我学会了如何寻找的方法。
对于以后的工作和学习中遇到的相同,也可以通过这种方法解决。
五、参考文献
[1]张学峰.基于单片机控制的太阳能热水器全自动电路[J].现代电子技术,2005,28(4):
24.
[2]蔡可健,蒋乐书.太阳能热水器智能控制方案设计的探讨[J].太阳能,2004,
(1):
46.
[3]蔡可健.节能热水器智能电路设计方案[J].电工技术,2004,(9):
49-51
[4]丁元杰.单片微型计算机及其应用[M].北京:
机械工业出版社,2004.
[5]何立民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:
北京航空航天大学出版社,1990.
附录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中断服务程序:
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;否则,下限声光报警
MOVA,45H
CPLA
INCA
AJMPNM
TPL1:
SETB5EH
JNB5FH,WL
INC44H;越限值计数器加1
MOVA,#44H
CLRC
SUBBA,#N;越限值N次吗?
JNZWL
SETBP1.2
CLR5EH
CLR5FH
POPDPH
POPDPL
POPACC
RETI
采样子程序:
SAMP:
MOVR0,#2CH;采样值初始地址送R0
MOVR2,#03H
MOVDPTR,#03H
SAM1:
MOVX@DPTR,A;启动ADC0809工作
MOVR3,#20H
DLY:
DJNZR3,DLY;延时
HERE:
JBP3.3,HERE
MOVXA,@DPTR
MOV@R0,A;存放采样值
INCR0
DJNCR2,SAM1
RET
数字滤波程序
FILTER:
MOVA,2CH
CJNEA,2DH,CAMP1
AJMPCMP2
CMP1:
JNCCMP2
XCHA,2DH
XCHA,2CH
CMP2MOVA,2DH
CJNEA,2EH,CMP3
MOV2AH,A
RET
CMP3:
JCCMP4
MOV2QH,A
RET
CMP4:
MOVA,2EH
CJNEA,2CH,CMP5
MOV2AH,A
RET
CMP5:
JCCMP6
XCHA,2CH
CMP6:
MOV2AH,A
RET
附录2
电气原理图