您的当前位置:首页正文

基于单片机的温度控制系统的研究

2022-12-13 来源:钮旅网
合肥工业大学硕士学位论文

基于单片机的温度控制系统的研究

姓名:王海宁申请学位级别:硕士专业:控制理论与控制工程

指导教师:张晓江

20080301

基于单片机的温度控制系统的研究摘要随着控制理论和电子技术的发展,工业控制器的适应能力增强和高度智能化正逐步成为现实。其中以单片机为核心实现的数字控制器因其体积小、成本低、功能强、简便易行而得到广泛应用。PID温度控制器作为一种重要的控制设备,在化工、食品等诸多工业生产过程中得到了广泛的应用。本文主要讨论在过程控制中得到广泛应用的数字PID控制在单片机温度控制系统中的应用。本文详细阐述了基于单片机的温度控制系统的硬件组成、软件设计及相关的接口电路设计。并且充分考虑了系统的可靠性,采取了相应的措施予以保证。针对控制对象的特点,在系统辨识的基础上对系统的控制算法进行了仿真研究,并在单片机系统中实现了控制算法。最后针对温控系统进行了实验,通过对实验数据的分析表明本文所述的基于单片机的温度控制系统的设计的合理性和有效性。关键词:单片机数字PID控制温度控制IIDesignofTemperatureControlSystemBased】ⅥicrocontrollerAbstractWithontheimprovementofcontroltheoryandelectrictechnology,theintelligentcontrolforindustryhasbeenbeenaccomplishing.ThedigitalcontrollerbasedonMicrocontrollerhasandappliedwidely,asitscabinetcubage,low-cost,abundantfunction,simplecontroldevice,haveconvenient.PIDusedtemperaturecontroller,asallimportantinproducingchemicalproducts,foodsandmanysystem,inbeenwidelyotherfields.ThepapermainlyintroducestheapplicationofthedigitalPIDcontrolalgorithm,which,atpresent,ispopularlyusedindigitalcontrolThehardwareMicrocontrollertemperaturecontrolsystem.andsoftwareofthearetemperatureinthiscontrolsystemandthedesignofreliabilityofthetotheonrelevantinterfacecircuitspeciallydescribedpaper.Thesystemistoconsidered,andaseriesofmeasuresarerealized.Accordingaredifficultycontrolofthesystem,methodsofsystemcontrolanalyzedbasedthesystemidentification,andexperimentdatarealizedshowsthecontrolalgorithmintheMicrocontrollerthesystem.ThebasedonthatdesignoftemperaturecontrolsystemMicrocontrolleriSavailabilityandrationality.Keywords:MicrocontrollerTemperaturecontrolsystemdigitalPIDcontrol插图清单图2.1硬件总体结构框图…………………………………………………………………7图2.2D口封装的AT89C52引脚图……………………………………………………..9图2.3存储器扩展电路……………………………………………………………………9图2.4复位电路和时钟电路…………………………………………………………….10图2.5温度传感器电路………………………………………………………………….11图2.6基准电压源电路………………………………………………………………….11图2.7图2.8图2-9铂电阻温度/电阻曲线…………………………………………………………12AD7705引脚图……………………………………………………………………14A/D转换电路……………………………………………………………………。15图2.10通道选择电路……………………………………………………………………16图2.11可控硅控制模式比较……………………………………………………………16图2.12可控硅输出电路………………………………………………………………….18图2.13保护电路(a)………………………………………………………………………18图2.14保护电路(b)………………………………………………………………………19图2.15串口通信电路……………………………………………………………………20图2.16输出+5V直流电源………………………………………………………………21图2—17输出+15V和一15V直流电源…………………………………………………..21图3.1前后台系统……………………………………………………………………….24图3.2主程序流程图……………………………………………………………………25图3.3数据采集模块程序流程图……………………………………………………….26图3.4A/D转换程序流程图……………………………………………………………..26图3.5去极值平均滤波程序流程图…………………………………………………….28图4.1PID控制系统原理框图…………………………………………………………..30图4.2增量式PID控制算法程序流程图………………………………………………..33图4.3可控硅通断时间比为10%时温控箱的响应曲线………………………………..36图4.4可控硅通断时间比为30%时温控箱的响应曲线…………………………………36图4.5MATLAB系统辨识工具箱图形用户界面………………………………………37图4.6数据输入对话框和参数选择对话框…………………………………………….37图4.7实验数据与模型响应曲线的拟合度…………………………………………….38图4.8广义特性的飞升曲线…………………………………………………………….40图4.9PID控制仿真的Simulink框图…………………………………………………..4l图4.10阶跃响应………………………………………………………………………….41图4.11响应误差………………………………………………………………………….41图5.1gVision2操作界面………………………………………………………………..45图5.2“Vision2调试界面………………………………………………………………..45VII表格清单表2.1实际温度、测得温度对照表……………………………………………………..13表4.1扩充临界比例度法整定参数表…………………………………………………..39表4.2扩充响应曲线法整定参数表……………………………………………………..40独创性声明本人声明所是交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注帮l毁谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不龟含为获得盒&鐾:£些太堂或其他教育机构的学位或证书丽使用过的材料。与我一同二1:作的同志对本研究所做的任何贡献均融在论文中作了明确的说明并表示谢意。学位论文作者签名:引鸣李签字日期:如略年纠纠Et学位论文版权使用授权书本学位论文作者完全了解金g羹.董些太堂有关保留、使用学位论文的规定,有权保留并向国家有关部fj或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权篮兰些太堂可跌将学位论文的全部戏部分内容编入有关数据库进行检索,可以采雳影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文崔解密后适翊零授权书)学位论文作者签名:钆鸟奇导师签名影”影;一签字目期:少辨车月≥阳签字强期:伊雾年名月》f匿学位论文作者毕业后去向:工作肇德:通讯地址:电话:邮编:致谢本文是在我的导师张晓江副教授的悉心指导下完成的,在论文的准备及撰写过程中,张老师提出了许多宝贵的意见和建议。在我三年的研究生生活中,张老师无论在学习上还是在日常生活中,都给予了我很大的帮助,令我受益良多。在此向张老师表示深深的感谢!另外衷心的感谢王付胜老师,没有他对我的指导和帮助,我的论文不可能得以顺利的完成。王老师认真的工作态度、严谨细致的工作作风、以及学习生活上的热心帮助让我感动。在此向王老师致以最真挚的谢意!在论文的撰写过程中,还得到了实验室李春红、汪定华、高梅等同学的热情帮助,与你们共度这段充实而又快乐的学习时光,将是我人生中难忘的美好回忆。最后,衷心感谢我的父母及家人,你们给予了我最深的爱、无限的信任和最大的鼓励。衷心感谢所有关心和帮助过我的同学和朋友!作者:王海宁2008年3月第一章绪论1.1概述温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。自然界中任何物理、化学过程都紧密的与温度相联系。在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。在实际的生产实验环境下,由于系统内部与外界的热交换是难以控制的,其他热源的干扰也是无法精确计算的,因此温度量的变化往往受到不可预测的外界环境扰动的影响。为了使系统与外界的能量交换尽可能的符合人们的要求,就需要采取其他手段来达到这样一个绝热的目的,例如可以让目标系统外部环境的温度与其内部温度同步变化。根据热力学第二定律,两个温度相同的系统之间是达到热平衡的,这样利用一个与目标系统温度同步的隔离层,就可以把目标系统与外界进行热隔离。另外,在大部分实际的环境中,增温要比降温方便得多。因此,对温度的控制精度要求比较高的情况下,是不允许出现过冲现象的,即不允许实际温度超过控制的目标温度。特别是隔热效果很好的环境,温度一旦出现过冲,将难以很快把温度降下来。这是因为很多应用中只有加热环节,而没有冷却的装置。同样道理,对于只有冷却没有加热环节的应用中,实际温度低于控制的目标温度,对控制效果的影响也是很大的。鉴于上述这些特点,高精度温度控制的难度比较大,而且不同的应用环境也需要不同的控制策略。下面就简要的讨论一下温度测控技术的发展与现状。1.2温度测控技术的发展与现状近年来,温度的检测在理论上发展比较成熟,但在实际测量和控制中,如何保证快速实时地对温度进行采样,确保数据的正确传输,并能对所测温度场进行较精确的控制,仍然是目前需要解决的问题。温度测控技术包括温度测量技术和温度控制技术两个方面。在温度的测量技术中,接触式测温发展较早,这种测量方法的优点是:简单、可靠、低廉、测量精度较高,一般能够测得真实温度;但由于检测元件热惯性的影响,响应时间较长,对热容量小的物体难以实现精确的测量,并且该方法不适宜于对腐蚀性介质测温,不能用于超高温测量,难于测量运动物体的温度。另外的非接触式测温方法是通过对辐射能量的检测来实现温度测量的方法,其优点是:不破坏被测温场,可以测量热容量小的物体,适于测量运动物体的温度,还可以测量区域的温度分布,响应速度较快。但也存在测量误差较大,仪表指示值一般仅代表物体表观温度,测温装置结构复杂,价格昂贵等缺点。因此,在实际的温度测量中,要根据具体的测量对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少投入。温度控制技术按照控制目标的不同可分为两类:动态温度跟踪与恒值温度控制。动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。在工业生产中很多场合需要实现这一控制目标,如在发酵过程控制,化工生产中的化学反应温度控制,冶金工厂中燃烧炉中的温度控制等;恒值温度控制的目的是使被控对象的温度恒定在某一给定数值上,且要求其波动幅度(即稳态误差)不能超过某允许值。本文所讨论的基于单片机的温度控制系统就是要实现对温控箱的恒值温度控制要求,故以下仅对恒值温度控制进行讨论。从工业控制器的发展过程来看,温度控制技术大致可分以下几种:1.2.1定值开关控温法所谓定值开关控温法,就是通过硬件电路或软件计算判别当前温度值与设定目标温度值之间的关系,进而对系统加热装置(或冷却装置)进行通断控制。若当前温度值比设定温度值高,则关断加热器,或者开动制冷装置;若当前温度值比设定温度值低,则开启加热器并同时关断制冷器。这种开关控温方法比较简单,在没有计算机参与的情况下,用很简单的模拟电路就能够实现。目前,采用这种控制方法的温度控制器在我国许多工厂的老式工业电炉中仍被使用。由于这种控制方式是当系统温度上升至设定点时关断电源,当系统温度下降至设定点时开通电源,因而无法克服温度变化过程的滞后性,致使被控对象温度波动较大,控制精度低,完全不适用于高精度的温度控制。1.2.2PID线性控温法这种控温方法是基于经典控制理论中的PID调节器控制原理,PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好、可靠性高等优点被广泛应用工业过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。由于PID调节器模型中考虑了系统的误差、误差变化及误差积累三个因素,因此,其控制性能大大地优越于定值开关控温。其具体控制电路可以采用模拟电路或计算机软件方法来实现PID调节功能。前者称为模拟PID控制器,后者称为数字PID控制器。其中数字PID控制器的参数可以在现场实现在线整定,因此具有较大的灵活性,可以得到较好的控制效果。采用这种方法实现的温度控制器,其控制品质的好坏主要取决于三个PID参数(比例值、积分值、微分值)。只要PID参数选取的正确,对于一个确定的受控系统来说,其控制精度是比较令人满意的。但是,它的不足也恰恰在于此,当对象特性一旦发生改变,三个控制参数也必须相应地跟着改变,否则其控制品质就难以得到保证。1.2.3智能温度控制法为了克服PID线性控温法的弱点,人们相继提出了一系列自动调整PID参数的方法,jtflPID参数的自学习,自整定等等。并通过将智能控制与PID控制相结合,从而实现温度的智能控制。智能控温法以神经网络和模糊数学为理论基础,并适当加以专家系统来实现智能化。其中应用较多的有模糊控制、神经网络控制以及专家系统等。尤其是模糊控温法在实际工程技术中得到了极为广泛的应用。目前已出现一种高精度模糊控制器,可以很好的模拟人的操作经验来改善控制性能,从理论上讲,可以完全消除稳态误差。所谓第三代智能温控仪表,就是指基于智能控温技术而研制的具有自适应PID算法的温度控制仪表。目前国内温控仪表的发展,相对国外而言在性能方面还存在一定的差距,它们之间最大的差别主要还是在控制算法方面,具体表现为国内温控仪在全量程范围内温度控制精度比较低,自适应性较差。这种不足的原因是多方面造成的,如针对不同的被控对象,由于控制算法的不足而导致控制精度不稳定。1.3系统总体设计方案本论文所讨论的基于单片机的温度控制系统是某型号气相色谱仪的温度控制子系统,其目的是对两个温控箱的温度进行恒值温度控制。温控箱的温度控制范围在室温到摄氏600度之间,温度控制的精度要求为±0.1℃。下面讨论系统的总体设计方案,包括:系统的性能要求及特点以及系统的软、硬件方案分析。1.3.1系统性能要求及特点(1)系统性能要求:(a)可以人为方便地通过控制面板或PC机设定控制期望的温度值,系统应能自动将温控箱加热至此设定温度值并能保持,直至重新设定为另一温度值,即能实现温度的自动控制;(b)能够实现对温控箱温度的测量并且通过控制面板上的液晶显示实时的显示出来;(C)具有加热保护功能的安全性要求。如果实际测得的温控箱温度值超过了系统规定的安全温度,保护电路就会做出反应,从而对温控箱实现超温保护;(d)模块化设计,安装拆卸简单,维修方便;(e)系统可靠性高,不易出故障;(f)尽量采用典型、通用的器件,一旦损坏,易于在市场上买到同样零部件进行替换。(2)系统特点:鉴于上述系统功能要求以及智能仪表应具有的体积小、成本低、功能强、抗干扰并尽可能达到更高精度的要求。本系统在硬件设计方面具有如下特点:控制主板采用AT89C52作为核心芯片。作为与MCS一51系列兼容的单片机,无论在运算速度,还是在内部资源上均可胜任本系统的性能要求。根据温控箱测温范围的要求,本系统适合采用Ptl00铂电阻作为温度传感器,而Ptl00铂电阻在大温度范围内测温时表现出的不可忽视的非线性不容忽视,因此在温度测量的过程中必须对铂电阻温度传感器的非线性进行优化,从而提高系统温度测量的精确度。本文采用最小二乘法拟合的方法对铂电阻的非线性进行优化。为了简化系统硬件,控制量采用双向可控硅输出,这样就省去了D/A转换环节。整个系统遵循了冗余原则及以软代硬的原则,并尽可能选用典型、常用、易于替换的芯片和电路,为系统的开放性、标准化和模块化打下良好基础。系统扩展和配置在满足功能要求的基础上留有适当裕量,以利于扩充和修改。1.3.2系统硬件方案分析目前,温度控制仪的硬件电路一般采用模拟电路(AnalogCircuit)和单片机(Microcontroller)两种形式。模拟控制电路的各控制环节一般由运算放大器、电压比较器、模拟集成电路以及电容、电阻等外围元器件组成。它的最大优点是系统响应速度快,能实现对系统的实时控制。根据计算机控制理论可知,数字控制系统的采样速率并非越快越好,它还取决于被控系统的响应特性。在本系统中,由于温度的变化是一个相对缓慢的过程,对温控系统的实时性要求不是很高,所以模拟电路的优势得不到体现。另外,模拟电路依靠元器件之间的电气关系来实现控制算法,很难实现复杂的控制算法。单片机是大规模集成电路技术发展的产物,属于第四代电子计算机。它是把中央处理单元CPU(CentralProcessingUnit)、随机存取存储器RAM(RandomAccessMemory)、只读存储器ROM(ReadonlyMemory)、定时/计数器以及I/O(Input/Output)输入输出接口电路等主要计算机部件都集成在一块集成电路芯片上的微型计算机,它的特点是:功能强大、运算速度快、体积小巧、价格低廉、稳定可靠、应用广泛。由此可见,采用单片机设计控制系统,不仅可以降低开发成本,精简系统结构,而且控制算法由软件实现,还可以提高系统的4兼容性和可移植性。‘另外,随着微电子技术和半导体工业的不断创新和发展,片上系统SOC(SystemOnChip)得到了十足的发展。一些厂家根据系统功能的复杂程度,将这种SOC芯片应用到先进的控制仪表中。SOC芯片通常含有一个微处理器核(CPU),同时,它还含有多个外围特殊功能模块和一定规模的存储器(RAM和ROM),并且这种片上系统一般具有用户自定义接口模块,使得其功能非常强大,适用领域也非常广。它不仅能满足复杂的系统性能的需要,而且还使整个系统的电路紧凑,硬件结构简化。从实现复杂系统功能和简化硬件结构的角度出发,SOC是实现温度控制系统的最佳选择,但目前市场上SOC的价格还比较昂贵,并且SOC的封装形式几乎都采用贴片式封装,不利于实验电路板的搭建。从降低成本,器件供货渠道充足的角度看,应用单片机实现温度控制系统是比较经济实用的。目前,市面上的单片机不仅种类繁多,而且在性能方面也各有所长。AT89C52单片机是ATMEL公司出品的与MCS.51系列兼容的低电压、高性能CMOS8位单片机。本系统选择AT89C52为核心器件组成的控制系统。此外,在选取外围扩展芯片时,本着节约成本的原则,尽量选取典型的、易于扩展和替换的芯片及器件。1.3.3系统软件方案分析目前,MCS51单片机的开发主要用到两种语言:汇编语言和C语言。与汇编语言相比,C语言具有以下的特点:(1)具有结构化控制语句结构化控制语言的显著特点是代码和数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护及调试;(2)适用范围大和可移植性好同其他高级语言一样,C语言不依赖于特定的CPU,其源程序具有良好的可移植性。目前,主流的CPU和常见的MCU都有c编译器。加之集成开发环境KEIL编译生成的代码效率很高(仅比汇编语言生成的代码效率低10%一15%)。所以,本系统的软件选择使用c语言开发。由于整个系统软件比较复杂,为了便于编写、调试、修改和增删,系统程序的编制适合采用模块化的程序结构,故要求整个控制系统软件由许多独立的小模块组成,它们之间通过软件接口连接,遵循模块内数据关系紧凑,模块间数据关系松散的原则,将各功能模块组织成模块化的软件结构。温度控制算法方面,在对温控箱数学模型辨识的基础之上,结合本温控系统的要求采用了经典的PID控制算法,这主要是由于PID控制相对来说算法简单、鲁棒性好和可靠性高。此外,在设计PID控制器时,依靠经验和试验的方法在系统调试时确定PID控制器的参数KP、K,、KD,然后用代码实现了算法。1.4本文主要工作及章节安排1.4.1本文主要工作(1)在对温度控制发展现状、系统控制要求进行研究的基础上,选择了整个控制系统的控制方案;(2)完成系统的硬件设计,包括采样电路、A/D转换电路、主控制电路、保护电路等等的设计;(3)完成该系统的软件设计,包括主程序模块、控制运算模块、数据输入输出及处理模块等一些子功能模块的设计;(4)研究了该系统的控制策略。在建立温度控制系统数学模型的基础之上,通过对PID控制的分析设计了系统控制器;(5)完成了系统的软、硬件调试工作。1.4.2章节安排本论文由以下几部分组成:第一章绪论主要介绍本文的背景知识及系统的总体设计方案,以及本文所完成的主要工作;第二章硬件设计主要介绍系统各部分的硬件组成和特点,包括信号输入输出电路、单片机系统等等;第三章软件设计介绍了系统软件各主要功能模块的设计;第四章控制方案着重介绍温度控制系统温控箱的数学模型的确立及PID算法原理和控制仿真;第五章系统调试介绍了TKS仿真器和集成开发环境KEIL使用TKS仿真器在KEIL环境中对系统的调试;IDEgVision2,以及第六章结论全文工作的总结和展望。6第二章硬件设计2.1系统硬件总体结构本文所研究的温度控制系统硬件部分按功能大致可以分为以下几个部分:单片机主控模块、输入通道、输出通道、保护电路等。硬件总体结构框图如图2.1所示。由结构框图可见,温度控制系统以AT89C52单片机为核心,并扩展外部存储器构成主控模块。温控箱的温度由Ptl00铂电阻温度传感器检测并转换成微弱的电压信号,再通过16位的A/D转换器AD7705转换成数字量。此数字量经过数字滤波之后,一方面将温控箱的温度通过控制面板上的液晶显示器显示出来;另一方面将该温度值与设定的温度值进行比较,根据其偏差值的大小,采用PID控制算法进行运算,最后通过控制双向可控硅控制周期内的通断占空比(即控制温控箱加热平均功率的大小),进而达到对温控箱温度进行控制的目的。如果实际测得的温度值超过了系统给定的极限安全温度,保护电路会做出反应,从而保护温控箱。l温度传感器lJ-A/I)转换∥\语毒瞧唐4-'a7{以庀恤反咀L蛰l温控箱卜JL口霸逑时钟电路l宝◆。芒‰浏温度显示》串行通信。l加热部件图2—1可控硅硬件总体结构框图2.2主控模块器件选型及设计2.2.1单片机的选用针对一定的用途,恰当的选择所使用的单片机是十分重要的。有句古话为“杀鸡焉用牛刀"就是说做事要选用合适的工具。对于明确的应用对象,选择功能过少的单片机,无法完成控制任务;选择功能过强的单片机,则会造成资源浪费,使产品的性能价格比下降。目前,市面上的单片机不仅种类繁多,而且在性能方面也各有不同。在实际应用中,针对不同的需求要选择合适的单片机,选择单片机时要注意下几点:7(1)单片机的基本性能参数,例如指令执行速度,程序存储器容量,中断能力及I/O口引脚数量等;(2)单片机的增强功能,例如看门狗,双串口,RTC(实时时钟),EEPROM,CAN接口等;(3)单片机的存储介质,对于程序存储器来说,Flash存储器和OTP(一次性可编程)存储器相比较,最好是选择Flash存储器:(4)芯片的封装形式,如DIP封装,PLCC封装及表面贴附封装等。选择DIP封装在搭建实验电路时会更加方便一些;(5)芯片工作温度范围符合工业级、军品级还是商业级,如果设计户外产品,必须选用工业级芯片;(6)单片机的工作电压范围,例如设计电视机遥控器时,使用2节干电池供电,至少选择的单片机能够在1.8V.3.6V电压范围内工作;(7)单片机的抗干扰性能好;(8)编程器以及仿真器的价格,单片机开发是否支持高级语言以及编程环境要好用易学;(9)供货渠道是否畅通,价格是否低廉,是否具有良好的技术服务支持。根据上面所述的原则,结合本系统实际情况综合考虑,本文讨论的温度控制系统选用ATMEL公司生产的AT89C52单片机作为主控模块的核心芯片。2.2.2单片机介绍本系统选用ATMEL公司生产的AT89系列单片机中的AT89C52,AT89C52单片机是一种新型的低功耗、高性能的8位CMOS微控制器,与工业标准MCS.51指令系列和引脚完全兼容。具有超强的三级加密功能,其片内闪电存储器(FlashMemory)的编程与擦除完全用电实现,数据不易挥发,编程/擦除速度快。AT89C52单片机DIP封装的引脚如图2.2所示。AT89C52的主要特点有:(1)内部程序存储器为电擦除可编程只读存储器EEPROM,容量8KB,内部数据存储器容量256字节,最大寻址空间64KB;(2)三个16Ate_定时/计数器;(3)可利用两根I/O口线作为全双工的串行口,有四种工作方式,可通过编程设定;(4)内部ROM中开辟了四个通用工作寄存器区,共32个通用寄存器,以适应多种中断或子程序嵌套的情况;(5)6个中断源,分为两个中断优先级,每个中断源优先级都是可编程的;(6)内部有一个由直接可位寻址组成的布尔处理机,在指令系统中包含了一个指令子集,专门用于对布尔处理机的各位进行各种布尔处理,特别适用于控制目的和解决逻辑问题;(7)AT89C52的状态周期由晶体振荡器2分频后获得,作为芯片工作的基本时间单位,在采用12MHz晶振时,AT89C52的状态周期为(2/12)x10-6=167ns。P1.OP1.1P1.2P1.3VCCPO.o(ADO)PO.1(ADl)PO.2(AD2)PO.3(AD3)PO.4(AD4)PO.5(ADB)PO.6(AD6)PO.7(AD7)P1.5P1.6P1.7RST(RXD)P3.O(TXD)P3.1ALE/PR丽P'glTglP2.7(ADl5)P2.6(ADl4)P2.5(ADl3)P2.4(ADl2)P2.3(ADll)P2.2(ADlO)P2.1(AD9)P2.O(AD8)E丙/VPP(Tf订可)P3.2(Tm)P3.3(TO)P3.4(T1)P3.5(Wff)P3.6(1i石)P3.7XTAL2XTALlGND图2-2DIP封装的AT89C52弓l脚图2.2.3主控模块设计主控模块电路由AT89C52单片机、外部时钟电路、复位电路、存储器扩展电路组成。由于AT89C52内部存储器容量不能满足本系统的需求,所以需要对其存储器进行扩展。这里选择用紫外线擦写的64KX8的EPROM27512和静态数据存储器8KX8的SRAM6264扩展单片机的存储器。存储器扩展时,AT89C52的P0口作为数据总线和低8位地址线,P2口作为高8位地址线。由于P0口的分时复用所以需要使用地址锁存器74HC373对低8位地址进行锁存。存储器扩展部分电路如图2.3所示。图2-3存储器扩展电路9单片机的复位是由外部复位电路来实现的。在单片机的复位引脚RST(9脚)上保持两个机器周期的高电平就能使AT89C52完全复位。复位电路的接法很多,本系统中采用上电复位和手动复位键复位相结合的方式。系统时钟电路设计采用内部方式。AT89C52内部有一个用于构成振荡器的高增益反相放大器。引脚XTALl(19脚)和XTAL2(18脚)分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容构成并联谐振电路,接在放大器的反馈回路中。本系统电路采用的晶体振荡器频率为11.0592MHz。采用这种频率的晶体振荡器的原因是可以方便的获得标准的波特率。复位电路和时钟电路如图2.4所示。图2-4复位电路和时钟电路2.3输入通道设计系统输入通道的作用是将温控箱的温度(非电量)通过传感器电路转化为电量(电压或电流)输出,本系统就是将温度转化为电压的输出。由于此时的电量(电压)还是单片机所不能识别的模拟量,所以还需要进行A/D转换,即将模拟的电量转化成与之对应的数字量,提供给单片机判断和控制。输入通道由传感器、A/D转换等电路组成。Ptl00温度传感器温度传感器的种类比较繁杂,各种不同的温度传感器由于其构成材料、构成方式及测温原理的不同,使得其测量温度的范围、测量精度也各不相同。因102.3.1此,在不同的应用场合,应选择不同的温度传感器。Ptl00型铂电阻,在.200℃N850℃范围内是精度最高的温度传感器之一。与热电偶、热敏电阻相比较,铂的物理、化学性能都非常稳定,尤其是耐氧化能力很强,离散性很小,精度最高,灵敏度也较好。这些特点使得铂电阻温度传感器具有信号强、精度高、稳定性和复现性好的特点。由于在本系统中,测温范围较大(在室温到600℃之间),且要求检测精度高、稳定性好,因此选用Ptl00铂电阻作为本温度控制系统的温度传感器。铂电阻温度传感器主要有两种类型:标准铂电阻温度传感器和工业铂电阻温度传感器。在测量精度方面,工业铂电阻的测量稳定性和复现性一般不如标准铂电阻,这主要有两个方面的原因,其一是高温下金属铂与周围材料之间的扩散使其纯度受到污染,从而降低了铂电阻测温的复现性能,其二是因为高温条件下的应力退火影响了其复现性能。但是标准铂电阻温度传感器也存在价格昂贵,维护起来较为困难等缺点。考虑到成本,故在本系统中采用工业级Ptl00铂电阻作为温度传感器。铂电阻测温电路的工作方式一般分为恒压方式和恒流方式两种。按照接线方式的不同又可以分为二线制、三线制和四线制几种。本系统采用的是恒流四线制接法对Ptl00铂电阻进行采样。铂电阻温度传感器采样电路如图2.5所示。该电路将温控箱的温度转化为电压输出。采用恒流四线制接法的测温电路中需要用到一个稳定的基准电压源。本系统采用精密基准电压源LM399H产生基准电压,图中参考电压%EP即来自LM399H。基准电压源电路如图2-6所示。LM399H是内置恒温槽高精度基准电压源,输出电压6.9999V。它是迄今为止同类产品中温度系数最低的器件,内部有恒温电路,保证了器件的长期稳定性。本系统中基准电压源产生的电压不仅提供给铂电阻采样电路而且还提供给A/D转换电路使用。AV:AGHDAGND图2-5温度传感器电路图2-6基准电压源电路铂电阻温度传感器是利用其电阻值随温度的变化而变化这一特性进行温度测量的,根据IEC(InternationalR=R(1+At+Bt2)电阻曲线。ElectricianCommittee)标准751-1983:(一200℃<t<0oC)(0℃<t<850℃)(2.1)(2.2)R=Ro[1+At+Bt2+c(t—100)t3】其中,R,为t℃时的电阻值,R为O'C时的电阻值。图2.7所示为铂电阻温度隈缓蛰3-e3002琵:∞150.∥.20§-100el∞2∞∞0髓O5006007∞籀度℃图2.7铂电阻温度/电阻曲线由于本系统中温控箱的温度范围在室温至U600℃之间,故只针对(2-2)式进行讨论。由(2.2)式可知,铂电阻温度传感器在其测量范围内具有非线性,即阻值变化具有饱和特性。为了减少铂电阻的饱和特性给温度测量带来的误差,这里采用最d'-乘法对铂电阻的非线性进行优化。在0.800℃之间均匀的抽取100个温度点,对应的铂电阻阻值利用(2.2)式计算出来,然后将此电阻值代入图2—5所示采样电路求得电压值,这样就有100组数据点。对这100组温度和电压数据利用最小二乘法进行拟合,求出温度与电压关系的三次多项式为:矿=-247.703+2399.380Uo一68.165U;+460.117U;验,其结果如表2.1所示。(2-3)求解出测温多项式后,在0.800℃之间随机抽取1O个点,对此多项式进行检12表2—1实际温度(℃)39.00l17.00195.00273.00351.00429.oo507.00624.oo702.00780.00实际温度、测得温度对照表计算温度(℃)38.993117.019195.013272.995350.982428.982506.996624.023702.019779.961误差(℃)—0.007O.019O.013-0.005-o.018—0.018-0.004o.0230.019-o.039由上表可以看到经过最小二乘法优化之后,(2—3)式误差绝对值的最大值仅为0.039。C,测量精度已经满足系统的要求。2.3.2A/D转换在单片机控制系统中,控制或测量对象的有关变量,往往是一些连续变化的模拟量,如温度、压力、流量、位移、速度等物理量。但是大多数单片机本身只能识别和处理数字量,因此必须经过模拟量到数字量的转换(A/D转换),才能够实现单片机对被控对象的识别和处理。完成A/D转换的器件即为A/D转换器。A/D转换器的主要性能参数有:(1)分辨率分辨率表示A/D转换器对输入信号的分辨能力。A/D转换器的分辨率以输出二进制数的位数表示;(2)转换时间转换时间指A/D转换器从转换控制信号到来开始,到输出端得到稳定的数字信号所经过的时间。不同类型的转换器转换速度相差甚远:(3)转换误差转换误差表示A/D转换器实际输出的数字量和理论上的输出数字量之间的差别,常用最低有效位的倍数表示;(4)线性度线性度指实际转换器的转移函数与理想直线的最大偏移。目前有很多类型的A/D转换芯片,它们在转换速度、转换精度、分辨率以及使用价值上都各具特色,其中大多数积分型或逐次比较型的A/D转换器对于高精度测量,其转换效果不够理想。温度控制中A/D转换是非常重要的一个环节。传统的电路设计方法是在A/D转换前增加一级高精度的测量放大器,这样就增加了成本,电路也较为复杂。综合考虑,本系统选用AD(ANALOGDEVICES)公司生产的16诬AD转换芯片AD7705作为本温控系统的A/D转换器。AD7705是AD公司生产的16位∑一A型A/D转换器。它包括由缓冲器和增益可编程放大器(PGA)组成的前端模拟调节电路、X一△调制器、可编程数字滤波器等部件组成。能直接将传感器测量到的多路微小信号进行A/D转换。AD7705采用三线串行接口,具有两个全差分输入通道,能达No.003%非线性的16位无误码输出,其增益和输出更新率均可编程设定,还可以选择输入模拟缓冲器,以及自校准和系统校准方式。工作电压3V或5V,在3VI作电压时,器件的最大功耗仅为lmW。AD7705弓|脚如图2—8所示。———\.,——]纛D节705图2培AD7705引脚圈AD7705引脚功能描述如下:(1)SCLK串行时钟,将一个外部的串行时钟加于这一输入端口,以访问AD7705的串行数据。该串行时钟可以是连续时钟以连续的脉冲串传送所有数据,反之,它也可以是非连续时钟,将信息发送给AD7705;(2)MCLKIN为转换器提供主时钟信号,能以晶体/谐振器或外部时钟的形式提供。晶体/谐振器可以接在MCLKIN和MCLKOUT两弓|脚之间,时钟频率的范围为500kHz。5MHz;(3)MCLKOUT,当主时钟为晶体/谐振器时,晶体/谐振器被接在MCLKIN和MCLKOUT之间,如果在MCLKIN引脚处接上一个外部时钟,MCLKOUT将提供一个反向时钟;(4)CS片选信号,低电平有效;(5)RESET复位输入,低电平有效;(6)AIN2(+)差分模拟输入逶道2的正输入端{(7)AINl(十)差分模拟输入通道1的正输入端;(8)AINl(一)差分模拟输入遥道l的负输入端;(9)AIN2(~)差分模拟输入通道2的负输入端;(10)REFIN(+)差分基准输入的正输入端,基准输入是差分的,并规定14REFIN(+)必须大于REFIN(一),REFIN(+)可以取VDD和GND之间的任何值;(10)REFIN(一)差分基准输入的负输入端,REFIN(一)可以取VDD和GND之间的任何值,且必须满足REFIN(+)大于REFIN(一);(11)DRDY逻辑输出,这个输出端上的逻辑低电平表示可以从AD7705的数据寄存器获取新的输出字。完成对一个完全的输出字的读操作后,该引脚立即回到高电平。当该引脚处于高电平时,不能进行读操作,当数据更新后,该引脚又返回低电平:(12)DOUT串行数据输出端,从片内的输出移位寄存器读出的串行数据由此端输出。根据通信寄存器中的寄存器选择位,移位寄存器可以容纳来自通信寄存器、时钟寄存器或数据寄存器的信息;(13)DIN串行数据输入端,向片内的输入移位寄存器写入的串行数据由此输入。A/D转换电路如图2-9所示。其中,AD7705的SCLK信号接AT89C52的P1.2引脚;复位信号RESET接AT89C52的P1.3引脚;DRDY接P1.1引脚;DOUT串行数据输出端接P1.oN;AINl(+)差分模拟输入通道l的正输入端接到CD4051的AOUT(3l191),CD405l的输入端分别接Ptl00温度传感器。这样就可以实现对不同通道(不同的温控箱)的温度采样和A/D转换。CD4051是8选1电子开关,CD4051的控制端和地址锁存器74HC373相连,从而受到单片机的控制。通道选择电路如图2.10N:示。确CCAD7705图2-9A/D转换电路U14CD40SlCD405lA1lA13CD4051B10Anl014PTl0BCD405lC9AINIAIlf2,,1I16C15PT20VCCAI.N312PT30“}I|8GND1】6AIN415┃AIHTAIN┃通道电路出通道设计2.1温控箱的功率调节方式图20温控系统均采用可控硅来实现功率调节。可控硅的控制模式有两图21所示1225搦≯啪涮鞠移p零麓终零争势鬻je移籍铹dZ剑Of铡戮≯9搿eTuo姆opo{_rlonol2铹Oeioss粼fO图21控制模式比较16(1)相位控制:作用于每一个交流正弦波,改变正弦波每个正半波和负半波的导通角来控制电压的大小,进而可以调节输出电压和功率的大小。采用相位控制模式的可控硅控制器可以叫做调压器,它可以方便的调节电压有效值,可用于电炉温度控制、灯光调节、异步电机降压软启动和调压调速等。(2)零位控制:在设定的周期z内,触发信号使主回路接通几个周波(几个完整的正弦波),再断开几个周波,改变可控硅在设定周期内的通断时间比例,以调节负载上的交流电的平均功率,即可达到调节负载功率的目的。根据输出电压分布的不同,零位控制又分为分配式零位控制(在Z周期内根据输出百分比平均分布周波)和时间比例零位控制(在C周期内根据输出百分比连续接通几个周波,然后在疋周期剩余的时间内连续关断几个周波)。它多用于大惯性的加热器负载,采用这种控制,既实现了温度控制,又消除了相位控制时带来的高次谐波污染电网。本系统采用分配式零位控制的模式,控制温控箱的加热电阻的平均加热功率,进而控制温控箱的温度。2.4.2可控硅输出电路可控硅是一种功率半导体器件,简称SCR,也称晶闸管。它分为单向可控硅和双向可控硅,在微机控制系统中,可作为功率驱动器件。可控硅具有控制功率小、无触点、长寿命等优点,在交流电机调速、调功、随动等系统有着广泛的应用。双向可控硅相当于两个单向可控硅反向并联。双向可控硅与单向可控硅的区别是:(1)它在触发之后是双向导通:(2)在控制极上不管是加正的还是负的触发信号,一般都可以使双向可控硅导通。因此双向可控硅特别适合用作交流无触点开关。本系统中与可控硅配套使用的是MOC3041光电耦合双向可控硅驱动器,与一般的光耦器件不同之处是MOC3041输出部分是硅光敏双向可控硅,还带有过零触发检测器,以保证电压接近零时触发可控硅。可控硅输出电路如图2.12所示。17图2.12可控硅输出电路2.5保护电路保护电路的作用是对温控箱进行过温保护,其电路如图2.13N图2.14所示。图2.13保护电路(a)18R53470图2.14保护电路(b)当PtlOO测得的温度(电压信号)与设定的极限温度(通过电位器可调的电压信号)经过电压比较器LM339比较,如果发生温控箱温度超过设定的极限温度的情况,由于电压比较器LM339非常灵敏(电压比较器的两个输入端电压差别大于10mV就能确保输出能从一种状态可靠地转换到另一种状态),则电压比较器的输出端输出低电平,该低电平使高速光电隔离器6N315的3脚变为低电平,从而使RELAYDRY信号为低电平,继而驱动RELAYDRY信号控制继电器,断开加热电阻丝电源,保护温控箱。电路中增加的达林顿管TIPl22是一个电流驱动型器件,能够提高继电器的励磁电流。在继电器两端并联了续流二极管,其作用是当达林顿管由导通到关断时,继电器也由导通变为关断,由于继电器是个感性负载,电流不能突变,线圈两端将产生很高的反向电势,以继续维持线圈中通过的电流。这个反向电势一般很高,容易造成三极管的击穿,加入续流二极管后,为反向电势提供了放电回路,从而保护三极管不会被击穿。2.6串行通信接口电路目前,广泛使用的串行数据接口标准有RS.232,RS.422与RS.485三种。其中RS.232是美国电子工业协会正式公布的串口总线标准,也是目前最为常用的串行接口标准,用来实现计算机与计算机之间,计算机与外设之间的数据通讯。串行通信接口的基本任务是实现数据格式化。来自CPU的是普通的并行数据,接口电路应具有实现不同串行通信方式下的数据格式化的任务。具体任务是:(1)进行串一并转换;(2)控制数据传输速率;19(3)进行错误检测;(4)进行TTL与EIA电平转换;(5)提供EIA—RS.232接口标准所要求的信号线。由于CMOS电平和RS.232电平不匹配,因此要实现单片机和PC机之间的通信,必须在它们之间加接电平转换器。系统设计采用MAXIM公司的RS.232接口芯MAX232,这是一种标准的RS.232接口芯片。MAX232只需+5V电源供电,其内部的电源变化成±10V电源用于RS232通信。该芯片集成有两路收发器,可将单片机输入的TTL/CMOS电平转换为RS232电平发送给PC机,或将从PC机接收的RS232电平转换为TTL/CMOS电平发送给单片机。MAX232为双列直插16脚封装。系统串口通信电路如图2.15所示。iNIAX232图2.15串口通信电路其中T20UT连接上位机串口的RX端,R2IN连接上位机串口的TX端,R20UT和T2IN是TTL/CMOS发送器的输出和输入端,分别连接单片机的RX(P3.0)和TX(P3.1)端。2.7电源电路系统所用直流电源由三端集成稳压器组成的串联型直流稳压电源提供。设计中选用了LM7805,LM7815和LM7915三个三端集成稳压器,分别提供+5V、+15V和一15V直流电压,输出电流均为1A。LM7805、LM7815和LM7915的连接方法一样。变压器将220V的市电降压后再通过整流桥整流之后采用了大容量的电解电容进行滤波,以减小输出电压纹波。由于电解电容器在高频下工作存在电感特性,对于来自电源侧的高频干扰不能抑制,因此在整流电路后加入高频电容改善纹波。电源电路如图2—16和2.17所示。20图2.16输出+5V直流电源LM7815Voaxt3U8IVh一B31ECl3=b13C=104口2o£C14型n25Vln檬■…104●_一25Vl0I趣除E2寸ECl5:15ECl6=o—Z5Vl4-..一【04—0I心:16一25Vl104oI心2…‘…‘lU9口Zo3LM7915图2.17输出+15V和一15V直流电源2.8硬件抗干扰措施硬件抗干扰是应用系统最基本和最主要的抗干扰手段,一般从防和抗两方面入手来抑制干扰。其总的原则是:抑制或消除干扰源,切断干扰对系统的耦合通道,降低系统对干扰信号的敏感性。对于本系统,硬件抗干扰设计具体措施有:隔离、接地、滤波等常用方法。(1)隔离主要用于过程通道的隔离。光电耦合器能有效地抑制尖峰脉冲及各种噪声干扰,提高信噪比。在输入、输出通道采用光电耦合器将控制系统与外围接口隔离;(2)接地接地应遵循的基本原则是:数字地、模拟地、屏蔽地应该合理接地,不能混用。要尽可能地使接地电路各自形成回路,减少电路与地线之间的电流耦合。合理布置地线使电流局限在尽可能小的范围内,并根据地电流的大小和频率设计相应宽度的印刷电路和接地方式。模拟电源和数字电源各自并接0.1uF的陶瓷电容(去耦电容):(3)滤波电源系统干扰源主要是高次谐波。无源滤波器是一个简单的、有效的低通滤波器,它只让电网中基波通过,而对高次谐波有急剧的衰减作用,对串模干扰和共模干扰信号具有很强的双向抑制作用。2.9本章小结本章主要介绍了温度控制系统的硬件电路主要模块的设计。在介绍了单片机及其存储器扩展电路的基础上设计了系统采用的传感器铂电阻采样电路,这是系统的模拟电路部分,也是控制信息的源头,为本温度控制系统提供了温度电信号,由于铂电阻在大范围内测温具有非线性,所以本系统采取了最d'-乘法拟合的方法对其非线性进行优化。然后通过A/D转换芯片AD7705把温度电信号转换成数字信号送入AT89C52中,通过微控制器,实现对温度信号的显示、判断及控制。最后系统输出的适当控制量驱动系统的执行机构一双向可控硅。通过可控硅调功对被控对象温控箱的加热,实现系统对被控对象的温度控制。考虑到系统的安全,还设计了继电器保护电路。22第三章软件设计在微机测控系统中,软件与硬件同样重要。硬件是系统的躯体,软件则是灵魂,当系统的硬件电路设计好之后,系统的主要功能还是要靠软件来实现,而且软件的设计在很大程度上决定了测控系统的性能。为了满足系统的要求,编制软件时一般要符合以下基本要求:(1)易理解性、易维护性要达到易理解和易维护等指标,在软件的设计方法中,结构化设计是最好的一种设计方法,这种设计方法是由整体到局部,然后再由局部到细节,先考虑整个系统所要实现的功能,确定整体目标,然后把这个目标分成一个个的任务,任务中可以分成若干个子任务,这样逐层细分,逐个实现;(2)实时性实时性是电子测量系统的普遍要求,即要求系统及时响应外部事件的发生,并及时给出处理结果。近年来,由于硬件的集成度与运算速度的提高,配合相应的软件,实时性比较容易满足设计要求;(3)准确性准确性对整个系统具有重要意义,尤其是测量系统,系统要进行一定量的运算,算法的正确性和准确性对结果有着直接的影响,因此在算法的选择、计算的精度等方面都要符合设计的要求;(4)可靠性可靠性是系统软件最重要的指标之一,作为能够稳定运行的系统,抗干扰技术的应用是必不可少的,最起码的要求是在软件受到干扰出现异常时,系统还能恢复正常工作。结合上述编制系统软件的基本要求,首先讨论软件的设计思想。3.1软件设计思想很多的单片机软件系统都是采用如图3一l所示的前、后台系统(也称超循环系统)。其中,应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成是后台行为(background)。中断服务程序处理异步事件,这部分可以看成是前台行为(foreground)。后台也可以叫做任务级。前台也可以叫做中断级。时间相关性很强的关键操作(criticaloperation)一定是靠中断服务来保证的。本系统软件正是基于这种软件思想编制的。后台TI上帅图3.1前后台系统3.2软件组成由于整个系统软件相对比较庞大,为了便于编写、调试、修改和增删,系统软件的编制采用了模块化的设计。即整个控制软件由许多独立的小模块组成,它们之间通过软件接口连接,遵循模块内部数据关系紧凑,模块之间数据关系松散的原则,按功能形成模块化结构。系统的软件主要由主程序模块、数据采集模块、数据处理模块、控制算法模块等组成。主模块的功能是为其余几个模块构建整体框架及初始化工作;数据采集模块的作用是将A/D转换的数字量采集并储存到存储器中;数据处理模块是将采集到的数据进行一系列的处理,其中最重要的是数字滤波程序:控制算法模块完成控制系统的PID运算并且输出控制量。下面就介绍本系统几个主要的程序模块。3.3主程序模块主程序模块要做的主要工作是上电后对系统初始化和构建系统整体软件框架,其中初始化包括对单片机的初始化、A/D芯片初始化和串口初始化等。然后等待温度设定,若温度已经设定好了,判断系统运行键是否按下,若系统运行,则依次调用各个相关模块,循环控制直到系统停止运行。主程序模块的程序流程图如图3.2所示。在附录中给出了系统初始化源程序。24图3-2主程序流程图3.4数据采集模块数据采集模块的任务是负责温度信号的采集以及将采集到的模拟量通过A/D转换器转化为相应的数字量提供给单片机。数据采集模块的程序流程图如图3.3和图3.4所示。25图3.3数据采集模块程序流程图图3.4A/D转换程序流程图3.5数据处理模块数据处理模块负责处理A/D转换后的数字量。其中最重要的环节是数字滤波,所以这里主要讨论系统采用的数字滤波程序。3.5.1数字滤波模拟信号都必须经过A/D转换后才能为单片机接受,如果模拟信号受到扰动影响,将使A/D转换结果偏离真实值。因此仅仅对模拟量采样一次,我们是无法确定该结果是否可信的,必须经过多次采样,得到一个A/D转换的数据序列,通过某种处理后,才能得到一个可信度较高的结果。这种从数据序列中提取逼近真值数据的软件算法,通常称为数字滤波算法。数字滤波克服了模拟滤波器的不足,它与模拟滤波器相比具有以下几个方面的优点:(1)由于数字滤波是用程序实现的,因而不需要增加硬件设备,而且可以多个输入通道共用一个滤波程序;(2)由于数字滤波不需要硬件设备,因而可靠性高、稳定性好,各回路之间不存在阻抗匹配等问题;(3)数字滤波可以对频率很低(如O.01HZ)的信号实现滤波,克服了模拟滤波器的缺陷,而且通过改变数字滤波程序,可以实现不同的滤波方法或改变滤波参数,这比改变模拟滤波器的硬件要更灵活方便。常用的数字滤波方法有程序判断滤波法、中值滤波法、算术平均滤波法、一阶滞后滤波法、去极值平均滤波法等等,下面简要介绍这几种数字滤波方法。(1)程序判断滤波法首先要从经验出发,定出一个目标参数最大可能的变化范围。每次采样后都和上次的有效采样值进行比较,如果变化幅度不超过经验值,本次采样有效,否则,本次采样值应视为干扰而放弃,以上次采样值为准。该算法适用于变化缓慢的物理参数的采样过程,如湿度、液位等。(2)中值滤波法对目标参数连续进行若干次采样,然后将这些采样进行排序,选取中间位置的采样值为有效值。对于变化较为剧烈的参数,此滤波方法不宜采用。(3)算术平均滤波法是对目标参数进行连续采样,然后求其算术平均值作为有效采样值。该算法适用于抑制随机干扰。采样次数越大,平滑效果越好,但系统的灵敏度要下降。算术平均滤波不能将明显的脉冲干扰消除,只是将其影响削弱。(4)一阶滞后滤波法是一种动态滤波方法,其表达式为:Y=(1一叻X。+crY川式中以:第n次采样值】,川:上次滤波结果输出值L:第11次采样后滤波结果输出值(3—1)口:滤波平滑系数伢=—毛f+』f:滤波环节时间常数T:采样周期通常采样周期远小于滤波环节的时间常数,也就是输入信号的频率快,而滤波环节时间常数相对地小,这是一般滤波器的概念,所以这种滤波方法相当于RC滤波器。(5)去极值平均滤波法既采用去极值法去掉明显的脉冲干扰,又可对采样值进行平滑处理,在高、低速数据采集系统中,它都能削弱干扰,提高数据处理能力。本系统就采用了去极值平均滤波法。即对目标参数连续采样6次数据,然后对6次采样的数据由小到大排序,分别去掉最小值和最大值,将剩余的4个数据求其算术平均值,即得到本次A/D转换后的数字量。去极值平均滤波程序流程图如图3.5所示,附录中给出了去极值平均滤波的源程序。27(去极值平均滤波)上攀次采样排序J计算(N一2)个采样值的和上H-害it(N一2)个采样值flea-.qz:路-3值0均值送内存图3.5去极值平均滤波程序流程图3.5.2显示处理显示处理模块主要完成人机交互作用,具体实现将采样温度值、设定温度值以字符的形式通过液晶显示出来。本系统使用HTl621作为显示驱动器。HTl621是128点内存映象和多功能LcD驱动器。附录中给出了显示处理模块的源程序。3.6软件抗干扰措施本系统中,在软件方面的抗干扰措施主要从以下两个个方面来考虑:(1)按键的软件消抖措施按键是一个机械开关,当键按下时,开关闭合;当键松开时,开关断开。其特点之一就是它的抖动性,这是由按键的机械特性所决定的,抖动的时间一般约为10ms一20ms。对于按键消抖的具体措施目前有两种:一是用硬件电路来实现,即用RC滤波电路滤除抖动。另一种是用软件延时的方法来解决,即利用软件的延时避开按键的按下与抬起时都有的抖动期,从而避免检测到干扰信号。本文采用的就是软件延时消抖的方法。附录中给出了延时程序的源程序,同时延时程序还作为通用功能模块被其他模块调用;(2)数字滤波数字滤波是将一组输入数字序列进行一定的运算而转换成另一组输出数字序列的方法,采用软件滤波算法不需要增加硬件设备,可靠性高,功能多样,使用灵活,但是要占用一定的处理器运行时间。在本系统设计中,采用了数字滤波的软件抗干扰措施,所采用的数字滤波算法是去极值平均滤波法。3.7本章小结本章在分析了系统软件组成的基础之上,采用传统的前、后台方式编制系统软件,分别介绍了系统中的主程序模块、数据采集模块、数据处理模块。并在此基础上讨论了系统的软件抗干扰措施。第四章4.1PID控制4.1.1PID控制的发展控制方案PID控制是最早发展起来的控制策略之一,现今使用的PID控制器产生并发展于1915.1940年期间。尽管自1940年以来,许多先进的控制方法不断推出,但由于PID控制方法具有结构简单、鲁棒性好、可靠性高、参数易于整定,P、I、D控制规律各自成独立环节,可根据工业过程进行组合,而且其应用时期较长,控制工程师们已经积累了大量的PID控制器参数的调节经验。因此,PID控制器在工业控制中仍然得到广泛应用。据统计,有90%以上的工业控制器采用PID控制器。PID控制器的发展经历了液动式、气动式、电动式几个阶段,目前正由模拟控制器向着数字化、智能化控制器的方向发展。PID控制理论PID控制器是一种线性控制器,它根据给定值厂(f)与实际输出值y(t)构成控制偏差e(f):g(f)=,.(f)-y(t)(4一1)4.1.2将偏差e(f)的比例(Proportional)、积分(Integral)和微分(Derivative)通过线性组合构成控制量,对被控对象进行控制,因此称为PID控制。PID控制系统原理如图4.1所示。图4.1PID控制系统原理框图其控制规律为mM水∽+毒∽以+%警】(4-2)或者写成传递函数的形式为G(s)=KJD(14-÷+%s)1lS1(4—3)式中K,:比例系数Z:积分时间常数死:微分时间常数PID控制器各校正环节的作用如下:(1)比例环节即时成比例地反映控制系统的偏差信号P(f),偏差一旦产生,控制器立即产生控制作用,以减少偏差;(2)积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,Z越大,积分作用越弱,反之则越强;(3)微分环节能够反映偏差信号的变化趋势(变化速率),并且能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。PID控制算法由于计算机控制是一种采样控制系统,它只能根据采样时刻的偏差值计算控制量。因此,(4—2)式中的积分和微分项不能直接使用,需要进行离散化处理。现令丁为采样周期,以一系列的采样时刻点kT代表连续时间t,以累加求和近似代替积分,以一阶后向差分近似代替微分,做如下的近似变换:t=KT4.1.3(4.4)k是—de—(t)。—e(kT)-e[—(k-1)T]:—e(k)-e—(k-1)(4-6、dtTTfP(f)z丁∑e(jT)=r∑P(.,)(4—5)其中,,为采样周期,P(尼)为系统第k次采样时刻的偏差值,e(k一1)为系统第(k一1)次采样时刻的偏差值,肭采样序号,后=0,1,2,…。将上面的(4.5)式和(4-6)式代入(4—2)式,则可以得到离散的PID表达式甲k甲“(死)=Kp{e(宓)+寺∑e(/)+等吣)-e(k一1)】)(4-7)ij=o如果采样周期丁足够小,该算式可以很好的逼近模拟PID算式,因而使被控过程与连续控制过程十分接近。通常把(4.7)式称为PID的位置式控制算法。若在(4.7)式中,令:K!=箐(称为积分系数)(称为微分系数)舻竿则k“(尼)=KPe(尼)+K,∑P(jf)+K。[P(尼)一e(k一1)】j=o(4.8)(4.8)式即为离散化的位置式PID控制算法的编程表达式。可以看出,每次输出与过去的所有状态都有关,要想计算u(k),不仅涉及e(k)和e(k-1),且须将历次e(j)相加,计算复杂,浪费内存。下面,推导计算较为简单的递推算式。为此,对(4.8)式作如下的变动:考虑到第(后一1)次采样时有u(k-1)=K尸{P(尼一1)+争∑e(/)+等[e(尼一1)一e(七一2)])1』j=o(4—9)使(4.8)式两边对应减去(4-9)式,得u(k)-u(k-1)=KP{e(后)-e(k-1)+÷e(七)+二争[e(后)-2e(k—1)+P(尼一2)]).£,』整理后得“(尼)=u(k-1)+KP{[P(尼)-e(k—1)】+·:争P(尼)+之争[e(尼)一2e(k一1)+P(后一2)】)1,.f叫HMP(1专+和护阳1+孕MHM净酗-2)=u(k—1)+aoP(尼)一口le(k-1)+a2e(k一2)(4-10)其中仙喝(,+争务铲取t+争㈡喝等(4.10)式就是PID位置式得递推形式。如果令au(k)=u(k)一u(k一1)则Au(k)=aoP(尼)一ate(k—1)+a2e(k一2)式中的a。、a。、a,同(4.10)式中一样。(4—11)因为在计算机控制中,a。、a,、a:都可以事先求出,所以,实际控制时只须获得e(k)、e(k—1)、e(k一2)三个有限的偏差值就可以求出控制增量。由于其控制输出对应执行机构的位置的增量,故(4.11)式通常被称为PID控制的增量式算式。增量式PID控制算法与位置式控制算法比较,有如下的一些优点:(1)位置式算法每次输出与整个过去状态有关,算式中要用到过去偏差的累加值∑P(/),容易产生较大的累计误差。而增量式中只须计算增量,算式中不需要累加,控制增量的确定仅与最近几次偏差采样值有关,当存在计算误差或者精度不足时,对控制量的影响较小,且较容易通过加权处理获得比较好的控制效果;(2)由于计算机只输出控制增量,所以误动作影响小,而且必要时可以用逻辑判断的方法去掉,对系统安全运行有利;(3)手动一自动切换时冲击比较小。32鉴于以上优点,本系统的控制算法即采用增量式的PID控制算法。其程序流程图如图4.2所示。(入口-3\70输入并采样,.(k),Y(k)计算偏差e(k)=,|(k)一Y(k)I计算△“(七)=口。P(忌)+以。e(七一1)+口:P(J}一2)存△U(k)以备输出.…,...e(k一1)一e(k一2)CI^,_7(I^一1二(尼)二e(二一1)上r返回、\/图4-2增量式PID控制算法程序流程图附录中给出了本系统的PID控制算法源程序。4.2温控箱数学模型的确定数学模型通常是描述物理系统的运动规律、特性和输入与输出关系的一个或一组方程式,它表示了一个过程的输入变量(通常是控制作用和扰动作用)、状态变量与输出变量(通常是被控变量)之间的数学关系。数学模型的类型很多,按表达的规律是否包含时间因素,数学模型可以分为静态数学模型和动态数学模型两大类。描述系统静态特性的模型称为静态数学模型,例如对各种传感器与测试系统做静态校准时,所求出的都是静态模型;而描述系统动态或瞬态与过渡态特性的模型称为动态数学模型,例如对各种传感器与测试系统和控制系统进行动态校准时,所求出的便是动态模型。用微分方程或状态方程表示的动态系统模型称为参数模型,而以图线关系或其表达式表示的模型称为非参数模型;按模型表达的关系又可以分为外部关系模型和内部关系模型两类,外部关系模型是指该模型所表达的是系统的输入和输出之间的关系,它仅刻画系统的外部特性,而不深入到模型的内部。这种模型对于从目前的输入推论它的将来33输出,从整个系统的原因推出它的后果是有用的,而且从实验得到的数据及统计数据都能和这种模型相配合。内部模型是相对外部模型而言的,它是描述系统内部情况的模型,而且它也是包括外部关系的模型,因而它是一种更完全的数学模型,常以状态方程式来表示。一般而言,建立系统的数学模型有以下三类方法:(1)机理分析法(MechanismAnalysisMethod)这种方法通常需要通过分析过程的运动规律,运用一些已知的定律、定理和原理,如化学动力学原理、生物学定律、牛顿定理、物料平衡方程、能量平衡方程和传热传质原理等等,推导出描述系统的数学模型(例如代数方程或者微分方程等)。这种方法也称作理论建模。但是,分析法只能用于比较简单的系统(例如一些简单电路,测试系统、过程检测、动力学系统等),对于比较复杂的实际生产过程来说,这种建模方法有很大的局限性,因为在理论建模的过程中对所研究的对象必需做一些合理的假设与简化,否则所建立的数学模型过于复杂,不易求解,而且这些假定往往也不一定能符合实际情况。何况实际过程的机理有时也并非完全知道;(2)实验测试法(ExperimentTestingMethod)过程的输入输出信号一般总是可以测量的。由于过程的动态特性必然表现在这些输入输出数据之中,那么就可以利用输入输出数据所提供的信息来建立过程的数学模型。这种建模方法又叫做系统辨识;(3)前两种方法结合起来就某种意义上讲,实验测试法较机理分析法有一定的优越性。因为它无需深入了解过程的机理。但是,这又不是绝对的。测试法的关键之一就是必须设计一个合理的实验,以获得过程所含得信息量最大,这点往往非常困难。因此,实际应用中,两种方法是相互补充相辅相成的。建立数学模型时一般需要遵循以下一些基本的原则:(1)目的性明确建模的目的。不同建模目的牵涉的建模方法可能不同;(2)实用性模型的物理概念要明确;(3)灵活性(Flexibility)模型应能描述大多数不同过程的动态特性,这样就可以扩展它的应用;(4)算法的复杂性(AlgorithmComplexity)模型的结构决定算法的复杂性,应尽可能的选择简单的结构,使计算量较少;(5)可辨识性(Identifiability)模型结构要合理,输入信号必须是持续激励的(persistentlyexiting),数据要充足;.(6)节省原理(Parsimony)待辨识的模型参数个数要尽可能的少;(7)准则函数特性(PropertiesoftheCriterionFunction)选择的准则函数特性应使算法简单,不出现非线性问题,便于实现全局最小。由于温控箱的温度不仅和加热电压有关,而且还存在着温控箱热容、温控箱箱壁散热等因素的影响,故通过第一种方法分析建模有一定的难度,所以本文采用第三种方法。即先对温控箱的特性进行分析,得出理论的数学模型,再运用系统辨识的方法确定模型中的参数。系统辨识时使用的工具是MATLAB中的系统辨识工具箱。4.2.1温控箱特性分析在生产过程中,由于热传导问题的复杂性,一般的加热设备都具有非线性、大滞后和不对称性等特点。滞后又包括纯滞后和容积滞后,电加热设备的滞后主要是容积滞后。加热体的结构、容量的大小、测温元件及其安装的位置等都影响着滞后的大小。它不是一个单一的问题,而是一个系统性的问题。工业中绝大多数的加热设备都是升温时用强迫加热,而温度下降过程靠自然冷却。因此,温度特性是不对称的:升温时响应快,而降温时响应慢。在过程控制中,通常情况下把电加热设备的动态特性看成是一个线性系统,用一个或两个惯性环节串联一个纯滞后环节来表示上P哺或者———竺一P咄7j+1F矿(?is+1)(7;s+1)这种近似处理在许多情况下是可行的。本文就采用前者一个惯性环节串联一个纯滞后环节作为温控箱的数学模型的形式。其中K是增益,劝时间常数,彳为滞后时间。4.2.2温控箱数学模型的辨识一般为了求取模型参数,先给系统输入一个激励信号,得到系统对信号的瞬态响应,再来求得模型的参数。对于本温控系统,采用阶跃响应法来求模型的参数。阶跃响应法是比较常用的经典辨识方法之一,它是通过实验来测得系统的阶跃响应曲线,再由该曲线辨识系统的传递函数。下面简单介绍一下系统辨识实验的设计。辨识的实验设计包括下列的选择和决定:(1)输入信号的选择为了使过程是可辨识的,输入信号必须满足一定的条件。最低的要求是在辨识时间内过程必须被输入信号持续激励。或者说,在实验期间,输入信号必须充分激励过程的所有模态。这是一个输入信号的最优设计问题,要求输入信号的频谱必须覆盖过程的频谱;(2)采样间隔的选择现在对现场数据的采集一般都采用计算机,故输入输出信号都需要经过采样处理。采样间隔的选择将直接影响辨识模型的精度,它的选择主要取决于最终应用的采样间隔以及要满足香农(Shannon)采样定理,即采样速度要高于过程模型频率特性的截止频率的2倍;(3)辨识时间(数据长度)一般要求有足够的数据才具有统计意义,达到一致性估计的目的。如果数据太少,精度就难以保证;35根据上述的原则,通过对温控箱加热实验的方法得到温控箱的温度响应曲线。采样时间为0.1s,可控硅的通断时间比分别控制为10%和30%,对温控箱进行加热200s。每组实验得N2000个数据。如图4.3和图4.4所示。图4.3通断时间比为10%的响应曲线图4.4通断时间比为30%的响应曲线在实验得到温控箱的响应曲线的基础之上,然后利用MATLAB系统辨识工具箱对实验得到的数据进行参数辨识。首先简单介绍一下MATLAB系统辨识工具箱。MATLAB系统辨识工具箱提供了进行系统模型辩识的有力工具,其主要功能包括:(1)参数模型辨识工具,包括AR(自回归模型)、ARX(带控制量的自回归模型)、状态空间和输出误差等模型类的辨识工具;(2)非参数模型辨识工具;(3)模型验证工具,即对辨识模型进行仿真并将真实输出数据与模型预测数据进行比较,计算相应的残差;(4)递推参数估计,针对各种参数模型,利用递推估计方法获得模型参数;(5)各种模型类的建立和转换函数;(6)集成多种功能的图形用户界面,该界面以图形交互方式提供模型类的选择和建立、输入输出数据的加载和预处理,以及模型的估计等功能。MATLAB系统辨识工具箱的图形用户界面如图4.5所示。图4.6所示为系统辨识工具箱的数据输入对话框和模型参数选择对话框。利用工具箱提供的功能强大的图形用户界面,可以很方便的进行系统参数辨识。modelsV毒铆嘲n3Import毒匮j7-1日日唪卓c口zr口-]目日i-jPreipro工cess一蔓口1--1C-tr--1[]口.掣m甚.≤[][][]口田茹Data懈冈冈。。.。玺。二blodel怕≥。..;。口Dataspectra[二量口口FrequencyfunctionDatasetPlDcontrolinsertedDoubleclickonicon(rightmouse)tottextinform甜ion图4.5MATLAB系统辨识工具箱图形用户界面固一丌iI讧i一瞬_》强}l穰ll彩墨壤巴lll¨…一厢r,_”飘曩It鞠#lI静’瑚ID嘲FormatforSignalsModeI'TransferFunctionPararneteKnoValueInitialBou}ndsTime.DomainSignals警-K口一...i_;I—Auto一川InfInf]l!Kexor.TdSlTpl口,…..j?鳓o㈡o001Infr1+Tols、f¨……。…!WofkspaceVariable∞,;_Input:.juPoles鼍??_!=1:_曩toutput:.;tk01ft1《{A¨teaIVTd口≯Auto【03】-qZeroInIialC。JeS¥DataInformation盈Delay囝Auto-selectedmo……、Dataname:LJ…‘o,…oI时■Ⅲ时nr0Fromexisting一my?d…dta0User.de一7rv'alue一,IntialG...一…’Startingtimer……Samplinginterval:01卜Oi髓urbanceNone霉stare:”A7uto爱lMorelFo刨8::s}mu㈨警’co。鲫i8∞。:Estimate每i【options”I融帅州8m8难}ImportReset产蜘口’race断惭抵1l【Close】jM…elplIName:PlDIEstimateClose}【HelpJ图4-6数据输入对话框和参数选择对话框输入实验得到的数据并选择模型,分别对两次实验数据辨识后得到如下的结果:可控硅通断时间比为10%时K=3.50149,T=149.86,z=3可控硅通断时间比为30%时K=3.4974,T=150.31,彳=3故,认为温控箱的数学模型为G(s):旦e曲(4.12)1+150s从图4—7可以看到,模型的响应曲线与实验数据的拟合程度为94.04%。因此,可以认为,辨识的模型还是比较符合实际情况的。图4.7实验数据与模型响应曲线的拟合度4.3PID控制参数整定由于PID控制器的输出为系统偏差的比例、微分和积分作用后的线性组合,所以调整各个部分的线性系数就是PID控制器控制性能好坏的关键。必须针对具体被控对象对PID控制器参数进行整定。PID参数的整定有以下常用的方法:(1)试凑法这种方法是通过仿真或实际运行,观察系统对典型输入作用的响应曲线,根据各控制参数对系统的影响,反复调节试凑,直到满意为止,从而确定PID参数。我们知道,PID控制器各参数对系统的影响是,增大开环比例系数K,,一般将加快系统的影响速度,在有静差的情况下则有利于减小静差;但过大的比例系数又会加大系统超调,甚至产生振荡,使系统不稳定。在试凑时,实行先比例、后积分、再微分的反复调整。其步骤如下:(a)整定比例部分先置PID控制器中的积分微分环节不起作用,使之成为比例控制器,再将比例系数K。由小变大,观察相应的响应,使系统的过渡过程达到4:1的衰减振荡和较小的静差。如果系统静差已小到允许范围内,并且已达到4:1衰减的响应曲线,那么只需用比例控制器既可,最优比例度就由此确定;(b)加入积分环节如果只用比例控制,系统的静差不能满足要求,则需加入积分环节。整定时,先将比例系数减小10-20%,以补偿因加入积分作用而引起的系统稳定性下降,然后由大到小调节Z,在保持系统良好动态性能的情况下消除静差。这一步可以反复进行,以期得到满意的效果;(c)加入微分环节在整定时,先置%为零,然后,在第(2)步整定的基础上再增大%,同时相应地改变比例系数KP和积分时间乃,逐步试凑以获得比较满意的控制效果和控制参数。(2)扩充临界比例度法这是Ziegler和Nichols提出的一种PID参数整定方法。它是以模拟控制器中使用的临界比例度法为基础的一种PID数字控制器参数的整定方法,用它来整定数字PID控制器的参数步骤如下:(a)选择合适的采样周期丁。所谓合适是指周期足够小,一般应选它对象的纯滞后时间的1/10以下:(b)仅让控制器作纯比例控制,由小到大逐渐增大比例系数KP,直至使系统出现临界振荡,记下此时的临界振荡周期疋和临界振荡增益Ks;(c)选择合适的控制度。所谓控制度,就是数字控制器和模拟调节器所对应的过渡过程的误差平方的积分之比,即)控制度:!皇竺垫(4-313)控制度=翟-—二[f。e2dt]彳通常,当控制度为1.05时,数字控制器与模拟控制器的控制效果相当;当控制度为2.0时,数字控制器比模拟控制器的控制质量差一倍;(d)根据控制度,查表4.1,即可以求出丁,K,,乃和%的值。表4.1扩充临界比例度法整定参数表T控制度1.05控制规律PIHsKP/Ks0.54Tl疆s0.88TD汲s0.03PID0.0140。63O.490.141.2PIO.05O.490.9lPID0.0450.470.47O.161.5PI0.14O.420.99PID0.090.340.430.202.0PIO.22O.361.05PID0.160.270.40.2239(3)扩充响应曲线法在上述的两种方法中,不需要预先知道对象的动态特性,而是直接在闭环系统中进行PID参数整定的。如果已知系统的动态特性曲线,数字控制器的参数也可以采用所谓的扩充响应曲线法进行整定。具体步骤如下:(a)断开数字控制器,使系统在手动状态下工作。人为地改变手动信号,给被控对象一个阶跃输入信号,如图4.8(a)所示;(b)用仪表记录下被控参数在此阶跃输入作用下的变化过程曲线,即对象的阶跃响应曲线,如图4.8(b)所示:(C)在对象的响应曲线上,过最大斜率处作切线,求出等效滞后时间万和等效时间常数乙,并计算出它们的比值乙/f;(d)根据所求得的彳、乙和疋/f的值,查表4—2即可求得控制器的Z、K”正和%,表4.2中的控制度的求法与扩充I临界比例度法相同。1O(a)tO(b)图4.8广义特性的飞升曲线(a)阶跃信号(b)响应曲线表4—2控制度控制规律扩充响应曲线法整定参数表T/tKP|Tm·一Tl|tTB}{1.05PI0.10.843.4PIDO.051.152.00.451.2PI0.20.733.6PIDO.161.O1.90.551.5PI0.50.683.9PID0.34O.851.620.652.0PI0.8O.574.2PID0.60.61.50.824.4MATLAB仿真通过对上述的整定方法的综合运用,整定后得到PID控制器的参数为:KJp=1.75,K,=O.0125,KD=3在MATLAB/Simulink环境下建立温度控制系统的仿真模型,如图4-9所示。仿真后得到系统的阶跃响应曲线如图4—10所示。图4.9PID控制仿真的Simulink框图5,plgures一)CO口eV一^2尹争l£ure¥皇3Copeln图4—10阶跃响应图4.1l响应误差从图4.10可以看到系统的阶跃响应的动态性能还是比较理想的,超调很小(响应峰值为1.0l7,超调量仃%=1.7%)。从图4—11可以看到,系统的响应误差是也是比较小的(稳态误差为0.005),在系统要求的精度范围之内。4l4.5本章小结本章首先介绍了PID控制理论及其控制算法,然后在分析温控箱特性的基础之上,利用MATLAB系统辨识工具箱对温控箱的数学模型进行参数辨识。随后讨论了PID控制器常用的参数整定方法,最后给出了仿真结果。从仿真结果看,控制效果还是比较理想的。42第五章5.1系统调试TKS仿真器与集成开发环境KEILTKS仿真器仿真的概念其实使用非常广,最终的含义就是使用可控的手段来模仿真实5.1.1的情况。单片机系统开发中的仿真包括软件仿真和硬件仿真。(1)软件仿真这种方法主要是使用计算机软件来模拟实际的单片机运行,因此仿真与硬件无关的系统具有一定的优点。用户不需要搭建硬件电路就可以对程序进行验证,特别适合于偏重算法的程序。软件仿真的缺点是无法完全仿真与硬件相关的部分,因此最终还要通过硬件仿真来完成最后的设计;(2)硬件仿真使用附加的硬件来替代用户系统的单片机并完成单片机全部或大部分的功能。使用了附加硬件后用户就可以对程序的运行进行控制,例如单步、全速、查看资源断点等。在单片机应用系统的开发过程中,程序的设计是最为重要的但也是难度最大的工作,一种最简单和原始的开发流程是:编写程序,烧写芯片并验证功能,这种方法对于功能简单的小系统是可以对付的,但在比较大的系统中使用这种方法则是完全不可能的。此时就需要用到仿真器。在本系统软件设计调试的过程中使用的是TKS58型仿真器。TKS系列仿真器是广州致远电子有限公司推出的高性能实时在线仿真器。可以实时在线仿真PHILIPS半导体公司的80C51系列单片机,同时还能够实时在线仿真ATMEL和Winbond等公司的兼容MCS.51内核的标准80C51单片机。彻底解决80C51开发中仿真工具的瓶颈问题。TKS系列仿真器在硬件上采用了PHILIPS授权的HOOKS/Bondout仿真技术,并加以改进,几乎支持所有的80C51系列单片机的实时仿真,能保证用户更加方便的操作和更加真实的仿真效果并能直接或通过简单的升级支持仿真PHILIPS陆续推出的全系列80C51内核单片机,每种型号的仿真器均能支持多种不同型号80C5l单片机的仿真。TKS系列仿真器还可以同KEIL调试软件无缝衔接并得到KEIL公司的强力技术援助具备强大的调试功能。5.1.2集成开发环境KEILI.tVision2集成开发环境是德匡IKEILSoftwareInc/KEILElektronikGmbH开发的基于80C51内核的微处理器软件开发平台。它内嵌多种符合当前工业标准的开发工具,可以完成从工程建立和管理、编译连接目标代码的生成、软件仿真、硬件仿真等完整的开发流程。尤其它的c编译工具在产生代码的准KEILIDE43确性和效率方面达到了很高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。KEILIDEgVision2集成开发环境主要由以下部分组成:IDE(1)gVision2gVision2IDE包括:一个工程管理器,一个功能丰富并有交互式错误提示的编辑器选项设置生成工具,以及在线帮助。使用gVision2仓U建源文件并组成应用工程加以管理。gVision2可以自动完成编译汇编链接程序的操作;(2)C51编译器和A51汇编器由gVision2IDE{亟J建的源文件可以被C51编译器或A51汇编器处理生成可重定位的object文件。KEILC51编译器遵照ANSIC语言标准支持C语言的所有标准特性,另外还增加了几个可以直接支持80C5l结构的特性。KEILA51宏汇编器支持80C51及其派生系列的所有指令集;(3)LIB51库管理器LIB51库管理器可以从由汇编器和编译器创建的目标文件建立目标库,这些库是按规定格式排列的目标模块,可在以后被链接器所使用当链接器处理一个库时仅仅使用了库中程序使用了的目标模块而不是全部加以引用;(4)BL51链接器定位器BL51链接器使用从库中提取出来的目标模块和由编译器汇编器生成的目标模块创建一个绝对地址目标模块,绝对地址目标文件或模块包括不可重定位的代码和数据所有的代码和数据都被固定在具体的存储器单元中。绝对地址目标文件可以用于:(a)编程EPROM或其它存储器设备;(b)由I-tVision2调试器对目标进行调试和模拟;(c)使用在线仿真器进行程序测试。(5)gVision2软件调试器lxVision2软件调试器能十分理想地进行快速可靠的程序调试。调试器包括一个高速模拟器,可以使用它模拟整个80C51系统包括片上外围器件和外部硬件;(6)laVision2硬件调试器I_tVision2调试器向您提供了几种在实际目标硬件上测试程序的方法。安装MON51目标监控器到目标系统并通过Monitor.51接口下载程序,使用高级GDI接口将gVision2调试器同TKS系列仿真器的硬件系统相连接,通过lxVision2的人机交互环境指挥连接的硬件完成仿真操作。图5.1和图5.2分别是J.tVision2较为全面的操作界面与调试界面。图5—1gVision2操作界面图5-2gVision2调试界面5.1.3利用KEIL开发系统软件流程利用KEIL开发和调试系统软件流程大致如下:(1)启动gVision2,进入KEIL软件的集成开发环境:(2)利用KEIL内置的文本编辑器进行程序源文件的编辑,因为KEIL集成的文本编辑器对中文支持不是很好,可以选择其他的编辑器(本文使用的文本编辑器是Ultraedit.32),laVision2能够自动识别外部改变了的源文件;(3)建立工程,指定针对哪种单片机进行开发,指定对源程序的编译、链接45参数,指定调试方式(本文采用外部硬件仿真器仿真调试的方式,即使用TKS仿真器仿真),然后对工程进行相关设置;(4)设置好工程后即可进行编译、链接。连接仿真器对软件进行调试。也可以生成下载到单片机存储器上的HEX文件。5.2系统硬件调试系统软硬件调试的目的是通过控制程序和硬件电路的配合工作,进行一些操作,以验证系统的软、硬件是否能够完成设计的功能。调试的过程是按照系统的设计功能来划分的。硬件电路系统测试首先是保证各个元件之间以及各个模块之间的连接正确并且接触良好,这是整个硬件电路系统正常工作的前提。接着分别测试各个硬件模块的性能。按照测试性质的不同可分为电压测试和信号测试两种。电源模块主要是电压测试。测试结果为:小型变压器输出为18V和8V的交流电,经过二极管整流桥整流,再通过稳压芯片7805和7815、7915输出的电压分别是+5V和+15V、一15V,电压测试的结果与预期目的一致,从而确保了提供给其它模块电压的稳定性。单片机输入输出接口主要是信号测试。根据理论计算和软件仿真的预期结果,再通过对响应的信号进行测试。测试结果与预期结果基本一致,保证了系统按照设计的思路正常运行。通过测试硬件电路系统中的几个测试点,确保关键的电压信号满足要求,确保系统正常运行。5.3系统软件调试系统的软件调试借助于TKS仿真器,在进行系统软件的连续调试之前要先进行软件的初调,就是要使各个子程序模块运行正确,程序的运行流程正确。软件调试主要分以下几个步骤进行:(1)功能子程序的调试功能子程序的调试包括运算、采样、数字滤波以及PID运算等子程序的调试。在调试功能子程序时,许多参数都是未知的,要根据其所需的条件,给出假定的数据,使其运行,如果能完成预定的处理功能或与手工计算的结果相符,就说明该子程序己调试通过。调试时由小到大,由里到外。例如,调试PID算法子程序时,先调通其包含的各个运算子程序和参数处理子程序,然后将它们连起来进行通调。通调时,也是假定一些数据、参数和初始条件,然后运行程序。当运算结果与手工计算的结果相同时,该算法子程序则调试完成,反之,就要进行相应的修改。其它子程序的调试同理;(2)程序流程的调试程序流程的调试主要是查看程序运行的步骤是否正确,在某时刻程序运行所处的位置是否正确,是否能正确运行各个中断服务程序。在调试过程中,先将PID算法子程序屏蔽,输出可控硅导通时间用一个固定的常数代替,在各个中断服务子程序设置断点,然后运行程序,查看程序是否能运行到所有的断点,若所有断点都能运行到,则程序流程基本正确。去掉所有断点,再一次运行程序,查看可控硅状态,从而判断程序流程正确,反之,若程序流程不正确,做相应的修改后,重新调试;(3)功能程序与算法程序的通调在完成整个程序流程的调试后,将PID等算法子程序加入,在算法子程序前或后设置断点,运行整个程序。当程序在断点处暂停时,查看PID计算的控制量与手工计算的值是否相同。多运行几次,若每次的结果都正确,则说明程序各个部分互相没有矛盾,反之,则说明算法子程序和其它子程序之间有影响,需要做相应的修改后重新调试。5.4本章小结本章主要介绍了系统软件开发平台KEILIDEgVision2集成开发环境和系统调试工具TKS仿真器。以及系统软、硬件的调试。47第六章结论6.1总结温度控制在工业生产中起着非常重要的作用。本文完成了基于单片机的温度控制系统的开发。包括系统的硬件开发、软件编程与仿真调试等。在论文完成过程中,主要做的工作有:(1)以ATMEL公司的AT89C52单片机为核心进行系统硬件设计,输入通道采用Ptl00铂电阻温度传感器,AD7705作为A/D转换器;输出通道采用可控硅作为输出单元,大大地简化了系统硬件电路。通过对占空比的调节可实现温控箱温度的自动控制。由于输入端与输出端有光电隔离,能够有效地抑制干扰;(2)在温度控制系统中采用常规的PID控制方法,这需要知道被控对象的数学模型,以及对PID控制器的参数进行整定。因此,在分析了温控箱的特性的基础上,利用MATLAB系统辨识工具箱这个有力的工具对温控箱的模型参数进行辨识,然后对PID控制器的参数进行整定,并且做了仿真实验;(3)采用c语言对系统的软件编程,在开发过程中使用了TKS仿真器,这些都大大缩短了软件的开发周期。为了便于编写、调试、修改和增删,系统软件的编制采用了模块化的设计方法。6.2展望本系统使用的AT89C52属于与MCS.51系列兼容的8位单片机,这种单片机本身资源较少,不利于系统的扩展,目前日益普及的基于ARM或DSP结构的微控制器,在系统扩展能力,处理数据的能力各个方面都远远超出了8位单片机。传统的单片机编程采用时间片轮转的方式,即将实时性要求不高的工作放在主函数之中,依次轮流执行;实时性要求高的,使用中断技术及时处理,这样构成前、后台处理程序,程序中间通过软件标志、全局变量等完成通信与联络。本系统的软件就是基于这种方式开发的。随着微处理器芯片性能的提升、价格的下降及对软件的可重用性、可维护性的提高,采用实时操作系统(RTOS)已经成为大势所趋。随着工业的发展,对象的复杂程度不断加深,尤其对于大滞后、时变的、非线性的复杂系统:其中有的参数未知或缓慢变化;有的带有延时或随机干扰;有的无法获得较精确的数学模型或模型非常粗糙。加之人们对控制品质的要求日益提高,常规PID控制的缺陷也逐渐暴露出来。因此人们在应用PID控制的同时,也不断地对其进行了各种改进。主要体现在两个方面:一是对常规PID控制器本身结构的改进,即变结构PID控制;另一方面随着智能控制如模糊控制、神经网络控制和专家控制等先进控制技术的迅速发展,它们与常规PID控制相结合,扬长避短,发挥各自的优势,形成所谓的智能PID控制。这种新型智能PID控制器已引起人们的普遍关注和极大的兴趣,也已得到较为广泛的应用。结合上面的论述,今后还需要做进一步的研究和解决的问题有:(1)硬件方面,采用DSP、ARM或者利用第一章提到的片上系统SOC对系统的硬件进行重新设计;(2)软件方面,摒弃传统的前后台系统软件编程模式,改用基于实时操作系统的系统软件开发;(3)控制算法方面,尝试采用现在得到快速发展的智能控制方法,如模糊控制、神经网络控制和模糊PID控制等等。49参考文献[1]陈国将.基于模糊PID控制的玻璃纤维机械温度控制系统研究[D].西安建筑科技大学硕士学位论文,2006[2]苏卫东,任思聪等.温控箱数学模型的建立及其自适应PID控制[J].中国惯性技术学报,1995年第3卷第4期[3]徐建林.热处理电阻炉炉温控制系统的分析与仿真[J].金属热处理,2002年第27卷第l1期[4]Ljung,Lennard.TheoryMITpress,1983AndPracticeofRecursiveIdentification[M].The[5]齐志才,赵继印.MCS.51系列单片机原理及接口技术[M].北京:中国建筑工业出版社,2005[6]赖寿宏.微型计算机控制技术[M].北京:机械工业出版社,1999[7]张文娜.电控空气悬架PID控制系统设计与实验研究[D].江苏大学硕士学位论文,2006[8]王幸之,王雷,翟成等.单片机应用系统抗干扰技术[M].北京:北京航空航天大学出版社,1999[9]张宇.高精度恒温箱温度控制理论研究与系统设计[D].合肥工业大学硕士学位论文,2005[10]薛定宇.控制系统计算机辅助设计(第二版)[M].北京:清华大学出版社,2006[11]李朝青.单片机&DSP外围数字IC技术手册(第二版)[M].北京:北京航空航天大学出版社,2005[12]刘金琨.先进PID控制及其MATLAB仿真[M].北京:电子工业出版社,2003[13]求是科技.8051系列单片机c程序设计完全手册[M].北京:人民邮电出版社,2006[14]黄俊,王兆安.电力电子变流技术(第三版)[M].北京:机械工业出版社,1999[15]孙广清.便携式温度传感标定装置[D].西北工业大学硕士学位论文,2007[16]冯博琴主编.微型计算机原理与接口技术[M].北京:清华大学出版社,2006[17]何立民主编.单片机应用技术选编(第一卷)[M].北京:北京航空航天大学出版社,1993[18]尚玉沛,石林锁,张振仁.最小二乘法在高精度温度测量中的应用[J].传感器技术,2000年第1期[19]刘国强,唐东红,李兴伟.基于AT89C51单片机的高精度测温系统的研制[J].仪器仪表学报,2005年第26卷第8期增刊[20]黎永光,金伟正.新型四线制测温电路的研究[J].武汉工业学院学报,2000年第3期[21]梁伟.一种精密的热电阻测温方法[J].电子产品世界,2003年08A期[22]Maxim年第8期GertN.Helles.Ptl00铂电阻温度变送器[J].世界电子元器件,2003[23]于海生等.微型计算机控制技术[M].北京:清华大学出版社,1999[25]严钟豪,谭祖根.非电量电测技术(第二版)[M].北京:机械工业出版社,200l[26]侯志林,过程控制与自动化仪表[M].北京:机械工业出版社,1999[27]郑善锋,郑华杰等.利用微机数据处理提高温度测量精度[J].电路与系统学报,2005年第10卷第1期[28]方崇智,萧德云.过程辨识[M].北京:清华大学出版社,1998[29]倪博溢,萧德云.MATLAB环境下的系统辨识仿真工具箱[J].系统仿真学报,2006年第l8卷第6期[30]谭浩强.C语言程序设计[M].北京:清华大学出版社,1998[31]陈忠华.基于单片机的温度智能控制系统的设计与实现[D].大连理工大学硕士学位论文,2006[32]沈怀洋.高精度铂电阻温度调节器[D].沈阳工业大学硕士学位论文,2004[33]许丽川.过程控制调节规律的研究一单片机温度控制系统的设计制作[D].电子科技大学硕士学位论文,2000[34]薛定宇,陈阳泉.基于MATLAB/Simulink的系统仿真技术与应用[M].北京:清华大学出版社,2002[35]胡寿松主编.自动控制原理(第三版)[M].北京:国防工业出版社,l994附录部分源程序1.初始化程序I鼻function:description:voidinit(void)thisfunctioninitializethesystemnOnenOneparameter:return:宰,voidinit(void){DIOInitO;Reset77050;Init7705(0);//复位7705,防止SPI口迷失//7705通道1初始化//IO口位地址定义ConvAdr[0]=0x01;ConvAdr[1]=0x02;ConvAdr[2]=0x04;ConvAdr[3]=0x08;ConvAdr[4]=0xl0;ConvAdr[5]=0x20;TMOD=0x01;ES=ETl=EXl=ET0=EXO=O;EA=I;//timer0,model(16bittimer)//Disableallinterruptsource//EnableCPUinterruptinit——serialcomm0;//初始化串口j≮description:thisfunctioninitializethediscreteI/Omanagermodule.parameter:returns卑lnonenone:voidDIOInit(void){S2DOmap=Oxff;XBYTE[DRIVER]=DOmap;//控制前将所有的驱动输出El打开,这样可控硅不会导通避免上电就直接加热|鼍function:description:parameter:return:粤|voidReset7705(Void)thisfunctionforresetAD7705nOnenOnevoidReset7705(Void){unsignedcharij;AdClk=l;AdDin=0;for(i-0;i<32;i++)//DIN与DOUT共用一根数据线,需至少24个读操作{AdClk=0;for(j=0;j<AD—CLK_wIDTH;j++){)AdClk=l;forO=0;j<AD—CLK_wIDTHIj++){)AdDin=l;for(i_O;i<40;i++){AdClk=0;//多于连续32个DIN=I使AD7705SPI口复位for(j=0;j<AD—CLK—wIDTH;j++){)AdClk=l;for(j=O;j<AD—CLK—WIDTHj++){))delay(100,loo);}}延贰100"100"lus=10ms53|鼻function:description:voidInit7705(Void)thisfunctioninitializead7705nOnenOneparameter:return:卑|voidInit7705(uns培nedcharchan){unsignedcharunsignedintfloatid;rd【5】【4】;dtmp[5][4];WriteByte7705(0x20[chan);WriteByte7705(0xob);WriteByte7705(0x10[chan);WriteByte7705(0x44);while(AdRdy){)//通道0/1,下一个写时钟寄存器//2MHz,分频,更新速度为200HZ//通道0,下一个写设置寄存器//自校准,增益1,单极,不缓冲,同步//等待数据准备好|年function:description:parameter:return:奄|voidinit—serialcomm(void)thisfunctioninitializetheserialnOnenOnevoidinit—.serialcomm(void)SCON=0x50;//SCON:serailmode1,8一bitUART,baudvariableTMODI=0x20;PCON//TMOD:timer1,mode//SMOD=I;2,8-bitreloadI=Ox80;THl=Oxf4:TLl=Oxf4;ES=1;TRl=1://Baud:4800foSC=11.0592MHz//EnableSerialInterrupt//timerlrun)2.数字滤波程序|聿function:description:parameter:return:牛,unsignedintad——filter(void)thisfunctionforADfilternOneadcount....>theactualtempratureHasignedcharad——filter(unsignedcharchannel){unsignedcharunsignedintunsignedintunsignedintad_count;ad_max,ad_min;result_tmp50:adresult[6];adresult【O]_GetData7705(channel);adresult【1】=GetData7705(channel);adresult[2】=GetData7705(channel);adresult【3]=GetData7705(channel);adresult【4】=GetData7705(channel);adresult[5】=GetData7705(channel);//连续采样6次for(aQ—count=O;ad_count<6;ad—count++)//排序{if(ad_result[ad—count]>2ad_max){admax=adresult[ad—count];)if(ad—result[ad—count]<2ad_min){admin=ad——result[ad——count];)ult[5]一ad—max—ad_min)/4;淼t_tmp=(adresult[0]+adresult[1]+adresult[2]+adresu//l求t[3均]+值adresul‘mms77小卅咀adcount=result_tmp;55return(ad——count);3.显示模块源程序unsignedcharcodedisp—code【22】-{OxaO,OxfO,Ox00,Ox60,Ox60,OxdO,Ox40,OxfO,OxcO,Ox60,OxcO,OxbO,OxeO,OxbO,Ox00,OxeO,OxeO,OxfO,OxcO,OxfO,Ox00,Ox00};|肆function:description:voidinit_htl621(void)thisfunctioninitializetheht162lnOnenOneparameter:return:粤Ivoidinit—htl621(void){write——command——htl621(0x52);write—command—htl621(Ox30);write——command——htl62l(OxOa);write—command—htl621(Ox08);write—command—htl621(Ox02);)i卑function:description:voidIcd—clr(void)thisfunctionforlcdclearnOnenOneparameter:return:鼻|voidlcd—clr(void){unsignedchari;for(i-O;i<6;i++){display_htl621(Ox00,Ox00,2牛i);)56write—command—htl621(0x06);//lcdon,羊function:voiddisplay_ht1621(unsignedchardisp—datal,unsignedchardisp_data2,unsignedchardisp—add—offset)description:thisfunctionforhtl621displayparameter:disp—datal,disp—data2—·>displaycodedisp—add—offset~>ramaddressfordisplayretum:粤|nonevoiddisplay_ht1621(unsignedchardisp—datal,unsignedchardisp—data2,unsignedchardisp—add—offset)(HTl621CS=0;//CS=0write_byte_htl621(1,0x80);//1Ol00,0000,”WRITE”,RAM=00Hwrite_byte_htl621(8,0x40+disp—add—offset);write_byte_htl621(4,disp—datal);HTl621一WR=1;delay(0,5O);HTl621一CS=1;//WR=1.||CS=Idelay(0,50);HTl621一CS=O;||CS=0write_byte_htl621(1,0x80);//10100,0000,”WRITE”,RAM=00Hwrite_byte_htl621(8,0x40+disp—add—offset+1);write—byte_htl621(4,disp—data2);HTl621一WR=1;delay(0,50);HTl621一CS=1;|}州R=、l|CS=II奄function:voidwrite—command—htl621(unsignedcharcommand)57description:parameter:retUrn:粤Ithisfunctionsendcommandtohtl621command~>htl621commandnonevoidwrite—command—htl621(unsignedcharcommand){HTl62I_CS=0;//CS=0write_byte_htl621(4,0x80);write_byte_htl621(8,command);HTl621一WR=1;delay(0,50);HTl621一CS=1;HTl621一DATA=1;//WR=1.||CS=I.||D虹入::、)|冀function:voidwrite__byte_ht162l(unsignedcharcount,unsignedchardata—htl621)description:thisfunctionforwritebytetohtl621parameter:timesreturn:奄|一>bitdata—htl621一>writedatanonevoidwrite_byte_htl621(unsignedchartimes,unsignedchardata—htl621){unsignedchari,data_tmp;for(i=0;i<times;i++){data_tmp=data_ht1621;data_tmp&=0x80;if(data—tmp==0x80){HTl62I_DATA=1;7fDⅪ入::、)else{HTl62I_DATA=0;}fD虹入=Q58)datahtl621<<=l:HTl621WR=0://WR=0.writedatabytheup—edgeWRsingledelay(0,30);HTl621WR=I://WR=1delay(0,3O);FiltA0.1//PID输出的滤波系数(O.0—1.0)FiltBO.9//PID输出的滤波系数(1.FilterA)Kp1.75//PID控制器的比例系数KiO.00125//PID控制器的积分系数Kd3.O//PID控制器的微分系数Emax0.1//误差积分上限Err[4][2];InteE[4][2];OnMs[4][2];unsignedcharpid(unsignedchari,unsignedcharJ,unsignedchark,unsignedchar1)thisfunctionforpidcontroli:一>channelj:一>timek:一>settempraturel:-->actualtempratureadjust—time~>adjusttimepid(unsignedcharch,floatrefval)floatDiscE,Tmpr;594.PID控制#define#define#define#define#define#definefloatfloatfloat|≮function:description:parameter:return:肆|voidErr[ch][1】=refval-GetTmp(GetData7705(ch+1));//e(k)if(Err[ch][1】>=Emax)InteE[ch][1]=InteE[ch][O】+Err【ch][1】;elseInteE[ch][1】_InteE[ch】[O】;DiscE=Err[ch]【1]-Err[ch][0];Tmpr=Kp串Err[ch][1]+Ki宰InteE[ch][1】+Kd木DiscE;OnMs[ch][1]=GetOnMs(FiltA幸OnMs[ch][0]+FiltB木Tmpr);Err[ch][0]=Err[ch][1];InteE[ch][O]=InteE[ch][1];OnMs[ch][0]=OnMs[ch][1];|肆function:description:parameter:return:★|floatGetOnMs(floatOnTime)outputcontroltimenOneftmpfloatGetOnMs(floatOnTime)floatftmp;if(OnTime<=O)elseelseftmp=0;ftmp=100;ftmp=OnTime;if(OnTime>=l00)return(fimp);5.其他子程序|雒function:description:parameter:voiddelay(unsignedcharmax2,unsignedcharmaxl)thisfunctionforsystemdelaymax2,maxl;return:note:nOneifuse12MHZcrystal,the”nop”instructioncircleislus卑|voiddelay(unsignedcharmax2,unsignedcharmax1)unsignedchartimel,time2;for(time2=O;time2<=max2;time2++)for(timel=0;timel<=maxl;timel++)_nop一();基于单片机的温度控制系统的研究

作者:

学位授予单位:被引用次数:

王海宁

合肥工业大学7次

1. 陈忠华 基于单片机的温度智能控制系统的设计与实现[学位论文]2006

2. 陈铁强 基于AT89S52单片机的封装设备温度控制系统的开发与实验研究[学位论文]2009

1.倪文彬 基于STC89C52的蓝牙温度控制系统[期刊论文]-中国科技纵横 2013(23)

2.原文俊.沈振军 大范围高精度温控系统的控制算法研究[期刊论文]-现代电子技术 2011(7)3.吴健.侯文 温度控制系统的设计[期刊论文]-科技信息 2012(4)

4.吴健.侯文.郑宾 基于STC89C52单片机的温度控制系统[期刊论文]-电脑知识与技术 2011(4)5.陈乾林.陈海虹.周潜 挖掘机操作室温度智能控制系统研究设计[期刊论文]-机电技术 2013(4)

6.韩兴国.苏庆勇.王为庆 基于STC89C52单片机的智能风扇控制系统设计[期刊论文]-装备制造技术 2013(3)7.邹炳福.陈海虹.郑瑜.曹建平.王昕 基于单片机的家庭室内温度智能控制系统[期刊论文]-机械与电子 2011(7)

引用本文格式:王海宁 基于单片机的温度控制系统的研究[学位论文]硕士 2008

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