基于单片机的模糊PID控制器的设计与应用_第1页
基于单片机的模糊PID控制器的设计与应用_第2页
基于单片机的模糊PID控制器的设计与应用_第3页
基于单片机的模糊PID控制器的设计与应用_第4页
基于单片机的模糊PID控制器的设计与应用_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的模糊PID控制器的设计与应用目录摘要 第1章绪论1.1课题研究背景及意义随着工业技术水平的发展,人们对PID控制技术的要求越来越高,PID参数整定问题更是重中之重,因为参数整定的好坏直接关系到PID控制性能的优劣。人们希望能够实现PID参数的在线自整定,这样不仅省时省力而且能达到更精准的控制效果,而传统PID控制已经无法满足人们的高标准。因此各种优化PID控制应运而生,本文所研究的模糊自整定PID控制就是其中之一。传统PID控制结构简单,适合在能够建立精准数学模型的控制场合中使用。然而,现代化工业发展迅速,被控对象复杂化,其特点通常是高度非线性、时变性和滞后性,比如锅炉温度控制等。它们往往不满足传统PID控制的使用条件,即不能建立精准的数学模型,无法仅利用传统PID控制器实现有效控制。而近年新兴的智能控制能很好地处理这样的被控对象。模糊控制作为其重要分支,响应速度快,调节时间短,超调量小甚至没有超调量。换句话说,这种非线性控制具有优良的动态性能,这是传统PID控制所缺乏的。但是它也有一定的不足,它的稳态误差较大,稳态性能比不上传统PID控制。模糊控制与传统PID控制优势互补,因此将两者结合起来形成模糊PID控制能够有效地避免两者的局限性,且能够在线自整定PID参数,实现精准控制。常规PID参数整定方法多依赖于经验技巧,工程量巨大,且准确率较低。因此,研究PID参数的在线自整定,对实现更精确的控制效果从而降低工业成本具有重要意义。1.2国内外研究现状在PID技术发展过程中,PID参数整定问题一直都是一个热门话题。从最初的PID参数工程整定法(Z-N经验公式)到结合智能自整定PID参数法,人们一直在不断优化参数整定的方法,使PID控制更加完善,能够面对日益复杂的被控对象。智能控制作为21世纪最热门的高级控制技术,具有传统PID控制所不具备的优势,将两者结合在一起的智能PID控制更是受到各界研究人员的追捧。它的控制系统达到稳定时几乎没有波动,且稳态误差小,同时又具有响应迅速、调节时间短且超调量较小等良好的动态性能。同时,它还具备智能控制自学习、自适应的能力,其控制效果是目前最为理想的。近几年来,智能PID控制中发展较好的几种算法有:模糊PID控制、基于神经网络的PID控制、专家PID控制记忆基于遗传算法的PID控制等[6]。以下对这些算法做一个简单综述。模糊PID控制美国控制领域北斗L.A.Zadeh作为模糊数学的鼻祖,在1965年创立模糊集合理论。这一理论一出世便引起了科研人员的广泛关注,是模糊数学在各领域得到应用的基石[1]。随后英国的Mamdani在1974年首次设计出模糊控制器,并在实验室中成功实现对锅炉的控制。自此以后,模糊控制发展起来,日益成熟,成为重要控制技术之一。它与PID控制结合后形成的模糊PID控制器,在工业中得到简单应用,生活中常见的电器如电冰箱、洗衣机等都有它的身影。模糊控制与PID控制结合主要有两种方法。①模糊自整定PID控制:采用“二输入三输出”的控制结构,输入误差和误差变化率,经过模糊控制器后得到PID参数修正量∆Kp、∆KI、∆K基于神经网络的PID控制神经网络是现代化信息处理常用方法之一。它以数学模型为基础,模拟人类大脑神经细胞结构及行为特征,对信息进行分布式并行处理,具有非线性、非局限性、非常定性等特征[9]。神经网络最早的数学模型是心理学家McCulloch和数理逻辑学家Pitts在1943年建立的MP模型。随后,神经网络进入大众的视野,一直在不断发展着,目前应用最广泛的模型是BP神经网络。和其它智能控制一样,神经网络的基本能力之一就是自学习,这种能力让它能够通过训练达到联想记忆的目的,因此神经网络具有很好的抗干扰能力。基于神经网络的PID控制利用神经网络控制对传统PID控制进行改进和优化,通过反向传播学习算法,在线学习训练,可以找到最优控制规律下的PID参数,实现参数自整定。专家PID控制专家控制是一种知识体系庞大的智能计算机程序,包含某领域专家的知识、经验、规则,通过计算机语言表达,利用专家经验来解决一些专业性问题,并进行决策[14]。专家PID控制是利用专家知识库(比如受控对象和控制规律的知识等)输出,对PID参数进行优化修正,实现最佳控制效果。专家PID控制集专家控制和传统PID控制二者的优势于一身,效仿人类操作经验,对于没有精确数学模型的被控对象,也可直接利用专家知识库来调节控制,即使面对复杂的非线性、时变性的被控对象,也能实现高精度的控制效果。基于遗传算法的PID控制遗传算法的实质是一种搜索算法。它以自然界适者生存规则和达尔文的遗传理论为基础,在搜索过程中获取和积累搜索空间的信息,并自适应地控制搜索过程,从而找到最优解和通用最优解搜索算法。基于遗传算法的PID控制不需要PID控制器的某些初始参数,只需要熟练工人给出一个PID初始参数的取值范围,然后遗传算法积累关于PID参数的先验信息,就可以得到该范围内的最优初始值,即PID控制器中的最优初始值。遗传算法在多个点并行工作,在值空间高效搜索,克服了单独设置每个参数值和搜索的盲目性,从而加快了搜索速度,避免了陷入局部最优值。然后优化后的PID控制器实现对受控对象的精准控制。基于遗传算法的PID控制器避免了由于PID参数初始值选择不当而导致控制效果不佳的情况,控制方法更加智能。总之,以上几种智能PID控制能够适应现代化工业中不能精确建模的被控对象,弥补了传统PID控制在这一方面的空缺。当然,对智能控制与传统PID控制结合方式的研究绝不止步于此,未来会出现更多多元控制方式相结合的控制技术。本文主要研究模糊自整定PID控制,并将其应用在锅炉温度控制系统中。1.3论文结构安排本文以单片机为载体,实现模糊自整定PID控制器的设计,并将其应用在锅炉温度控制系统中,利用MATLAB进行仿真验证。设计包括硬件设计、软件设计以及模糊自整定PID控制算法在锅炉温度控制系统中应用的Simulink仿真。论文结构安排如下:第1章简单叙述了课题研究背景及意义、国内外研究现状(主要是对先进控制思想的简单总结)以及论文结构安排。第2章深入研究了传统PID控制、模糊控制理论以及将两者结合的模糊PID控制。第3章是设计的硬件部分,包括对主控模块的选择和外围电路(按键、显示、电源以及数据转换电路)的设计。第4章是软件设计部分,介绍了仿真需要的两个软件平台、各模块的程序思路。第5章利用Simulink对算法进行仿真验证。第6章是对全文的一个总结及对模糊PID控制未来的展望。

