搜索
您的当前位置:首页正文

微型计算机控制技术课程设计

2023-07-21 来源:步旅网


微型计算机控制技术

课程设计

----电阻加热炉温度控制

学 院: 专业班级: 姓 名: 学 号: 指导教师:

目 录

一、摘要………………………………….……….(2) 二、总体方案设计…………………………….….(2) 设计任务

1、设计内容及要求…………………………………………(2) 2、工艺要求……………………………………..…………..(2) 3、要求实现的系统基本功能………………………………(3) 4、对象分析…………………………………………………(3) 5、系统功能设计……………………………………..……..(3)

三、硬件的设计和实现…………………………..(4) 四、数字控制器的设计…………………….…….(7) 五、软件设计…………………………….……….(9)

1、系统程序流程图………………………………………….(9) 2、程序清单…………………………………………..……..(11)

六、完整的系统电路图…………………………..(21) 七、系统调试……………………………………..(21) 八、设计总结……………………………………..(21) 九、参考文献……………………………………..(22)

1

一、摘 要

温度是工业对象中主要的被控参数之一。特别是在冶金、化工、机械各类工业中,广泛使用各种加热炉、热处理炉、反应炉等。由于炉子的种类不同,所采用的加热方法及燃料也不相同,如煤气、天然气等。但就控制系统本身的动态特性而言,均属于一阶纯滞后环节,在控制算法上基本相同,可采用PID控制或其他纯滞后补偿算法。

为了保证生产过程正常安全地进行,提高产品的质量和数量,以及减轻工人的劳动强度,节约能源,对加热用的各种电炉要求在一定条件下保持恒温,不能随电源电压波动或炉内物体而变化,或者有的电炉的炉温根据工艺要求按照某个指定的升温或保温规律而变化,等等。

因此,在工农业生产或科学实验中常常对温度不仅要不断地测量,而且要进行控制。

二、总体方案设计

设计任务

用一台计算机及相应的部件组成电阻炉炉温的自动控制系统,并使系统达到工艺要求的性能指标。

1、设计内容及要求

电阻加热炉用于合金钢产品热力特性实验,电加热炉用电炉丝提供功率,使其在预定的时间内将炉内温度稳定到给定的温度值。在本控制对象电阻加热炉功率为8KW,有220V交流电源供电,采用双向可控硅进行控制。

系统模型:

2、工艺要求

按照规定的曲线进行升温和降温,温度控制范围为50—350℃,升温和降温阶段的温度控制精度为+5℃,保温阶段温度控制精度为+2℃。

2

3、要求实现的系统基本功能

微机自动调节:正常工况下,系统投入自动。

模拟手动操作:当系统发生异常,投入手动控制。

微机监控功能:显示当前被控量的设定值、实际值,控制量的输出值,参数报警时有灯光报警。

4、对象分析

在本设计中,要求电阻炉炉内的温度,按照上图所示的规律变化,从室温开始到50℃为自由升温阶段,当温度一旦到达50℃,就进入系统调节,当温度到达350℃时进入保温段,要始终在系统控制下,一保证所需的炉内温度的精度。加工结束,要进行降温控制。保温段的时间为600—1800s。过渡过程时间:即从开始控制到进入保温阶段的时间要小于600s。在保温段当温度高于352℃或低于348℃时要报警,在升温和降温阶段也要进行控制,使炉内温度按照曲线的斜率升或降。

采用MCS—51单片机作为控制器,ADC0809模数转换芯片为模拟量输入,DAC0832数模转换芯片为模拟量输出,铂电阻为温度检测元件,运算放大器和可控硅作为功率放大,电阻炉为被控对象,组成电阻炉炉温控制系统,另外,系统还配有数字显示,以便显示和记录生产过程中的温度和输出值。

5、系统功能设计

计算机定时对炉温进行测量和控制一次,炉内温度是由一铂电阻温度计来进行测量,其信号经放大送到模数转换芯片,换算成相应的数字量后,再送入计算机中进行判别和运算,得到应有的电功率数,经过数模转换芯片转换成模拟量信号,供给可控硅功率调节器进行调节,使其达到炉温变化曲线的要求。

3

三、硬件的设计和实现

1、计算机机型:MCS—51 8031(不包含ROM、EPROM)

系统总线:PC总线

2、设计支持计算机工作的外围电路

矩阵键盘技术:

温度输出显示技术:

LED静态显示接口技术,所谓静态显示,即CPU输出显示值后,由硬件保存输出值,保持显示结果.

特点:占用机时少,显示可靠.但元件多,线路复杂、成本高,功耗大。

