1目录摘要、序言..........................................................................11.组员详细分工......................................................................21.1已知参数和设计要求...........................................................21.2实现方法.....................................................................22.组员详细分工......................................................................23.详细操作说明......................................................................24.设计总体思路......................................................................34.1设计步骤.....................................................................34.2原理分析.....................................................................45.实验结果..........................................................................56.源程序清单........................................................................57.设计感想..........................................................................67.1李杰峰感想...................................................................67.2韩明昆感想...................................................................67.3陆明感想.....................................................................77.4吴婧楠感想...................................................................8附录1摘要本文是对烤箱温度控制系统进行设计,在烤箱温度控制系统中,利用计算机对烤箱的继电器发出不同的信号,来控制继电器的开断,从而能够实现控制烤箱加热与否的控制。本系统采用了PID控制,是经典控制理论在实际中成功应用的典型实例。本次采用的计时芯片是8254,而信号输出芯片则是8255,同时,利用8259芯片对计时、加热等过程进行中断的控制。而温度采集则是用了PT100感温电阻,将电信号送至A/D574中,利用A/D574的模数转换功能,将采集的温度模拟信号转换成计算机可以识别的电信号,进而在计算机内对这些电信号进行处理,经过PID控制算法来输出控制烤箱的电信号。关键词:PID控制算法,A/D574模数转换,计算机控制序言温度控制技术广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,传统的温度控制技术中最常见的是继电器调温,但由于继电器动作频繁,温度控制范围小,精度不高,可能会因触点不良而影响正常工作。最近几年快速发展的有PID温控、模糊控制、神经网络以及遗传算法在温度控制中的应用。烤箱是热处理生产中应用最广的加热设备,它电流通过电热元件产生热量,借助辐射和对流的传递方式,将热量传递给所要加热的物品,使其加热到所要求的温度。本文设计的烤箱温度控制系统,是利用计算机对其温度进行控制,采用PID控制算法,以实现对烤箱温度控制,达到控制性能要求的指标。李杰峰、韩明昆、陆明、吴婧楠--烤箱温度控制系统的设计21.主要设计内容1.1已知参数和设计要求1.某烤箱的温度控制要求为:控制烤箱温度从室温上升到目标温度并一直保持在该目标温度,要求控制的精度达±3%,调节时间≤20秒。2.目标温度应可以通过键盘任意修改。3.完成温度检测、温度变松,温度显示(LED和CRT曲线)、温度控制、通过键盘设定上、下限温度报警值,温度超限报警(声、光)等功能。1.2实现方法采用80X86计算机、JK实验系统装置实现(限≤4人选做)2.组员详细分工3.详细操作说明1.进入程序后显示如下:Pleasesetroomtemperature:(输入当前室温,2位数字,以回车结束)Pleasesetdesiredtemperature:(期望达到的温度,3位数字内,以回车结束)Pleasesettime:(输入期望保持预设温度的时间,分钟为单位,2位数字)2.设置完之后屏幕上会显示如下文字:Pleasesetroomtemperature:xxPleasesetdesiredtemperature:xxxPleasesettime:xxPressRtoRESETnumber.PressQtoEXITtoDOSCurrentTemperature:XXXC3.此时屏幕上的温度值会不断刷新。达到预设温度后会发出3声短响,在预设温度范围内保持指定时间之后会发出4声长响并返回设定参数部分。姓名职务负责的部分李杰峰组长控制算法编写,软件数据转换韩明昆组员硬件电路焊接,调试,报告编写陆明组员发声程序、显示程序编写吴婧楠组员程序界面、提示语等编写李杰峰、韩明昆、陆明、吴婧楠--烤箱温度控制系统的设计34.设计总体思路系统控制框图如图所示我们采用的是传统的PID控制策略,其具体过程如下:一开始,给定一个输入信号,即期望温度,此时,PID控制器还没有起作用,此信号通过变送器送至继电器,继电器导通,使烤箱处于工作状态。这时,温度传感器就把烤箱内的温度转变成电信号送至计算机中。计算机则将此电信号与输入的期望温度进行比较,通过控制器,根据不同的差值,选择不同的控制策略。由于计算机内的电信号都是脉冲信号,因此,可以调节脉冲信号的占空比来调节继电器的断开与导通的时间。期望值与测量值的差距大,就增大占空比,使一个周期内的加热时间增长,反之,则减小占空比。采用上述的控制策略,即可以实现PID调节,不同的占空比,相当于PID调节中的比例系数改变,因此,利用计算机调节的烤箱温度控制系统是一个变比例系数的调节过程。因此,只要比例系数选定的合适,都会达到控制指标的要求。4.1设计步骤4.1.1主程序的设计首先确定主程序所要实现的目标,即:显示提示信息,输入设定温度值,输入温度保持时间,实时刷新当前温度,比较实时温度与设定温度差值并进行PID运算,重置参数和结束。然后,确定了主程序所要实现的功能以后,在相应的编写各个子程序模块。同时,要考虑在整个系统实现的过程中,所要运用到的芯片,好进行芯片的初始化。如8255,8259等4.1.2温度/时间设定子程序温度/时间设定子程序,即,从键盘上输入一串数字,将其存放在指定的空间区域内,然后将键盘的ASCII码转换成BCD(8421)码,方便后续计算。控制器烤箱温度采集李杰峰、韩明昆、陆明、吴婧楠--烤箱温度控制系统的设计44.1.3读取当前温度子程序即AD574的使用过程。首先,先将AD574初始化,给R/送负脉冲,启动转换。然后检测STS是否为1,不为1则说名转换结束。读取高8为数据放入AH中,读取低4为放在屏蔽过低4为的AL中,然后将AX中的内容向右移动4位,所得到的结果存放在指定单元中,为当前温度。4.1.4温度比较以及加热子程序将前一步骤采集到的当前温度转换成十六进制数,然后进行标度变换,比较当前温度和输入的期望温度差,然后做出相应的标记,然后根据不同的标记跳到相应的加热子程序中。其基本原则就是:实际温度和期望温度差距越大,加热子程序中,每个周期的高电平占空比就越大。4.1.5发声子程序在烤箱开始加热的时候,调用一次;待到达指定温度时,再调用一次;最后结束的时候,再调用一次,总共有3次。发声子程序首先是将发声的频率存放到寄存器AX中,然后利用8254定时,再将频率数据写入42H口。然后读取61H口的控制字信息,其中控制信息为11B时,输出,即可发声;为00B时,输出,声音停止。4.1.6绘制坐标轴子程序首先初始化屏幕大小,选择X,Y轴所在的位置,选定划线颜色,利用BIOS中断,即可在屏幕上绘制出X,Y轴。4.1.7CRT曲线绘制子程序我们将实时保存的温度结果存放在指定的CTEMP中,调用CRT曲线绘制子程序时,直接读取当前温度值,然后设定起始位置,计算当前坐标位置,就可以在屏幕上描出此时的温度点。然后,将横坐标向右移动1,带下次读取时,再次在屏幕上描点,多次反复,就形成了多个点组成的温度响应曲线。4.2原理分析设计控制烤箱温度的系统,我们采用PID控制算法。利用计算机控制中的A/D转换器,将采集到的模拟信号转换成数字信号,然后送入计算机进行处理。在计算机中,我们编写了PID控制算法,将送入的电信号经过该算法,输出一个控制继电器开关的脉冲信号,我们可以通过调节脉冲高电平的占空比,来控制一个信号周期内加热时间的长短。从而实现比例控制。又由于这个占空比是实时变化的,所以,这是一个变比例系数的P控制器。利用这个控制器,我们可以使烤箱内的温度保持在我们所设定的期望值。李杰峰、韩明昆、陆明、吴婧楠--烤箱温度控制系统的设计55.实验结果实验结果如下表所示:实验次数初始温度设定温度调节时间超调量误差1358025秒4℃2.3%24010027秒2℃3.3%36016029秒-2℃1.5%45020040秒-6℃3.5%温度变化过程可大致用如下曲线描述:本次设计总体上还是比较成功,基本上实现了任务要求。只有调节时间的,可能是冗长的程序,或者是电烤箱的功率问题,又或者是自己的PID的参数设计不够完善,总之,不能达到要求的20秒以内,但是接近20秒,此为设计的瑕疵。6.原程序清单见附录4温度T/°C300200100时间t/s10200李杰峰、韩明昆、陆明、吴婧楠--烤箱温度控制系统的设计67.设计感想7.1李杰峰感想作为我们团队的组长,需要确定合适的电路,对电路进行调试,将变送器调至最合适的范围。同时还要确定与硬件相关的软件主体思想。一个项目的成败,与组长的整体协调能力关系很大。这次的时间比较紧张,而且之前没怎么做过过程控制类的题目,所以可以说是时间短、任务重。热敏电阻PT100之前接触过,但是没有和计算机连起来使用,也是一个新的挑战。这次设计我吸取的上次计算机硬件课程设计的教训,学会多利用子程序,而不是要把所有的问题都用一个主程序解决,却很少使用子程序。这样,不但别人读不懂自己的程序,就连自己有时候都读不懂自己的程序。软件部分主要涉及到一些数据的转换和处理,例如BCD码转换成ASCII码、十六进制数与BCD码的相互转换等,虽然很久没用汇编语言编写程序,但是这些算法还是都记在心里,只要稍作熟悉就可以顺利将算法变成一个个子程序。其中,给我带来最大困扰的是PID控制器的设计。但是经过老师的讲解,我明白了,原来可以调节输出信号的占空比,控制继电器的开关时间,来调节PID调节器的比例系数,从而实现变比例系数的PID控制。这次课程设计感觉比以前进步的一点就是程序的模块化思想更加深刻。之前总也用程序段的方式插入的主程序中,而这次则是尽量减少主程序的内容,将所有的处理部分都写成子程序,设计好入口参数,就可以是整个程