电阻炉炉温自动控制系统.docx
- 文档编号:5636306
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:25
- 大小:100.02KB
电阻炉炉温自动控制系统.docx
《电阻炉炉温自动控制系统.docx》由会员分享,可在线阅读,更多相关《电阻炉炉温自动控制系统.docx(25页珍藏版)》请在冰豆网上搜索。
电阻炉炉温自动控制系统
课程设计
2014~2015学年第一学期
设计题目微机控制系统课程设计
院(系)计算机科学与信息工程
专业计算机科学与技术
班级学号
学生姓名尹永贤
设计时间2014年12月1日——2014年12月19日
指导教师
提交日期2014年12月19日
上海应用技术学院课程设计任务书
课程名称
微机控制系统课程设计
课程代码
B704289
设计题目
电阻炉炉温自动控制系统
题目序号
1
设计时间
2014年12月1日——2014年12月19日
系(院)
计算机科学与信息工程
专业
计算机科学与技术
班级
11104112
一、课程设计任务(条件)、具体技术参数(指标)
本课程的实训实际上是学生学习完《微机控制系统原理与应用》课程后,进行的一次全面的综合训练,其目的在于加深对计算机控制技术理论知识的理解和对这些理论的实际应用能力,提高对实际问题的分析和解决能力,以达到理论学习的目的,并培养学生应用计算机辅助设计和撰写设计说明书的能力。
(1)设计内容及要求
电加热炉用电炉丝提供功率,使其在预定的时间内将炉内温度稳定到给定的温度值。
在本控制对象电阻加热炉(或电水壶)功率为1KW,有220V交流电源供电,采用双向可控硅进行控制。
(2)工艺要求
按照规定的曲线进行升温和降温,温度控制范围为0—75℃,升温和降温阶段的温度控制精度为+1℃,保温阶段温度控制精度为+1℃。
(3)要求实现的系统基本功能
微机自动调节:
正常工况下,系统投入自动。
模拟手动操作:
当系统发生异常,投入手动控制。
微机监控功能:
显示当前被控量的设定值、实际值,控制量的输出值,参数报警时有灯光报警。
本课程设计包含两大部分内容:
设计报告和设计软硬件。
其中设计软硬件在题目验收时由指导教师检查,设计报告作为书面材料提交。
设计报告的主要内容有:
A、硬件设计
●模拟量输入通道:
单端对地输入;输入电压信号量程为0~5VDC;输出码制为单极性二进制码。
●模拟量输出通道:
采用电流输出方式。
●选择主电路器件并设计主电路。
●温度传感器的选择与安装。
B、软件设计
●设计数据采集程序;
●数据滤波程序;
●标度变换程序;
●控制计算程序(PID控制);
●控制输出程序(限幅输出);
●要求有参数(给定值、采样周期、PID参数)设定和修改功能;
●实时显示控制回路的给定值、测量参数、控制量。
C、系统调试
●硬件调试:
A/D通道调试;D/A通道调试。
●软件调试:
各功能模块程序分别调试;软件联调。
●硬件、软件联调。
●系统综合实验。
二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)
1、根据设计内容及要求,画出硬件电路原理结构框图,并说明输入和输出过程通道工作原理。
2、测试输入和输出通道,写出测试过程和方法。
3、画出主程序及各功能模块的程序流程图。
4、软件设计与调试。
5、系统联调。
6、结果分析与总结。
7、编写课程设计报告,绘制完整的系统电路图,并附程序清单。
8、对于有设想但最终未实现的功能的大致编程思路的阐述。
9、论述在设计过程中遇到的并且对你具有启发性的问题。
10、严禁抄袭,发现雷同,双方扣分。
三、课程设计工作进度计划:
二天:
布置任务、查阅参考资料
六天:
硬件和软件设计、硬件设计连线、分段调试
四天:
总体调试
三天:
编写设计说明书、考核
四、主要参考资料
[1]黄勤.微型计算机控制技术,机械工业出版社,2010
[2]蒋心怡等.计算机控制技术,清华大学出版社,2007
[3]于海生等.微型计算机控制技术,清华大学出版社,2009
指导教师(签名):
蒯锐教研室主任(签名):
杨晶鑫
2014年12月1日2014年12月1日
目录
1概述:
5
1.1设计目的5
1.2设计内容、步骤及要点5
2详细设计说明6
2.1硬件设计与调试6
3对该系统的进一步设想11
3.1定时加热11
3.2远程控制11
3.3不同时间设置不同温度11
4课程设计总结12
5软件使用说明12
6附录(参考文献,原代码:
)12
参考文献:
12
原代码:
12
1概述:
1.1设计目的
本课程的实训实际上是学生学习完《微机控制系统原理与应用》课程后,进行的一次全面的综合训练,其目的在于加深对计算机控制技术理论知识的理解和对这些理论的实际应用能力,提高对实际问题的分析和解决能力,以达到理论学习的目的,并培养学生应用计算机辅助设计和撰写设计说明书的能力。
1.2设计内容、步骤及要点
用一台计算机及相应的部件组成电阻炉炉温的自动控制系统,并使系统达到工艺要求的性能指标。
1.课程设计内容:
(1)设计内容及要求
电加热炉用电炉丝提供功率,使其将炉内温度稳定到给定的温度值。
在本控制对象电阻加热炉(或电水壶)功率为1KW,有220V交流电源供电,采用双向可控硅进行控制。
(2)工艺要求
按照规定的曲线进行升温和降温,温度控制范围为0—75℃,升温和降温阶段的温度控制精度为+1℃,保温阶段温度控制精度为+1℃。
(3)要求实现的系统基本功能
微机自动调节:
正常工况下,系统投入自动。
模拟手动操作:
当系统发生异常,投入手动控制。
微机监控功能:
显示当前被控量的设定值、实际值,控制量的输出值,参数报警时有灯光报警。
本课程设计包含两大部分内容:
设计报告和设计软硬件。
其中设计软硬件在题目验收时由指导教师检查,设计报告作为书面材料提交。
设计报告的主要内容有:
A、硬件设计
模拟量输入通道:
单端对地输入;输入电压信号量程为0~5VDC;输出码制为单极性二进制码。
模拟量输出通道:
采用电流输出方式。
选择主电路器件并设计主电路。
温度传感器的选择与安装。
B、软件设计
设计数据采集程序;
数据滤波程序;
标度变换程序;
控制计算程序(PID控制);
控制输出程序(限幅输出);
要求有参数(给定值、采样周期、PID参数)设定和修改功能;
实时显示控制回路的给定值、测量参数、控制量。
C、系统调试
硬件调试:
A/D通道调试;D/A通道调试。
软件调试:
各功能模块程序分别调试;软件联调。
硬件、软件联调。
系统综合实验。
2.设计步骤和要点
A、根据设计内容及要求,画出硬件电路原理结构框图,并说明输入和输出过程通道工作原理。
B、测试输入和输出通道,写出测试过程和方法。
C、画出主程序及各功能模块的程序流程图。
D、软件设计与调试。
E、系统联调。
F、结果分析与总结。
G、编写课程设计报告,绘制完整的系统电路图,并附源程序清单。
2详细设计说明
2.1硬件设计与调试
主要电路:
接线:
T-CON接8255的PC6,用于控制是否加热:
PC6=0时加热,PC6=1时风扇降温。
T-DETECT接ADC0809的IN0口,ADC0809采集温度模块的温度模拟信号量。
CS0809接208H,CS8279已固定接至238H,CS8255接218H。
交通灯:
PB口:
PB0123接绿灯,PB4567接红灯。
即:
PB0-DG1----PB7-DR4
K0—PA0:
下:
自动上:
手动
K1--PA7:
下:
不加热上:
加热(手动控制时有效)
交通灯:
1:
上2:
左3:
右4:
下
17以下绿灯亮1个
18绿灯亮2个
18绿灯亮3个
27绿灯亮4个
36红灯亮1个
45红灯亮2个
54红灯亮3个
63红灯亮4个
模拟量输入通道:
AD0809IN0口接温度控制的T-DETECT读入模拟量。
2.2软件设计与调试
软件调试过程中,根据理论设定相应的状态,再根据实验想象进行修正。
避免端口赋值时的干扰,变量的多次使用时避免交叉错误。
软件调试过程中也要适当的调整硬件电路。
软件优秀流程:
优点:
可以根据K0的值设置是否为手动状态通过跳转,执行相应的代码段。
程序中根据不同的温度范围设定不同的等表示温度:
;***********设置交通灯的程序****************
;<=17绿1个,18~26绿3个,27~35绿4个,36~44红1个,45~53红2个,54~62红3个,63~71红4个,>71黄4个
;输出1是灭掉
moval,11111111b;全灭
movdx,Z8255B
outdx,al
moval,Tvalue;ax存当前温度值
cmpal,10
jbLedT1
cmpal,30
jbLedT10
cmpal,60
jbLedT10
cmpal,90
jbLedT30
cmpal,120
jbLedT40
cmpal,150
jbLedT50
cmpal,180
jbLedT60
cmpal,210
jbLedT70
cmpal,240
jbLedT80
jmpLedT
LedT1:
;下限升温
MOVAL,01H
MOVDX,Z8255C
OUTDX,AL
jmpBEGIN
LedT10:
moval,11111110b
jmpPLedT
LedT20:
moval,11111100b
jmpPLedT
LedT30:
moval,11111000b
jmpPLedT
LedT40:
moval,11110000b
jmpPLedT
LedT50:
moval,11101111b
jmpPLedT
LedT60:
moval,11001111b
jmpPLedT
LedT70:
moval,10001111b
jmpPLedT
LedT80:
moval,00001111b
jmpPLedT
LedT:
;上限降温
MOVAL,42H
MOVDX,Z8255C
OUTDX,AL
jmpBEGIN
moval,00000000b
PLedT:
movdx,Z8255B
outdx,al
;***********设置交通灯的程序结束*************
滤波:
采用数字滤波中的比例调节,去8次采样的平均值作为一个采样值。
软件调节过程中的一些问题:
1)起初想用K1直接接T-CON控制是否手动加热。
调节时发现,当K1和PC6同时接T-CON时,两者的信号会相互干扰,不能正常调节。
2)数据转换值由于不是等比例放大,不易计算。
试验中根据实验现象记录相应的温的数字值,确定温度区间。
3对该系统的进一步设想
3.1定时加热
用时钟或定时器设定具体的时间点,开始加热。
解决方法:
可以采用时钟芯片、定时器、或中断的方式实现。
3.2远程控制
通过互联网实现物联,进行远程控制,实现远程设定时间、温度。
解决方法:
添加相应的网络模块联网实现远程控制。
3.3不同时间设置不同温度
程序设定具体的温度,与具体的时间相联系,在不同的时间达到不同的设定温度值。
解决方法:
与时钟芯片一同根据需求设定合理值。
4课程设计总结
汇编语言的知识忘了许多,再到这次的微型课程设计充满着挑战和趣味。
微型计算机原理起初学起来就觉得很难。
当要进行课程设计时心里面多少有些害怕和担心。
但是后面听了老师和同学的讲解之后,担心变少了很多,倒是跃跃欲试的冲动多了很多。
所以一直想尽自己最大的努力,做好这次的课程设计。
此次微机课程设计让我懂得了实践的重要性。
一方面,它加深与巩固了所学的各章节的理论,并将其综合运用,提高了我们综合运用知识;另一方面,培养了我们对专业知识学习的兴趣。
通过设计电阻炉炉温自动控制系统将软硬充分相结合,学会了很多有用的知识锻炼了软硬相互协调的能力。
同时也增强了全面系统考虑问题的能力,以及硬件设计能力。
这对以后的学习和工作具有重要的指导意义!
即使课本知识掌握了,如果不会综合运用,也是一些支离破碎的无用的知识,而如果能够运用而实际动手能力很差,理论与实践结合不起来,学得再好也没用。
这次课程设计恰好是将课本知识与的巩固与综合运用结合起来,再加上实际动手能力的培养三者结合起来的。
这次设计让我明白了一个道理,做任何事前之前,不管完成它的时间有多么充裕,开始的态度都要摆好,都要认真去对待,到最后才不会后悔。
最后谢谢老师这个学期的指导和帮助!
5软件使用说明
程序开始运行后,根据K0确定手动/自动:
K0在下:
自动K0在上:
手动。
手动状态下根据K1确定是否加热:
K1在下:
不加热K1在上:
加热。
自动状态下按D开始设定温度,按数字键依次设定十位、个位。
按E确定设定值。
设定温度后,温度模块自动调节温度,设定值与采样值相等时交通灯变为全黄。
6附录(参考文献,原代码:
)
参考文献:
[1]黄勤.微型计算机控制技术,机械工业出版社,2010
[2]蒋心怡等.计算机控制技术,清华大学出版社,2007
[3]于海生等.微型计算机控制技术,清华大学出版社,2009
[4]
源代码:
;*****************************************
;电阻炉炉温自动控制系统
;yinyongxian
;2014年12月4日14:
19:
34
;yinyongxian@
;*****************************************
;FOREAT598
CSADEQU0208H
Z8279EQU0239H
D8279EQU0238H
Z8255EQU021BH
Z8255AEQU0218H
Z8255BEQU0219H
Z8255CEQU021AH
LEDMODEQU00;左边输入,八位显示外部译码八位显示
LEDFEQEQU38H;扫描频率
LEDCLSEQU0C1H;清除显示RAM
READKBEQU40H
COUNTEQU8
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE
START:
PUSHCS
POPDS
MOVDX,Z8255;设置A口为输入,B口为输出,C口为输出
MOVAL,90H;10010000b
OUTDX,AL
MOVDX,Z8255C;交通灯全灭
MOVAL,0FFH
OUTDX,AL
CALLDELAY
CALLDELAY
MOVDX,Z8279;初始化8279
MOVAL,LEDMOD
OUTDX,AL
MOVAL,LEDFEQ
OUTDX,AL
MOVAL,LEDCLS
OUTDX,AL
;------------------以上为初始化-----------------------
MOVAL,0
MOVCS:
SIVAL,AL
;------------------手动方式决定是否加热---------------
hand:
MOVDX,Z8255A
inal,dx
testal,80h
jznext;为0则
movAL,0H;为0则加热
MOVDX,Z8255C
OUTDX,AL
jmpBEGIN
next:
moval,40h;为1则bu加热
MOVDX,Z8255C
OUTDX,AL
;---------------End:
手动方式决定是否加热--------------
;******************采集数据并显示*********************
BEGIN:
MOVBX,0
MOVCL,COUNT
MOVCH,0
BB:
MOVDX,CSAD;采样A/D值
MOVAX,0
OUTDX,AL
CALLDELAY
INAL,DX
ADCBX,AX;求8次采样平均值BX存储8次的总值。
LOOPBB
MOVAX,BX
RCRAX,1
RCRAX,1
RCRAX,1
MOVTvalue,AL
CALLCHANGTOBCD;转化为十进制的温度值
PUSHAX;存Ax
CALLDIS
;******************采集数据并显示结束*****************
;***********设置交通灯的程序****************
;<=17绿1个,18~26绿3个,27~35绿4个,36~44红1个,45~53红2个,54~62红3个,63~71红4个,>71黄4个
;输出1是灭掉
moval,11111111b;全灭
movdx,Z8255B
outdx,al
moval,Tvalue;ax存当前温度值
cmpal,10
jbLedT1
cmpal,30
jbLedT10
cmpal,60
jbLedT10
cmpal,90
jbLedT30
cmpal,120
jbLedT40
cmpal,150
jbLedT50
cmpal,180
jbLedT60
cmpal,210
jbLedT70
cmpal,240
jbLedT80
jmpLedT
LedT1:
;下限升温
MOVAL,01H
MOVDX,Z8255C
OUTDX,AL
jmpBEGIN
LedT10:
moval,11111110b
jmpPLedT
LedT20:
moval,11111100b
jmpPLedT
LedT30:
moval,11111000b
jmpPLedT
LedT40:
moval,11110000b
jmpPLedT
LedT50:
moval,11101111b
jmpPLedT
LedT60:
moval,11001111b
jmpPLedT
LedT70:
moval,10001111b
jmpPLedT
LedT80:
moval,00001111b
jmpPLedT
LedT:
;上限降温
MOVAL,42H
MOVDX,Z8255C
OUTDX,AL
jmpBEGIN
moval,00000000b
PLedT:
movdx,Z8255B
outdx,al
;***********设置交通灯的程序结束*************
;------------------手动吗?
------------------
MOVDX,Z8255A
inal,dx
testal,01h
jzAuto;为0自动
JMPhand
;------------------手动选择结束--------------
;******************自动方式******************
Auto:
CALLSET_T
POPAX;取AX
MOVBL,CS:
SIVAL;SIVAL获得设定的值。
CMPAL,BL
jnenotE
moval,0
movdx,Z8255B
outdx,al
jmpBEGIN
notE:
CMPAL,BL
JADOWN
MOVAL,01H
JMPUP
DOWN:
MOVAL,42H
UP:
MOVDX,Z8255C
OUTDX,AL
JMPBEGIN
;***************自动方式结束***************
;----------------主程序结束----------------
SET_TPROCNEAR
CALLREAD_KEY
CMPAL,0
JNZTHE_KEY;不为0则有键读入
JMPIN_END
THE_KEY:
MOVAL,BL
CMPAL,0DH
JZST_K
JMPEND_ST
ST_K:
CALLREAD_KEY
CMPAL,0FFH
JNZST_K;等待输入
MOVAL,BL
CMPAL,0EH;IFBEING'E'KEY,endSET
JNZ%H;非'E'
JMPEND_ST
%H:
;设置高位
MOVBL,AL
MOVCH,BL
CMPAL,0AH;输入不是数字,继续读入
JNCST_K;JNC,当CF=0时跳转
CALLDIS_CHAR1;显示第一个值
ST_L:
;设置低位
CALLREAD_KEY
CMPAL,0FFH
JNZST_L
MOVAL,BL
CMPAL,0EH;IFBEING'E'KEY,设置低位,否则只设置了高位
JNZ%L
JMPEND_ST
%L:
MOVBL,AL
MOVCL,BL
CMPAL,0AH;;输入不是数字,继续读入
JNCST_L
CALLDIS_CHAR2;显示第二个值
JMPST_K
END_ST:
MOVAL,CH
MOVBL,CL
MOVCL,4H
RORAL,CL;al右移四位
ADDAL,BL
MOVCS:
SIVAL,AL
IN_END:
RET
SET_TENDP
READ_KEYPROCNEAR
MOVDX,Z8279
INAL,DX;读8279状态
ANDAL,07H;屏蔽D7-D3
JNZGETVAL;判断是否有键输入
MOVAL,0H;置标志(无键输入)
JMPNKBHIT
GETVAL:
MOVAL,READKB;读FIFORAM命令
OUTDX,AL
MOVDX,D8279
INAL,DX;读键
ANDAL,3FH;屏蔽SHIFT和CTRL键
MOVBL,AL;置返回键值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电阻炉 炉温 自动控制系统