资源描述
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
长 春 大 学 课程设计纸
第一章 引言
仪器用温箱是常用的电加热设备,广泛用于各个行业。传统的温箱采用模拟式控制仪表,PD算法,接触器断续调节温度,控制温度低,温度波动范围大。本系统介绍的温箱温度控制系统以80C51单片机为核心,进行数据PID调节,输出控制信号,驱动加热丝加热,使温箱达到较为理想的控制目的。
1.1设计目的
(1) 掌握A/D转换电路的应用、掌握8253可编程定时器/计数器的应用、掌握温度采集及控制方法。
(2) 锻炼和培养由各个子模块功能单元构筑完整的微机控制系统的能力。
1.2设计要求
(1) 系统的被控对象为仪器用温箱,被测参数为温箱的温度,测温范围为0-300℃,误差不超过±0.1℃。
(2) 仪器用温箱中的被测气体通过温箱的管状加热交换器加热后,送入仪器中进行测量。
(3) 温箱按照预定的升温速率升温,或保持恒定大的温度不变。
(4) 温箱用电热丝加热。
第二章 温度控制系统的组成
仪器用温箱温度控制系统的原理图如图2-1所示。被测参数温度值由测温元件测量后得到0.5~1V信号,经放大后转换成5~10V的电压信号,经LM331电压—频率变换器变换成频率信号,再经8253可编程定时器/计数器转换成数字信号送入单片机。在CPU中进行数据处理后,一方面送去显示,一方面与键盘输入的设定值进行比较,若低于设定值,则进行PID调节,输出控制信号,驱动电加热丝加热,达到温度控制目的。
图2-1 仪器用温箱温度控制系统原理图
第三章 温度控制系统的硬件设计
3.1 温度检测和模拟量输入通道
(1)温度检测和放大电路
由于本系统的控制精度要求在0-300℃范围内误差不超过±0.1℃的高精度,选用了精度高、性能稳定可靠的测温元件---铂电阻。其测量及放大电路如图3-1所示
图3-1 铂电阻测温、放大及V/F转换电路图
在图3-1中Rt为测温铂电阻,跨接在运算放大器OP07的反馈回路上,使得铂电阻的阻值变化转换成运算放大器的输出电压变化。Vref为一个精密稳压源。输入端的电阻为温度系数很小的精密电阻。LM358放大后得到的5~10V电压信号经检测和放大的模拟信号送A/D转化器。
(2)用LM331V/F转换器实现A/D转换
LM331是一种廉价、精密的电压-频率转换专用集成电路。它的特点是V/F变化特性为10Hz/mV,其非线性误差小,电源适应能力强,可使用单5V电源。用V/F转换器实现A/D转换器,需要与频率计数器配合使用。由LM331实现A/D转换器的框图如图3-2所示。
图3-2 由LM331实现A/D转换器的框图
图中,模拟信号经V/F转换器LM331,把电压信号转化为脉冲信号,脉冲信号送到计算器的计数器/定时器的端口。同时启动频率计数器和定时器,定时器采用基准频率作为定时脉冲。当定时结束时,定时器产生输出信号使频率计数器停止计数,这样计数器的计数值与频率之间的关系是
而
因此
式中D------计数值
T--------计数时间
Ds-------定时计数器计数初值
s-----基准频率
-------LM331的输出频率
在本系统中用LM331实现A/D转换器的电路如图3-3所示。
图3-3 频率信号转换成数字信号的电路图
图3-3中,8253是可编程间隔定时器/计数器芯片,用来将LM331的输出频率信号转换成数字信号,送至单片机。A/D转换器框图中的定时器和频率计数器由8253和D触发器共同完成,它们的作用有:
(1)定时器定时1s时间间隔,是由8253芯片的计数器2和1串联得到的。
(2)计数器由8253芯片的计数器0来实现,即LM331的V/F输出脉冲端连接至8253芯片的CLK0端。
(3)为保证1s的精确时间是,采用了由软件发出选通,硬件关闭的办法。
3.2 键盘与显示电路
键盘用以设定给定温度。显示器用来显示当前温箱的温度值。显示器采用4位LED显示器,利用动态驱动方式。选用80C51外围接口芯片作为显示器与键盘的接口。其具体连接情况如图3-4所示。
图3-4 键盘与显示电路
在图3-4中,LED采用共阴极方式,4个显示器的段选码由8155的PB口提供,位选码由8155的PA口提供,矩阵式键盘的行线由PC提供。LED采用动态扫面方式,而键盘采用中断的工作方式。因为系统已经使用了和,所以采用定时器T0作为外部中断源。可以选择设置T0工作在方式2外部计数方式,定时器TH0,TL0初值为0FFH,并允许T0中断,这样当T0引脚上发生负跳变时,TL0加1,产生溢出,置“1”TF0向CPU发出中断申请,同时TH0的内容0FFH送TL0,即TL0恢复初值0FFH,然后CPU去执行键盘扫描。
第四章 数字控制器的数学模型
温箱的数学模型和控制算法的选择
根据实际测量,温箱是一个近似一阶惯性环节。以加热功率为输入,箱内温度为输出,其传递函数表达为
式中,。由于采样周期远远小于系统时间常数,所以可以应用模拟系统数字PID控制算法进行实时控制。
2. PID算法程序
PID算法采用增量式计算,位置式输出。
式中 R——温度给定值;
——第k次采样值;
——第k次误差值;
T——采样周期;
——比例系数;
——积分时间;
——微分时间。
第5章 温度控制系统的软件设计
整个温度控制系统是在应用程序的控制下工作的。控制系统的工作由实时测量、实时决策和实时控制三部分组成。应用程序包括数据采集、控制运算、键盘与显示以及输出控制等程序。这些程序有的在主程序中执行,有的在中断服务程序中执行。其中控制运算、键盘与显示子程序在前面都有介绍,在此不。
5.1数据采集程序
(1)采样周期定时
根据温度的采样周期经验公式,选用采样周期为15s。
采样周期定时由50HZ工频过零脉冲申请终端次数累计得到。此功能有外部中断1的中断服务来实现。
(2)启动A/D转换
在外部中断1的中断服务中,若判断采样周期到时,启动A/D转换信号,软件选通8253的触发信号,使8253的计数器工作。
(3) 数据采集
当8253定时1s到时,即A/D转换结束。此时由中断设备通知50C51。在外部中断0的终端服务中对被测的温度数据进行采集。
外部中断0的中断服务程序如下
ORG 9000H
PUSH ACC
PUSH PSW
PUSH DPH
PUSH DPL
MOV DPYR, #2000H
MOVX A,@DPYR
CPL A
MOV 33H, A
MOVX A, @DPYR
CPL A
MOV 32H, A
CLR C
LCALL SUBA
JB 77H, INTA1
MOV A, 2FH
OLR A,2FH
JZ INTA1
LCALL PID
LCAL COVR
SJMP INTA2
INTA: SETB PSW. 3
MOV R2, #00H
MOV R3, #00H
CLR PSW. 3
INTA2 POP DPL
POP DPH
POP PSW
POP ACC
RETI
SUBA EQU 9800H
PID EQU 9910H
COVR EQU 9A20H
5.2输出控制程序
输出控制程序主要完成两个任务:
(1)识别工频的过零时刻,并在过零时刻开启和关闭控制门,以保证SCR主回路产生整数正弦全波。
(2)保证门控电路的打开时间比于单片机输出控制量。
要完成上述任务,首先将单片机输出控制量在主程序中转换成SCR回路中整数正弦全波个数N。由于INT1信号反映工频电压过零时刻。因此只要在外部中断1的中断服务程序中执行下述功能,主程序可以按照运算结果控制量的要求,实现SCR的过零控制。
由于本系统的控制方式是一种“调试”方式。对于工频交流电(f=50HZ),电热丝在全导通的功率为Ph,则实际输出功率P将和实际导通次数N成正比(设控制周期为1s)。
外部中断服务程序为:
ORG 0050H
PUSH ACC
PUSH PSW
PUSH DPH
PUSH DPL
SETB PSW.3
MOV A,R2
ORL A,R3
JNZ INTB1
CLR P1.0
SJMP INTB2
INTB1: SETB P1.0
DEC R3
MOV A,R2
SUBB A,#00H
MOV R2,A
INTB2: DEC R
MOV A,R4
SUBB A,#00H
MOV R4,A
ORL A,R5
JZ INTB3
SJMP INTB4
INTB3: MOV R5,#0EEH
MOV R4,#02H
MOV DPTR,#4001H
MOVX @DPTR,A
INTB4: CLR PSW.3
POP DPL
POP DPH
POP PWS
POP ACC
RETI
5.3主程序
主程序完成系统初始化及各个程序之间的联系任务。
(1)系统初始化
包括清数据存储区、建栈、定时器T0初始化、8253初始化(送控制字和计数初值)、确定中断优先权、开中断等。
(2)中断等待
完成了系统的初始化任务后,主程序执行中断等待程序。等待工频过零同步中断与A/D转换结束中断。为了保证正弦波的完整,工频过零同步中断被确定为高一级的中断源。
主程序的程序流程图如图5-1所示。
主程序的程序清单如下
ORG 0000H
START: MOV R1,#10H
MOV R0,#30H
MOV A,#00H ;清数据区
ATAT1: MOV @R0,A
INC R0
DJNZ R1,ATAT1
SETB PSW.3
MOV R4,#02H ;赋采样周期值
MOV R5,#0EEH
CLR PSW.3
MOV SP,#60H ;建栈
MOV TMOD,#06H ;置单片年纪定时器T0为工作方式2
MOV TL0,#0FFH ;置计数器初值
MOV TH0,#0FFH
MOV DPTR,#2003H ;写控制字
MOV A,#34H ;选计数器0为方式2
MOV @DPTR,A ;读写方式为先低后高,二进制计数
MOV A,#64H ;选计数器1为方式2
MOV @DPTR,A ;只读、写低位字节
MOV A,#0B4H ;选计数器2为方式2
MOV @DPTR,A ;读写方式为先低后高,二进制计数
MOV DPTR,#2000H ;指向计数器0的口地址
MOV A,#0FFH ;送计数器0初值的
MOV @DPTR,A ;低8位
MOV @DPTR,A ;高8位
MOV DPTR,#2001H ;指向计数器1的口地址
MOV A,#16H ;送计数器1初值的
MOV @DPTR,A ;低8位
MOV DPTR,#2002H ;指向计数器2的口地址
MOV A,#60H ;送计数器2初值的
MOV @DPTR,A ;低8位
MOV A,#0E3H ;送计数器2初值的
MOV @DPTR,A ;高8位
图5-1 主程序的程序流程图
第六章 总结
通过这一次的课程设计,我不仅仅学到了专业知识,更使我懂得如何做事。其实每一次的课程设计都是在教会我怎么样做事情,它告诉我完成一件事情,光靠团队的人数是没有任何优势的,关键在于团队之中是否有优秀的骨干去引领这个团队完成这件事情。
这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过这次课程设计之后,一定把以前所学过的知识重新温故。
参考文献
[1] 李华,程瑞琪,吴六爱. 计算机控制技术[M].兰州:兰州大学出版社,2002.
[2] 王锦标. 计算机控制系统[M]. 北京:清华大学出版社,2004.
[3] 冯景之. 微型计算机控制[M]. 成都:西南交通大学出版社,1996.
[4] 谢剑英. 微型计算机控制技术[M]. 北京:国防工业出版社,2002.
[5] 金以慧. 过程控制[M]. 北京:清华大学出版社,1993.
[6] 王树清,等. 先进控制技术及应用[M]. 北京:化学工业出版社,2001.
[7] 郑文波. 控制网络技术[M]. 北京:清华大学出版社,2001.
[8] 刘金坤. 先进PID控制及其MATLAB仿真[M]. 北京:电子工业出版社,2004.
[9] 胡道元. 计算机局域网[M]. 北京:清华大学出版社,1990.
[10] 王树清. 先进控制技术及应用[M]. 北京:化学工业出版社.
共 14 页 第 14 页
展开阅读全文