第2章模糊PID控制的原理介绍2.1传统PID控制传统PID控制有两种算法,一是模拟PID控制算法,二是数字PID控制算法。以下对两种算法做一个简单介绍。2.1.1模拟PID控制算法PID控制原理简单来说,就是利用系统的偏差经过一个特定的环节后形成的控制量对被控对象进行控制,这个特定环节是由比例、积分、微分环节并联构成的。PID三个参数的选择非常关键,因为它们将决定整个过程是振荡的、稳定的还是不稳定的。为了得到一个稳定的过程,任何比例系数、积分系数和微分系数的组合都是有可能的,但只有唯一的组合能够产生一个最佳调谐过程的响应曲线。模拟PID控制框图如图2.1所示。图2.1模拟PID控制框图其数学描述如下: ut=Kp式中,e(t)=r(t)-y(t),即偏差e(t)为给定值r(t)与系统实际输出值y(t)的差值;Kp为比例系数:偏差输入信号与调整动作成正比,一旦系统产生偏差,比例环节立刻做出控制动作,使控制量往减小误差的方向发展。Kp越大,系统响应越迅速,调节时间越短,稳态误差也会相对减少,但是超调量、过渡过程中的振荡幅度都会增大,系统稳定性降低。TI为积分时间常数:积分环节的主要作用就是消除系统的稳态误差,使系统具有良好的稳态性能,提高控制精度,但积分效应慢,可能给系统动态稳定性带来不良影响,所以很少单独使用。积分时间常数TI的大小决定积分作用的强弱,二者成反比关系:积分时间常数增加,积分控制作用减弱,系统稳定性得到提升,但消除误差的速度减慢。TD为微分时间常数:微分环节能够改善系统响应的动态性能,缩短系统调节时间,减少超调量。微分控制可以根据偏差的变化趋势做出预判,提前做出控制动作以阻止偏差变大,从而获得较短的调节时间和较小的超调量,动态性能提高,但是抑制高频干扰能力降低,微分时间常数过大,系统输出可能出现较高的频率振荡。为了获得最佳响应曲线,即超调量小、调节时间短且稳态误差小的响应曲线,PID的三个参数往往需要根据系统实际输出响应曲线在线调节。2.1.2数字PID控制算法随着计算机技术的普及与发展,现代化的数字PID控制算法逐渐取代了模拟PID控制算法。数字PID控制算法是对模拟PID离散采样后进行数值逼近,再通过计算机编程实现的,这样使得PID控制更加灵活。位置式PID控制算法和增量式PID控制算法是实际生产过程中常用的数字PID控制算法,两者原理是一样的,但在数字采样后的处理上存在一定差异,以下对其做简单介绍。位置式PID控制算法计算机控制系统只能处理离散化的数字信号,因此数字PID控制算法就是模拟PID控制算法的离散形式,它们的原理是一致的。对模拟PID控制算法进行离散化处理:用一系列采样时间点kT取代连续时间t;采样周期与采样时刻的偏差值的和式代替积分;当前采样时刻与上一采样时刻的偏差值做差,再与采样周期相除,取代微分,即 t=kT0tet上式中,T为采样周期,k为采样序号(k=0,1,2···),e(k)为采样时刻k的偏差值。代入式(2.1)中即可得到离散表达式如下: uk=Kp其中,u(k)是采样时刻k的输出值;KI为积分系数,;KD为微分系数,;增量式PID控制算法与位置式PID控制算法不同,增量式PID控制算法的输出为增量,即当前采样时刻输出值与前一采样时刻输出值的差值。由式(2.3)可推理得k-1时刻的系统输出值: uk-1增量式PID控制算法表达式如下: ∆uk=由表达式可看出,计算∆uk2.2模糊控制2.2.1模糊控制基本原理自模糊集合理论问世以后,模糊数学逐渐进入人们的视野,发展至今已成为科研界举足轻重的学科,在各个领域得到广泛应用,比如将模糊数学应用在智能控制中,形成模糊控制。以模糊数学理论为基础,模糊控制将人类语言描述的经验方法转化成计算机语言描述,再对受控对象进行控制[18]。模糊控制的实质就是用计算机语言去模拟人们处理模糊事物的思想方法和手段,产出能被计算机理解的控制决策,从而达到精准的控制效果。因此,模糊控制在非线性、时变不确定性等复杂无法建立精确数学模型的控制场合中得到广泛应用。其基本原理框图如图2.2所示。图2.2模糊控制系统基本原理框图图2.2中传感器用来采集输出量,输出量与给定值的差值即为偏差,该差值作为系统输入之一送入A/D转换器,另一输入量为偏差的变化率,二者经A/D转换器转换后由连续量转换成数字量(确切量)。模糊控制器对该数字量进行一系列操作处理后输出给D/A转换器,再次得到的精确量送入执行机构,输出系统控制量,实现对受控对象的控制。2.2.2模糊控制器模糊控制器是模糊控制系统的核心,整个控制系统就是按照模糊控制器中的模糊规则对被控对象进行控制的。模糊控制器首先对输入的偏差和偏差变化率进行模糊化处理,得到二者的模糊量,结合模糊控制规则进行模糊推理,计算控制量(该控制量为模糊量),最后通过解模糊化处理得到控制量的精确值,完成整个工作过程。其内部结构如图2.3所示。图2.3模糊控制器结构图模糊化处理所谓模糊化就是将精确量处理变成模糊量的过程,主要包括量化比例因子及隶属函数的确定。首先要确定输入量的论域,精确数值的变化范围称为基本论域,模糊语言变量的变化范围则称为模糊集论域。输入量确定以后,对其进行尺度变换,使之落入各自的论域范围,并对模糊量的论域划分等级。本文选择七个模糊语言变量,即E=EC=U=NB,然后需要确定输入输出的隶属函数,它是表征模糊集合的数学工具,描述了确切量对模糊量的隶属关系。隶属函数分为离散型和连续型两大类,二者各自有各自的优势。离散型用有序数描述,简洁直观;连续型用函数描述,更为准确。隶属函数一般根据函数的曲线来分类,常见的有三角形、梯形和钟形。本设计中模糊控制器的两个输入量采用高斯函数和三角形隶属函数混合,在正负边界采用高斯函数,中间部分则采用三角形;三个输出量均采用三角形隶属函数。最后根据隶属度(输入量归类为模糊量的概率)将输入量映射为模糊子集合,完成模糊化过程。将输入输出量的模糊论域均设置为[-3,3],用模糊逻辑工具箱画出E、EC、U的隶属函数曲线如下。图2.4偏差E的隶属函数图2.5偏差变化量EC的隶属函数图2.6输出量U(∆Kp、∆KI模糊推理模糊推理是根据数据库和规则库提供的信息,运用模糊逻辑推断出应施加在被控对象上的控制量,此时的控制量仍为一个模糊量。数据库存储着一切相关知识,主要包括隶属函数、模糊空间的分割数及模糊推理算法等。规则库则是基于专家知识和经验建立的。模糊控制规则的基本原则是:偏差较大时,控制量的选择以消除偏出为主;偏差较小时,控制量的选择要将重点放在防止超调量过大上,尽可能使系统保持稳定。模糊推理按模糊规则处理方式的不同可分为综合法和并行法。综合法是先对模糊规则综合处理,再进行模糊推理。而并行法是对每条规则推理出的结果进行综合处理。显而易见,并行法占用的计算机内存要多于综合法,但它也具有较大的优势。并行法每条规则所起的作用都很清楚,而且规则修改起来更方便。本文采用MATLAB模糊逻辑工具箱中的Mamdani型就属于并行法,即“IF...THEN”语句。解模糊化处理模糊子集合通过模糊推理得到模糊输出量子集,而控制被控对象的输出量要求是精确的,因此需要通过解模糊化处理将模糊输出量子集转换为确切的控制量,进而实现对被控对象的控制。解模糊化的方法有很多,比如重心法(也称面积中心法、加权平均法)、最大隶属度法等。最大隶属度法虽然简单方便,但不能反映次要信息,具有较大的误差。相比之下重心法更为准确,尽管计算量较大,但由计算机运算,整个过程也比较简单。本文采用重心法进行解模糊化处理,即选择将隶属函数与横轴围成的面积的重心作为精确量的输出,其值为u=i=12.3模糊PID控制模糊PID控制是模糊控制与PID控制结合形成的,具有两者的优势,能够产生更理想的控制效果。模糊PID控制器主要有两种形式,一种是模糊自整定PID控制器,一种是Fuzzy-PID控制器。Fuzzy-PID控制器是模糊控制与PID控制的简单复合,在不同情形下选择其中之一进行控制,当情形发生变化时切换到另一种控制。本文主要研究模糊自整定PID控制器,利用模糊控制来实现PID参数的在线自整定,达到精确的控制效果。模糊自整定PID控制器以偏差e和偏差变化率ec作为输入量,根据专家知识和经验建立PID三个参数与e和ec的模糊规则,这里需要选择合适的参数值,包括PID三个参数的初始值、评价指标等。然后由模糊控制按照该规则进行模糊推理,经过解模糊化处理后得到PID控制器三个参数的变化量∆Kp、∆KI、∆KD。最后将PID参数初始值Kp0、KI0、KKp模糊自整定PID控制器结构如图2.7所示。图2.7模糊自整PID控制器结构框图2.4本章小结本章研究了传统PID控制、模糊控制以及模糊自整定PID控制的基本原理,传统PID控制部分包括模拟PID和数字PID控制;模糊控制部分主要是对模糊控制器结构的介绍,包括模糊化、模糊推理及解模糊化三大板块;最后将二者复合成模糊自整定PID控制,简单介绍了其控制过程及结构。

第3章硬件设计3.1系统结构本设计以单片机为载体,采用模糊自整定PID控制算法,分模块进行设计和调试,实现对锅炉温度的精确控制。基本框图如图3.1。图3.1基本框图首先,数字温度传感器DA18B20对锅炉温度进行采样输入,然后将结果与给定值进行加法算法得到系统偏差,经过模糊自整定PID控制算法计算后,得到确切的控制量,最后将控制量经D/A转换后输出,实现对锅炉温度的控制。温度的测量值与给定值均在LCD液晶屏上显示,可通过按键电路对给定值进行设置。3.2主控模块高速低耗、可靠性强、功能完善且价位低廉等性能特点,是单片机受到大众喜爱,占领市场迅速普及的必要条件。本设计中采用了高性价比的8位RISC单片机ATmega128。RISC即精简指令系统计算机,是通过更为简单合理的计算机结构来提高运算速度的,并不是简单的减少指令而已。因ATmega128使用哈弗结构,具有先进的指令集,并以字作为指令长度单位,它的数据吞吐率非常高,可达1MIPS/MHz,是其它单片机的10倍。因此,系统既可以高速处理指令,又具有低功耗的特点。ATmega128功能强大,具有丰富的外围接口,内部集成了16KB的可编程Flash,完全满足本设计对数据处理的要求。其基本电路设计如图3.2所示。ATmega128具有六种省电模式,各种模式的工作特点如下表3.1所示。表3.1ATmega128六种省电模式及其特点模式工作特点IDLE空闲模式CPU不工作,其他运行子系统仍保持工作状态掉电模式除了中断和硬件复位之外,其他所有功能都停止工作,寄存器内容一直保存省电模式异步定时器继续运行,以维持时间基准,芯片的其他部分处于睡眠状态ADC噪声抑制模式CPU和全部的I/O模块停止工作,ADC和异步定时器继续运行待机模式除振荡器工作外其他部分均睡眠,这就使芯片具有快速启动的能力,同时又只消耗极少的电流扩展待机模式只有异步定时器与振荡器保持工作状态图3.2ATmega128基本电路设计3.3电路设计3.3.1电源电路ATmega128工作电压在4.5-5.5V之间,而家用电为220V交流电,采用稳压芯片7805来进行电源电压的转换。7805是常用的稳压芯片之一,内部具有过压、过流、过热保护功能,输出电压稳定。220V电源电压经桥式整流滤波后送入7805稳压,输出端接一个电容进一步滤除纹波。电源电路设计如图3.3所示。图3.3电压转换电路3.3.2显示电路本设计采用LCD1602液晶显示器来显示温度的测量值和给定值,如图3.4所示。液晶是一种介于固体和液体之间的物质,可以改变光线的传播方向,液晶显示器正是利用这一特性而制成的。LCD1602是一种点阵型液晶显示器,可以显示数字、符号等字符,其内部由驱动模块、显示器、控制器、RAM和ROM等存储模块组成。LCD1602液晶显示器具有清晰度高、没有明显的闪烁感、接口简单方便、体积小且功耗低等特点,因此被广泛应用在各种场合。LCD的八位双向数据线由单片机的PA口控制;RS寄存器选择由PB0口控制,高电平选择数据寄存器,低电平则选择指令寄存器;RW读写信号线由PB1口控制,高电平进行读操作,低电平进行写操作;EN使能端由PB2口控制,低电平有效。图3.4显示电路3.3.3按键电路本设计设置了四个功能按键,分别是温度设定键、加键、减键及移位键。由于按键个数不多,故采取独立按键结构。按下温度设定键,进入温度给定值的设置;按下加、减键,数值加1或减1;按下移位键,右移调整数值。按键电路如图3.5所示。图3.5按键电路3.3.4AD和DA转换电路本设计的数据采集部分通过温度传感器DS18B20来实现,采用TLC5615作为DA转换芯片。DS18B20DS18B20是常用的温度传感器,它输出的是数字信号。DS18B20接线简单方便,只需要一条IO口线即可实现与单片机的双向通讯。其测温范围是-55℃~125℃,固有误差1℃,抗干扰能力强,精度较高,可应用在多种非极限测温场合,如锅炉测温、机房测温、弹药库测温等。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。电路图如图4.5所示。图3.6DS18B20温度采集电路TLC5615TLC5615是一款10位分辨率串行D/A转换芯片,通过SCLK、DIN、CS三根串行总线就能够完成与单片机的数据传输,其引脚功能如表3.2所示。CS为低电平时,在SCLK的上升沿将数据送入移位寄存器,传输结束后将CS至于高电平,关闭数据输入,等下一个SCLK上升沿到来时,TLC5615再将移位寄存器中的数据进行DA转换输出,至此DA转换就完成了。表3.2TLC5615引脚功能表引脚功能SCLK串行时钟输入CS片选信号引脚,低电平有效DIN串行数据输入DOUT级联的串行数据输出OUT模数转换后电压输出REFIN基准电压输入DA转换电路如图3.7所示。图3.7DA转换电路3.4本章小结本章是模糊自整定PID控制器的硬件设计部分,包括器件的选型及电路的设计。电路的主控模块选择性价比高的ATmega128单片机;温度采集电路选用数字温度传感器DS18B20,可以直接输出数字量进行显示;显示电路选择LCD1602液晶屏进行显示;按键电路采用独立按键结构,设置了四个功能按键;DA转换选用TLC5615芯片。

第4章软件设计4.1软件介绍本设计利用ICCAVR和Proteus软件平台进行软硬件仿真。ICCAVR是开发AVR系列单片机程序的第三方C编译器之一,可以直接产生INTELHEX格式文件,这种格式文件可被大多数编程器支持。ICCAVR本质上是一个集成工作环境(IDE),综合了编辑器及工程管理器。在ICCAVR中,源文件全部被组织到工程之中,编译后会有错误提示[24]。Proteus是一款EDA工具软件,它将PCB画图软件、电路仿真软件和虚拟仪器仿真软件有机结合,可以实现产品从概念到模型的完整设计。Proteus与Multisim有几分类似,也具备数模电、电路设计与仿真等诸多功能,这是其他EDA工具软件所没有的,同时它还可以仿真MCU。另外,Proteus还具备多种虚拟仪器,如示波器、SPI调试器等,可与第三方编译环境(包括ICCAVR、Keil等常用的编译器)。Proteus是全球公认的强大仿真软件,初学者可以通过Proteus软件仿真更加具体形象地学习,在实物操作时思路会更加清晰。4.2主程序流程图主程序流程如图4.1所示。图4.1主程序流程图本文是分模块进行设计、调试的,程序部分包括显示、按键、数据转换以及算法模块。首先系统对DS18B20采集到的温度进行显示,扫描按键,判断是否有键按下,比较测量值和给定值,若二者一致,则返回继续采集,否则进行模糊自整定PID算法计算调节。4.3各模块程序4.3.1显示子程序显示电路选用LCD1602液晶屏。LCD1602基本操作时序如表4.1所示,每进行一次读写操作都需要进行延时读写检测。显示程序流程如图4.2所示。表4.1LCD基本操作时序操作输入输出读状态RS=L,R/W=H,E=HD0-D7=状态字写指令RS=L,R/W=L,D0-D7=指令码,E=高脉冲无读数据RS=H,R/W=H,E=HD0-D7=数据写数据RS=H,R/W=L,D0-D7=数据,E=高脉冲无图4.2显示程序流程图4.3.2按键子程序ATmega128单片机与按键电路通过中断的方式连接,当有按键按下时会产生按键中断,此时单片机调用按键处理程序,这样就不需要时刻查询PD0-PD3端口了,节省了大量资源。低电平代表有按键按下,可根据这一原则进行程序设计。由于按键是机械触点,在按下时会出现电压抖动的状况。为保证正确识别按键,需要增加消抖处理,即检测到低电平后等待十秒再次确定端口是否仍为低电平,是则确定按键按下。确定按键的键值后调用相应的调节函数,完成按键操作。流程图如图4.3所示。图4.3按键扫描程序流程图4.3.3AD和DA转换子程序本文中AD采集部分通过数字温度传感器DS18B20来实现,它与单片机的通信是单线连接的,因此单片机控制DS18B20完成温度转换读写时序非常重要,必须按协议进行。协议主要包括三个步骤:首先对DS18B20进行复位,复位后发送一条ROM指令,最后发送RAM指令。流程图如图4.4所示。DA转换是由模数转换芯片TLC5615来完成的,程序设计时主要芯片与单片机的引脚连接即可。图4.4AD转换流程图4.3.4模糊自整定PID算法子程序模糊自整定PID控制器具体设计步骤如下:确定适当的PID参数初始值Kp0、KI0、KD0;确定模糊控制器的输入输出量及隶属函数;确定模糊控制规则,根据规则进行模糊推理得到模糊输出量子集;对模糊输出量子集解模糊化处理得到确切的输出量;PID参数调整。其算法流程图如图4.5所示。图4.5模糊自整定PID控制器的算法流程图4.4本章小结本章是模糊自整定PID控制器的软件设计,包括整体设计流程图及各模块程序(显示子程序、按键子程序、温度采集子程序、数模转换子程序及模糊自整定PID算法子程序)流程图,即编程时的思路。

第5章模糊自整定PID控制器的仿真实现5.1锅炉温度的数学模型锅炉温度控制是非线性的,滞后性较大,本文选取模糊自整定PID控制算法对其进行控制,可以达到较为理想的控制效果。根据以往的控制经验可知,以下的二阶函数与锅炉温度的数学模型最为贴合:Gs其中,取ε=1.061为阻尼比,wnGs假设水温的初始温度是0℃,需要将其加热至50℃,并保持在这个温度。利用MATLAB对三种控制器进行仿真对比,设置阶跃信号的幅度为50,仿真时长定为60s,观察系统输出波形,对比三者的控制效果。5.2MATLAB仿真软件概述Matlab是一种数学软件,在数值计算方面处于行业领先地位。随着各种类型建模的兴起,学科渗透的强度和频率逐渐加深和加快,Matlab逐渐进入了更多人的视野。Matlab作为一种基于数组矩阵的程序设计语言,其编程思路和表达方式完全迎合人们日常计算习惯,所以利用Matlab进行不论多么复杂的数学运算,都像在草稿纸上计算一样简单快捷。同时,基于Matlab的易学易用性,学者根本不需要高深的数学知识和优秀的编程能力,就可以完成高可靠性、高水平的程序设计。在本次设计中,控制器仿真应用时使用到了Matlab的Simulink环境以及模糊逻辑工具箱(FuzzyLogicToolbox)。在Simulink环境中,用户可以对研究对象进行建模、仿真,“画”出模型后通过不断改变各模块参数以获得最佳性能的系统。其建模步骤共有五个部分,分别为:一是打开软件,生成一个空白编辑窗口;二是画出系统模块;三是修改各个模块参数;四是连线;最后指定输入、输出源模块。模糊逻辑工具箱是本设计中使用的一个关键工具,它必须在Matlab环境中运行,通过指定语句可以输出独立的模糊控制器,能够在Simulink环境中仿真实现。用户在模糊逻辑工具箱中可以自行设置输入输出量的隶属函数以及模糊控制规则,形成自己的模糊控制器。5.3常规PID控制器PID控制器仿真结构如图5.1所示。PID控制器性能的好坏取决于其参数整定的优劣,通过仿真模型的搭建及参数的设置来分析传统PID控制性能。常规PID控制器仿真时需要确定PID参数初始值,这里使用ZN整定法。首先将积分时间常数TI设置为∞,微分时间常数设置为0,逐步调节比例系数Kp,使控制系统产生等幅振荡,获取临界增益Kc和临界周期Tc,再根据表5.1计算出PID参数。产生等幅振荡时,Kc=Kp=2.275,Tc=4.214,根据ZN整定公式计算得到Kp=1.3,KI=0.6,KD=0.85。图5.1PID控制器系统结构设置采样周期为1s,仿真时间为60s。系统输出的波形曲线如图5.2所示。图5.2常规PID控制器仿真结果表5.1ZN参数整定经验公式控制器KpTITDKIKDP0.5KcPI0.45Kc0.85TcKp/TIPD0.8Kc0.12TcKp*TDPID0.6Kc0.5Tc0.12TcKp/TIKp*TD5.4模糊控制器模糊控制器Simulink仿真结构图如图5.3所示。图5.3模糊控制器仿真结构图将偏差e、偏差变化量ec及输出量u(∆Kp、∆KI、表5.2E、EC与U的模糊规则表U EECNBNMNSZOPSPMPBNBNSNSNMPMNMPSPBNMNBNBNMPSPBPMPBNSNBZOZOPSPSPSPBZONBPSNSZOPSPSPMPSNMNMNSNSPSPSPSPMNMNSNSNSPSZOPSPBNSNSPSNMNMPMPB图5.4模糊控制系统仿真结果图5.5模糊自整定PID控制器模糊自整定PID控制器是模糊控制与传统PID控制的复合控制,它利用模糊控制实现对PID参数的在线自整定。其Simulink仿真结构如图5.5所示。图5.5模糊自整定PID控制器仿真结构图输入输出量的模糊论域均设置为[-3,3]。模糊自整定PID控制器是二输入、三输出的结构,根据专家及操作人员以往在锅炉温度控制场合的经验:温差较大时,温度要以较快速率上升,应使Kp较大,KD较小,KI适中;温差中等时,要注意系统的超调,Kp应取小些,KD、KI适中;温差较小时,为使系统稳态性能更好,三个参数都应取大些;同时当温差变化较大时KD要小些,反之则取大些,这样即可避免系统在设定值附近出现振荡,系统的抗干扰能力也有提升。建立模糊控制规则如下各表所示。表5.3∆Kp∆Kp ECNBNMNSZOPSPMPBNBPBPBPMPMPSZOZONMPBPBPMPSPSZONSNSPMPBPMPSZONSNSZOPMPMPSZONSNMNMPSPSPSZONSNSNMNMPMPSZONSNSNMNMNBPBZOZONSNMNMNBNB表5.4∆KI∆KIECNBNMNSZOPSPMPBNBNBNBNMNMNSZOZONMNBNBNMNSNSZOZONSNBNMNSNSZOPSPSZOPMNMNSZOPSPMPMPSNMNSZOPSPSPMPBPMNSZOPSPSPMPMPBPBZOZOPSPMPMPBPB表5.5∆KD∆KDECNBNMNSZOPSPMPBNBPSNSNBNBNBNMPSNMPSNSNBNMNMNSZONSZONSNMNMNSNSZOZOZONSNSNSNSNSZOPSZOZOZOZOZOZOZOPMPBNSPSPSPSPSPBPBPBPMPMPMPSPSPB在MATLAB上进行仿真,可以观察到更为直观的模糊控制规则视图,如图5.6所示。(a)KP模糊规则视图(b)KI模糊规则视图(c)KD模糊规则视图图5.6模糊规则视图表模糊控制规则确定以后,模糊控制器根据该规则进行模糊推理,得到PID参数的修正值(模糊量),完成参数的自整定过程。其仿真结果如图5.7所示。图5.7模糊自整定PID控制器仿真结果5.6仿真结果对比分析观察图5.2、5.4、5.7系统输出曲线,对比分析三种控制器的性能。常规PID控制器在第5秒时,系统输出达到了55℃左右,超调量接近10%,系统在16s左右才达到稳定状态,稳定后温度保持在50℃。模糊控制器在11s左右进入稳定状态,系统最终稳定在30℃,超调量为6%左右。模糊自整定PID控制器超调量几乎为零,在10s左右就进入了稳定状态,且稳态时锅炉温度保持在50℃左右。由以上数据及系统输出曲线对比可知:常规PID控制器稳态误差小,但超调量大、调节时间长;模糊控制器超调量较小、调节时间短,但稳态误差大,与前者控制效果恰恰相反;由前面两种控制器结合而成的模糊自整定PID控制器兼具二者优势,避免了各自的局限性,其控制效果是三者中最好的,能够实现对锅炉温度精准的控制,满足控制要求。5.7本章小结本章以锅炉温度为被控对象,通过Simulink对三种控制器分别进行仿真,并对三种控制系统的仿真结果进行对比分析。由以上仿真可知,在面对像锅炉温度这种非线性、时滞不确定性的被控对象时,模糊自整定PID控制器是控制效果最为理想的。它结合了PID控制和模糊控制两者的优势,稳态误差小,调节时间短,超调量小,动态性能好。

第6章总结与展望6.1总结PID控制自问世一来就备受瞩目,它的参数整定问题是人们一直都在关注的。随着计算机技术、人工智能技术等高新技术的飞速发展,PID参数整定的方法也在迭代更新,目前的主流是将智能控制与PID控制相结合形成智能PID控制。智能PID控制在常规PID控制的基础上进行优化和改进,使其具备智能控制的自学习等高级能力,从而能够在线自整定PID参数,使系统输出的控制量更为精准,实现对受控对象的高精度控制,达到人们理想的控制效果。本文选取了其中一个重要分支——模糊自整定PID控制进行研究,完成了模糊自整定PID控制器的软硬件设计,并通过Matlab软件对算法进行仿真实现。论文完成的工作主要有以下几个方面:1)在查阅了大量文献的基础上,较为详细地论述了模糊自整定PID控制的研究背景和意义,并对PID参数自整定方法的发展现状进行了简单论述,重点是对几类热门的智能PID控制思想的简单总结,包括基于神经网络的PID控制、模糊PID控制、基于遗传算法的PID控制以及专家PID控制。2)利用单片机为载体,对模糊自整定PID控制器进行了软硬件设计。选择ATmega128单片机作为主控模块,采用模块化思想对各个外围电路进行设计调试。在整个设计过程中,利用网络查找相关资料,不断地对设计进行改进,试图找到最优方案。3)对传统PID控制、模糊控制以及模糊自整定PID控制的原理进行了简单研究,并将三种控制算法应用在锅炉温度控制系统中,在Matlab软件中对其进行仿真实现。通过对仿真结果的对比分析得出结论:传统PID控制器结构简单,稳态误差小,但是超调量大,调节时间长,模糊控制器的控制效果正好与之相反;模糊自整定PID控制器则将两者的优势结合起来,避免了各自的局限性,控制效果是三种算法中最好的。6.2展望由于时间和水平等客观因素,本设计还存在诸多不足,有待于进一步完善。1)本文只研究了模糊自整定PID控制这一种智能算法,只体现出它对于传统PID控制及纯模糊控制的优势,没有和其它智能PID控制算法如基于神经网络的PID控制算法等进行比较,无法体现出它在当下的智能算法中的优势。2)在设计软硬件部分时,由于水平有限,选取的方案可能还存在较大的问题,硬件的选择可能不够恰当,程序的编写可能过于繁琐,整体设计只能实现基本的功能。要想在实际中得到应用,还需要较大的改进。总之,智能PID控制是当下研究的热门之一,各种方法不断碰撞,产生思想的火花。目前智能PID控制已经不再局限于二元结合,正在往多元复合控制的方向发展。相信模糊自整定PID控制算法也会不断结合其它控制算法的优势,实现更精确更为理想的控制效果。相信人们对于控制算法的研究不再仅限于理论,能够在更多的实际生产过程中投入应用。

