摘要
随着控制理论和电子技术的发展,工业控制器的适应能力增强和高度智能化正逐步成为现实。其中以单片机为核心实现的数字控制器因其体积小、成本低、功能强、简便易行而得到广泛应用。PID温度控制器作为一种重要的控制设备,在化工、食品等诸多工业生产过程中得到了广泛的应用。本文主要讨论在过程控制中得到广泛应用的数字PID控制在单片机温度控制系统中的应用。
本文详细阐述了基于PID控制的温度控制系统的硬件组成、软件设计及相关的接口电路设计。并且充分考虑了系统的可靠性,采取了相应的措施予以保证。针对控制对象的特点,在系统辨识的基础上对系统的控制算法进行了仿真研究,并在单片机系统中实现了控制算法。最后针对温控系统进行了实验,通过对实验数据的分析表明本文所述的基于PID控制的温度控制系统的设计的合理性和有效性。
关键词:单片机,温度控制,数字PID控制
I
河南城建学院本科毕业设计(论文) Abstract
Abstract
With the improvement of control theory and electric technology, the intelligent control for industry has been accomplishing. The digital controller based on Microcontroller has been applied widely, as its cabinet cubage, low-cost, abundant function, simple and convenient. PID temperature controller, as an important control device, has been widely used in producing chemical products, foods and many other fields. The paper mainly introduces the application of the digital PID control algorithm, which, at present, is popularly used in digital control system, in Microcontroller temperature control system.
The hardware and software of the temperature control system and the design of relevant interface circuit are described in this paper. The reliability of the system is specially considered, and a series of measures are realized. According to the difficulty to control of the system, methods of system control are analyzed based on the system identification, and realized the control algorithm in the Microcontroller system. The experiment data shows that the design of temperature control system based on Microcontroller is availability and rationality.
Key words: Microcontroller, Temperature Control System, digital PID control
II
河南城建学院本科毕业设计(论文) 目录
目录
摘要......................................................................................................................................................................................Ⅰ Abstract...........................................................................................................................................................................Ⅱ 第一章 绪论....................................................................................................................................................................1 1.1 概述..........................................................................................................................................................................1 1.2 温度测控技术的发展与现状..................................................................................................................1 1.2.1 定值开关控温法................................................................................................................................2 1.2.2 PID线性控温法.................................................................................................................................2 1.2.3智能温度控制法.................................................................................................................................3 1.3 系统总体设计方案........................................................................................................................................3 1.3.1 系统性能要求及特点.....................................................................................................................3 1.3.2 系统硬件方案分析...........................................................................................................................4 1.3.3 系统软件方案分析...........................................................................................................................5 1.4 本文主要工作及章节安排........................................................................................................................6 1.4.1 本文主要工作......................................................................................................................................6 1.4.2 本文结构安排......................................................................................................................................6 第二章 系统硬件设计..............................................................................................................................................7 2.1 系统硬件总体结构.........................................................................................................................................7 2.2 主控模块器件选型及设计........................................................................................................................7 2.2.1 单片机的选用......................................................................................................................................7 2.2.2 单片机介绍............................................................................................................................................8 2.2.3 主控模块设计......................................................................................................................................9 2.3 输入通道设计..................................................................................................................................................10 2.3.1 Pt100温度传感器...........................................................................................................................10 2.3.2 A/D转换..................................................................................................................................................12 2.4 输出通道设计..................................................................................................................................................14 2.4.1 温控箱的功率调节方式.............................................................................................................14 2.4.2 可控硅输出电路..............................................................................................................................15 2.5 键盘电路设计..................................................................................................................................................17 2.6 显示电路设计..................................................................................................................................................18 2.7 保护电路设计..................................................................................................................................................19 2.8 硬件抗干扰措施............................................................................................................................................20
III
河南城建学院本科毕业设计(论文) 目录
第三章 系统软件设计............................................................................................................................................21 3.1 软件设计思想..................................................................................................................................................21 3.2 软件组成.............................................................................................................................................................22 3.3 主程序模块........................................................................................................................................................22 3.4 数据采集模块..................................................................................................................................................23 3.5 数据处理模块..................................................................................................................................................24 3.5.1 数字滤波...............................................................................................................................................24 3.5.2 显示处理...............................................................................................................................................26 3.6 软件抗干扰措施............................................................................................................................................26 第四章 系统控制方案............................................................................................................................................27 4.1 PID控制..............................................................................................................................................................27 4.1.1 PID控制的发展...............................................................................................................................27 4.1.2 PID控制理论.....................................................................................................................................27 4.1.3 PID控制算法.....................................................................................................................................28 4.2 温控箱数学模型的确定...........................................................................................................................29 4.2.1 温控箱特性分析..............................................................................................................................31 4.2.2 温控箱数学模型的辨识.............................................................................................................31 4.3 PID控制参数整定........................................................................................................................................33 4.4 MATLAB仿真......................................................................................................................................................33 第五章 结论...................................................................................................................................................................35 5.1 总结.........................................................................................................................................................................35 5.2 展望.........................................................................................................................................................................35 参考文献...........................................................................................................................................................................37 致谢.......................................................................................................................................................................................38 附录A...................................................................................................................................................................................39 附录B...................................................................................................................................................................................42 附录C...................................................................................................................................................................................43 附录D...................................................................................................................................................................................45
IV
河南城建学院本科毕业设计(论文) 插图清单
插图清单
图2.1 硬件总体结构框图....................................................................................................................................7 图2.2 AT89C52单片机DIP封装的引脚....................................................................................................9 图2.3 复位电路和时钟电路...............................................................................................................................9 图2.4 铂电阻温度传感器采样电路.............................................................................................................10 图2.5 AD7705引脚图...............................................................................................................................................13 图2.6 A/D转换电路................................................................................................................................................14 图2.7 相位控制调功电压波形........................................................................................................................14 图2.8 通断控制调功电压波形........................................................................................................................15 图2.9 交流SSR工作原理框图........................................................................................................................16 图2.10 可控硅输出电路......................................................................................................................................17 图2.11 键盘电路.......................................................................................................................................................18 图2.12 显示电路.......................................................................................................................................................19 图2.13 保护电路.......................................................................................................................................................19 图3.1 前后台系统....................................................................................................................................................22 图3.2 主程序流程图..............................................................................................................................................23 图3.3 数据采集模块程序流程图..................................................................................................................23 图3.4 A/D转换程序流程图...............................................................................................................................23 图3.5 去极值平均滤波程序流程图.............................................................................................................25 图4.1 PID控制系统原理框图.........................................................................................................................27 图4.2 增量式PID控制算法程序流程图..................................................................................................29 图4.3 通断时间比为10%的响应曲线........................................................................................................32 图4.4 通断时间比为30%的响应曲线........................................................................................................32 图4.5 PID控制仿真的Simulink框图.......................................................................................................33 图4.6 阶跃信号曲线..............................................................................................................................................34 图4.7 阶跃、误差响应曲线..............................................................................................................................34
V
河南城建学院本科毕业设计(论文) 绪论
第一章 绪论
1.1 概述
温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。自然界中任何物理、化学过程都紧密的与温度相联系。在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。
在实际的生产实验环境下,由于系统内部与外界的热交换是难以控制的,其他热源的干扰也是无法精确计算的,因此温度量的变化往往受到不可预测的外界环境扰动的影响。为了使系统与外界的能量交换尽可能的符合人们的要求,就需要采取其他手段来达到这样一个绝热的目的,例如可以让目标系统外部环境的温度与其内部温度同步变化。根据热力学第二定律,两个温度相同的系统之间是达到热平衡的,这样利用一个与目标系统温度同步的隔离层,就可以把目标系统与外界进行热隔离。
另外,在大部分实际的环境中,增温要比降温方便得多。因此,对温度的控制精度要求比较高的情况下,是不允许出现过冲现象的,即不允许实际温度超过控制的目标温度。特别是隔热效果很好的环境,温度一旦出现过冲,将难以很快把温度降下来。这是因为很多应用中只有加热环节,而没有冷却的装置。同样道理,对于只有冷却没有加热环节的应用中,实际温度低于控制的目标温度,对控制效果的影响也是很大的。
鉴于上述这些特点,高精度温度控制的难度比较大,而且不同的应用环境也需要不同的控制策略。下面就简要的讨论一下温度测控技术的发展与现状。
1.2 温度测控技术的发展与现状
近年来,温度的检测在理论上发展比较成熟,但在实际测量和控制中,如何保证快速实时地对温度进行采样,确保数据的正确传输,并能对所测温度场进行较精确的控制,仍然是目前需要解决的问题。
温度测控技术包括温度测量技术和温度控制技术两个方面。
在温度的测量技术中,接触式测温发展较早,这种测量方法的优点是:简单、可靠、低廉、测量精度较高,一般能够测得真实温度;但由于检测元件热惯性的影响,响应时间较长,对热容量小的物体难以实现精确的测量,并且该方法不适宜于对腐蚀性介质测温,不能用于超高温测量,难于测量运动物体的温度。另外的非接触式测温方法是通过对辐射能量的检测来实现温度测量的方法,其优点是:不
1
河南城建学院本科毕业设计(论文) 绪论
破坏被测温场,可以测量热容量小的物体,适于测量运动物体的温度,还可以测量区域的温度分布,响应速度较快。但也存在测量误差较大,仪表指示值一般仅代表物体表观温度,测温装置结构复杂,价格昂贵等缺点。因此,在实际的温度测量中,要根据具体的测量对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少投入。
温度控制技术按照控制目标的不同可分为两类:动态温度跟踪与恒值温度控制。动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。在工业生产中很多场合需要实现这一控制目标,如在发酵过程控制,化工生产中的化学反应温度控制,冶金工厂中燃烧炉中的温度控制等;恒值温度控制的目的是使被控对象的温度恒定在某一给定数值上,且要求其波动幅度(即稳态误差)不能超过某允许值。本文所讨论的基于PID控制的温度控制系统就是要实现恒值温度控制要求,故以下仅对恒值温度控制进行讨论。
从工业控制器的发展过程来看,温度控制技术大致可分以下几种:
1.2.1 定值开关控温法
所谓定值开关控温法,就是通过硬件电路或软件计算判别当前温度值与设定目标温度值之间的关系,进而对系统加热装置(或冷却装置)进行通断控制。若当前温度值比设定温度值高,则关断加热器,或者开动制冷装置;若当前温度值比设定温度值低,则开启加热器并同时关断制冷器。这种开关控温方法比较简单,在没有计算机参与的情况下,用很简单的模拟电路就能够实现。目前,采用这种控制方法的温度控制器在我国许多工厂的老式工业电炉中仍被使用。由于这种控制方式是当系统温度上升至设定点时关断电源,当系统温度下降至设定点时开通电源,因而无法克服温度变化过程的滞后性,致使被控对象温度波动较大,控制精度低,完全不适用于高精度的温度控制。
1.2.2 PID线性控温法
这种控温方法是基于经典控制理论中的PID调节器控制原理,PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好、可靠性高等优点被广泛应用工业过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。由于PID调节器模型中考虑了系统的误差、误差变化及误差积累三个因素,因此,其控制性能大大地优越于定值开关控温。其具体控制电路可以采用模拟电路或计算机软件方法来实现PID调节功能。前者称为模拟PID控制器,后者称为数字PID控制器。其中数字PID控制器的参数可以在现场实现在线整定,因此具有较大的灵活性,可以得到较好的控制效果。采用这种方法实现的温度控制器, 其控制品质的好坏主要取决于三个PID参数(比例值、积分值、微分值)。只要PID参数选取
2
河南城建学院本科毕业设计(论文) 绪论
的正确,对于一个确定的受控系统来说,其控制精度是比较令人满意的。但是,它的不足也恰恰在于此,当对象特性一旦发生改变,三个控制参数也必须相应地跟着改变,否则其控制品质就难以得到保证。
1.2.3智能温度控制法
为了克服PID线性控温法的弱点,人们相继提出了一系列自动调整PID参数的方法,如PID参数的自学习,自整定等等。并通过将智能控制与PID控制相结合,从而实现温度的智能控制。智能控温法以神经网络和模糊数学为理论基础,并适当加以专家系统来实现智能化。其中应用较多的有模糊控制、神经网络控制以及专家系统等。尤其是模糊控温法在实际工程技术中得到了极为广泛的应用。目前已出现一种高精度模糊控制器,可以很好的模拟人的操作经验来改善控制性能,从理论上讲,可以完全消除稳态误差。所谓第三代智能温控仪表,就是指基于智能控温技术而研制的具有自适应PID算法的温度控制仪表。
目前国内温控仪表的发展,相对国外而言在性能方面还存在一定的差距,它们之间最大的差别主要还是在控制算法方面,具体表现为国内温控仪在全量程范围内温度控制精度比较低,自适应性较差。这种不足的原因是多方面造成的,如针对不同的被控对象,由于控制算法的不足而导致控制精度不稳定。
1.3 系统总体设计方案
本论文所讨论的基于PID控制的温度控制系统是对被控对象温度进行恒值温度控制,以温控箱为例。温控箱的温度控制范围在室温到摄氏600度之间,温度控制的精度要求为士0.1 0C。下面讨论系统的总体设计方案,包括:系统的性能要求及特点以及系统的软、硬件方案分析。
1.3.1 系统性能要求及特点
①系统性能要求:
1)可以人为方便地通过控制面板或PC机设定控制期望的温度值,系统应能自动将温控箱加热至此设定温度值并能保持,直至重新设定为另一温度值,即能实现温度的自动控制;
2)能够实现对温控箱温度的测量并且通过控制面板上的数码管显示出来; 3)具有加热保护功能的安全性要求。如果实际测得的温控箱温度值超过了系统规定的安全温度,保护电路就会做出反应,从而对温控箱实现超温保护; 4)模块化设计,安装拆卸简单,维修方便; 5)系统可靠性高,不易出故障; 行替换。
6)尽量采用典型、通用的器件,一旦损坏,易于在市场上买到同样零部件进
3
河南城建学院本科毕业设计(论文) 绪论
②系统特点:
鉴于上述系统功能要求以及智能仪表应具有的体积小、成本低、功能强、抗干扰并尽可能达到更高精度的要求。本系统在硬件设计方面具有如下特点: 控制主板采用AT89C52作为核心芯片。作为与MCS-51系列兼容的单片机,无论在运算速度,还是在内部资源上均可胜任本系统的性能要求。根据温控箱测温范围的要求,本系统适合采用Pt100铂电阻作为温度传感器,而Pt100铂电阻在大温度范围内测温时表现出的不可忽视的非线性不容忽视,因此在温度测量的过程中必须对铂电阻温度传感器的非线性进行优化,从而提高系统温度测量的精确度。本文采用最小二乘法拟合的方法对铂电阻的非线性进行优化。为了简化系统硬件,控制量采用双向可控硅输出,这样就省去了D/A转换环节。
整个系统遵循了冗余原则及以软代硬的原则,并尽可能选用典型、常用、易于替换的芯片和电路,为系统的开放性、标准化和模块化打下良好基础。系统扩展和配置在满足功能要求的基础上留有适当裕量,以利于扩充和修改。
1.3.2 系统硬件方案分析
目前,温度控制仪的硬件电路一般采用模拟电路(Analog Circuit)和单片机(Microcontroller)两种形式。
模拟控制电路的各控制环节一般由运算放大器、电压比较器、模拟集成电路以及电容、电阻等外围元器件组成。它的最大优点是系统响应速度快,能实现对系统的实时控制。根据计算机控制理论可知,数字控制系统的采样速率并非越快越好,它还取决于被控系统的响应特性。在本系统中,由于温度的变化是一个相对缓慢的过程,对温控系统的实时性要求不是很高,所以模拟电路的优势得不到体现。另外,模拟电路依靠元器件之间的电气关系来实现控制算法,很难实现复杂的控制算法。
单片机是大规模集成电路技术发展的产物,属于第四代电子计算机。它是把中央处理单元CPU(Central Processing Unit)、随机存取存储器RAM(Random Access Memory) 、只读存储器ROM(Read only Memory)、定时/计数器以及I/O(Input/Output)输入输出接口电路等主要计算机部件都集成在一块集成电路芯片上的微型计算机,它的特点是:功能强大、运算速度快、体积小巧、价格低廉、稳定可靠、应用广泛。由此可见,采用单片机设计控制系统,不仅可以降低开发成本,精简系统结构,而且控制算法由软件实现,还可以提高系统的兼容性和可移植性。
另外,随着微电子技术和半导体工业的不断创新和发展,片上系统SOC (System On Chip)得到了十足的发展。一些厂家根据系统功能的复杂程度,将这种SOC芯
4
河南城建学院本科毕业设计(论文) 绪论
片应用到先进的控制仪表中。SOC芯片通常含有一个微处理器核(CPU),同时,它还含有多个外围特殊功能模块和一定规模的存储器(RAM和ROM),并且这种片上系统一般具有用户自定义接口模块,使得其功能非常强大,适用领域也非常广。它不仅能满足复杂的系统性能的需要,而且还使整个系统的电路紧凑,硬件结构简化。
从实现复杂系统功能和简化硬件结构的角度出发,SOC是实现温度控制系统的最佳选择,但目前市场上SOC的价格还比较昂贵,并且SOC的封装形式几乎都采用贴片式封装,不利于实验电路板的搭建。从降低成本,器件供货渠道充足的角度看,应用单片机实现温度控制系统是比较经济实用的。
目前,市面上的单片机不仅种类繁多,而且在性能方面也各有所长。AT89C52单片机是ATMEL公司生产的与MCS-51系列兼容的低电压、高性能CMOS 8位单片机。本系统选择AT89C52为核心器件组成的控制系统。此外,在选取外围扩展芯片时,本着节约成本的原则,尽量选取典型的、易于扩展和替换的芯片及器件。
1.3.3 系统软件方案分析
目前,MCS 51单片机的开发主要用到两种语言:汇编语言和C语言。与汇编语言相比,C语言具有以下的特点: ①具有结构化控制语句
结构化控制语言的显著特点是代码和数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护及调试;
②适用范围大和可移植性好
同其他高级语言一样,C语言不依赖于特定的CPU,其源程序具有良好的可移植性。目前,主流的CPU和常见的MCU都有C编译器。加之集成开发环境KEIL编译生成的代码效率很高(仅比汇编语言生成的代码效率低10%-15 %).所以,本系统的软件选择使用C语言开发。
由于整个系统软件比较复杂,为了便于编写、调试、修改和增删,系统程序的编制适合采用模块化的程序结构,故要求整个控制系统软件由许多独立的小模块组成,它们之间通过软件接口连接,遵循模块内数据关系紧凑,模块间数据关系松散的原则,将各功能模块组织成模块化的软件结构。
温度控制算法方面,在对温控箱数学模型辨识的基础之上,结合本温控系统的要求采用了经典的PID控制算法,这主要是由于PID控制相对来说算法简单、鲁棒性好和可靠性高。此外,在设计PID控制器时,依靠经验和试验的方法在系统调试时确定PID控制器的参数KP, KD, KI,然后用代码实现了算法。
5
河南城建学院本科毕业设计(论文) 绪论
1.4 本文工作及结构安排
1.4.1 本文主要工作
①在对温度控制发展现状、系统控制要求进行研究的基础上,选择了整个控制系统的控制方案;
②完成系统的硬件设计,包括采样电路、A/D转换电路、主控制电路、显示电路等等的设计;
③完成该系统的软件设计,包括主程序模块、控制运算模块、数据输入输出及处理模块等一些子功能模块的设计;
④研究了该系统的控制策略,在建立温度控制系统数学模型的基础之上,通过对PID控制的分析设计了系统控制器;
1.4.2 本文结构安排
本论文由以下几部分组成:
第一章绪论主要介绍本文的背景知识及系统的总体设计方案,以及本文所完成的主要工作;第二章硬件设计主要介绍系统各部分的硬件组成和特点,包括信号输入输出电路、单片机系统和保护电路等等;第三章软件设计介绍了系统软件各主要功能模块的设计;第四章控制方案着重介绍温度控制系统温控箱的数学模型的确立及PID算法原理和控制仿真;第五章结论全文工作的总结和展望。
6
河南城建学院本科毕业设计(论文) 系统硬件设计
第二章 系统硬件设计
2.1 系统硬件总体结构
本文所研究的温度控制系统硬件部分按功能大致可以分为以下几个部分:单片机主控模块、输入通道、输出通道、保护电路等。硬件总体结构框图如图2.1所示。由结构框图可见,温度控制系统以AT89C52单片机为核心,并扩展外部存储器构成主控模块。温控箱的温度由Pt100铂电阻温度传感器检测并转换成微弱的电压信号,再通过16位的A/D转换器AD7705转换成数字量。此数字量经过数字滤波之后,一方面将温控箱的温度通过控制面板上的数码管显示出来;另一方面将该温度值与设定的温度值进行比较,根据其偏差值的大小,采用PID控制算法进行运算,最后通过控制双向可控硅控制周期内的通断占空比(即控制温控箱加热平均功率的大小),进而达到对温控箱温度进行控制的目的。如果实际测得的温度值超过了系统给定的极限安全温度,保护电路会做出反应,从而保护温控箱。
图2.1 硬件总体结构框图
2.2 主控模块器件选型及设计
2.2.1 单片机的选用
针对一定的用途,恰当的选择所使用的单片机是十分重要的。对于明确的应用对象,选择功能过少的单片机,无法完成控制任务;选择功能过强的单片机,则会造成资源浪费,使产品的性能价格比下降。目前,市面上的单片机不仅种类繁多,而且在性能方面也各有不同。在实际应用中,针对不同的需求要选择合适的单片机,选择单片机时要注意下几点:
①单片机的基本性能参数,例如指令执行速度,程序存储器容量,中断能力及I/O口引脚数量等;
7
河南城建学院本科毕业设计(论文) 系统硬件设计
②单片机的增强功能,例如看门狗,双串口,RTC(实时时钟),EEPROM,CAN接口等;
③单片机的存储介质,对于程序存储器来说,Flash存储器和OTP(一次性可编程)存储器相比较,最好是选择Flash存储器;
④芯片的封装形式,如DIP封装,PLCC封装及表面贴附封装等。选择DIP封装在搭建实验电路时会更加方便一些;
⑤芯片工作温度范围符合工业级、军品级还是商业级,如果设计户外产品,必须选用工业级芯片;
⑥单片机的工作电压范围,例如设计电视机遥控器时,使用2节干电池供电,至少选择的单片机能够在1.8V-3.6V电压范围内工作;
⑦单片机的抗干扰性能好;
⑧编程器以及仿真器的价格,单片机开发是否支持高级语言以及编程环境要好用易学;
⑨供货渠道是否畅通,价格是否低廉,是否具有良好的技术服务支持. 根据上面所述的原则,结合本系统实际情况综合考虑,本文讨论的温度控制系统选用ATMEL公司生产的AT89C52单片机作为主控模块的核心芯片。
2.2.2 单片机介绍
本系统选用ATMEL公司生产的AT89系列单片机中的AT89C52, AT89C52单片机是一种新型的低功耗、高性能的8位CMOS微控制器,与工业标准MCS-51指令系列和引脚完全兼容。具有超强的三级加密功能,其片内闪电存储器(Flash Memory)的编程与擦除完全用电实现,数据不易挥发,编程/擦除速度快。 AT89C52单片机DIP封装的引脚如图2.2所示。AT89C52的主要特点有:
①内部程序存储器为电擦除可编程只读存储器EEPROM,容量8KB,内部数据存储器容量256字节,最大寻址空间64KB;
②三个16位定时/计数器; 设定;
④内部ROM中开辟了四个通用工作寄存器区,共32个通用寄存器,以适应多种中断或子程序嵌套的情况;
⑤6个中断源,分为两个中断优先级,每个中断源优先级都是可编程的; ⑥内部有一个由直接可位寻址组成的布尔处理机,在指令系统中包含了一个指令子集,专门用于对布尔处理机的各位进行各种布尔处理,特别适用于控制目的和解决逻辑问题;
③可利用两根I/O口线作为全双工的串行口,有四种工作方式,可通过编程
8
河南城建学院本科毕业设计(论文) 系统硬件设计
⑦ AT89CS2的状态周期由晶体振荡器2分频后获得,作为芯片工作的基本时间单位,在采用12MHz晶振时,AT89CS2的状态周期为(2/12)x10-6=167ns.
图2.2 AT89C52单片机DIP封装的引脚
2.2.3 主控模块设计
主控模块电路由AT89C52单片机、外部时钟电路、复位电路组成。 单片机的复位是由外部复位电路来实现的。在单片机的复位引脚RST (9脚) 上保持两个机器周期的高电平就能使AT89C52完全复位。复位电路的接法很多,本系统中采用上电复位和手动复位键复位相结合的方式。
图2.3 复位电路和时钟电路
系统时钟电路设计采用内部方式。AT89C52内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1(19脚)和XTAL2 (18脚)分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容构成并联谐振电路,接在放大器的反馈回路中。本系统
9
河南城建学院本科毕业设计(论文) 系统硬件设计
电路采用的晶体振荡器频率为12MHz。采用这种频率的晶体振荡器的原因是可以方便的获得标准的波特率。复位电路和时钟电路如图2.3所示。
2.3 输入通道设计
系统输入通道的作用是将温控箱的温度(非电量)通过传感器电路转化为电量(电压或电流)输出,本系统就是将温度转化为电压的输出。由于此时的电量(电压)还是单片机所不能识别的模拟量,所以还需要进行A/D转换,即将模拟的电量转化成与之对应的数字量,提供给单片机判断和控制。输入通道由传感器、A/D转换等电路组成。
[1]
2.3.1 Pt100温度传感器
温度传感器的种类比较繁杂,各种不同的温度传感器由于其构成材料、构成方式及测温原理的不同,使得其测量温度的范围、测量精度也各不相同。因此在不同的应用场合,应选择不同的温度传感器。Pt100型铂电阻,在-2000C到850℃范围内是精度最高的温度传感器之一。与热电偶、热敏电阻相比较,铂的物理、化学性能都非常稳定,尤其是耐氧化能力很强,离散性很小,精度最高,灵敏度也较好。这些特点使得铂电阻温度传感器具有信号强、精度高、稳定性和复现性好的特点。由于在本系统中,测温范围较大(在室温到6000C之间),且要求检测精度高、稳定性好,因此选用Pt100铂电阻作为本温度控制系统的温度传感器。
铂电阻温度传感器主要有两种类型:标准铂电阻温度传感器和工业铂电阻温度传感器。在测量精度方面,工业铂电阻的测量稳定性和复现性一般不如标准铂电阻,这主要有两个方面的原因,其一是高温下金属铂与周围材料之间的扩散使其纯度受到污染,从而降低了铂电阻测温的复现性能,其二是因为高温条件下的应力退火影响了其复现性能。但是标准铂电阻温度传感器也存在价格昂贵,维护起来较为困难等缺点。考虑到成本,故在本系统中采用工业级Pt100铂电阻作为温度传感器。
图2.4 铂电阻温度传感器采样电路
10
河南城建学院本科毕业设计(论文) 系统硬件设计
铂电阻测温电路的工作方式一般分为恒压方式和恒流方式两种。按照接线方式的不同又可以分为二线制、三线制和四线制几种。本系统采用的是三线制桥式接法对Pt100铂电阻进行采样。铂电阻温度传感器采样电路如图2.4所示。该电路将温控箱的温度转化为电压输出。
测温原理:电路采用TL431和电位器VR1调节产生4.096V的参考电源;采用R1、R2、VR2、Pt100构成测量电桥(其中R1=R2,VR2为100Ω精密电阻),当Pt100的电阻值和VR2的电阻值不相等时,电桥输出一个mV级的压差信号,这个压差信号经过运放LM324放大后输出期望大小的电压信号,该信号可直接连AD转换芯片。差动放大电路中R3=R4、 R5=R6、放大倍数=R5/R3,运放采用单一5V供电。
[2]
铂电阻温度传感器是利用其电阻值随温度的变化而变化这一特性进行温度测量的,根据IEC (International Electrician Committee)标准751-1983:
Rr=Ro[1+At+Bt2+C(t-100)t3] (-200℃ 在0-800℃之间均匀的抽取100个温度点,对应的铂电阻阻值利用式(2.2)计算出来,然后将此电阻值代入采样电路求得电压值,这样就有100组数据点。对这100组温度和电压数据利用最小二乘法进行拟合,求出温度与电压关系的三次多项式为: t = -247.703 + 2399.380Uo-68.165Uo2+460.117Uo3 式(2.3) 求解出测温多项式后,在0-800℃之间随机抽取10个点,对此多项式进行检验,其结果如表2.1所示。 由下表可以看到经过最小二乘法优化之后,(2.3)式误差绝对值的最大值仅为0.0390℃,测量精度已经满足系统的要求。 [3] 11 河南城建学院本科毕业设计(论文) 系统硬件设计 表2.1 实际温度与测得温度对照表 实际温度(。C) 计算温度(。C) 误差(。C) 39.00 38.993 -0.007 117.00 117.019 0.019 195.00 195.013 0.013 273.00 272.995 -0.005 351.00 350.982 -0.018 429.00 428.982 -0.018 507.00 506.996 -0.004 624.00 624.023 0.023 702.00 702.019 0.019 780.00 779.961 -0.039 2.3.2 A/D转换 在单片机控制系统中,控制或测量对象的有关变量,往往是一些连续变化的模拟量,如温度、压力、流量、位移、速度等物理量。但是大多数单片机本身只能识别和处理数字量,因此必须经过模拟量到数字量的转换(A/D转换),才能够实现单片机对被控对象的识别和处理。完成A/D转换的器件即为A/D转换器。 A/D转换器的主要性能参数有: ①分辨率:分辨率表示A/D转换器对输入信号的分辨能力。A/D转换器的分辨率以输出二进制数的位数表示; ②转换时间:转换时间指A/D转换器从转换控制信号到来开始,到输出端得到稳定的数字信号所经过的时间。不同类型的转换器转换速度相差甚远; ③转换误差:转换误差表示A/D转换器实际输出的数字量和理论上的输出数字量之间的差别,常用最低有效位的倍数表示; ④线性度:线性度指实际转换器的转移函数与理想直线的最大偏移。 目前有很多类型的A/D转换芯片,它们在转换速度、转换精度、分辨率以及使用价值上都各具特色,其中大多数积分型或逐次比较型的A/D转换器对于高精度测量,其转换效果不够理想。温度控制中A/D转换是非常重要的一个环节。传统的电路设计方法是在A/D转换前增加一级高精度的测量放大器,这样就增加了成本,电路也较为复杂。综合考虑,本系统选用AD (ANALOG DEVICES) 公司生产的16位AD转换芯片AD7705作为本温控系统的A/D转换器。 12 河南城建学院本科毕业设计(论文) 系统硬件设计 图2.5 AD7705引脚图 AD7705是AD公司生产的16位Σ一△型A/D转换器。它包括由缓冲器和增益可编程放大器(PGA)组成的前端模拟调节电路、Σ一△调制器、可编程数字滤波器等部件组成。能直接将传感器测量到的多路微小信号进行A/D转换。AD7705采用三线串行接口,具有两个全差分输入通道,能达到0.003%非线性的16位无误码输出,其增益和输出更新率均可编程设定,还可以选择输入模拟缓冲器,以及自校准和系统校准方式。工作电压3V或5V,在3V工作电压时,器件的最大功耗仅为1mW。AD7705引脚如图2.5所示。 AD7705引脚功能描述如下: ①SCLK串行时钟,将一个外部的串行时钟加于这一输入端口,以访问AD7705的串行数据。该串行时钟可以是连续时钟以连续的脉冲串传送所有数据,反之,它也可以是非连续时钟,将信息发送给AD7705 ; ② MCLKIN为转换器提供主时钟信号,能以晶体/谐振器或外部时钟的形式提供。晶体/谐振器可以接在MCLKIN和MCLKOUT两引脚之间,时钟频率的范围为500kHz-5MHz; ③MCLKOUT,当主时钟为晶体/谐振器时,晶体/谐振器被接在MCLKIN和MCLKOUT之间,如果在MCLKIN引脚处接上一个外部时钟,MCLKOUT将提供一个反向时钟; ④RESET复位输入,低电平有效; ⑤AIN1(+)差分模拟输入通道1的正输入端; ⑥REFIN (+)差分基准输入的正输入端,基准输入是差分的,并规定REFIN (+)必须大于REFIN(-),REFIN(+)可以取VDD和GND之间的任何值; ⑦ DRDY逻辑输出,这个输出端上的逻辑低电平表示可以从AD7705的数据寄存器获取新的输出字。完成对一个完全的输出字的读操作后,该引脚立即回到高电平。当该引脚处于高电平时,不能进行读操作,当数据更新后,该引脚又返回低电平; ⑧ DOUT串行数据输出端,从片内的输出移位寄存器读出的串行数据由此端输 13 河南城建学院本科毕业设计(论文) 系统硬件设计 出。根据通信寄存器中的寄存器选择位,移位寄存器可以容纳来自通信寄存器、时钟寄存器或数据寄存器的信息; ⑨DIN串行数据输入端,向片内的输入移位寄存器写入的串行数据由此输入。A/D转换电路如图2.6所示。 [4] 图2.6 A/D转换电路 2.4 输出通道设计 2.4.1 温控箱的功率调节方式 目前多数温控系统均采用可控硅来实现功率调节。可控硅的控制模式有两种:相位控制和零位控制(分配式零位控制、时间比例零位控制)。区别如图2.7和图2.8所示。 图2.7 相位控制调功电压波形 14 河南城建学院本科毕业设计(论文) 系统硬件设计 图2.8 通断控制调功电压波形 ①相位控制:作用于每一个交流正弦波,改变正弦波每个正半波和负半波的导通角来控制电压的大小,进而可以调节输出电压和功率的大小。采用相位控制模式的可控硅控制器可以叫做调压器,它可以方便的调节电压有效值,可用于电炉温度控制、灯光调节、异步电机降压软启动和调压调速等。 ②零位控制:在设定的周期T内,触发信号使主回路接通几个周波(几个完整的正弦波),再断开几个周波,改变可控硅在设定周期内的通断时间比例,以调节负载上的交流电的平均功率,即可达到调节负载功率的目的。根据输出电压分布的不同,零位控制又分为分配式零位控制(在T周期内根据输出百分比平均分布周波)和时间比例零位控制(在T周期内根据输出百分比连续接通几个周波,然后在T周期剩余的时间内连续关断几个周波)。它多用于大惯性的加热器负载,采用这种控制既实现了温度控制,又消除了相位控制时带来的高次谐波污染电网。 本系统采用分配式零位控制的模式,控制温控箱的加热电阻的平均加热功率,进而控制温控箱的温度。 [5] 2.4.2 可控硅输出电路 固态继电器(Solid State Relays),简写成“SSR”,是一种全部由固态电子元件(如光电耦合器、晶体管、可控硅、电阻、电容等)组成的新型无触点开关器件。与普通继电器一样,它的输入侧与输出侧之间是电绝缘的。但是与普通电磁继电器比,SSR体积小,开关速度快,无机械触点,因而没有机械磨损,不怕有害气体腐蚀,没有机械噪声,耐振动、耐冲击,使用寿命长。它在通、断时没有火花和电弧,有利于防爆,干扰小(特别对微弱信号回路)。另外,SSR的驱动电 15 河南城建学院本科毕业设计(论文) 系统硬件设计 压低,电流小,易于与计算机接口。因此SSR作为自动控制的执行部件得到越来越广泛的应用。 SSR按使用场合可以分成交流型和直流型两大类。交流型SSR的工作原理框图如图2 .9所示,图中的部件①-④构成交流SSR的主体。从整体上看,SSR只有两个输入端(A和B)及两个输出端(C和D),是一种四端器件。工作时只要在A、B上加上一定的控制信号,就可以控制C、D两端之间的“通”和“断”,实现“开关”的功能,其中耦合电路的功能是为A、B端输入的控制信号提供一个输入/输出端之间的通道,但又在电气上断开SSR中输入端和输出端之间的(电)联系,以防止输出端对输入端的影响,耦合电路用的元件是“光耦合器”,它动作灵敏、响应速度高、输入/输出端间的绝缘(耐压)等级高;由于输入端的负载是发光二极管,这使SSR的输入端很容易做到与输入信号电平相匹配,在使用时可直接与计算机输出接口相接,即受“1”与“0”的逻辑电平控制。触发电路的功能是产生合乎要求的触发信号,驱动开关电路④工作,但由于开关电路在不加特殊控制电路时,将产生射频干扰并以高次谐波或尖峰等污染电网,为此特设“过零控制电路”。所谓“过零”是指,当加入控制信号交流电压过零时,SSR即为通态;而当断开控制信号后,SSR要等待交流电的正半周与负半周的交界点(零电位)时,SSR才为断态。这种设计能防止高次谐波的干扰和对电网的污染。吸收电路是为防止从电源中传来的尖峰、浪涌(电压)对开关器件双向可控硅管的冲击和干扰(甚至误动作)而设计的,一般是用“R-C”串联吸收电路或非线性电阻(压敏电阻器)。 图2.9 交流SSR工作原理框图 图2.10是一种过零型交流SSR的电原理图。图中当①、②端输入电压大于某数值后,光耦合器中的光敏三极管流过集电极电流,它在R1上的压降使三极管T1截止,此时如果T2不与单向可控硅SCR相连,由于SCR的G极电位高于阴极K电 16 河南城建学院本科毕业设计(论文) 系统硬件设计 位,触发SCR,交流电流流过电阻R4,在R4上产生的压降的绝对值大于双向可控硅BCR的触发电压,BCR触发导通,使③、④端间短路。当①、②端输入电压为零时,在交流电压过零后BRC被阻断。即实现非过零型SSR的功能。实际电路中T2连到了SCR的G极,如果R2、R3选取得当,使加于SCR上的电压大于某值以上T2导通,那么就可以保证在加于SCR的电压接近于零时,因而也是③、④端间电压接近于零时SCR才被触发,因而BRC才被触发,当③、④端电压较大时,尽管①、②端输入电压较大,BRC也不会被触发。从而实现了交流SSR的过零触发。R5与电容C构成吸收回路,防止交流电源对器件的冲击和干扰。 SSR的输入为发光二极管,当驱动电流约为(5-10mA)时输出端导通,1mA以下输出端断开。由此可见,SSR可以直接由TTL驱动,而用CMOS电路驱动时需加一级跟随器(一般由晶体管承担)来提高驱动能力。在本系统中,由于AT89C52单片机I/O端口的驱动能力可以高达几十mA,足以满足SSR的驱动要求,故无需加跟随器来提高驱动电流。因此,将SSR的输入端①直接接到单片机引脚,输入端②接地,输出端③、④(按图2.10所示为C、D端)串入交流负载回路即可。 [7] 图2.10 可控硅输出电路 2.5 键盘电路设计 键盘是人机交互的重要手段,分为编码键盘和非编码键盘。闭合键的识别由专用的硬件译码器实现并产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII键盘等。靠软件识别的称为非编码键盘。在本课题的设计中,键盘用来设定目标温度、PID参数,以及控制系统的工作状态转换。为简化电路,便于操作,系统中采用1×3非编码键盘,工作方式采用中断方式。其电路原理如图2.11所示。 17 河南城建学院本科毕业设计(论文) 系统硬件设计 图2.11 键盘电路 2.6 显示电路设计 在单片机系统中,通常用LED数码管来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。 LED数码管的显示方式通常有两种: 动态显示:即单片机定时对各显示单元进行扫描,各显示器分时工作,利用视觉暂留的特性,达到稳定显示的目的。这种方式耗电少、硬件成本低,但需占用较多的CPU时间,故在工业控制中应用较少。 静态显示:利用锁存器将各显示单元锁定,直到更新显示内容为止。这种方式占用CPU时间较少,工作可靠且亮度高。由于本系统需要对控制信号进行实时操作,故采用静态显示方式以减少CPU的负担。 如图2.12所示,系统显示电路包括LED数码管。LED数码管显示电路采用四片首尾相连的74LS164作为LED数码管的静态显示锁存器。芯片74LS164为TTL单向8位移位寄存器,可实现串行输入,并行输出。其中A、B(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,公用一个输入信号时可并接,本系统中将其接到P3.0端。CLK(第8脚)为时钟输入端,连接到P3.4端。每一个时钟信号的上升沿加到CLK端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。/MR(第9脚)为复位端,当/MR=0时,移位寄存器各位复0,只有当/MR=1时,时钟脉冲才起作用。故在本系统中将/MR接到+5V。Q1…Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的a-dp各段对应的引脚上。74LS164具有10mA的输出电流,可以直接输出驱动LED数码管,但考虑到LED长期运行于10mA以上会缩短其寿命,故串入1K电阻加以限流。电路中的670Ω电阻是为保护LED而设置的限流电阻。 [6] 18 河南城建学院本科毕业设计(论文) 系统硬件设计 图2.12 显示电路 2.7 保护电路设计 图2.13 保护电路 电路中增加的达林顿管TIP 122是一个电流驱动型器件,能够提高继电器的励磁电流。在继电器两端并联了续流二极管,其作用是当达林顿管由导通到关断时,继电器也由导通变为关断,由于继电器是个感性负载,电流不能突变,线圈两端将产生很高的反向电势,以继续维持线圈中通过的电流。这个反向电势一般很高,容易造成三极管的击穿,加入续流二极管后,为反向电势提供了放电回路,从而保护三极管不会被击穿。 19 河南城建学院本科毕业设计(论文) 系统硬件设计 2.8 硬件抗干扰措施 硬件抗干扰是应用系统最基本和最主要的抗干扰手段,一般从防和抗两方面入手来抑制干扰。其总的原则是:抑制或消除干扰源,切断干扰对系统的耦合通道,降低系统对干扰信号的敏感性。对于本系统,硬件抗干扰设计具体措施有:隔离、接地、滤波等常用方法。 ①隔离主要用于过程通道的隔离,光电耦合器能有效地抑制尖峰脉冲及各种噪声干扰,提高信噪比。在输入、输出通道采用光电耦合器将控制系统与外围接口隔离; ②接地应遵循的基本原则是:数字地、模拟地、屏蔽地应该合理接地,不能混用。要尽可能地使接地电路各自形成回路,减少电路与地线之间的电流混合。合理布置地线使电流局限在尽可能小的范围内,并根据地电流的大小和频率设计相应宽度的印刷电路和接地方式。模拟电源和数字电源各自并接O.1µF的陶瓷电容(去耦电容); ③滤波电源系统干扰源主要是高次谐波,无源滤波器是一个简单的、有效的低通滤波器,它只让电网中基波通过,而对高次谐波有急剧的衰减作用,对串模干扰和共模干扰信号具有很强的双向抑制作用。 [8] 20 河南城建学院本科毕业设计(论文) 系统软件设计 第三章 系统软件设计 在微机测控系统中,软件与硬件同样重要。硬件是系统的躯体,软件则是灵魂,当系统的硬件电路设计好之后,系统的主要功能还是要靠软件来实现,而且软件的设计在很大程度上决定了测控系统的性能。为了满足系统的要求,编制软件时一般要符合以下基本要求: ①易理解性、易维护性:要达到易理解和易维护等指标,在软件的设计方法中,结构化设计是最好的一种设计方法,这种设计方法是由整体到局部,然后再由局部到细节,先考虑整个系统所要实现的功能,确定整体目标,然后把这个目标分成一个个的任务,任务中可以分成若干个子任务,这样逐层细分,逐个实现; ②实时性:实时性是电子测量系统的普遍要求,即要求系统及时响应外部事件的发生,并及时给出处理结果。近年来,由于硬件的集成度与运算速度的提高,配合相应的软件,实时性比较容易满足设计要求; ③准确性:准确性对整个系统具有重要意义,尤其是测量系统,系统要进行一定量的运算,算法的正确性和准确性对结果有着直接的影响,因此在算法的选择、计算的精度等方面都要符合设计的要求; ④可靠性:可靠性是系统软件最重要的指标之一,作为能够稳定运行的系统,抗干扰技术的应用是必不可少的,最起码的要求是在软件受到干扰出现异常时,系统还能恢复正常工作。 结合上述编制系统软件的基本要求,首先讨论软件的设计思想。 3.1 软件设计思想 很多的单片机软件系统都是采用如图3.1所示的前、后台系统(也称超循环系统)。其中,应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成是后台行为(background)。中断服务程序处理异步事件,这部分可以看成是前台行为(foreground)。后台也可以叫做任务级。前台也可以叫做中断级。时间相关性很强的关键操作(critical operation)一定是靠中断服务来保证的。 本系统软件正是基于这种软件思想编制的。 21 河南城建学院本科毕业设计(论文) 系统软件设计 图3.1 前后台系统 3.2 软件组成 由于整个系统软件相对比较庞大,为了便于编写、调试、修改和增删,系统软件的编制采用了模块化的设计。即整个控制软件由许多独立的小模块组成,它们之间通过软件接口连接,遵循模块内部数据关系紧凑,模块之间数据关系松散的原则,按功能形成模块化结构。 系统的软件主要由主程序模块、数据采集模块、数据处理模块、控制算法模块等组成。主模块的功能是为其余几个模块构建整体框架及初始化工作;数据采集模块的作用是将A/D转换的数字量采集并储存到存储器中;数据处理模块是将采集到的数据进行一系列的处理,其中最重要的是数字滤波程序;控制算法模块完成控制系统的PID运算并且输出控制量。 下面就介绍本系统几个主要的程序模块。 3.3主程序模块 主程序模块要做的主要工作是上电后对系统初始化和构建系统整体软件框架,其中初始化包括对单片机的初始化、A/D芯片初始化和串口初始化等。然后等待温度设定,若温度已经设定好了,判断系统运行键是否按下,若系统运行,则依次调用各个相关模块,循环控制直到系统停止运行。主程序模块的程序流程图如图3.2所示。在附录中给出了系统初始化源程序。 22 河南城建学院本科毕业设计(论文) 系统软件设计 图3.2 主程序流程图 3.4 数据采集模块 图3.3 数据采集模块程序流程图 图3.4 A/D转换程序流程图 23 河南城建学院本科毕业设计(论文) 系统软件设计 数据采集模块的任务是负责温度信号的采集以及将采集到的模拟量通过A/D转换器转化为相应的数字量提供给单片机。数据采集模块的程序流程图如上图3.3和图3.4所示。 3.5数据处理模块 数据处理模块负责处理A/D转换后的数字量,其中最重要的环节是数字滤所以这里主要讨论系统采用的数字滤波程序。 3.5.1数字滤波 模拟信号都必须经过A/D转换后才能为单片机接受,如果模拟信号受到扰动影响,将使A/D转换结果偏离真实值。因此仅仅对模拟量采样一次,我们是无法确定该结果是否可信的,必须经过多次采样,得到一个A/D转换的数据序列,通过某种处理后,才能得到一个可信度较高的结果。这种从数据序列中提取逼近真值数据的软件算法,通常称为数字滤波算法。 数字滤波克服了模拟滤波器的不足,它与模拟滤波器相比具有以下几个方面的优点: ①由于数字滤波是用程序实现的,因而不需要增加硬件设备,而且可以多个输入通道共用一个滤波程序; ②由于数字滤波不需要硬件设备,因而可靠性高、稳定性好,各回路之间不存在阻抗匹配等问题; ③数字滤波可以对频率很低(如0.01HZ)的信号实现滤波,克服了模拟滤波器的缺陷,而且通过改变数字滤波程序,可以实现不同的滤波方法或改变滤波参数,这比改变模拟滤波器的硬件要更灵活方便。 常用的数字滤波方法有程序判断滤波法、中值滤波法、算术平均滤波法、一阶滞后滤波法、去极值平均滤波法等等,下面简要介绍这几种数字滤波方法。 ①程序判断滤波法首先要从经验出发,定出一个目标参数最大可能的变化范围。每次采样后都和上次的有效采样值进行比较,如果变化幅度不超过经验值,本次采样有效,否则,本次采样值应视为干扰而放弃,以上次采样值为准。该算法适用于变化缓慢的物理参数的采样过程,如湿度、液位等。 ②中值滤波法对目标参数连续进行若干次采样,然后将这些采样进行排序,选取中间位置的采样值为有效值。对于变化较为剧烈的参数,此滤波方法不宜采用。 ③算术平均滤波法是对目标参数进行连续采样,然后求其算术平均值作为有效采样值。该算法适用于抑制随机千扰。采样次数越大,平滑效果越好,但系统的灵敏度要下降。算术平均滤波不能将明显的脉冲干扰消除,只是将其影响削弱。 24 河南城建学院本科毕业设计(论文) 系统软件设计 ④一阶滞后滤波法是一种动态滤波方法,其表达式为: Y=(1-a)Xn+aYn-1 式(3.1) 式中Xn:第n次采样值 Yn-1:上次滤波结果输出值 Yn:第n次采样后滤波结果输出值 a:滤波平滑系数 τ:滤波环节时间常数 T:采样周期 通常采样周期远小于滤波环节的时间常数,也就是输入信号的频率快,而滤波环节时间常数相对地小,这是一般滤波器的概念,所以这种滤波方法相当于RC滤波器。 图3.5 去极值平均滤波程序流程图 ⑤去极值平均滤波法既采用去极值法去掉明显的脉冲干扰,又可对采样值进行平滑处理,在高、低速数据采集系统中,它都能削弱干扰,提高数据处理能力。本系统就采用了去极值平均滤波法。即对目标参数连续采样6次数据,然后对6次采样的数据由小到大排序,分别去掉最小值和最大值,将剩余的4个数据求其算术平均值,即得到本次A/D转换后的数字量。 去极值平均滤波程序流程图如图3.5所示,附录中给出了去极值平均滤波的源程序。 25 河南城建学院本科毕业设计(论文) 系统软件设计 3.5.2 显示处理 显示处理模块主要完成人机交互作用,具体实现将采样温度值、设定温度值以字符的形式通过数码管显示出来,以显示处理模块进行编程。 3.6软件抗干扰措施 本系统中,在软件方面的抗干扰措施主要从以下两个个方面来考虑: ①按键的软件消抖措施 按键是一个机械开关,当键按下时,开关闭合;当键松开时,开关断开。其特点之一就是它的抖动性,这是由按键的机械特性所决定的,抖动的时间一般约为1Oms-20ms. 对于按键消抖的具体措施目前有两种:一是用硬件电路来实现,即用RC滤波电路滤除抖动。另一种是用软件延时的方法来解决,即利用软件的延时避开按键的按下与抬起时都有的抖动期,从而避免检测到干扰信号。本文采用的就是软件延时消抖的方法。 ②数字滤波 数字滤波是将一组输入数字序列进行一定的运算而转换成另一组输出数字序列的方法,采用软件滤波算法不需要增加硬件设备,可靠性高,功能多样, 使用灵活,但是要占用一定的处理器运行时间。在本系统设计中,采用了数字滤波的软件抗干扰措施,所采用的数字滤波算法是去极值平均滤波法。 26 河南城建学院本科毕业设计(论文) 系统控制方案 第四章 系统控制方案 4.1 PID控制 4.1.1 PID控制的发展 PID控制是最早发展起来的控制策略之一,现今使用的PID控制器产生并发展于1915-1940年期间。尽管自1940年以来,许多先进的控制方法不断推出,但由于PID控制方法具有结构简单、鲁棒性好、可靠性高、参数易于整定,PID控制规律各自成独立环节,可根据工业过程进行组合,而且其应用时期较长,控制工程师们已经积累了大量的PID控制器参数的调节经验。因此,PID控制器在工业控制中仍然得到广泛应用。据统计,有90%以上的工业控制器采用PID控制器。 PID控制器的发展经历了液动式、气动式、电动式几个阶段,目前正由模拟控制器向着数字化、智能化控制器的方向发展。 4.1.2 PID控制理论 PID控制器是一种线性控制器,它根据给定值r(t)与实际输出值y(t)构成控制偏差e(t). e(t) = r(t)-y(t) 式(4.1) 将偏差e(t)的比例(Proportional)、积分(Integral)和微分(Derivative)通过线性组合构成控制量,对被控对象进行控制,因此称为PID控制。PID控制系统原理如图4.1所示。 图4.1 PID控制系统原理框图 其控制规律为: U(t)KP[e(t)1TIT0e(t)dtTDde(t)] 式(4.2) dt27 河南城建学院本科毕业设计(论文) 系统控制方案 或者写成传递函数的形式为: G(s)KP(11TDs) 式(4.3) TIs式中 KP:比例系数 TI:积分时间常数 TD:微分时间常数 PID控制器各校正环节的作用如下: ①比例环节及时成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差; ②积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数TI越大,积分作用越弱,反之则越强; ③微分环节能够反映偏差信号的变化趋势(变化速率),并且能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。 4.1.3 PID控制算法 由于计算机控制是一种采样控制系统,它只能根据采样时刻的偏差值计算控制量。因此,式(4.2)中的积分和微分项不能直接使用,需要进行离散化处理。现令T为采样周期,以一系列的采样时刻点kT代表连续时间t,以累加求和近似代替积分,以一阶后向差分近似代替微分,做如下的近似变换: T=KT 式(4.4) kkt e(t)Te(jT)Te(T) 式(4.5) 0j0j0 de(t)e(KT)e[(K1)T]e(K)e(K1) 式(4.6) dtTT其中,T为采样周期,e(k)为系统第k次采样时刻的偏差值,e(k-1)为系统第(k-1)次采样时刻的偏差值,k为采样序号,k=0, 1, 2,….将上面的式(4.5)和式(4.6)代入式(4.2),则可以得到离散的PID表达式: T U(K)KP{e(k)TIke(j)T[e(k)e(k1)]} 式(4.7) j0TD如果采样周期T足够小,该算式可以很好的逼近模拟PID算式,因而使被控过程与连续控制过程十分接近。通常把式(4.7)式称为PID的位置式控制算法。如果令ΔU(k)= U(k)- U(k-1)则: 28 河南城建学院本科毕业设计(论文) 系统控制方案 ΔU(k)=a0e(k)-a1e(k-1)+a2e(k-2) 式(4.8) 其中 a0=KP(1+T/TI+TD/T) a1= KP(1+2TD/T) a2=KPTD/T 因为在计算机控制中,a0, a1,a2都可以事先求出,所以,实际控制时只须获得e(k)、e(k-1)、e(k-2)三个有限的偏差值就可以求出控制增量。由于其控制输出对应执行机构的位置的增量,故式(4.8)式通常被称为PID控制的增量式算式。 增量式PID控制算法与位置式控制算法比较,有如下的一些优点: ①位置式算法每次输出与整个过去状态有关,算式中要用到过去偏差的累加值Σe(j),容易产生较大的累计误差。而增量式中只须计算增量,算式中不需要累加,控制增量的确定仅与最近几次偏差采样值有关,当存在计算误差或者精度不足时,对控制量的影响较小,且较容易通过加权处理获得比较好的控制效果; ②由于计算机只输出控制增量,所以误动作影响小,而且必要时可以用逻辑判断的方法去掉,对系统安全运行有利; ③手动一自动切换时冲击比较小。 图4.2 增量式PID控制算法程序流程图 鉴于以上优点,本系统的控制算法即采用增量式的PID控制算法。其程序流程图如上图4.2所示。附录中给出了本系统的PID控制算法源程序。 [9] 4.2 温控箱数学模型的确定 数学模型通常是描述物理系统的运动规律、特性和输入与输出关系的一个或一组方程式,它表示了一个过程的输入变量(通常是控制作用和扰动作用)、状态 29 河南城建学院本科毕业设计(论文) 系统控制方案 变量与输出变量(通常是被控变量)之间的数学关系。数学模型的类型很多,按表达的规律是否包含时间因素,数学模型可以分为静态数学模型和动态数学模型两大类。描述系统静态特性的模型称为静态数学模型,例如对各种传感器与测试系统做静态校准时,所求出的都是静态模型;而描述系统动态或瞬态与过渡态特性的模型称为动态数学模型,例如对各种传感器与测试系统和控制系统进行动态校准时,所求出的便是动态模型。用微分方程或状态方程表示的动态系统模型称为参数模型,而以图线关系或其表达式表示的模型称为非参数模型;按模型表达的关系又可以分为外部关系模型和内部关系模型两类,外部关系模型是指该模型所表达的是系统的输入和输出之间的关系,它仅刻画系统的外部特性,而不深入到模型的内部。这种模型对于从目前的输入推论它的将来输出,从整个系统的原因推出它的后果是有用的,而且从实验得到的数据及统计数据都能和这种模型相配合。内部模型是相对外部模型而言的,它是描述系统内部情况的模型,而且它也是包括外部关系的模型,因而它是一种更完全的数学模型,常以状态方程式来表示。 一般而言,建立系统的数学模型有以下三类方法: ①机理分析法(Mechanism Analysis Method):这种方法通常需要通过分析过程的运动规律,运用一些已知的定律、定理和原理,如化学动力学原理、生物学定律、牛顿定理、物料平衡方程、能量平衡方程和传热传质原理等等,推导出描述系统的数学模型(例如代数方程或者微分方程等),这种方法也称作理论建模。但是,分析法只能用于比较简单的系统(例如一些简单电路,测试系统、过程检测、动力学系统等),对于比较复杂的实际生产过程来说,这种建模方法有很大的局限性,因为在理论建模的过程中对所研究的对象必需做一些合理的假设与简化,否则所建立的数学模型过于复杂,不易求解,而且这些假定往往也不一定能符合实际情况。何况实际过程的机理有时也并非完全知道; ②实验测试法(Experiment Testing Method):过程的输入输出信号一般总是可以测量的。由于过程的动态特性必然表现在这些输入输出数据之中,那么就可以利用输入输出数据所提供的信息来建立过程的数学模型。这种建模方法又叫做系统辨识; ③前两种方法结合起来:就某种意义上讲,实验测试法较机理分析法有一定的优越性。因为它无需深入了解过程的机理。但是,这又不是绝对的。测试法的关键之一就是必须设计一个合理的实验,以获得过程所含得信息量最大,这点往往非常困难。因此,实际应用中,两种方法是相互补充相辅相成的。 建立数学模型时一般需要遵循以下一些基本的原则: ①目的性:明确建模的目的,不同建模目的牵涉的建模方法可能不同; ②实用性:模型的物理概念要明确; 30 河南城建学院本科毕业设计(论文) 系统控制方案 ③灵活性(Flexibility):模型应能描述大多数不同过程的动态特性,这样就可以扩展它的应用; ④算法的复杂性(Algorithm Complexity):模型的结构决定算法的复杂性,应尽可能的选择简单的结构,使计算量较少; ⑤可辨识性(Identifiability):模型结构要合理,输入信号必须是持续激励的(persistently exiting),数据要充足; ⑥节省原理(Parsimony):待辨识的模型参数个数要尽可能的少; ⑦准则函数特性(Properties of the Criterion Function):选择的准则函数特性应使算法简单,不出现非线性问题,便于实现全局最小。 由于温控箱的温度不仅和加热电压有关,而且还存在着温控箱热容、温控箱箱壁散热等因素的影响,故通过第一种方法分析建模有一定的难度,所以本文采用第三种方法。即先对温控箱的特性进行分析,得出理论的数学模型,再运用系统辨识的方法确定模型中的参数。系统辨识时使用的工具是MATLAB中的系统辨识工具箱。 [10] 4.2.1 温控箱特性分析 在生产过程中,由于热传导问题的复杂性,一般的加热设备都具有非线性、大滞后和不对称性等特点。滞后又包括纯滞后和容积滞后,电加热设备的滞后主要是容积滞后。加热体的结构、容量的大小、测温元件及其安装的位置等都影响着滞后的大小。它不是一个单一的问题,而是一个系统性的问题。 工业中绝大多数的加热设备都是升温时用强迫加热,而温度下降过程靠自然冷却。因此,温度特性是不对称的:升温时响应快,而降温时响应慢。在过程控制中,通常情况下把电加热设备的动态特性看成是一个线性系统,用一个或两个惯性环节串联一个纯滞后环节来表示: Ke-τs/(1+TS)或Ke-τs/(1+T1S)(1+T2S) 式(4.9) 这种近似处理在许多情况下是可行的。本文就采用前者一个惯性环节串联一个纯滞后环节作为温控箱的数学模型的形式。其中K是增益,T为时间常数,τ为滞后时间。 [11] 4.2.2 温控箱数学模型的辨识 一般为了求取模型参数,先给系统输入一个激励信号,得到系统对信号的瞬态响应,再来求得模型的参数。对于本温控系统,采用阶跃响应法来求模型的参数。阶跃响应法是比较常用的经典辨识方法之一,它是通过实验来测得系统的阶跃响应曲线,再由该曲线辨识系统的传递函数,下面简单介绍一下系统辨识实验的设计。辨识的实验设计包括下列的选择和决定: ①输入信号的选择:为了使过程是可辨识的,输入信号必须满足一定的条件。 31 河南城建学院本科毕业设计(论文) 系统控制方案 最低的要求是在辨识时间内过程必须被输入信号持续激励。或者说,在实验期间,输入信号必须充分激励过程的所有模态。这是一个输入信号的最优设计问题,要求输入信号的频谱必须覆盖过程的频谱; ②采样间隔的选择:现在对现场数据的采集一般都采用计算机,故输入输出信号都需要经过采样处理。采样间隔的选择将直接影响辨识模型的精度,它的选择主要取决于最终应用的采样间隔以及要满足香农(Shannon)采样定理,即采样速度要高于过程模型频率特性的截止频率的2倍; ③辨识时间(数据长度):一般要求有足够的数据才具有统计意义,达到一致性估计的目的。如果数据太少,精度就难以保证; 根据上述的原则,通过对温控箱加热实验的方法得到温控箱的温度响应曲线。采样时间为O.lS,可控硅的通断时间比分别控制为10%和30%,对温控箱进行加热200s。每组实验得到2000个数据。如图4.3和图4.4所示。 图4.3 通断时间比为10%的响应曲线 图4.4 通断时间比为30%的响应曲线 在实验得到温控箱的响应曲线的基础之上,然后利用MATLAB系统辨识工具箱对实验得到的数据进行参数辨识。 首先简单介绍一下MATLAB系统辨识工具箱。 MATLAB系统辨识工具箱提供了进行系统模型辩识的有力工具,其主要功能包括: ①参数模型辨识工具,包括AR(自回归模型)、ARX(带控制量的自回归模型)、状态空间和输出误差等模型类的辨识工具; ②非参数模型辨识工具; ③模型验证工具,即对辨识模型进行仿真并将真实输出数据与模型预测数据进行比较,计算相应的残差; ④递推参数估计,针对各种参数模型,利用递推估计方法获得模型参数; ⑤各种模型类的建立和转换函数; ⑥集成多种功能的图形用户界面,该界面以图形交互方式提供模型类的选择 32 河南城建学院本科毕业设计(论文) 系统控制方案 和建立、输入输出数据的加载和预处理,以及模型的估计等功能。 利用工具箱提供的功能强大的图形用户界面,可以很方便的进行系统参数辨识。输入实验得到的数据并选择模型,分别对两次实验数据辨识后得到如下的结果:可控硅通断时间比为10%时K = 3.50149 T=149.86,τ=3 可控硅通断时间比为30%时K = 3.4974 T=150.31,τ=3 故,认为温控箱的数学模型为: G(S)=3.5·e-3s/(1+150s) 式(4.10) 可得到模型的响应曲线与实验数据的拟合程度为94.04%。因此,可以认为,辨识的模型还是比较符合实际情况的。 [12] 4.3 PID控制参数整定 由于PID控制器的输出为系统偏差的比例、微分和积分作用后的线性组合,所以调整各个部分的线性系数就是PID控制器控制性能好坏的关键。必须针对具体被控对象对PID控制器参数进行整定。 PID参数的整定有以下常用的方法: ①试凑法 ②扩充临界比例度法 ③扩充响应曲线法 [13] 4.4 MATLAB仿真 通过对上述的整定方法的综合运用,整定后得到PID控制器的参数为: KP=1.75,KI=0.0125,KD=3 在MATLAB/Simulink环境下建立温度控制系统的仿真模型,如图4.5所示。仿真后得到系统的阶跃响应曲线如图4.7所示。 图4.5 PID控制仿真的Simulink框图 33 河南城建学院本科毕业设计(论文) 系统控制方案 图4.6 阶跃信号曲线 图4.7 阶跃、误差响应曲线 从图4.6可以看到系统的阶跃响应的动态性能还是比较理想的,超调很小(响应峰值为1.017,超调量Q%=1.7%)。从图4.7可以看到,系统的响应误差也是比较小的(稳态误差为0.005),在系统要求的精度范围之内。 [14] 34 河南城建学院本科毕业设计(论文) 结论 第五章 结论 5.1 总结 温度控制在工业生产中起着非常重要的作用。本文完成了基于PID控制的温度控制系统的开发。包括系统的硬件开发、软件编程等。在论文完成过程中,主要做的工作有: ①以ATMEL公司的AT89C52单片机为核心进行系统硬件设计,输入通道采用Pt100铂电阻温度传感器,AD7705作为A/D转换器;输出通道采用可控硅作为输出单元,大大地简化了系统硬件电路。通过对占空比的调节可实现温控箱温度的自动控制。由于输入端与输出端有光电隔离,能够有效地抑制干扰; ②在温度控制系统中采用常规的PID控制方法,这需要知道被控对象的数学模型,以及对PID控制器的参数进行整定。因此,在分析了温控箱的特性的基础上,利用MATLAB系统辨识工具箱这个有力的工具对温控箱的模型参数进行辨识,然后对PID控制器的参数进行整定,并且做了仿真实验; ③采用C语言对系统的软件编程,这些都大大缩短了软件的开发周期。为了便于编写、调试、修改和增删,系统软件的编制采用了模块化的设计方法。 5.2 展望 本系统使用的AT89C52属于与MCS-51系列兼容的8位单片机,这种单片机本身资源较少,不利于系统的扩展,目前日益普及的基于ARM或DSP结构的微控制器,在系统扩展能力,处理数据的能力各个方面都远远超出了8位单片机。 传统的单片机编程采用时间片轮转的方式,即将实时性要求不高的工作放在主函数之中,依次轮流执行;实时性要求高的,使用中断技术及时处理,这样构成前、后台处理程序,程序中间通过软件标志、全局变量等完成通信与联络。本系统的软件就是基于这种方式开发的。随着微处理器芯片性能的提升、价格的下降及对软件的可重用性、可维护性的提高,采用实时操作系统(RTOS)已经成为大势所趋。 [15] 随着工业的发展,对象的复杂程度不断加深,尤其对于大滞后、时变的、非线性的复杂系统:其中有的参数未知或缓慢变化;有的带有延时或随机干扰;有的无法获得较精确的数学模型或模型非常粗糙。加之人们对控制品质的要求日益提高,常规PID控制的缺陷也逐渐暴露出来。因此人们在应用PID控制的同时,也不断地对其进行了各种改进。主要体现在两个方面:一是对常规PID控制器本身结构的改进,即变结构PID控制;另一方面随着智能控制如模糊控制、神经网络控制和专家控制等先进控制技术的迅速发展,它们与常规PID控制相结合,扬长避短,发挥各自的优势,形成所谓的智能PID控制。这种新型智能PID控制器已引起人 35 河南城建学院本科毕业设计(论文) 结论 们的普遍关注和极大的兴趣,也已得到较为广泛的应用。 结合上面的论述,今后还需要做进一步的研究和解决的问题有: ①硬件方面,采用DSP, AVR单片机或者利用第一章提到的片上系统SOC对系统的硬件进行重新设计; ②软件方面,摒弃传统的前后台系统软件编程模式,改用基于实时操作系统的系统软件开发; ③控制算法方面,尝试采用现在得到快速发展的智能控制方法,如模糊控制、神经网络控制和模糊PID控制等等。 [16] 36 河南城建学院本科毕业设计(论文) 参考文献 参考文献 [1] 齐志才,赵继印.MCS-51系列单片机原理及接口技术[M].北京:中国建筑工业出版社,2005: 13-15 [2] 黎永光,金伟正.新型三线制测温电路的研究[J].武汉工业学院学报,2000年第3期 [3] 尚玉沛,石林锁,张振仁.最小二乘法在高精度温度测量中的应用[J].传感器技术,2000年第1期 [4] Ljung, Lennard. Theory And Practice of Recursive Identification [M].The MIT press,1983 [5] Atmel Corporation,JTAG ICE User’s guide[EB/OL],www.atmel.com [6] 李朝青.单片机&DSP外围数字IC技术手册(第二版)[M].北京:北京航空航天大学出版社,2005:20-25 [7] Maxim Gert N.Helles. Pt100铂电阻温度变送器[J].世界电子元器件2003 年第8期:22-23 [8] 王幸之,王雷,翟成等.单片机应用系统抗干扰技术[M].北京:北京航空航天大学出版社,1999:P25 [9] 赖寿宏.微型计算机控制技术[M].北京:机械工业出版社,1999:32-34 [10] 苏卫东,任思聪等.温控箱数学模型的建立及其自适应PID控制[J].中国惯性技术学报,1995年第3卷第4期:P35-P38 [11] Isidro Sanchez,Julio R Banga,Antonio A Alonso.Temperature control in microwave combination ovens[J].Journal of Food Engineering,2000:21-29 [12] 倪博溢,萧德云.MATLAB环境下的系统辨识仿真工具箱「J].系统仿真学报,2006年第18卷第6期 [13] 张宇.高精度恒温箱温度控制理论研究与系统设计[D].合肥工业大学硕士学位论文,2005:38-39 [14] 徐建林.热处理电阻炉炉温控制系统的分析与仿真[J].金属热处理,2002年第27卷第11期:38-39 [15] Miha Mraz.The design of intelligent control of a kitchen refrigerator[J].Mathematics and Computer in Simulation,2001:259-257 [16] Ziegler J.G,Nichols N.B.:Optimum Setting for Auromatic Controllers,Trans Asme,1942:759-768 [17] 王海宁.基于单片机的温度控制系统设计[D].合肥工业大学学位论文,2006: 44-49 37 河南城建学院本科毕业设计(论文) 致谢 致谢 本论文是在我的导师张洛花老师的亲切关怀和悉心指导下完成的。她严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,张老师都始终给予我细心的指导和不懈的支持。 在做毕业设计的过程中,张老师多次询问,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。张老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我解决问题方法,而且教我做人,虽历两个月,却给以终生受益无穷之道。 在此谨向张老师致以诚挚的谢意和崇高的敬意。 学生:王晓刚 2010年5月 38 河南城建学院本科毕业设计(论文) 初始化程序 附录 A 初始化程序 /* function: void init(void) description: this function initialize the system parameter: none return: none */ void init(void) { DIOInit(); Reset7705(); //复位7705,防止SPI口迷失 Init7705(0); //7705通道1初始化 ConvAdr[0]=0x01; //IO口位地址定义 ConvAdr[1]=0x02; ConvAdr[2]=0x04; ConvAdr[3]=0x08; ConvAdr[4]=Ox10; ConvAdr[5]=0x20; TMOD=0x01; //timer0 model(16bit timer) ES=ETI=EXI=ETO=EXO=O; //Disable all interrupt source EA=1; //Enable CPU interrupt init-serialcomm(); 初始化串口 } /* description : this function initialize the discrete I/O manager module. parameter: none return: none */ void DIOInit (void) { DOmap=Oxff; XBYTE[DRIVER] = DOmap; //控制前将所有的驱动输出口打开,这样可控硅不会导 通避免上电就直接加热 /* function: void Reset7705(void) description: this function for reset AD7705 parameter: none return: none */ 39 河南城建学院本科毕业设计(论文) 初始化程序 void Reset7705(void) { unsigned char i,j; AdClk=1;AdDin=0; for (i=0; i<32; i++) //DIN与DOUT共用一根数据线,需至少24个读操作 { AdClk=0; for(j=O;j for(i=O;i<40;i++) //多于连续32个DIN=l使AD7705 SPI口复位 { AdClk=0; for(j=O;j function: void Init7705(void) description: this function initialize ad7705 parameter: none return: none */ void Init7705(unsigned char chan) { unsigned char i,j; unsigned int rd[5][4]; float dtmp[5][4]; WriteByte7705(Ox20︱chan); //通道0/1,下一个写时钟寄存器 WriteByte7705(OxOb); //2MHz,分频,更新速度为200HZ WriteByte7705(OxlO︱chan); //通道0,下一个写设置寄存器 WriteByte7705(Ox44); //自校准,增益1,单极,不缓冲,同步 while(AdRdy) //等待数据准备好 } /* function: void init-serialcomm(void) description: this function initialize the serial parameter: none return: none */ 40 河南城建学院本科毕业设计(论文) 初始化程序 void init-serialcomm(void) { SCON= 0x50; //SCON: serail mode 1,8-bit UART, baud variable TMOD= 0x20; //TMOD: timer 1,mode 2, 8-bit reload PCON=0x80; //SMOD=l; TH1=Oxf4; //Baud:4800 fosc=11.0592MHz TL1=Oxf4; ES=1; //Enable Serial Interrupt TR1=1; //timer 1 run } 41 河南城建学院本科毕业设计(论文) 数字滤波程序 附录 B 数字滤波程序 /* function: unsigned int ad-filter(void) description: this function for AD filter parameter: none return: ad-count一>the actual temperature */ unsigned char ad-filter(unsigned char channel) { unsigned char ad-count; unsigned int ad_ max,ad_ min; unsigned int result_ tmp=0; unsigned int adresult[6]; adresult[0]=GetData7705(channel); //连续采样6次 adresult[1]=GetData7705(channel); adresult[2]=GetData7705(channel); adresult[3]=GetData7705(channel); adresult[4]=GetData7705 (channel); adresult[5]=GetData7705(channel); for(ad-count=O;ad_count<6;ad-count++) //排序 { if(ad_ result[ad-count]>=ad_ max) { ad_ max=ad_ result[ad-count]; } if(ad_ result[ad-count]<=ad_ min) { ad_min=ad-result[ad-count]; } } result-tmp=(adresult[0]+adresult[1]+adresult[2]+adresult[3]+adresult[4]+adres ult[5]-ad_ max-ad_ min)/4; //求均值 ad-count=result_ tmp; return(ad-count); } 42 河南城建学院本科毕业设计(论文) PID控制 附录 C PID控制 #define FiltA 0.1 //PID输出的滤波系数(0.0-1.0) #define FiltB 0.9 //PID输出的滤波系数(1-FilterA) #define KP 1.75 //PID控制器的比例系数 #define Ki 0.0125 //PID控制器的积分系数 #define Kd 3.0 //PID控制器的微分系数 #define Emax 1.0 //误差积分上限 float Err[4][2]; float InteE[4][2]; float OnMs[4][2]; /* function: unsigned char pid(unsigned char i,unsigned char j, unsigned char k,unsigned char l) description: this function for pid control parameter: i:一>channel j:一>time k:一>set temprature l:一>actual temprature return: */ adjust_time一>adjust time void pid(unsigned char ch,float refval) { float DiscE,Tmpr; Err[ch][1]refval一GetTmp(GetData7705(ch+l)); //e(k) if (Err[ch][1]>=Emax) InteE[ch][I]=InteE[ch][0]+Err[ch][I]; else InteE[ch][1]=InteE[ch][0]; DiscE=Err[ch][1]一Err[ch][0]; Tmpr=Kp*Err[ch][1]+Ki*lnteE[ch][1]+Kd*DiscE; OnMs[ch][1]=GetOnMs(FiltA*OnMs[ch][0]+FiltB*Tmpr); Err[ch][0]=Err[ch][1]; InteE[ch][0]=InteE[ch][1]; OnMs[ch][0]=OnMs[ch][1]; } /* function: float GetOnMs(float OnTime) description: output control time parameter: none return: ftmp */ 43 河南城建学院本科毕业设计(论文) PID控制 float GetOnMs(float OnTime) { float ftmp; if(OnTime<=0) ftmp=0; else if(OnTime>=100) ftmp=100; else ftmp=OnTime; return(ftmp); } [17] 44 河南城建学院本科毕业设计(论文) 系统原理图 附录 D 45 因篇幅问题不能全部显示,请点此查看更多更全内容