收藏 分销(赏)

电烤箱闭环控制实验.doc

上传人:仙人****88 文档编号:9446843 上传时间:2025-03-26 格式:DOC 页数:12 大小:121.50KB
下载 相关 举报
电烤箱闭环控制实验.doc_第1页
第1页 / 共12页
电烤箱闭环控制实验.doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述
电烤箱闭环控制实验 一、 实验目的 1.了解PID控制器控制电烤箱的方法; 2.掌握数字PID算法及实现方法。 二、原理 TDN-AC/ACS 系统 驱动电路单元 电 路 烤箱 测温电路 给定量 温度 图8-15 电烤箱闭环控制实验原理图 电烤箱闭环控制实验原理图如图7-23所示。控制器、D/A、A/D由TDN-AC/ACS系统的相应单元完成。 三、接线图 电烤箱闭环控制实验接线图GATE2 IRQ6 PB10 OUT2 OPCLK CLK2 IRQ7 PA0 V PA7 8088 CPU 1 CLOCK IN0 EOC A D0 B V C D7 U12 A/DC +5V A +12V A1 U17 DRIVER 1+ 电烤箱 2- 固态继 电 器 电烤箱 AD +5 500W TDN-ACS系统 热敏电阻 10K 图7-23 电烤箱闭环控制实验接线图 如图8-16所示,具体工作说明如下: 1.控制量:TDN-ACS系统的8255PB10口输出的PWM脉冲信号为控制量,经驱动电路驱动烤箱上加热用固态继电器的吸合。 2.测温系统:温度测量使用了10K的热敏电阻,经A/D转换后构成反馈量。 3.控制器:由8088CPU组成。在8088CPU中控制偏差经PID运算产生相应控制量,使烤箱稳定在给定值。 4.8253的2号通道输出10ms方波的作用: ① 定时启动A/D转换器; ② 介入8259产生IRQ6中断,作为系统采样时钟。 四、实验内容 1.按图8-14接线; 2.将程序装入并调试; 3.调整PID参数找出合适的参数并纪录在表8-6。 表8-6 实验数据记录表 IBAND KPP KII KDD MP TS 1.例程中参数响应特征 0060H 1060H 0010H 0020H 10% 10min 2.去掉IBAND 0000H 1060H 0010H 0020H 3.自测一组较好参数 五、程序清单 STACK SEGMENT STACK DW 256 DUP(?) TOP LABEL WORD STACK ENDS DATA SEGMENT TS DB 64H SPEC DW 0064H IBAND DW 0060H KPP DW 1F60H KII DW 0010H KDD DW 0020H CH1 DB ? CH2 DB ? YK DW ? CK DB ? TC DB ? TKMARK DB ? ADMARK DB ? ADVALUE DB ? FPWM DB ? CK_1 DB ? EK_1 DW ? AEK_1 DW ? BEK DW ? AAA DB ? VAA DB ? BBB DB ? VBB DB ? R0 DW ? R1 DW ? R2 DW ? R3 DW ? R4 DW ? R5 DW ? R6 DW ? R7 DB ? R8 DW ? TABLE DB 14H,14H,14H,14H,14H,14H,14H,14H,14H,14H,15H,16H,17H,18H DB 19H,1AH DB 1BH,1CH,1DH,1EH,1EH,1FH,20H,21H,23H,24H,25H,26H,27H,28H,29H,2AH DB 2BH,2CH,2DH,2EH,2FH,31H,32H,32H,33H,34H,35H,36H,37H,38H,39H,3AH DB 3BH,3CH,3DH,3EH,3FH,40H,42H,43H,44H,45H,46H,47H,48H,49H,4AH,4BH DB 4CH,4DH,4EH,4FH,50H,4FH,50H,51H,52H,53H,54H,55H,56H,57H,58H,59H DB 5AH,5BH,5CH,5DH,5EH,5FH,60H,61H,62H,63H,64H,64H,65H,65H,66H,66H DB 67H,68H,69H,6AH,6BH,6CH,6DH,6EH,6EH,6FH,6FH,70H,71H,72H,73H,74H DB 75H,76H,77H,78H,79H,7AH,7BH,7CH,7DH,7EH,7FH,80H,81H,82H,83H,84H DB 84H,85H,86H,87H,88H,89H,8AH,8BH,8CH,8EH,8FH,90H,91H,92H,93H,94H DB 95H,96H,97H,98H,99H,9AH,9BH,9BH,9CH,9CH,9DH,9DH,9EH,9EH,9FH,9FH DB 0A0H,0A1H,0A2H,0A3H,0A4H,0A5H,0A6H,0A7H,0A8H,0A9H,0AAH,0ABH,0ACH DB 0ADH,0AEH,0AFH DB 0B0H,0B0H,0B1H,0B2H,0B3H,0B4H,0B4H,0B5H,0B6H,0B7H,0B8H,0B9H,0BAH DB 0BBH,0BDH,0BEH DB 0BEH,0C1H,0C2H,0C3H,0C4H,0C5H,0C6H,0C8H,0CAH,0CCH,0CEH,0CFH,0D0H DB 0D1H,0D2H,0D4H DB 0D5H,0D6H,0D7H,0D8H,0D9H,0DAH,0DBH,0DCH,0DDH,0DEH,0E3H,0E6H,0E9H DB 0ECH,0F0H,0F2H DB 0F6H,0FAH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MAIN: CALL SYSTEM ;Initiate System CALL INIT ;Initiate STI M1: CMP TKMARK,01H ;Judge Ts=Tc ? JNZ M1 MOV TKMARK,00H M2: CMP ADMARK,01H JNZ M2 MOV ADMARK,00H MOV AX,0000H MOV AL,ADVALUE MOV BX,OFFSET TABLE ADD BX,AX MOV AL,[BX] MOV YK,AX CALL PID ;Count Ck MOV AL,CK ;Translate Ck into PWM SUB AL,80H JC IS0 MOV AAA,AL JMP COU IS0: MOV AL,00H MOV AAA,AL COU: MOV AL,7FH SUB AL,AAA MOV BBB,AL MOV AX,SPEC ;SPEC to CH1 MOV CH1,AL MOV AX,YK ;YK to CH2 MOV CH2,AL CALL PUT_COM ;Display Wave JMP M1 PUT_COM: MOV AL,31H OUT 0C1H,AL MOV AL,CH1 OUT 0C0H,AL WAIT1: IN AL,0C1H TEST AL,01H JZ WAIT1 MOV AL,CH2 OUT 0C0H,AL WAIT2: IN AL,0C1H TEST AL,01H JZ WAIT2 MOV AL,34H OUT 0C1H,AL RET INIT: NOP PUSH DS XOR AX,AX MOV DS,AX MOV AX,OFFSET IRQ6 ;8259 IRQ6(T0:10ms) ADD AX,2000H ;LOAD IP adress=2000H MOV SI,0038H MOV [SI],AX MOV AX,0000H MOV SI,003AH MOV [SI],AX MOV AX,OFFSET IRQ7 ;8259 IRQ7(INT0:Get ADvalue) ADD AX,2000H ;LOAD IP adress=2000H MOV SI,003CH MOV [SI],AX MOV AX,0000H MOV SI,003EH MOV [SI],AX CLI POP DS IN AL,21H AND AL,3FH ;allow IRQ6,IRQ7 OUT 21H,AL MOV CK,00H MOV YK,0000H MOV CK_1,00H MOV EK_1,0000H MOV AEK_1,0000H MOV BEK,0000H MOV BBB,00H MOV VBB,00H MOV R0,0000H MOV R1,0000H MOV R2,0000H MOV R3,0000H MOV R4,0000H MOV R5,0000H MOV R6,0000H MOV R7,00H MOV R8,0000H MOV TKMARK,00H MOV FPWM,01H MOV ADMARK,00H MOV ADVALUE,00H MOV AAA,7FH MOV VAA,7FH MOV TC,00H MOV AL,90H ;Initiate 8255-B(out) A(IN) OUT 63H,AL MOV AL,00H OUT 61H,AL MOV AL,0B6H ;8253-OUT2 OUT 43H,AL MOV AL,69H ;10ms OUT 42H,AL MOV AL,2DH OUT 42H,AL RET SYSTEM: MOV AL,76H OUT 43H,AL MOV AL,0CH OUT 41H,AL MOV AL,00H OUT 41H,AL MOV AL,00H OUT 0C1H,AL CALL DLY1 OUT 0C1H,AL CALL DLY1 OUT 0C1H,AL CALL DLY1 OUT 0C0H,AL CALL DLY1 OUT 0C0H,AL CALL DLY1 MOV AL,40H OUT 0C1H,AL CALL DLY1 MOV AL,7EH OUT 0C1H,AL CALL DLY1 MOV AL,34H OUT 0C1H,AL CALL DLY1 IN AL,21H OR AL,01H OUT 21H,AL RET DLY1: NOP PUSH CX MOV CX,3000H B2: PUSH AX POP AX LOOP B2 POP CX RET IRQ7: NOP PUSH AX IN AL,60H MOV ADVALUE,AL MOV ADMARK,01H MOV AL,20H ;Close IRQ7 OUT 20H,AL POP AX IRET IRQ6: NOP PUSH AX MOV AL,TC CMP AL,TS JNC TT2 INC TC TT1: CALL KJ MOV AL,20H ;Close IRQ6 OUT 20H,AL POP AX IRET TT2: MOV TKMARK,01H MOV TC,00H JMP TT1 KJ: NOP PUSH AX CMP FPWM,01H JNZ TEST2 CMP VAA,00H JNZ ANOT0 MOV FPWM,02H MOV AL,BBB CLC RCR AL,01H MOV VBB,AL JMP TEST2 ANOT0: DEC VAA MOV AL,01H OUT 61H,AL TEST2: CMP FPWM,02H JNZ OUTT CMP VBB,00H JNZ BNOT0 MOV FPWM,01H MOV AL,AAA CLC RCR AL,01H MOV VAA,AL JMP OUTT BNOT0: DEC VBB MOV AL,00H OUT 61H,AL OUTT: POP AX RET PID: MOV AX,SPEC SUB AX,YK MOV R0,AX MOV R1,AX SUB AX,EK_1 MOV R2,AX SUB AX,AEK_1 MOV BEK,AX MOV R8,AX MOV AX,R1 MOV EK_1,AX MOV AX,R2 MOV AEK_1,AX TEST R1,8000H JZ EK1 NEG R1 EK1: MOV AX,R1 SUB AX,IBAND JC II MOV R3,00H JMP DDD II: MOV AL,TS MOV AH,00H MOV CX,R1 MUL CX MOV CX,KII DIV CX MOV R3,AX TEST R0,8000H JZ DDD NEG R3 DDD: TEST BEK,8000H JZ DDD1 NEG BEK DDD1: MOV AX,BEK MOV CX,KDD MUL CX PUSH AX PUSH DX MOV AL,TS MOV AH,00H MOV CX,0008H MUL CX MOV CX,AX POP DX POP AX DIV CX MOV R4,AX TEST R8,8000H JZ DD1 NEG R4 DD1: MOV AX,R3 ADD AX,R4 MOV R5,AX JO L9 L2: MOV AX,R5 ADD AX,R2 MOV R6,AX JO L3 L5: MOV AX,R6 MOV CX,KPP IMUL CX MOV CX,1000H IDIV CX MOV CX,AX RCL AH,01H PUSHF RCR AL,01H POPF JC LLL1 CMP CH,00H JZ LLL2 MOV AL,7FH JMP LLL2 LLL1: CMP CH,0FFH JZ LLL2 MOV AL,80H LLL2: MOV R7,AL ADD AL,CK_1 JO L8 L18: MOV CK_1,AL ADD AL,80H MOV CK,AL RET L8: TEST R7,80H JNZ L17 MOV AL,7FH JMP L18 L17: MOV AL,80H JMP L18 L9: TEST R3,8000H JNZ L1 MOV R5,7FFFH JMP L2 L1: MOV R5,8000H JMP L2 L3: TEST R2,8000H JNZ L4 MOV R6,7FFFH JMP L5 L4: MOV R6,8000H JMP L5 CODE ENDS END START 六、实验程序参数说明 符号 单位 取值范围 名 称 及 作 用 TS 10ms 00H-FFH 采样周期:决定数据采集处理快慢程度 SPEC °C 14H-FAH 给定:即要求烤箱达到的温度值 IBAND 0000H-007FH 积分分离值:PID算法中积分分离值 KPP 0000H-1FFFH 比例系数:PID算法中比例项系数值 KII 0000H-1FFFH 积分系数:PID算法中积分项系数值 KDD 0000H-1FFFH 微分系数:PID算法中微分项系数值 CH1 00H-FFH 通道1值:在示波器功能中所显示值需放入此单元中然后再调用PUT_COM发送子程序 CH2 00H-FFH 通道2值:(同上) YK °C 0014H-00FAH 反馈:通过热敏电阻反馈算出的烤箱温度反馈值 CK 00H-FFH 控制量:PID算法产生用于控制的量 TKMARK 00H-01H 采样标志位 ADMARK 00H-01H A/D转换结束标志位 ADVALUE 00H-FFH A/D转换结果寄存单元 TC 00H-FFH 采样周期变量 FPWM 00H-01H PWM脉冲中间标志位 CK_1 00H-FFH 控制量变量:纪录上次控制量值 EK_1 0000H-FFFFH PID偏量:E(K)=SPEC(K)-YK(K) AEK_1 0000H-FFFFH DE(K)=E(K)-E(K-1) BEK 0000H-FFFFH D2E(K)=DE(K)-DE(K-1) AAA 00H-FFH 用于PWM脉冲高电平时间计算 VAA 00H-FFH AAA变量 BBB 00H-FFH 用于PWM脉低冲电平时间计算 VBB 00H-FFH BBB变量 R0-R8 PID计算用变量
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服