参考文献[1]顾俊,张宇.模糊控制的应用现状与发展趋势[J].化工自动化及仪表,2017,44(09):811-812+902.[2]邵世芬,张开生,张鲁子.智能控制的最新应用及现状的研究[J].青岛大学学报(自然科学版),2018,31(04):110-115.[3]陈龙,吴斌方,张耀,冯晨伟.基于模糊PID控制的步进驱动系统研究[J].组合机床与自动化加工技术,2020(03):99-102.[4]张翠.基于模糊PID的鸡舍智能温度控制系统设计[J].现代农业研究,2020,26(02):70-73.[5]陈文静.基于模糊PID控制的过程控制实验系统的研究[J].电子世界,2020(06):193-194.[6]樊大勇.PID控制方法的研究现状及应用展望[J].数字通信世界,2019(01):129-130.[7]李尚昆.智能PID控制算法在商场中央空调中的应用分析[J].中国新通信,2019,21(05):148-149.[8]刘鑫,张斌,杨来宝,余现飞.灰色预测模糊自适应PID控制的城轨列车智能驾驶系统研究[J].测控技术,2020,39(03):109-113.[9]徐杭东,麦云飞.基于神经网络的液压材料试验机系统自适应PID控制研究[J].机电工程,2018,35(04):375-379.[10]宋锋.一种PID自整定方法研究[C].中共沈阳市委、沈阳市人民政府、国际生产工程院、中国机械工程学会.第十六届沈阳科学学术年会论文集(理工农医).中共沈阳市委、沈阳市人民政府、国际生产工程院、中国机械工程学会:沈阳市科学技术协会,2019:815-820.[11]任俊杰,高佳.基于PLC的BP神经网络PID控制算法实现[J].智慧工厂,2016(04):38-40+66.[12]王欣峰,任淑萍.基于模糊PID的AVR单片机智能温度控制系统设计[J].现代电子技术,2018,041(015):179-182,186.[13]刘亚洲,齐言强,张志毅.基于遗传算法的PID控制参数研究分析[J].新技术新工艺,2018(03):18-21.[14]李雪,刘燕,朱二光,马欣.智能温度模糊控制PID系统设计[J].信息记录材料,2018,19(11):118-120.[15]闫冠宇,邓淇文.专家PID吊车防摆定位控制系统[J].电子测试,2018(23):16-17+15.[16]赵静,王敏.基于PLC锅炉专家PID智能控制的研究[J].工业炉,2018,40(05):59-61.[17]樊大勇.PID控制方法的研究现状及应用展望[J].数字通信世界,2019(01):129-130.[18]孙江,孟朝霞,张晓荣.基于模糊PID的加热炉温度控制系统[J].运城学院学报,2018,36(06):45-47.[19]魏文雄,王晶晶,许洪玮,蒋济友.温度模糊控制及参数调整[J].自动化与仪器仪表,2015(07):4-6.164.[20]薛荣辉.智能控制理论及应用综述[J].现代信息科技,2019,3(22):176-178.[21]付立华,庞展翔,王建斌,刘璐瑶.基于Fuzzy-PID和GPRS的温室大棚远程监控系统设计[J].河南工程学院学报(自然科学版),2017,29(04):58-61.[22]张立众,马永翔.基于Matlab的电阻炉温度模糊控制系统设计及仿真[J].哈尔滨商业大学学报(自然科学版),2017,33(06):720-722.[23]张志军,曹秀爽.模糊PID在液位控制系统中的应用研究[J].电子世界,2020(07):130-132+136.[24]谢兵.ICCAVR和Protues在单片机教学中的应用[J].科技信息,2010(25):568+486.[25]寇为刚,贺国庆.Proteus仿真软件在单片机教学中的合理应用[J].发展,2019(12):106-107.

