烤箱温度控制设计_第1页
烤箱温度控制设计_第2页
烤箱温度控制设计_第3页
烤箱温度控制设计_第4页
烤箱温度控制设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、烤箱温度控制系统的设计(计算机控制技术基础课程设计)专业:自动化组员:吴传林唐思黄定肖骁重庆大学自动化学院2013年 9月吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)目 录摘要.1序言.11.设计内容 .21.1已知参数和设计要求 .21.2实现方法 .22.组员分工 .23.硬件部分组成 .33.1硬件连接 .33.2.1AD574 .33.2.2PT100 .43.2.3芯片 8255 .44.操作说明 .55.设计总体思路 .55.1设计步骤 .65.1.1主程序的设计 .65.1.2温度设定子程序 .65.1.3读取当前温度子程序 .65.1.4温度比较以及

2、加热子程序 .65.1.5报警子程序 .75.2原理分析 .76.实验结果 .77.原程序清单 .88.设计感想 .88.1吴传林感想 .88.2唐思感想 .98.3肖骁感想 .10附录.12系统框图 .12程序代码 : .18摘要本文是对烤箱温度控制系统进行设计,在烤箱温度控制系统中,利用计算机对烤箱的继电器发出不同的信号,来控制继电器的开断,从而能够实现控制烤箱加热与否的控制。本系统采用了反馈控制,是经典控制理论在实际中成功应用的典型实例。本次采用的信号输出芯片是8255。而温度采集则是用了PT100 感温电阻, 将电信号送至A/D574 中,利用 A/D574 的模数转换功能,将采集的温

3、度模拟信号转换成计算机可以识别的电信号,进而在计算机内对这些电信号进行处理,经过反馈控制算法来输出控制烤箱的电信号。关键词:反馈控制算法,A/D574 模数转换,计算机控制序言温度控制技术广泛应用于社会生活的各个领域, 如家电、汽车、材料、电力电子等,传统的温度控制技术中最常见的是继电器调温, 但由于继电器动作频繁, 温度控制范围小 , 精度不高 , 可能会因触点不良而影响正常工作。 最近几年快速发展的有 PID 温控、模糊控制、神经网络 以及遗传算法在温度控制中的应用。烤箱是热处理生产中应用最广的加热设备 , 它电流通过电热元件产生热量 , 借助辐射和对流的传递方式 , 将热量传递给所要加热

4、的物品 , 使其加热到所要求的温度。本文设计的烤箱温度控制系统,是利用计算机对其温度进行控制,采用反馈控制算法,以实现对烤箱温度控制,达到控制性能要求的指标。1吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)1. 设计内容1.1 已知参数和设计要求1. 某烤箱的温度控制要求为: 控制烤箱温度从室温上升到目标温度并一直保持在该目标温度,要求控制的精度达± 3%,调节时间 20 秒。2. 目标温度应可以通过键盘任意修改。3. 完成温度检测、温度变松,温度显示( LED和 CRT曲线)、温度控制、通过键盘设定上、下限温度报警值,温度超限报警(声、光)等功能。1.2

5、实现方法采用 PD-32E实验装置实现(限 5 人选做)2. 组员分工姓名职务负责的部分吴传林组长键盘扫描、判断控制、显示模块程序编写,程序的编译和调试唐思组员AD574 转换,标度变换,控制算法, PWM 波生成,程序的编译和调试肖骁组员报警程序、读入温度值拆分、键盘输入值合并,报告撰写黄定组员2吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)3. 硬件部分组成3.1 硬件连接1) 8255 部分(第5 片)连线:8255( 5)的 CS 结 CS2 300H , PA0PA3 接键盘 P0P3,PB0PB3 接键盘 Q0Q3 , PC0 接烤箱的 PWM 控制信号接

6、收端。2) AD574 连线:AD574 的 CS 接地址输入端 CS7,AD574 的 12/8 接 VCC ;AD574 的 A0 接 GND ,AD574 的 10VIN 接其上方的± 5V, 10VIN 接 PT100 模块的 PT_OUT。3)蜂鸣器接8255 的 PC1口。3.2 硬件介绍3.2.1 AD574AD574A是单片高速 12 位逐次比较型 A/D 转换器,内置双极性电路构成的混合集成转换芯片,具有外接元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D 转换器,其主要功能特性如下:在 CE=1、CS=