报警电路设计:正常运行时绿灯亮,在保温阶段炉内温度超出系统允差范围,就要进行报警。报警时报警灯亮,电笛响,同时发送中断信号至CPU进行处理。

4

3、设计输入输出通道

输入通道:因为所控的实际温度在50 ~ 350℃左右,即(350-50)=300所以选用8位A/D转换器,其分辨率约为1.5℃/字,再加放大器偏置措施实现。(通过调整放大器的零点来实现偏置)这里采用一般中速芯片ADC0809。ADC0809是带有8位A/D转换器,8路多路开关以及微型计算机兼容的控制逻辑的CMOS组件,其转换方法为逐次逼近型。8路的模拟开关由地址锁存器和译码器控制,可以在8个通道中任意访问一个通道的模拟信号。

5

输出通道:据其实际情况,D/A转换器的位数可低于A/D转换器的位数,因为一般控制系统对输出通道分辨率的要求比输入通道的低,所以这里采用常用的DAC0832芯片

DAC0832是8位D/A转换器,与微处理器完全兼容。期间采用先进的CMOS工艺,因此功耗低,输出漏电流误差较小。因DAC0832电流输出型D/A转换芯片,为了取得电压输出,需在电流输出端接运算放大器,Rf为为运算放大器的反馈电阻端。

4、元器件的选择

传感器的选择:铂铑10—铂热电偶,S型,正极性,量程0—1300C,使用温度小于等于600C,允差+1.5C。

执行元件的选择:电阻加热炉采用晶闸管(SCR)来做规律控制,结合电阻炉的具体要求,为了减少炉温的纹波,对输出通道采用较高的分辨率的方案,因此采用移相触发方式,并且由模拟触发器实现移相触发。

变送器的选择:因为系统要求有偏置,又需要对热电偶进行冷端补偿,所以采用常规的DDZ系列温度变送器。

控制元件:采用双向可控硅进行控制,其功能相当于两个单向可控硅反向连接,具有双向导通功能,其通断状态有控制极G决定。在控制极加上脉冲可使其正向或反向导通。

6

四、数字控制器的设计

1、控制算法:

电阻加热炉温度控制系统框图:.

整个闭环系统可用一个带纯滞后的一阶惯性环节来近似,所以其控制算法采

用大林算法。电阻加热炉温度控制系统模型为 其广义的传递函数为:

大林算法的设计目标是设计一个合适的数字控制器,使整个闭环系统的传递函数相当于一个带有纯滞后的一阶惯性环节,即: 通常认为对象与一个零阶保持器相串联, 相对应的整个闭环系统的脉冲传递函

G(s)2.8e40s数是:178s1

2、计算过程:

连同零阶保持器在内的系统广义被控对象的传递函数