附录显示子程序voidlcddisplay(inttemp){ uinttab[]={0,0,0,-2,0,0}; lcdwritecom(0x80); lcdwritedata('+'); tab[0]=temp/10000; tab[1]=temp%10000/1000; tab[2]=temp%1000/100; tab[4]=temp%100/10; tab[5]=temp%10; lcdwritecom(0x81); for(num=0;num<6;num++) { lcdwritedata('0'+tab[num]); }}按键子程序ucharKeypress(void)///判断是否有按键按下,有则返回1,无则返回0{uchark;k=PIND;k=k&0xFF;if(k==0xFF)return0;elsereturn1;}ucharKeyscan(void)//键盘扫描{ucharkey;delay(10);//延时消抖if(Keypress())//若有按键按下,判断按键并返回相应键值{key=PIND;key=key&0xFF;switch(key){case0xFE:key=1;//设定键break;case0xFD:key=2;//加键break;case0xFB:key=3;//减键break;case0xF7:key=4;//移位键break;default:break;}while(Keypress());//判断按键是否释放delay(10);//延时消抖}returnkey;//返回按键值}AD转换子程序uintDS18B20_ReadTemperature()//单片机读取DS18b20当前温度{ucharL=0;ucharH=0;DS18B20Init();DS18B20_WriteOneByte(0xcc);DS18B20_WriteOneByte(0x44);DS18B20_Delay(100);DS18B20Init();DS18B20_WriteOneByte(0xcc);DS18B20_WriteOneByte(0xbe);DS18B20_Delay(100);L=DS18B20_ReadOneByte();H=DS18B20_ReadOneByte();temperature=H;temperature=temperature<<8;temperature=temperature|L;if(temperature>0x0fff){temperature=~temperature+2;temperatureflag=1;}else{temperatureflag=0;}temperature=temperature*0.0625*10;returntemperature;}DA转换子程序voidDA(unsignedintdata)