7、0同时满足时, AD574A才会正常工作,在 AD574处于工作状态时,当R/C=0时 A/D 转换,当 R/C=1是进行数据读出。 和 A0 端用来控制启动转换的方式和数据输出格式。 A0=0 时,启动的是按完整 12 位数据方式进行的。当 A0=1 时,按 8 位 A/D3吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)转换方式进行。当 R/C=1,也即当 AD574A处于数据状态时, A0 和 R/C 控制数据输出状态的格式。当 R/C=1时,数据以 12 位并行输出,当 R/C=0时,数据以 8 位分两次输出。而当 A0=0时,输出转换数据的高 8 位, A0=

8、1时输出 A/D 转换数据的低 4 位,这四位占一个字节的高半字节,低半字节补零。如果需 AD574A工作于单一模式,只需将 CE、端接至 +5V 电源端,和 A0 接至 0V,仅用端来控制 A/D 转换的启动和数据输出。当 =0 时,启动 A/D 转换器,经 25us 后 STS=1,表明 A/D 转换结束,此时将置 1,即可从数据端读取数据。3.2.2 PT100pt100 是铂热电阻,它的阻值会随着温度的变化而改变。 PT 后的 100 即表示它在 0 时阻值为 100 欧姆,在 100时它的阻值约为 138.5 欧姆。它的工作原理:当 PT100在 0 摄氏度的时候他的阻值为 100

9、欧姆,它的阻值会随着温度上升而成近似匀速的增长。但他们之间的关系并不是简单的正比的关系,而更应该趋近于一条抛物线。常见的 pt100 感温元件有陶瓷元件,玻璃元件,云母元件,它们是由铂丝分别绕在陶瓷骨架,玻璃骨架,云母骨架上再经过复杂的工艺加工而成。PT100/PT1000铂电阻 RT曲线图表:图 3.13.2.3 芯片 82558255 是 Intel公司生产的可编程并行I/O 接口芯片,有 3 个 8 位并行 I/O 口。具有 3 个通道 3 种工作方式的可编程并行接口芯片 (40 引脚)。其各口功能可由软件选择,使用灵活,通用性强。 8255 可作为单片机与多种外设连接时的中间接口电路。

10、8255 作为主机与外设的连接芯片, 必须提供与主机相连的3 个总线接口, 即数据线、地址线、控制线接口。同时必须具有与外设连接的接口 A、 B、 C 口。由于 8255 可编程 , 所以必须具有逻辑控制部分, 因而 8255 内部结构分为 3 个部分:与 CPU连接部分、与外设连接部分、控制部分。4吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)图 3.24. 操作说明键盘上的 A 键为启动键, B 键为复位键, D 为设置温度上限, E 为设置温度下限, 0 -9 数字键输入温度值。5. 设计总体思路框图如图所示:控制器烤箱温度采集我们采用的是传统的反馈控制策略,其

11、具体过程如下:一开始,给定一个输入信号,即期望温度,此时,控制程序还没有起作用,此信号通过变送器送至继电器,继电器导通,使烤箱处于工作状态。这时,温度传感器就把烤箱内的温度转变成电信号送至计算机中。计算机则将此电信号与输入的期望温度进行比较,通过控制器,根据不同的设定及差值,选择不同的控制算法。由于计算机内的电信5吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)号都是脉冲信号,因此,可以调节脉冲信号的占空比来调节继电器的断开与导通的时间。期望值与测量值的差距大,就增大占空比,使一个周期内的加热时间增长,反之,则减小占空比。采用上述的控制策略,即可以实现温度调节,达到控制

12、指标的要求。5.1 设计步骤5.1.1主程序的设计首先确定主程序所要实现的目标,即:预设显示输出,输入温度上限、温度下限,输入设定温度值,显示预设温度,实时刷新当前温度并显示,比较实时温度与设定温度差值并进行反馈控制,控制温度达到性能指标要求。然后,确定了主程序所要实现的功能以后,在相应的编写各个子程序模块。同时,要考虑在整个系统实现的过程中,所要运用到的芯片,好进行芯片的初始化。如8255,AD574等5.1.2温度设定子程序温度设定子程序,即,从键盘上输入3 个数字,将其存放在指定的空间区域内。5.1.3读取当前温度子程序即 AD574的使用过程。首先,先将 AD574初始化,启动转换,转