G(z)Z[1es1Ts2.8e40s178s1

)z40T]2.8(1zZ[1s(178s1)]

2.8(1z1

]

)z40TZ[1s1178178s11e

]z12.8(1z1)z4[11178

0.154z511z1

10.945z

7

系统闭环传递函数

(z)C(z)R(z)Z[1esTseNTss1

T]zN1(1eT) 数字控制器:

D(z)1ez1

(z)G(z)[1(z)]

zN1[1e(1eTT)N1Tz1(1e10)z]G(z)

1[1ez105(1e)1010.945zz1(1e)z5]0.154z5

6.448(10.945z10.007z11)50.933z

1D(z)6.448(10.945z(1z1)3)[10.933z10.933z20.933z0.933z4]

消除振铃现象后的数字控制器:

D(z)6.448(10.945z1zU(z)E(z)11)

1D(z)1.2971.2970.945z1z1

将上式离散化:U(Z)—U(Z)Z—1=1.279E(Z)—1.226E(Z)Z—1

U(K)—U(K—1)=1.279E(K)—1.226E(K—1) 最终得:U(K)=U(K—1)+1.279E(K)—1.226E(K—1)

8

五、软件设计

1、系统程序流程图

a、系统主程序框图

b、A/D转换子程序流程图

9

c、LED显示流程图

d、数字控制算法子程序流程图

10

、程序清单

ORG 0000H AJMP MAIN ORG 0003H AJMP KEYS ORG 000BH

AJMP PIT0 ORG 001BH

AJMP PIT1 MAIN: MOV SP,#00H

CLR

5FH MOV A,#00H MOV R7,#09H

MOV R0,#28H LP1:

MOV @R0,A INC R0

DJNZ R7,LP1 MOV R7,#06H

MOV R0,#39H LP2:

MOV @R0,A INC R0

DJNZ R7,LP2 MOV R7,#06H MOV

RO,#50H

LP3:

MOV @R0,A

INC R0

DINZ R7,LP3 MOV 33H,#00H

MOV

34H,#00H MOV 35H,#00H

MOV 36H,#00H MOV 37H,#00H

MOV 38H,#00H MOV 42H,#00H

MOV 43H,#00H MOV TMOD,#56H MOV TLO,#06H MOV THO,#06H

MOV 25H,#163H SETB TR0 SETB ET0 SETB EX0

SETB EA ;中断入口及优先级

:清上下限越限标志

;清显示缓冲区

;赋KP高低字节

; 赋KI高低字节 ; 赋KD高低字节

;赋K高低字节

;T0方式2,T1方式1计数

;设定值默认值350

;键盘高优先级 ;开键盘T0。T1中断

11

2

LOOP: MOV R0,#56H MOV R1,#55H

LCALL SCACOV

;标度转化

键盘子程序KEYS:

CC:

BB: AA:

MOV R0,#53H LCALL DIR NOP

LCALL DLY10MS NOP

LCALL DLY10MS

AJMP LOOP

EX0 CLR EA PUSH PSW

PUSH ACC LCALL DLY10MS P3.2 AA

SETB 5DH MOV A,25H MOV B,#10H DIV A B MOV 52H,A

MOV A, B MOV 51H, A MOV R0,#50H

LCALL DIR NOP

LCALL DLY10MS NOP

LCALL DLY10MS JB P1.7 ,BB MOV R1,#25H LCALL DAAD1 NOP

LCALL DLY10MS AJMP CC

P1.6 CC

MOV R1,#25H LCALL DEEC1 NOP

LCALL DLY10MS

AJMP CC

ACC

POP PSW

;等中断

;关中断

;消抖

;置“显示设定值温度值标志”

;取运算位的值

;BCD码转化

;显示设定温度

12

CLR JB POP JB SETB EX0

SETB EA RETI

;出栈

显示子程序

DIR: MOV SCON ,#00H ;置串行口移位寄存器状态

SETB P1.4 ;开显示 JB DL2: MOV DL0: MOV MOVC MOV LOOP1: JNB

CLR INC MOV MOVC ANL

MOV LOOP2: JNB CLR INC

MOV MOVC MOV

LOOP3: JNB

CLR CLR

CLR RET

DL1:

MOV AJMP SEGT: DB 加一子程序

DAAD1: MOV ORL ADD

CJNE DAAD3: MOV DAA: RET

DAAD2: JC MOV AJMP 减一子程序

DEEC1: MOV

5DH,DL1 ;显示设定温度

DPTR,#SEGT

A,@R0

A,@A+DPTR

SBUF ,A

TI, LOOP1 TI R0 A,@R0

A,@A+DPTR

A, #7FH

:使数带小数点

SBUF ,A

TI,LOOP2

TI R0

A,@R0

A,@A+DPTR SBUF,A TI,LOOP3 TI P1.4

5DH 50H,#0AH

;小数位黑屏

DL2

0C0H ,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH A,#00H A,@R1 A,#01H

A,#30H,DAAD2 ;超过48度了吗?

@R1,A

DAAD3

@R1,#15EH

;超过48则转回到355

DAA

A,@R1

13

DEC A

CJNE A,#15EH,DEEC2

;低于355度了吗?

DEEC3: MOV @R1,A DEE : RET

DEEC2: JNC DEEC3 MOV @R1,#30H ;低于355则转回到48

AJMP DEE

T0中断子程序

PTT0: CLR EA

PUSH ACC PUSH PSW PUAH DPL

PUSH DPH

SETB EA PPP: LCALL SMAP LCALL FILTER MOV A,2AH CJNE A,#07H,AAA AJMP BBB

AAA: JC CCC CJNE A,#0FEH ,DDD AJMP BBB DDD: JC

BBB

CLR

P1.2 SETB 5EH

CLR P1.1 AJMP PPP

CCC: CLR P1.3 SETB 5FH

BBB: CLR P1.0 AJMP PPP SETB P1.0 SETB P1.1 SETB P1.2

SETB P1.3 CLR 5EH

CLR 5FH LCALL PID

JNB 20H,EEF MOV A,29H LCALL FFF

CLR P1.0

LOOP10: MOV R0,#56H MOV R1,#55H

;压栈后开中断响应键盘

:采样数据

;数字滤波

;取采样值 ;下限48比较

;小于48度转

;上限355比较

;转至48~355正常范围处理

;大于355黄灯亮

;置标志 启动风扇

;小于48红灯亮

;置标志启动电炉

;50~350之间正常 ;设定温度小于实际值转到风扇

;存放相乘结果的首址

;赋显示缓冲区最高位地址

14

LCALL SCACOV MOV R0,#53H

;标度转化 ;赋显示首址 ;等待T1中断

CLR DIR JB D5H,LOOP10 CLR EA POP

DPH

POP DPL

POP PSW

SETB EA POP ACC

RETI

EEE: MOV A,28H LCALL FFF

CLR P1.1

AJMP LOOP10

FFF: CRL A INC A

MOV TL1,A

MOV TH1,#0FFH SETB PI1

SETB TR1

SETB ET1 RET 标度转化

SCACOV :PROC NEAR MOV DX,0 MOV DATA1,#258H MOV DATA2,#708H MOV DATA3,#960H PROC NEAR

MOV DX,0 MOV AX,DATAP CMP AX,DATA3 JAE Q3DOR

CMP AX,DATA2

JAE Q3-Q2

CMP AX,DATA3 JAE Q2-Q1 Q0: MOV BX,0.8H MUL

BX

ADC DX,0

JMP DONE

Q2-Q1: MOV AX,#15EH Q3-Q2: SUB AX,DATA2

;风扇处理

;根据PID结果计算T1初值 ;取采样时间

;时间大于2400?

; 1800<时间<2400

; 600<时间<1800

;<600S Q=50+t/2

;Q=350 ;Q=350-(t-1800)/2

15

MOV BX,0.8H MUL MOV SUB MOV

BX

AX,#15EH AX,BX @R1,A

PP: RET 采样子程序

SWAP: MOV R0,#20H SAW1: DLY: HERE: 数字滤波

CMP1:

CMP2: CMP3:

CMP4: CMP5:

CMP6: RR: T1中断

PIT1:

MOV R1,#03H

MOV DPTR,#7FF8H MOVX @DPTR A MOV R2,#20H

R2,DLY JB P3.3 ,HERE

MOV DPTR,#7FF8H

MOVX A,@DPTR MOV @R0,A INC R0

DJNZ R1,SAM1 RET

FILTER: MOV A, 20H CJNE A,2DH CMP1 AJMP CMP2

JNC CMP2 XCH A,2DH XCH A,2CH

MOV A,2DH CJNE A,22EH,CMP3 MOV 2AH,A AJMP RR

JC CMP4 MOV 2AH,A AJMP RR

MOV A,2EH

CJNE A,2CH,CMP5

MOV 2AH ,A

AJMP RR

JC CMP6 XCH A,2CH

MOV 2AH,A CLR 00H

;A/D转化

;延时

;读转化结果 16

DJNZ RET JB 20H, GGG

SETB P1.0

GG: GGG:

CLR PT1 RETI

SETB P1.1 ;关闭电炉

;关闭风扇

CLR

20H

AJMP GG

延时10MS子程序

DLY10MS: MOV R7,#0A0H

DLOO: MOV R6,#0FFH DL11: DJNZ R6,DL11

DJNZ R7,DL00 RET

数字PID算法子程序

PID: MOV R5,#00H

MOV R4,2DH MOV R3,#00H

MOV R2,#32H LCALL CPL1

LCALL DSUM MOV R0,#5AH MOV R5,#05H

MOV R4,#1CH LCALL MULT

MOV 31H ,5BH

MOV 32H ,5AH MOV R5,31H

MOV R4,32H MOV R3,2AH

MOV R2,#00H ACALL CPL1 ACALL DSUM MOV 39H, R7

MOV 3AH,R6 MOV R5,35H

MOV R4,36H MOV R0,#4AH

ACALL MULT1 MOV R2,39H

MOV

R4,3AH MOV R3,3BH

MOV R2,3CH MOV R5,33H

MOV R4,34H

;取NX值

;取50 ;求(NX-32H)值

;赋乘法算法运算暂存单元地址首址 ;赋参数

;调无符号数乘法 ;存放结果有效值 ;取双字节UR(设定) ;取双字节实测值 ;取U(K)补码

;计算E(K) ;存E(K)

;取KI参数 ;计算PI=KI*E(K)

;取E(K)

;取E(K-1)

;取KP参数

17

MOV R0,#46H

ACALL MULT1 MOV R5,49H MOV R4,48H MOV R3,4DH MOV R2,4CH

LCALL DSUM

;KP*[ E(K)- E(K-1)]+ KI*E(K)

MOV 4AH, R7

MOV 4BH,R6 ;保存上式之和

;KP*[ E(K)- E(K-1)]

MOV R5,39H

MOV 3CH,3AH MOV A,31H CJNE A,2AH,AA2 AA3: CLR 20H AA1: RET AA2 JNC AA3 SETB 20H MOV R3,39H MOV R2,3AH LCALL CPL1 MOV A,R3 MOV R7,A MOV A,R2 MOV R6,A MOV R5,42H

MOV

R4,43H MOV R0,#5AH

ACALL MULT1

MOV 28H,5BH AJMP AA

DSUM: MOV A,R4 ADD

A,R2

MOV R6,A MOV A,R5 ADDC A,R3

MOV R7,A

RET 双字节求补

CPL1: MOV A,R2

CPL A ADD

A,#01H

MOV R2,A MOV A,R3 CPL A

;存E(K)到E(K-1)

;取设定值

;比较设定值与实测值 ;清电炉标志

; 清风扇标志位

;取K1风扇标志

;计算P=K*E(K)且结果存在51H,50H单元中;取8位有效值存在28H单元

;双字节加法子程序(R5R4)+(R3R2) (R7R6) 18

ADDC A,#00H

MOV R3,A RET

乘法 被乘数R7R6乘数R5R4

MULT1: MOV

A,R7

;被乘数符号C1 5CH位 ;为正数则转 ;为负数求补

RLC A

MOV 5CH,C JNC POS1 MOV A,R1 CPL

A

ADD A,#01H MOV R6,A MOV A,R7 CPL A

ADDC A,#00H MOV

R7,A

POS1: MOV

A,R5 RLC

A MOV 5DH,C

JNC POS2 MOV A,R4 CPL A

ADD A,#01H MOV R4,A MOV

A,R5

CPL A

ADDC A,#00H

MOV R5,A

POS2: ACALL MULT

MOV C,5CH

ANL C,5DH

JC

TPL

MOV C,5CH MOV C,5DH

JNC TPL DEC

R0

MOV A,@RO CPL A ADD A,#01 MOV @R0,A INC

R0

MOV A,@R0 CPL A

ADDC A,#00H

;取乘数

;乘数符号C2 5DH

;为正数则转

;负负相乘转

; 正正相乘转

19

MOV @R0,A

TPL: RET

MULT: MOV A,R6 MOV B,R4 MUL AB MOV @R0,A MOV R3,B ;取低位相乘

MOV MOV MUL ADD MOV MOV ADDC MOV MOV MOV MUL ADD

INC

MOV

CLR MOV

ADDC MOV

JNC

SETB LAST: MOV MOV MUL ADD

INC MOV MOV ADDC MOV ADDC INC MOV RET

END

A,R4 B,R7 AB A,R3 R3,A A,B A,#00H R2,A A,R6 B,R5 AB A,R3 R0 @R0,A

5BH A,R2 A,B R2,A

LAST

5BH A,R7 B,R5 AB A,R2 R0

@R0,A A,B

C,5BH R0 @R0,A

;置进位标志

;存积

20

A,#00H A,#00H 六、完整的系统电路图

七、系统调试

在设计完成后进行调试,根据设计逻辑图制作好实验样机,就可以进入硬件调试,调试的主要任务是排除样机的故障,其中包括设计错误和工艺性故障,然后在进行软件的调试用微型机对MCS51系列单片机程序进行交叉汇编。在硬件,软件单独调试后,即可进入硬件、软件联合调试阶段,找出硬件、软件之间不相匹配的地方,反复修改和调试,直到符合设计要求。

八、设计总结

在设计过程中,首先要熟悉系统的工艺,进行对象的分析,按照要求确定方案。然后要进行硬件和软件的设计,调试。由于没有实际的样机,所以不能看到系统的运行结果。只能在理论上对系统的结果进行预测分析。通过设计实验,使我掌握了微型机控制系统I/O接口的扩展方法,模拟量输入/输出通道的设计,常用控制程序的设计方法,数据处理及非线性补偿技术,以及数字控制器的设计方法。

21

九、参考文献

(1)潘新民 《微型计算机控制技术》 高等教育出版社 2001.7 (2)苗秀敏 《计算机控制系统及应用》 北京科学出版社 1995.4 (3)薛均义 《微机控制系统及应用》 西安交通大学出版社 2003.2 (4)黄胜军 《微型计算机控制应用实例集》 清华大学出版社 1987.4 (5)徐科军 《传感器与检测技术》 电子工业出版社 2004.9 (6)张凡 《微机原理与接口技术》 清华大学出版社 2003.10 (7)朱月秀 《单片机基础(修订版) 》 北京航空航天大学出版社 2001.7 (8)余锡存 (9)黄胜军 西安电子科技大学出版社 2000.7 (二) 》 清华大学出版社 1993.10

22

《单片机原理及接口技术》《微型计算机控制应用实例集

因篇幅问题不能全部显示,请点此查看更多更全内容

Top