烤箱温度控制设计概要

上传人:文**** 文档编号:209220948 上传时间:2023-05-12 格式:DOC 页数:41 大小:58.50KB
收藏 版权申诉 举报 下载
烤箱温度控制设计概要_第1页
第1页 / 共41页
烤箱温度控制设计概要_第2页
第2页 / 共41页
烤箱温度控制设计概要_第3页
第3页 / 共41页
资源描述:

《烤箱温度控制设计概要》由会员分享,可在线阅读,更多相关《烤箱温度控制设计概要(41页珍藏版)》请在装配图网上搜索。

1、:烤箱温度控制系统的设计(计算机控制技术基础课程设计 专业:自动化组员:吴传林唐思黄定肖骁重庆大学自动化学院2013年9月吴传林唐思肖骁黄定烤箱温度控制系统的设计(采用PD-32E实验装置目录摘要 (1序言 (11.设计内容 (2已知参数和设计要求 (2实现方法 (22.组员分工 (23. 硬件部分组成 (3硬件连接 (3 AD574 (3 PT100 (4 芯片8255 (44.操作说明 (55.设计总体思路 (5设计步骤 (6主程序的设计 (6?温度设定子程序 (6读取当前温度子程序 (6温度比较以及加热子程序 (6报警子程序 (7原理分析 (76.实验结果 (77.原程序清单 (88.设

2、计感想 (8吴传林感想 (8唐思感想 (9肖骁感想 (10附录 (12系统框图 (12程序代码: (18摘要本文是对烤箱温度控制系统进行设计,在烤箱温度控制系统中,利用计算机对烤箱的继电器发出不同的信号,来控制继电器的开断,从而能够实现控制烤箱加热与否的控制。本系统采用了反馈控制,是经典控制理论在实际中成功应用的典型实例。本次采用的信号输出芯片是8255。而温度采集则是用了PT100感温电阻,将电信号送至A/D574中,利用A/D574的模数转换功能,将采集的温度模拟信号转换成计算机可以识别的电信号,进而在计算机内对这些电信号进行处理,经过反馈控制算法来输出控制烤箱的电信号。关键词:反馈控制算

3、法,A/D574模数转换,计算机控制序言温度控制技术广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,传统的温度控制技术中最常见的是继电器调温,但由于继电器动作频繁,温度控制范围小,精度不高,可能会因触点不良而影响正常工作。最近几年快速发展的有PID 温控、模糊控制、神经网络以及遗传算法在温度控制中的应用。烤箱是热处理生产中应用最广的加热设备,它电流通过电热元件产生热量,借助辐射和对流的传递方式,将热量传递给所要加热的物品,使其加热到所要求的温度。本文设计的烤箱温度控制系统,是利用计算机对其温度进行控制,采用反馈控制算法,以实现对烤箱温度控制,达到控制性能要求的指标。11.设计内容

4、已知参数和设计要求1.某烤箱的温度控制要求为:控制烤箱温度从室温上升到目标温度并一直保持在该目标温度,要求控制的精度达3%,调节时间20秒。2.目标温度应可以通过键盘任意修改。3.完成温度检测、温度变松,温度显示(LED和CRT曲线、温度控制、通过键盘设定上、下限温度报警值,温度超限报警(声、光等功能。实现方法采用PD-32E实验装置实现(限5人选做2.组员分工姓名职务负责的部分吴传林组长键盘扫描、判断控制、显示模块程序编写,程序的编译和调试唐思组员AD574转换,标度变换,控制算法,PWM波生成,程序的编译和调试肖骁组员报警程序、读入温度值拆分、键盘输入值合并,报告撰写黄定组员3.硬件部分组

5、成硬件连接18255部分(第5片连线:8255(5的CS结CS2 300H,PA0PA3接键盘P0P3,PB0PB3接键盘Q0Q3,PC0接烤箱的PWM控制信号接收端。2AD574连线:AD574的CS接地址输入端CS7,AD574的12/8接VCC;AD574的A0接GND,AD574的10VIN 接其上方的5V,10VIN接PT100模块的PT_OUT。3蜂鸣器接8255的PC1口。硬件介绍 AD574 AD574A是单片高速12位逐次比较型A/D转换器,内置双极性电路构成的混合集成转换芯片,具有外接元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可

6、构成一个完整的A/D转换器,其主要功能特性如下:在CE=1、CS=0同时满足时,AD574A才会正常工作,在AD574处于工作状态时,当R/C=0时A/D转换,当R/C=1是进行数据读出。和A0端用来控制启动转换的方式和数据输出格式。A0=0时,启动的是按完整12位数据方式进行的。当A0=1时,按8位A/D转换方式进行。当R/C=1,也即当AD574A处于数据状态时,A0和R/C控制数据输出状态的格式。当R/C=1时,数据以12位并行输出,当R/C=0时,数据以8位分两次输出。而当A0=0时,输出转换数据的高8位,A0=1时输出A/D转换数据的低4位,这四位占一个字节的高半字节,低半字节补零。

7、如果需AD574A工作于单一模式,只需将CE、端接至+5V电源端,和A0接至0V,仅用端来控制A/D转换的启动和数据输出。当=0时,启动A/D转换器,经25us后STS=1,表明A/D转换结束,此时将置1,即可从数据端读取数据。| PT100pt100是铂热电阻,它的阻值会随着温度的变化而改变。PT后的100即表示它在0时阻值为100欧姆,在100时它的阻值约为欧姆。它的工作原理:当PT100在0摄氏度的时候他的阻值为100欧姆,它的阻值会随着温度上升而成近似匀速的增长。但他们之间的关系并不是简单的正比的关系,而更应该趋近于一条抛物线。常见的pt100感温元件有陶瓷元件,玻璃元件,云母元件,它

8、们是由铂丝分别绕在陶瓷骨架,玻璃骨架,云母骨架上再经过复杂的工艺加工而成。PT100/PT1000铂电阻RT曲线图表: 图 芯片82558255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接

9、部分、与外设连接部分、控制部分。 图4.操作说明键盘上的A键为启动键,B键为复位键,D为设置温度上限,E为设置温度下限,0-9数字键输入温度值。5.设计总体思路框图如图所示:控制器烤箱温度采集我们采用的是传统的反馈控制策略,其具体过程如下:一开始,给定一个输入信号,即期望温度,此时,控制程序还没有起作用,此信号通过变送器送至继电器,继电器导通,使烤箱处于工作状态。这时,温度传感器就把烤箱内的温度转变成电信号送至计算机中。计算机则将此电信号与输入的期望温度进行比较,通过控制器,根据不同的设定及差值,选择不同的控制算法。由于计算机内的电信号都是脉冲信号,因此,可以调节脉冲信号的占空比来调节继电器的

10、断开与导通的时间。期望值与测量值的差距大,就增大占空比,使一个周期内的加热时间增长,反之,则减小占空比。采用上述的控制策略,即可以实现温度调节,达到控制指标的要求。设计步骤主程序的设计首先确定主程序所要实现的目标,即:预设显示输出,输入温度上限、温度下限,输入设定温度值,显示预设温度,实时刷新当前温度并显示,比较实时温度与设定温度差值并进行反馈控制,控制温度达到性能指标要求。然后,确定了主程序所要实现的功能以后,在相应的编写各个子程序模块。同时,要考虑在整个系统实现的过程中,所要运用到的芯片,好进行芯片的初始化。如8255,AD574等温度设定子程序温度设定子程序,即,从键盘上输入3个数字,将

11、其存放在指定的空间区域内。读取当前温度子程序即AD574的使用过程。首先,先将AD574初始化,启动转换,转换结果屏蔽高4位后,将所得到的结果存放在指定单元中,为当前温度。温度比较以及加热子程序将前一步骤采集到的当前温度进行标度变换,比较设定值的大小与当前温度和设定值之差,然后做出相应的标记,然后根据不同的标记跳到相应的加热子程序中。其基本原则就是:实际温度和期望温度差距越大,加热子程序中,每个周期的高电平占空比就越大,若设定值比较大,则直接采用满程输出。报警子程序烤箱工作时,当烤箱温度超过设置温度上限和低于温度下限时,调用子程序,否则跳出子程序;其中接蜂鸣器的控制信号为第五片8255A的PC

12、1口输出信号,输出0时,蜂鸣器发出警报,输出为1时,声音停止。原理分析制烤箱温度的系统,我们采用反馈控制算法。利用计算机控制中的A/D转换器,将采集到的模拟信号转换成数字信号,然后送入计算机进行处理。在计算机中,我们编写了控制算法,将送入的电信号经过该算法,输出一个控制继电器开关的脉冲信号,我们可以通过调节脉冲高电平的占空比,来控制一个信号周期内加热时间的长短。从而实现控制。又由于这个占空比是实时变化的,所以,这是一个变比例系数的P控制器。利用这个控制器,我们可以使烤箱内的温度保持在我们所设定的期望值。6.实验结果实验结果如下表所示:实验次数初始温度设定温度调节时间超调量误差1351004 %

13、)2401402 %3601602 %45022012%本次设计总体上还是比较成功,基本上实现了任务要求。只有调节时间的,可能是冗长的程序,或者是电烤箱的功率问题,又或者是自己反馈补偿参数设计不够完善,总之,不能达到要求的20秒以内,此为设计的瑕疵。7.原程序清单见附录48.设计感想;吴传林感想作为我们团队的组长,需要确定合适的电路,对电路进行调试,将变送器调至最合适的范围。同时还要确定与硬件相关的软件主体思想。一个项目的成败,与组长的整体协调能力关系很大。这次的时间比较紧张,而且之前没怎么做过过程控制类的题目,所以可以说是时间短、任务重。热敏电阻PT100之前接触过,但是没有和计算机连起来使

14、用,也是一个新的挑战。这次设计我吸取的上次计算机硬件课程设计的教训,学会多利用子程序,而不是要把所有的问题都用一个主程序解决,却很少使用子程序。这样,不但别人读不懂自己的程序,就连自己有时候都读不懂自己的程序。这次课程设计感觉比以前进步的一点就是程序的模块化思想更加深刻。之前总也用程序段的方式插入的主程序中,而这次则是尽量减少主程序的内容,将所有的处理部分都写成子程序,设计好入口参数,就可以是整个程序思路清晰,一目了然。一个好的程序编写者并不是会把所有的模块都自己写出来,而是可以将自己搜索到的各种模块与自己的项目结合,设计好接口参数,达到事半功倍的效果。这次的程序就用了之前做过的一些设计的模块

15、,如实时显示刷新模块,延时程序,报警子程序等。这些之前积累下来的宝贵资料大大加快了本次课程设计的速度。通过了这次课程设计,虽然很累,但过得很充实,收获也很多,我们将学到的知识又重新的复习了一遍,在原来的基础上巩固了对理论知识的理解并且提升了自己的实践能力。对汇编语言的使用有了进一步的提高,对一个大系统进行模块化分析是以前没有尝试过的,分工合作也让我们学会团结互助,让我们对团队合作精神理解得更透彻,对于我们以后的学习或者工作中都有深远的意义。唐思感想MOV BP,AXCMP BL,SI+BP ;按下的键从零开始的比较JZ JPSM2INC AJZJMP JPSM1JPSM2:CALL PANDU

16、AN ;判断输入值JPSM3:%POPARETJPSM ENDP;-去抖动延时-DL Y_L PROCPUSH CXMOV CX,0FFFFHDL YL_AGN: NOP/LOOP DL YL_AGNPOP CXRETDL Y_L ENDP;-判断输入值- PANDUAN PROCPUSHAMOV BL,AJZ ;按下的键值MOV BH,AJCS ;按键次数:CMP BL,9JA PAN1 ;大于9跳转CMP BH,2JA PAN7 ;大于2跳转INC AJCS ;次数加一CALL YSZXS ;调用预设值显示子程序JMP PAN7PAN1:$CMP BL,0BHJZ PAN4 ;等于B跳转C

17、MP BL,0CHJZ PAN5 ;等于C跳转CMP BL,0FHJZ PAN7 ;等于F跳转CMP BH,3 ;判断次数AJCS是否等于3JNZ PAN7 ;不等于3跳转、CALL ZUHE ;将输入的三个数组合MOV CX,ZCWD ;将组合好的数存放在CXCMP BL,0AHJNZ PAN2 ; 不等于A跳转CMP CX,WDSX ; 与上限温度比较JA PAN7 ; 大于上限温度跳转CMP CX,WDXX ; 与下限温度比较JB PAN7 ; 小于下限温度跳转|INC AJCS ; 次数加1,变为4MOV YSWD,CX ; 得到预设温度JMP PAN7PAN2:CMP BL,0DHJ

18、NZ PAN3 ; 等于D跳转MOV WDSX,CX ; 得到上限温度PAN3: MOV WDXX,CX ; 得到下限温度JMP PAN6PAN4: CMP BH,3JA PAN7 ; 大于3跳转JMP PAN6PAN5: CMP BH,4JNZ PAN7 ; 不等于4跳转PAN6: MOV AJCS,0 ; 次数清零MOV DX,20AH ; 8255(3C口地址?MOV AX,0F0FH ;预设温度显示关闭OUT DX,AXPAN7: POPARETPANDUAN ENDP;-预设值显示-YSZXS PROCPUSHA。MOV CL,AJCSLEA B X,LED ;将存放三色LED字型码

19、地址给BXMOV AL,AJZ ;将按下键的数值给AL,以待查表转换LEA D I,SRXS ;将存放输入温度数值的地址给DILEA S I,YSXS ;将存放显示温度字型码的地址给SIMOV DX,20AH ;8255(3C口地址CMP CL,1JZ SH1 ;等于1跳转】CMP CL,2JZ SH2 ;等于2跳转CMP CL,3JZ SH3 ;等于3跳转JMP SH5SH1: MOV DI,AL ;将最高位存放XLAT ;查表转换MOV SI,AL ;将最高位的字型码存放&MOV AX,0F0EH ;LED只显示最高位,绿色SH2: MOV DI+1,AL ;将次高位存放XLATMOV S

20、I+1,AL ;将次高位的字型码存放MOV AX,0F0AH ;LED显示前两位,绿色JMP SH4SH3: MOV DI+2,AL ;将最低位存放XLATMOV SI+2,AL ;将最低位的字型码存放MOV AX,0E0AH ;LED显示三位,绿色!JMP SH4SH4: OUT DX,AXMOV DX,202H ;8255(3A口地址LEA S I,YSXS ;将显示温度的字型码地址给SICALL XIANSHIOUT ;显示SH5: POPARETYSZXS ENDP;-实际值显示-XSSW PROCPUSHACALL ZHUAN ;将实际温度转换为字型码MOV DX,208H ;825

21、5(1C口地址MOV AX,0D05H ;红色OUT DX,AXMOV DX,200H ;8255(1A口地址LEA S I,SWXS ;将显示温度的字型码地址给SI%CALL XIANSHIOUT ;显示输出POPARETXSSW ENDP;-显示输出- XIANSHIOUT PROCPUSHAMOV AL,SIOUT DX,AL ;输出最高位INC SIMOV AL,SIADD DX,4OUT DX,AL ;输出次高位INC SIMOV AL,SISUB D X,3OUT DX,AL ;输出最低位POPARETXIANSHIOUT ENDP;-将输入的三个数组合成一个数- ZUHE PRO

22、CPUSHALEA S I,SRXS ;输入温度数值的地址MOV CL,10MOV AL,SIMOV AH,0MUL CL ;最高位乘以10INC SIADD AL,SI ;加次高位MUL CL ;和再乘以10INC SIMOV BL,SIMOV BH,0ADD AX,BX ;再加最低位MOV ZCWD,AX ;得到温度值ZUHE1: POPARETZUHE ENDP;-实际温度转换为字型码- ZHUAN PROCPUSHALEA S I,SWXS ;显示温度字型码地址LEA B X,LED ;三色LED字型码地址MOV AX,SJWD ;实际温度值MOV CL,100DIV CL ;除以10

23、0,商是最高位XLATMOV SI,AL ;将最高位的字型码存放INC SIMOV AL,AHMOV AH,0MOV CL,10DIV CL ;余数除以10,商是次高位,余数为最低位XLATMOV SI,AL ;将次高位存放INC SIMOV AL,AHXLATMOV SI,AL ;将最低位存放POPARETZHUAN ENDP;-标度变换子程序-BDBH PROC NEARPUSHAMOV AX,ADJG.MOV CX,10MUL CXMOV CX,3DIV CXMOV CX,2MUL CXMOV CX,91DIV CX*MOV BDBHJG,AX ;保存标度变换后的结果MOV SJWD,A

24、XPOPARETBDBH ENDP;-A/D转换子程序-ADZH PROC NEARPUSHAMOV DX,3C0H ; A/D地址MOV AL,0 ; 虚写,启动12位A/D转换OUT DX,ALMOV CX,20hLOOP $ ; 延时等待A/D转换完成IN AX,DX ; 一次性读取12位转换结果AND AX,00FFFH ; 屏蔽掉高4位MOV ADJG,AX ; 保存结果,POPARETADZH ENDP;-控制算法子程序-KZSF PROC ;用于输出控制标志ZKBPUSHAMOV AX,BDBHJGMOV BX,YSWD、CMP AX,BXJB KZ1MOV CX,0 ;设定值小

25、于实际值,输出的控制标志为0 MOV ZKB,CXJMP KZEDKZ1: SUB B X,AXMOV CX,10CMP BX,CXJA F100CMP YSWD,150JA F100CMP YSWD,100JB KZ2MOV AX,BXMUL XISHUADD AX,50MOV BX,AX!JMP KZ3KZ2: MOV AX,BXMUL XISHU2MOV BX,AXKZ3: MOV ZKB,BX ;设定值比实际值大10以内,采用补偿算法JMP KZEDF100: MOV CX,100MOV ZKB,CX ;设定值比实际值大10以外,输出为满程KZED:POPARETKZSF ENDP;-

26、PWM波形成子程序-PWM PROC ;用来将控制标志转换为PWM波形PUSHAMOV CX,ZKBMOV BX,0 ;特殊处理ZKB为0的情况,避免出现问题CMP BX,CXJZ PWM1PWM0: NOPNOPNOPMOV DX,30CHMOV AL,00000000B ;为第五片8255的PC0赋值0OUT DX,ALNOPNOPLOOP PWM0 ;进行ZKB次循环,由于PC0的输出始终为1,达到加热效果PWM1: MOV CX,ZKBMOV BX,100SUB B X,CXMOV CX,BXMOV BX,0CMP BX,CXJZ PWM3 ;特殊处理ZKB为0的情况,避免出现问题PW

27、M2: NOPNOPNOPMOV DX,30CHMOV AL,00000001B ;为第五片8255的PC0赋值1OUT DX,ALNOPNOPLOOP PWM2 ;进行(100-ZKB次循环,由于PC0的输出始终为1,达到加热效果PWM3:POPARETPWM ENDP;-报警子程序-BJQ PROC ;此函数用来处理于温度上下限有关的警报的内容PUSHAMOV AX,WDSXMOV BX,BDBHJGCMP AX,BXJB FMQ ;小于的话跳到蜂鸣器执行环节MOV AX,WDXXMOV BX,BDBHJGCMP AX,BXJA FMQ ;大于的话跳到蜂鸣器执行环节JMP BJQ1FMQ: MOV DX,30CHMOV AL,00000010B ;为第五片8255的PC1赋值0OUT DX,ALCALL JPSMCALL ADZHCALL BDBHJMP BJQ1BJQ1: MOV DX,30CHMOV AL,00000011B ;为第五片8255的PC1赋值1OUT DX,ALPOPARETBJQ ENDP;-程序结束-CODE ENDSEND START

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!