13、换结果屏蔽高 4 位后,将所得到的结果存放在指定单元中,为当前温度。5.1.4温度比较以及加热子程序将前一步骤采集到的当前温度进行标度变换, 比较设定值的大小与当前温度和设定值之差,然后做出相应的标记,然后根据不同的标记跳到相应的加热子程序中。其基本原则就是:实际温度和期望温度差距越大,加热子程序中,每个周期的高电平占空比就越大,若设定值比较大,则直接采用满程输出。6吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)5.1.5报警子程序烤箱工作时,当烤箱温度超过设置温度上限和低于温度下限时,调用子程序,否则跳出子程序;其中接蜂鸣器的控制信号为第五片8255A 的 PC1口

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

15、3510041.3%24014021.2%36016021.5%45022012%本次设计总体上还是比较成功,基本上实现了任务要求。只有调节时间的,可能是冗长的程序,或者是电烤箱的功率问题,又或者是自己反馈补偿参数设计不够完善,总7吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)之,不能达到要求的20 秒以内,此为设计的瑕疵。7. 原程序清单见附录 48. 设计感想8.1 吴传林感想作为我们团队的组长,需要确定合适的电路,对电路进行调试,将变送器调至最合适的范围。同时还要确定与硬件相关的软件主体思想。一个项目的成败,与组长的整体协调能力关系很大。这次的时间比较紧张,而且

16、之前没怎么做过过程控制类的题目,所以可以说是时间短、任务重。热敏电阻 PT100之前接触过,但是没有和计算机连起来使用,也是一个新的挑战。这次设计我吸取的上次计算机硬件课程设计的教训,学会多利用子程序,而不是要把所有的问题都用一个主程序解决,却很少使用子程序。这样,不但别人读不懂自己的程序,就连自己有时候都读不懂自己的程序。这次课程设计感觉比以前进步的一点就是程序的模块化思想更加深刻。之前总也用程序段的方式插入的主程序中,而这次则是尽量减少主程序的内容,将所有的处理部分都写成子程序,设计好入口参数,就可以是整个程序思路清晰,一目了然。一个好的程序编写者并不是会把所有的模块都自己写出来,而是可以

17、将自己搜索到的各种模块与自己的项目结合,设计好接口参数,达到事半功倍的效果。这次的程序就用了之前做过的一些设计的模块,如实时显示刷新模块,延时程序,报警子程序等。这些之前积累下来的宝贵资料大大加快了本次课程设计的速度。通过了这次课程设计,虽然很累,但过得很充实,收获也很多,我们将学到的知识又重新的复习了一遍, 在原来的基础上巩固了对理论知识的理解并且提升了自己的实践能力。对汇编语言的使用有了进一步的提高,对一个大系统进行模块化分析是以前没有尝试过的,分工合作也让我们学会团结互助,让我们对团队合作精神理解得更透彻,对于我们以后的学习或者工作中都有深远的意义。8吴传林唐思 肖骁黄定烤箱温度控制系统

18、的设计(采用PD-32E 实验装置)8.2 唐思感想这次的课程设计我们小组总算是顺利地完成了。虽然只有短短一个星期,但让我真正见识到了什么是团队的力量。从接到此次课程设计任务开始,大家就分配好了各自的任务,并且经常聚在一起各抒己见地讨论各个方案的可行性,气氛那是十分的热烈。在我们小组中也许有的同学能力强些,有些同学能力没那么强,分工时能力强的同学可能任务就重些,但是大家都没有任何的怨言,全力地专注于自己的那一部分任务,所以团结协作是我们小组能顺利完成此次课程设计的一项非常重要的保证, 而这次设计也正好锻炼我们这一点,这也是非常宝贵的。我们这次是设计对烤箱温度控制系统,对于温度的控制系统,我们需

19、要完成温度的采集,温度的控制,能通过键盘,显示接口实现恒温时间设置,系统初始参数设置,报警设置等功能。 我们一起讨论, 一起研究,经过几番努力, 初步编出的程序, 问题很多,也总找不到原因,然后参考书上的例题程序,修改了很多,有些问题是子程序与主程序的连接没弄好,还是很多问题,然后仔细复习书上所学过的知识,对我们的程序再次发现问题,修改问题,后来经过多次的修改最终完成了初步的可行性程序, 也算一个进步。在调试过程中又遇到了烤箱失灵等各种客观问题, 但最终在同学的协作以及我们自身的努力下,都将这些困难一一克服并得到了比较理想的结果。在这次设计中,我主要负责的是烤箱控制算法及输出部分,刚开始的时候