{

unsignedinti;

unsignedcharh,l;

DDRG=0x07; SPCR=0X52; i=(data<<2)&0x0ffc; i=i|0xf000; h=i>>8; l=i%0x100; cs=0; SPDR=h; while(SPSR.7==0); SPDR=l; while(SPSR.7==0); cs=1; delay_us(50);}模糊自整定PID算法子程序voidPID_Calculate()//常规PID算法{Err=S_temp-P_temp;Sum_Err+=Err;D_Err=Err-Last_Err;Last_Err=Err;U=Kp*Err+Ki*Sum_Err+Kd*D_Err;U=(int)U;if(U>=0){if(U>=200)U=200;flag=1;}else{U=-U;if(U>=200)U=200;flag=0;}}floatfuzzy_kp(floate,floatec)//Kp的计算,Ki、Kd同Kp{floatKp_calcu;ucharnum,pe,pec;floatcodeeRule[7]={-3.0,-2.0,-1.0,0.0,1.0,2.0,3.0};floatcodeecRule[7]={-3.0,-2.0,-1.0,0.0,1.0,2.0,3.0};floateFuzzy[2]={0.0,0.0};floatecFuzzy[2]={0.0,0.0};floatcodekpRule[4]={0.0,8.0,16.0,24.0};floatKpFuzzy[4]={0.0,0.0,0.0,0.0};intcodeKpRule[7][7]={3,3,3,3,3,3,3,2,2,2,2,1,2,2,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,0,1,0,0,1,0,0,1,0,1,0,0,2,3,3,3,3,3,3,3};if(e<eRule[0])//误差E隶属函数描述{eFuzzy[0]=1.0;pe=0;}elseif(eRule[0]<=e&&e<eRule[1]){eFuzzy[0]=(eRule[1]-e)/(eRule[1]-eRule[0]);pe=0;}elseif(eRule[1]<=e&&e<eRule[2]){eFuzzy[0]=(eRule[2]-e)/(eRule[2]-eRule[1]);pe=1;}elseif(eRule[2]<=e&&e<eRule[3]){eFuzz

温馨提示

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

评论

0/150

提交评论