20、还是出现很多问题,在同学的帮助以及参考其他组的一些程序后,初步完成了这段程序,然后经过自己的多次修改,完成了这部分的编写,设计了一个符合烤箱实际情况的合理算法。在温度较还远未达到设定值时,采用满程的输出,在接近时,采用 PWM波,并且在设定值不同区间时采用不同脉宽的 PWM波,当设定值过高时,采用满程输出。当实际温度超过设定值,立即关机,待温度降到设定值以下再次输出。经过这个部分的编写,让自己明白了很多,课堂上学的东西远远不够,还是需要自己课后的更多的付出和复习,才能让自己所学的东西学以致用,才能让书上的知识变成自己的,也才能让自己变得更加充实,学得更多。最后顺利地完成了课程设计,大家心情都很

21、喜悦,虽然过程有点累,但是看到努力后的成果,还是很欣慰。总的来说,通过历时一个星期的课程设计, 发现了自己的很多不足,以及自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。经过这个课程设计,同时也证明一个团队的力量比一个人的力量大得多,完成一个复杂的问题效率也会高很多,我自己也从此次课程设计中学到了很多东西,实在是令我受益匪浅。9吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)8.3 肖骁感想这次课程设计让我体会到了团队的温暖。由于我将要参加研究生入学考试,所以精力大都放到复习考研上面去了。但是我的团队给了最大的包容和理解,让我负责了较

22、为轻松的报警程序、将实际温度转化为字型码和将输入的三个数合成一个数的子程序编写。这已经不是我第一次团队合作做课程设计了,但是这次让我最为记忆犹新。本次课程设计我们小组做的是烤箱,我的主要工作是报警子程序的编写。通过此次课程设计,总的来说收获还是挺大的。我的工作是参与了部分子程序的编写,主要有用报警子程序,字型码转化等。这次的课程设计我们小组总算是顺利地完成了。虽然只有短短一个星期,但让我真正见识到了什么是团队的力量。从接到此次课程设计任务开始,大家就分配好了各自的任务,并且经常聚在一起各抒己见地讨论各个方案的可行性。 在我们小组中也许有的同学能力强些,有些同学能力没那么强,分工时能力强的同学可

23、能任务就重些,但是大家都没有任何的怨言,全力地专注于自己的那一部分任务,所以团结协作是我们小组能顺利完成此次课程设计的一项非常重要的保证,而这次设计也正好锻炼我们这一点,这也是非常宝贵的。我们这次是设计对烤箱温度控制系统,对于温度的控制系统,我们需要完成温度的采集,温度的控制,能通过键盘对温度的显示,初始参数设置,报警设置等功能。我们一起讨论,一起研究,经过几番努力,初步编出的程序,问题很多,也总找不到原因,然后参考书上的例题程序,修改了很多,有些问题是硬件连线问题,我们的烤箱是低电平有效的,我们还将它接到了地。还有很多问题,然后仔细复习书上所学过的知识,对我们的程序再次发现问题,修改问题,后

24、来经过多次的修改最终完成了初步的可行性程序,也算一个进步。在调试过程中又遇到了烤箱温度达不到等各种客观问题,但最终在同学的协作以及我们自身的努力下,都将这些困难一一克服并得到了比较理想的结果。最后顺利地完成了课程设计,大家心情都很喜悦,虽然过程有点累,但是看到努力后的成果,还是很欣慰。总的来说,通过历时一个星期的课程设计,发现了自己的很多不足,以及自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。经过这个课程设计,同时也证明一个团队的力量比一个人的力量大得多,完成一个复杂的问题效率也会高很多,我自己也从此次课程设计中学到了很多东西。在一个星期的时间里,我们完成

25、了此次课程设计,虽然付出了很多,但是也收获了很多。这也让我明白了一个道理,大家需要团结在一起才能更大的发挥自己的能力,效率才会更高。10吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)11吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)附录系统框图PD-328255AD574SSR烤箱PT100图 1 系统框图 PT100 212.025.1K10K+12VOab_3p1K1K-12V5.1K100电位器100K20K电位器图 2 电路原理图12吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)开始初始化键盘扫描AD 转换标

26、度变换是否执行状态否是控制算法执行警报图 3 主程序流程图13吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)开始输入设定值输出标志为0否设定值大于实际值是设定值 -实际值否差值小于10否是满输出设定大于150是算法 1设定大于100否算法 2返回图 4 算法控制流程图14吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)开始控制值为 0是否进行控制值次循环送0进行100- 控制值次循环送1返回图 5执行子程序流程图15吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)大于开始比较读回值与上限小于蜂鸣器送1小于比较读回值与下限

27、大于蜂鸣器送0返回图 6 报警子程序流程图16吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)开始读回温度值除以100 查表的高位字型码余数除以 10 再查表得次字型码余数为低位, 查表得字型码返回图 7 温度转字型码子程序流程图17程序代码:.486CODESEGMENTUSE16ASSUMECS:CODEORG2000HBEG:JMP STARTXISHU1DW5; 补偿算法系数 1XISHU2DW3;补偿算法系数 2AJZ DB?;记录按键的数值AJCSDB0;记录按下键的次数WDSXDW 300;上限温度值WDXXDW 0;下限温度值YSWDDW ?;预设温度值

28、SJWDDW ?;实际温度值ZCWDDW ?;温度暂存YSXSDB?,?,? ;预设温度显示SWXSDB?,?,? ;实际温度显示SRXSDB?,?,? 输;入温度的三位数值ADJGDW 0;存放 AD 转换的结果BDBHJGDW 0;存放标度变换的结果ZKBDW 0;占空比LED DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;三色 LED 字型码KEYDB0EEH,0EDH,0EBH,0E7H,0DEH,0DDH,0DBH,0D7H,0BEH,0BDH,0BBH,0B7H,7EH,7DH,7BH,77H ; 键特征值START:CALLCSH;

29、 调用初始化子程序LL0:CALLJPSM;调用键盘扫描子程序CALLADZH; 进行AD转换CALLBDBH;进行标度变换CALLXSSW; 显示实际温度值MOVAL,AJCSCMPAL,4;比较 AJCS 是否为 4,为 4 的话说明是在温度控制执行状态JNZ LL0;不等于4,向上跳转CALLKZSF; 调用控制算法子程序,处理获得的温度差CALLPWM; 调用产生 PWM 波形子程序18吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)CALLBJQ;调用报警器子程序JMP LL0;-显示初始化 -CSH PROCMOVDX,30CH;第 5 片 8255 初始化

30、MOVAL,90HOUTDX,ALMOVDX,20CHMOVEAX,80808080H;1 4 片 8255 初始化OUTDX,EAXMOVDX,208H ;将 LED 全熄灭MOVEAX,0F0F0F0FHOUTDX,EAXMOVDX,30CHMOVAL,00000011B;为第五片8255 的 PC1、PC0 赋值 1OUTDX,ALRETCSH ENDP;-键盘扫描 -JPSMPROCPUSHAMOVBL,0F7H ; 从 Q3 列开始扫描SM: MOVAL,BLMOVDX,304HOUTDX,AL ;送出列信号MOVDX,300HINAL,DX ;读入行信号ANDAL,0FHCMPAL

31、,0FHJNZ LL1 ; 有键按下,跳转19吴传林唐思 肖骁黄定烤箱温度控制系统的设计(采用PD-32E 实验装置)RORBL,1;调整列信号JCSMJMP JPSM3;无键按下,跳出程序LL1:;以列信号为高四位,行信号为低四位,形成键特征值SHL BL,4ORBL,ALCALLDLY_L;延时去抖动DDSF:MOVAL,0; 等待释放MOVDX,304HOUTDX,ALMOVDX,300HINAL,DXANDAL,0FHCMPAL,0FHJNZ DDSFLEA SI,KEY;键特征值的首地址MOVAJZ,0;用 AJZ 记录下按下键的数值JPSM1:MOVAL,AJZMOVAH,0MOVBP,AXCMPBL,SI+BP;按下的键从零开始的比较JZJPSM2INC AJZJMP JPSM1JPSM2:CALLPANDUAN;判断输入值JPSM3:POPARETJPSM

温馨提示

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

评论

0/150

提交评论