神经网络PID控制及Matlab仿真

合集下载

神经网络PID控制

神经网络PID控制
一十
NNI


x₁(k)=e(k)x₂(k)=△e(k)=e(k)-e(k-1)x₃(k)=△²e(k)=e(k)-2e (k-1)+e(k-2)e(k)=r(k)-y(k)NNC 的输出为:△u(k)=k₁x₁(k)+k₂x₂(k)+k₃x₃(k)式中,}i=1,2,3 为权系数,△u(k) 为输入信号的加权和。由此可见,NNC 具有增量D 控制的结构
i=1,2,…,Q-1
BP网络的输入层节点的输为
网络的隐含层输入、输为
·神经网络PID控制 20
o(k)=1
(13)
(14)
式中o 为输出层权系数 阈值,
网络的输出层的输入输出为
·神经网络PID控制 21
图二 神经网络PID控制系统结构图
·神经网络PID控制 17
二、方案二
被控对象
u

经典PID控制算式为u(k)=u(k-1)+Kp[e(k)-e(k-1)]+K,e(k)+K,[e(k)-2e(k-1) + e(k-2)1
7.由(20)式,计算修正输出层敝系数。(k);8.由(21)式,计算修正隐含层敝系数。)(k);9.置k=k+1, 返回到“3”,直到性能指标J 满足要求。
·神经网络PID控制 26
系数a(k)是慢时变的,a(k)=1.2(1-0.8e -01k),神经网络结构为4—5—3,输入层的个神经元分别为模型翰入r(k)、 输 出(k)、误 差(k)和常量。学习速率=0.25,动量系数=0.05,加权系数初始值取随[=0.50.5]上的随机数。当输入信号为幅值是的正弦信号(t)sin(2πt)时,取采样时间为.001s,仿真结果如图所示。·神经网络PID控制 27

神经网络PID控制器的设计与仿真

神经网络PID控制器的设计与仿真

*******大学毕业设计(论文) 题目神经网络PID控制器的设计与仿真院系专业班级学生姓名指导教师二○○八年六月神经网络PID控制器的设计与仿真摘要PID控制技术是一种应用很普遍的控制技术,目前在很多方面都有广泛的应用. 在工业控制中,PID控制是工业控制中最常用的方法。

这是因为PID控制器结构简单、实现简单,控制效果良好,已得到广泛应用。

据统计,在目前的控制系统中,PID控制占了绝大多数。

但是,他具有一定的局限性:当控制对象不同时,控制器的参数难以自动调整以适应外界环境的变化。

为了使控制器具有较好的自适应性,实现控制器参数的自动调整,可以采用神经网络控制的方法。

利用人工神经网络的自学习这一特性,并结合传统的PID控制理论,构造神经网络PID控制器,实现控制器参数的自动调整。

本论文讨论了基于神经网络的PID 控制,利用神经网络的自学习能力进行在线参数整定,并利用Matlab软件进行仿真。

通过仿真实现可以看出它具有自学习、自适应性等特点,网络的收敛速度快,能够对非线性对象有很好的控制,系统的跟踪性能很好.其参数设定无需知道被控对象的具体参数及其数学模型,对不同的对象具有适应性.关键词:PID控制神经网络Matlab 仿真The design and simulation of the neural networkPID controllerABSTRACTPID control technology is a very common control technology in many aspects of a wide range of applications. In industrial control, PID control is the most commonly used in industrial control methods. This is because the PID controller simple structure, to achieve a simple, effective control, has been widely used. According to statistics, PID control is the vast majority in the present control system. However, he has certain limitations: When the control object is not at the same time, the controller parameters to automatically adjust to the changes in the external environment. In order to make the controller has good adaptability, and Controller Parameters of automatic adjustments can be used neural network control method. Using artificial neural network learning oneself, combined with the traditional PID control theory Structure of neural networks PID controller, and implementate the automatic adjustment of controller parameters. The thesis discussed according to the neural network PID controller,and control,make use of the neural network from the study ability to proceed its function to on-line parameter amend,and make use ofthe Matlab software proceeds to imitatereally.By the simulation can see that it is to achieve self-learning, adaptability, and other characteristics ,network convergence speed, can have a good control on non-linear object ,and tracking of system performance very good. Its parameters need to know the object of the specific parameters and its mathematical model,and adapt different objects.KEY WORDS:PID control Neural network Matlab Simulation目录摘要 (I)ABSTRACT (II)1 绪论 (1)1.1 前言 (1)1.2 神经元网络PID的发展历程 (1)1.3 神经网络的特点 (2)1.4 神经网络的主要研究方向 (2)1.5 神经网络PID的发展现状和前景展望 (3)1.6 课题研究方法和内容 (3)2 神经网络控制理论 (4)2.1 神经网络的简介 (4)2.2 神经网络的基本概念 (4)2.3 神经网络控制的基本原理 (4)2.4 神经网络结构的分类 (5)2.5 神经网络的学习 (6)2.5.1 学习方式 (6)2.5.2 网络模型及其学习算法 (6)2.6 神经网络的训练 (7)3 应用MATLAB设计神经网络PID控制系统 (8)3.1 MATLAB、SIMULINK、神经网络工具箱简介 (8)3.2 神经网络工具箱与人工神经元网络设计 (9)3.3 PID控制器 (10)3.3.1 PID控制器简介 (10)3.3.2 PID控制的局限 (12)3.4 神经网络 PID 控制器的设计 (12)4 神经网络PID控制器的设计 (14)4.1 单神经元自适应PID控制器及其学习算法 (14)4.1.1 采用有监督Hebb学习算法的单神经元自适应PID控制器 (14)4.1.2 单神经元自适应PID控制器学习算法可调参数的选取规律 (16)4.1.3 单神经元自适应PID仿真 (16)4.2 基于BP神经网络PID控制器的设计 (18)4.3 小结 (21)5 结束语 (22)参考文献 (23)致谢 (24)1 绪论1.1 前言计算机技术的迅速发展,为计算机控制的发展和应用奠定了坚实的基础,过程计算机控制以自动控制理论和计算机技术为基础,实现了现代化生产过程的综合自动化,可使生产过程保持最佳运行状态,从而提高安全性、经济性和运行水平。

毕业设计-神经网络控制算法仿真设计

毕业设计-神经网络控制算法仿真设计

摘要目前,由于PID结构简单,可通过调节比例积分和微分取得基本满意的控制性能,广泛应用在电厂的各种控制过程中。

电厂主汽温被控对象是一个大惯性、大迟延、非线性且对象变化的系统,常规汽温控制系统为串级PID控制或导前微分控制,当机组稳定运行时,一般能将主汽温控制在允许的围。

但当运行工况发生较大变化时,却很难保证控制品质。

因此本文研究基于BP神经网络的PID控制,利用神经网络的自学习、非线性和不依赖模型等特性实现PID参数的在线自整定,充分利用PID和神经网络的优点。

本处用一个多层前向神经网络,采用反向传播算法,依据控制要时输出Kp、Ki、Kd,依次作为PID控制器的实时参数,代替传统PID参数靠经验的人工整定和工程整定,以达到对大迟延主气温系统的良好控制。

对这样一个系统在MATLAB平台上进行仿真研究,仿真结果表明基于BP神经网络的自整定PID控制具有良好的自适应能力和自学习能力,对大迟延和变对象的系统可取得良好的控制效果。

关键词:主汽温,PID,BP神经网络,MATLAB仿真ABSTRACTAt present, because PID has a simple structure and can be adjusted proportional 、integral and differential to satisfactory control performance, it is widely used in power plants of various control process. The system of power plant main steam temperature is an large inertia、big time-delayed and nonlinear dynamic system. Conventional steam temperature control system adopted cascade PID control or the differential control of lead before. When the unit is stable, these methods will control the steam temperature in a certain range ,but when operating conditions changed greatly, it is difficult to ensure the quality of control. This article studies PID control based BP neural network . Using such characteristics of neural network self-learning, nonlinear and don't rely on model realize PID parameters auto-tuning. It can make full use of the advantages of PID and neural network. Here, we use a multilayer feedforward neural network using back propagation algorithm. This net can real-time output Kp, Ki, Kd as the PID controller parameters , insteading of the traditional PID parameters determined by experience, so it can obtain good control performance .For such a system ,we can simulate in MATLAB simulation platform. The simulation results show that the PID control based BP neural network has good adaptive ability and self-learning ability. For the system of large delay and free-model can obtain good control effect.KEY WORDS: main steam temperature ,PID ,BP neural network, MATLAB simulation目录摘要 (I)ABSTRACT (II)第一章绪论 (1)1.1 选题背景和意义 (1)1.2 国外研究现状 (1)1.3 立论依据 (5)1.4 本文所做的主要工作 (6)第二章神经网络的基本原理 (8)2.1 人工神经元模型 (8)2.2 神经网络的学习方式和学习规则 (9)2.2.1 神经网络的学习方式 (9)2.2.2 神经网络的学习规则 (9)2.3 神经网络的特点及应用 (10)2.4 BP神经网络 (11)2.4.1 BP神经网络的结构 (11)2.4.2 BP神经网络的算法 (12)2.5 本章小结 (16)第三章基于BP神经网络的PID控制 (17)3.1 PID控制器的离散差分方程 (17)3.2 基于BP神经网络的PID整定原理 (18)3.3 基于BP神经网络的PID控制算法流程 (22)3.4 本章小结 (22)第四章基于BP神经网络的PID控制在主汽温控制系统中的应用 (23)4.1 主汽温的控制任务 (23)4.2 主汽温被控对象的动态特性 (23)4.3 主汽温控制策略 (24)4.3.1 主汽温控制信号的选择 (24)4.3.2 主汽温控制的两种策略 (26)4.4仿真分析 (27)4.5 本章总结 (34)结论与展望 (35)参考文献 (37)致 (39)第一章绪论1.1 选题背景和意义在控制系统设计中,最主要而又最困难的问题是如何针对复杂、变化及具有不确定性的受控对象和环境作出有效的控制决策。

PID控制算法的MATLAB仿真研究

PID控制算法的MATLAB仿真研究

目录一、课程设计的目的和要求.............................................. - 3 -二、课程设计的基本内容及步骤 ..................................... - 3 -三、设计过程...................................................................... - 4 -四、小结............................................................................. - 11 - 参考资料................................................................................ - 11 -一、课程设计的目的和要求1.目的(1)通过本课程设计进一步巩固PID算法基本理论及数字控制器实现的认识和掌握,归纳和总结PID控制算法在实际运用中的一些特性。

(2)熟悉MATLAB语言及其在控制系统设计中的应用,提高学生设计控制系统程序的能力。

2.要求通过查阅资料,了解PID算法的研究现状和研究领域,充分理解设计内容对PID算法的基本原理与运用归纳和总结,并独立完成设计实验和总结报告。

二、课程设计的基本内容及步骤1.任务的提出采用带纯滞后的一阶惯性环节作为系统的被控对象模型,传递函数为G(s)= Ke−τd s,其中各参数分别为K=30,T f=630,τd=60。

对PID控制算法的仿1+T f s真研究可以从以下四个方面展开。

(1)PID控制器调节参数K p、K I、K D的整定。

PID参数的整定对控制系统能否得到较好的控制效果是至关重要的,PID参数的整定方法有很多种,可采用理论整定法(如ZN法)或者实验确定法(如扩充临界比例度、试凑法等),也可采用模糊自适应参数整定、遗传算法参数整定等新型的PID 参数整定方法。

神经网络PID控制系统的研究

神经网络PID控制系统的研究

神经网络PID控制系统的研究一、本文概述随着科技的发展,控制理论在各个领域的应用越来越广泛,其中,PID(比例-积分-微分)控制算法以其简单、稳定、有效的特性,被广泛应用于工业控制系统中。

然而,传统的PID控制算法在面对非线性、时变、不确定性等复杂系统时,其性能往往会受到限制。

近年来,神经网络作为一种强大的非线性映射工具,其强大的自学习和自适应能力为解决这些问题提供了新的思路。

本文将研究神经网络与PID控制算法的结合,构建一种神经网络PID控制系统。

我们将概述神经网络和PID控制算法的基本原理和特点,然后分析神经网络PID控制系统的基本结构和运行机制。

接着,我们将通过仿真实验和实际应用案例,研究神经网络PID控制系统在不同场景下的性能表现,并探讨其优点和可能存在的问题。

我们将对神经网络PID控制系统的未来发展进行展望,以期能为控制理论的发展和应用提供新的启示和参考。

二、神经网络PID控制系统的基本原理神经网络PID控制系统是一种结合了神经网络与传统PID控制算法的先进控制系统。

这种系统的基本原理在于利用神经网络的强大学习和自适应能力,优化和改进传统的PID控制算法,从而提高系统的控制精度和稳定性。

PID(比例-积分-微分)控制器是一种广泛使用的线性控制器,它通过计算误差的比例、积分和微分来调整系统的输出,以实现对目标值的精确追踪。

然而,传统的PID控制器在处理非线性、时变和不确定性的系统时,其性能可能会受到限制。

神经网络作为一种模拟人脑神经元网络工作的计算模型,具有很强的学习和适应能力。

通过训练,神经网络可以逼近任意的非线性函数,这使得它成为处理复杂、非线性系统问题的有力工具。

在神经网络PID控制系统中,神经网络被用来模拟和优化PID控制器的参数调整过程。

具体来说,神经网络的输入可以是系统的误差、误差的变化率等,输出则是PID控制器的比例、积分和微分系数。

通过训练神经网络,可以找到最优的PID参数组合,从而实现更好的控制效果。

基于RBF神经网络PID参数的自调节及仿真

基于RBF神经网络PID参数的自调节及仿真

科技与创新┃Science and Technology &Innovation·64·2017年第16期文章编号:2095-6835(2017)16-0064-03基于RBF 神经网络PID 参数的自调节及仿真史磊,王蔚(长春工业大学,吉林长春130012)摘要:鉴于传统PID 控制器不能够对参数进行严格整定的问题,提出了RBF 神经网络与传统PID 控制器相结合而进行参数自调节的一种控制算法。

该控制算法能够充分使用RBF 神经网络的自适应、自学习能力来调整系统的控制参数。

在仿真软件MATLAB2010a 上对所提出的控制算法进行了仿真研究,仿真结果表明,所提出的基于RBF 神经网络的PID 参数自校正控制算法是可行的和有效的,与传统PID 控制器相比具有更强的适应性、鲁棒性,能够达到令人满意的控制效果。

仿真结果充分说明了RBF 神经网络自适应PID 控制算法在总体上优于传统的PID 控制算法,为今后对风力发电并网逆变器的研究提供了理论和实验基础。

关键词:MATLAB2010a ;并网逆变器;PID 控制;RBF 神经网络中图分类号:TP273文献标识码:ADOI :10.15913/ki.kjycx.2017.16.064对于传统的PID 控制器来说,它的特点是结构比较简单,应用性和适应性较其他控制均较广,可是单一的PID 控制在很多地方不能满足控制要求,校正好的控制器在一段时间之后就会出现偏差,满足不了工业控制生产要求,比如在时变对象和非线性系统领域就不能够满足工业生产要求。

此文就在原控制器基础之上提出了将RBF 神经网络和PID 控制技术相结合。

对于非线性系统来说,把两者相结合的控制系统不但能克服PID 控制原有的缺陷,而且自学习能力和适应性都显著增强,解决了PID 参数难以整定的问题,具有良好的控制效果。

1传统PID 控制器PID 控制之所以在以前的工业控制中能够被广泛应用,就是因为它的算法简单、鲁棒性好、可靠性高等优点,是发展最快的控制策略之一[1-3]。

神经网络PID 控制策略及其Matlab 仿真研究.

神经网络PID 控制策略及其Matlab 仿真研究.

神经网络PID 控制策略及其Matlab 仿真研究赵娟平(沈阳化工学院,辽宁,沈阳 110142 )摘要:本文讨论了神经网络PID 控制策略,利用神经网络的自学习能力进行PID控制参数的在线整定,并使用Matlab 软件进行了仿真研究。

仿真结果表明,神经网络PID 控制器参数调整简单,具有很高的精度和很强的适应性,可以获得满意的控制效果。

关键词:神经网络,BP 网络,PID ,参数整定,仿真中图分类号:TP183 文献标识码:ANeural Network PID control and its Matlab Simulation researchJuanPing Zhao(ShenYang institute of chemical industry, LiaoNing, ShenYang 110142 )Abstract: This paper discusses the nerve network PID control strategy, makes use of the study ability of the nerve network to turning the PID control parameters, and proceeds the simulation research using matlab software. From the simulation results, it is can be shown that Neural Network PID controller have the higher accuracy and stronger adaptability, and can get satisfied control result.Key word: neural network, BP neural network, PID, parameter turning, simulation1.引言PID 控制由于其具有直观性好、实现简单、可靠性高以及强鲁棒性等优点,在工业控制中得到广泛的应用,尤其适用于建立了精确数学模型的确定性系统。

《MATLAB控制系统仿真》PID控制系统校正设计

《MATLAB控制系统仿真》PID控制系统校正设计

《MATLAB控制系统仿真》PID控制系统校正设计引言1.PID校正装置PID校正装置也称为PID控制器或PID调节器。

这里P,I,D分别表示比例、积分、微分,它是最早发展起来的控制方式之一。

2.PID校正装置的主要优点原理简单,应用方便,参数整定灵活。

适用性强,在不同生产行业或领域都有广泛应用。

鲁棒性强,控制品质对受控对象的变化不太敏感,如受控对象受外界扰动时,无需经常改变控制器的参数或结构。

在科学技术迅速发展的今天,出现了许多新的控制方法,但PID由于其自身的的优点仍然在工业过程控制中得到最广泛的应用。

PID控制系统校正设计1.设计目的1.1 熟悉常规PID控制器的设计方法1.2掌握PID参数的调节规律1.3学习编写程序求系统的动态性能指标2.实验内容2.1在SIMULINK窗口建立方框图结构模型。

2.2设计PID控制器,传递函数模型如下。

()⎪⎭⎫⎝⎛++=s T s T k s G d i p c 112.3修改PID 参数p K 、i T 和d T ,讨论参数对系统的影响。

3.4利用稳定边界法对PID 参数p K 、i T 和d T 校正设计。

2.5根据PID 参数p K 、i T 和d T 对系统的影响,调节PID 参数实现系统的超调量小于10%。

3. 实验操作过程3.1在SIMULINK 窗口建立模型图1 设计模型方框图3.2设计PID 控制器图2 PID控制器模型3.3利用稳定边界法对PID参数p K、i T和d T校正设计: 表1 PID稳定边界参数值校正后的响应曲线图3(a)校正后的响应曲线图3(b)校正后的响应曲线3.4调节PID参数实现系统的超调量小于10%:表2 PID 参数图4 响应曲线图4.规律总结1.P控制规律控制及时但不能消除余差,I控制规律能消除余差但控制不及时且一般不单独使用,D控制规律控制很及时但存在余差且不能单独使用。

2.比例系数越小,过渡过程越平缓,稳态误差越大;反之,过渡过程振荡越激烈,稳态误差越小;若p K过大,则可能导致发散振荡。

神经网络PID控制参数整定及仿真

神经网络PID控制参数整定及仿真

2 0 1 3年第 7期
刘亚骄
等 :神经 网络 P I D控制参数整定及仿真
l 8
m( t ) 与实际输出值 y o u ( t ) 构成控制偏差:
e r r o r ( t ) - i f n ( t ) 一 y o u ( t ) P I D 的控 制规律 为 : u ( t ) = ( e f r o , 【 f ) + e f r o r o ) + 式中, — — 比例 系 数 ; )( 1 - 2 ) ( 1 一 1 )
过B P神 经 网络 ,可 以对 P I D 参数 进行 有效 的整 定 。 关 键词 :P I D;B P神 经 网络 ;参 数整 定 ;ma t l a b
中图分类号 : T P 2 7 3 . 4 文献标识码 :A 文章编号 :1 6 7 1 — 7 9 8 8 ( 2 0 1 3 ) 0 7 — 1 7 — 0 3 Ne u r a l n e t wo r k P I D c o n t r o l p a r a me t e r s t u n i n g a n d s i mu l a t i o n
汽 车 实 用 技 术 设 计 研 究
AUTOMOBILE APPLIED TECHNOLOGY
2 01 3 年 第7 期
2O1 3 N0. 7
神经 网络 P I D控 制参数整定及仿真
刘亚骄 ,梦令智 ,陈开放
( 长安大 学 ,陕西 西安 7 1 0 0 6 4 )
Ke y wo r ds :PI D, BP ne t wo r k; PI D c o nt r o l pa r a me t e r s e t t i n g; ma t l a b

先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问

先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问

先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问因为课题需要,刚开始学习专家控制器matlab仿真,用的是刘金锟先进PID控制及MATLAB仿真。

有一些问题想和大家交流,向大家请教。

1、第三章专家PID中,第一条规则应按最大输出。

在p96例3-1中输出分别为0.45、0.40、0.12、0.01。

如果我的输入信号不是阶跃信号,而是从0到1缓慢变化的s形曲线,如v=[1-cos(pi/50*t)]*735。

输出还可以设定为0.45、0.40、0.12、0.01吗?2、专家PID控制中第二条规则当误差处在增大阶段,前面讲的输出为,而例3-1中rule2输出u(k)=u_1+1.5*kp*x(1)。

这与上式为什么不同?我觉得kp*x(2)+ki*x(1)+kd*[x(2)-x2_1]等于u(k)的导数,对不对?它与kp*x(1)相等吗?为什么在例3-1中不用?3、假设某时刻误差处在变大阶段,且x(1)=0.25。

程序执行时首先执行rule1,因为误差大于0.2,则u(k)= 0.12。

然后再判断rule2,因为条件也满足,误差值在变大,也大于0.05所以u(k)又变为u_1+1.5*kp*x(1)。

这样程序是不是存在二义性?而且在我应用此算法仿真一五阶系统时(详见附件),rule5误差值小于0.001,则输出震荡,而改为0.1,则输出正常。

这样,很多时候,只要误差小于0.1,则执行rule1,u(k)先等于0.1,再执行rule2,等于u_1+1.5*kp*x(1),再执行rule5,等于0.4*x(1)+0.475*x(3)。

这样,使得rule2、rule4根本就不起作用。

我觉得各误差段应既无遗漏又不重叠。

不知我的理解对否?4、本来我对采样时间的理解是采样时间越短,仿真精度越高。

但我发现只改变采样时间,其它不变,则输出大不相同,甚至震荡。

一开始我以为我的控制器没设计好,后来我找了书上不少例子试了试,例3-1、1-9、1-12都有此现象。

(完整word版)基于BP神经网络的自整定PID控制仿真

(完整word版)基于BP神经网络的自整定PID控制仿真

基于BP神经网络的自整定PID控制仿真一、实验目的1.熟悉神经网络的特征、结构及学习算法。

2.通过实验掌握神经网络自整定PID的工作原理。

3.了解神经网络的结构对控制效果的影响。

4. 掌握用Matlab实现神经网络控制系统仿真的方法。

二、实验设备及条件1.计算机系统2.Matlab仿真软件三、实验原理在工业控制中,PID控制是工业控制中最常用的方法。

这是因为PID控制器结构简单,实现简单,控制效果良好,已得到广泛应用。

但是,PID具有一定的局限性:被控制对象参数随时间变化时,控制器的参数难以自动调整以适应外界环境的变化。

为了使控制器具有较好的自适应性,实现控制器参数的自动调整,可以采用神经网络控制的方法。

利用神经网络的自学习这一特性,并结合传统的PID控制理论,构造神经网络PID控制器,实现控制器参数的自动调整。

基于BP神经网络的PID控制器结构如图4所示。

控制器由两部分组成:一是常规PID控制器,用以直接对对象进行闭环控制,且3个参数在线整定;二是神经网络NN,根据系统的运行状态,学习调整权系数,从而调整PID参数,达到某种性能指标的最优化。

图4中神经网络采用结构为4-5-3型的BP网络。

BP网络是一种单向传播的多层前向网络。

输入节点对应系统的运行状态量,如系统的偏差与偏差变化率,必要时要进行归一化处理。

输入变量的个数取决于被控系统的复杂程度,输出节点对应的是PID的3个可调参数。

由于输出不能为负,所以输出层活化函数取2()(1)()(1)1(1)a k y k y k u k y k -=+-+-非负的Sigmoid 函数,隐含层取正负对称的Sigmoid 函数。

本系统选取的BP 网络结构如图5所示。

网络的学习过程由正向和反向传播两部分组成。

如果输出层不能得到期望输出,那么转入反向传播过程,通过修改各层神经元的权值,使得误差信号最小。

输出层节点分别对应3个可调参数K p 、K i 、K d 。

基于matlab的智能PID控制器设计和仿真毕业设计论文

基于matlab的智能PID控制器设计和仿真毕业设计论文

基于MATLAB的智能PID控制器设计与仿真摘要在工业生产中应用非常广泛的是PID控制器,是最早在经典控制理论基础上发展起来的控制方法,应用也十分广泛。

传统的PID控制器原理十分简单,即按比例、积分、微分分别控制的控制器,但是他的核心也是他的难点就是三个参数(比例系数Kp、积分系数Ki、微分系数Kd)的整定。

参数整定的合适,那么该控制器将凭借结构简单、鲁棒性好的优点出色的完成控制任务,反之则达不到人们所期望的控制效果。

人工神经网络模拟人脑的结构和功能而形成的信息处理系统,是一门十分前沿高度综合的交叉学科,并广泛应用于工程领域。

神经网络控制是把自动控制理论同他模仿人脑工作机制的数学模型结合起来,并拥有自学习能力,能够从输入—输出数据中总结规律,智能的处理数据。

该技术目前被广泛应用于处理时变、非线性复杂的系统,并卓有成效。

关键词自适应PID控制算法,PID控制器,神经网络Design and simulation of Intelligent PID Controllerbased on MATLABAbstractPID controller ,the control method which is developed on the basis of classical control theory, is widely used in industrial production.The Principle of traditional PID controller is very simple, which contains of the proportion, integral, differential three component, but its core task and difficulties is three parameter tuning(proportional coefficient Kp, integral coefficient Ki and differential coefficient KD).If the parameter setting is suitable, the controller can accomplish the control task with the advantages of simple structure and good robustness;but on the contrary, it can not reach the desired control effect which we what.Artificial neural network , the formation of the information processing system which simulate the structure and function of the human brain , is a very high degree of integration of the intersection of disciplines, and widely used in the field of engineering. Neural network control ,combining automatic control theory and the imitate mathematical model of the working mechanism of human brain , has self-learning ability, and can summarize the law of the input-output data , dealing with data intelligently .This technique has been widely used in the process of time-varying, nonlinear and complex system, and it is very effective.Key W ord:Adaptive PID control algorithm,PID controller,Neural network目录摘要 (I)Abstract (II)第一章绪论 (1)1.1 课题研究背景及意义 (1)第二章 PID控制器 (2)2.1 PID控制原理 (2)2.2常规PID控制器的算法理论 (3)2.2.1 模拟PI D控制器 (3)2.2.2 数字P I D控制算法 (3)2.2.3常规PID控制的局限 (5)2.2.4 改进型PID控制器 (5)第三章人工神经网络 (8)3.1 人工神经网络的原理 (8)3.2神经网络PID控制器 (8)3.2.1神经元PID控制器 (8)3.2.2 单神经元自适PID应控制器 (9)3.3 BP神经网络参数自学习的PID控制器 (12)第四章MATAB仿真 (16)4.1 仿真过程 (16)第五章结论与展望 (24)致谢 (25)参考文献 (25)华东交通大学毕业设计(论文)第一章绪论1.1 课题研究背景及意义在工业生产中应用非常广泛的是PID控制器,是最早在经典控制理论基础上发展起来的控制方法,应用也十分广泛。

单神经元自适应PID控制 Hebb学习规则 matlab仿真 增量式PID 控制规律

单神经元自适应PID控制 Hebb学习规则 matlab仿真 增量式PID 控制规律

实验一、单神经元自适应PID 控制一、实验目的1、熟悉单神经元PID 控制器的原理。

2、通过实验进一步掌握有监督的Hebb 学习规则及其算法仿真。

二、实验内容利用单神经元实现自适应PID 控制器,对如下二阶对象进行控制,在MATLAB 环境中进行仿真。

被控对象为:y(k)=0.368y(k-1)+0.26y(k-2)+0.1u(k-1)+0.632u(k-2) 三、实验原理线性神经网络是最简单的一种神经元结构,它不同于感知器,其函数是一线性函数,因此神经元的输出可以是任意值。

我们可以用它实现增量PID 控制器的功能,误差为神经元的输入,权系数为PID 控制系数,由于神经网络可以用在线学习对权系数进行实时修改,所以使得PID 控制具有了自适应功能。

PID 控制器的增量公式为一个3输入的线性神经元的计算公式为k 为神经元的比例系数,w i 为神经元权系数,x i 为神经元输入,u 为神经元的输出。

神经元的学习方法可以采用Hebb 学习规则。

有监督的Hebb 学习算法规范法处理后为3131111222333()()()()(1)()()(1)()()()()(1)()()()()(1)()()()()i i ii i i i i p d k k k u k u k k k x k k k u k e k x k k k u k e k x k k k u k e k x k ωωωωωωηωωηωωη=='==-++=++=++=+∑∑ 四、实验步骤1、编写程序实现单神经元的自适应PID 控制器,输入信号为单位阶跃信号。

单神经元控制的各参考参数为0.12,0.40,0.35,0.40p i d k ηηη====2、修改输入信号为()0.5(sin 4)r t sign t π=,进行上述试验。

3、改变被控制对象为如下几种情况,进行上述试验。

模型1:y(k)=0.368y(k-1)+0.264y(k-2)+u(k-1)+0.632u(k-2))2()(211---+-⨯+-+=∆k k k d k k P K i k e e e k e e k e k u )(332211x w x w x w k u ++=∆模型2:y(k)=0.368y(k-1)+0.264y(k-2)+gu(k-1)+0.632u(k-2)g=1+0.1*sin(0.01k)五、问题讨论神经网络学习算法的收敛速度与自适应控制效果的关系,收敛过程与学习规则中学习系数选取的关系。

pid控制及其matlab仿真-详细

pid控制及其matlab仿真-详细
根据线性化后的模型设计PID控制器,并调整参数以满足系统性 能要求。
在MATLAB中搭建仿真模型,验证PID控制器对复杂系统的控制 效果。
PID控制器的参数优化
参数优化方法
采用智能优化算法(如遗传算法、粒子群算法等)对PID 控制器参数进行优化,以进一步提高控制性能。
01
MATLAB实现
在MATLAB中编写优化算法程序,通过 Simulink仿真模型进行测试和验证。
积分控制
02
03
微分控制
通过累积输入信号的变化量来控 制输出信号,以减小输出信号的 误差。
通过预测输入信号的变化趋势来 控制输出信号,以减小输出信号 的超调和响应时间。
PID控制器的参数整定
比例系数
影响控制器的增益,比例系数越 大,控制器的增益越大,输出信 号变化越快。
积分系数
影响积分控制的强度,积分系数 越大,积分控制作用越强,误差 减小越快。
温度控制系统中的应用
温度控制系统是PID控制器的另一个重要应用领域。在工 业和科学实验中,温度控制对于保持恒定的实验条件和产 品质量至关重要。
PID控制器用于温度控制系统的目的是通过自动调节加热 元件的功率或冷却介质的流量,将温度维持在设定的范围 内。
PID控制器通过比较温度传感器的实际测量值与期望值之 间的误差,来调整加热元件或冷却介质的控制信号,以减 小误差并实现稳定的温度控制。
pid控制及其 matlab仿真-详细
目 录
• PID控制理论简介 • MATLAB仿真环境介绍 • PID控制器在MATLAB中的实现 • PID控制器的性能分析 • PID控制器的应用实例 • 结论与展望
01
CATALOGUE
PID控制理论简介

基于神经网络的PID参数自整定控制及其Matlab仿真研究

基于神经网络的PID参数自整定控制及其Matlab仿真研究

文 章 编 号 :1 7 - 9 X( 0 1 0 ・ 0 10 6 26 1 2 1 ) 40 6 —3
基 于神 经 网络 的 P D 参数 自整 定控 制 I
及 其 M alb仿 真 研 究 t a
杨 友 林
( 海 大 学 工 学 院 , 宁 锦州 1 10 ) 渤 辽 2 00

要 : 神 经 网 络 白适 应 P D算 法 与传 统 的 PD 控 制算 法进 行 比较 分 析 , 过 仿 真 实 验 , 证 神 经 网络 自适 将 I I 通 验
网络 是一种 模拟 动 物 神 经 网 络行 为特 征 , 行 分 进
() 3 将计算 好 的参数 值在 控制器 上设置好 , 作 阶跃响应 试验 , 观察 系统 的调 节过程 , 当修 改控 适 制 器 的参 数 , 直到调 节过 程满 意为止 .
1 衰减 曲线法 . 2
布式并 行信 息处 理 的 数 学模 型 , 网 络根 据 系 统 该
决 P D参数 自整 定 的问题 . I
衰减 曲线法 是在 总结 临界 比例带 法基础上 发
展起 来 的 , 是 利用 比例 作 用 下产 生 的 4:l 或 它 (
1 1 衰 减振 荡过 程 时 , 定 值扰 动的 衰减 实 验 0: ) 设 数据 , 据经 验 公 式 求解 控 制 器 的参 数 . 4:1 根 以
数.
棒 性好 、 定性 高等 优 点 而广 泛 地 应 用 于 各种 工 稳 业 过程 控制 之 中. I 控 制 中参数 整 定 是 重要 的 PD
内容 , 但是 传 统 的 P D参 数 整 定 方 法 比较 繁 琐 , I
并且对 一些 较复 杂的 控制对 象 而言 控制 效果 不 明 显, 因此 限制 了 P D 控 制 的进 一 步 发 展

pid控制算法 matlab

pid控制算法 matlab

PID控制算法在Matlab中的应用1. 简介PID控制算法是一种经典控制算法,它通过比例、积分和微分三个部分来调节控制系统的输出,以实现对系统的稳定控制。

在Matlab中,可以利用其丰富的工具箱和编程功能来实现PID控制算法,并对系统进行仿真和分析。

2. PID控制算法原理PID控制算法是由比例项(P)、积分项(I)和微分项(D)组成的。

比例项根据当前误差进行控制,积分项根据累积误差进行控制,微分项则根据误差变化速度进行控制。

通过这三个部分的调节,PID控制算法可以有效地实现对系统的稳定控制。

3. 在Matlab中实现PID控制算法在Matlab中,可以利用Control System Toolbox提供的函数和工具来实现PID控制算法。

可以使用pid函数创建一个PID控制器对象,设置其比例、积分和微分系数。

可以将该PID控制器对象与系统模型进行连接,通过sim函数对系统进行仿真和分析。

4. 使用示例以下是一个简单的示例来演示如何在Matlab中实现PID控制算法。

创建一个一阶惯性系统模型,然后使用pid函数创建一个PID控制器对象,设置其比例、积分和微分系数。

将PID控制器对象与系统模型进行连接,通过sim函数对系统进行仿真并绘制响应曲线。

```matlab创建一阶惯性系统模型sys = tf(1, [1 1]);创建PID控制器对象Kp = 1;Ki = 0.1;Kd = 0.2;pid_controller = pid(Kp, Ki, Kd);将PID控制器对象与系统模型进行连接sys_with_pid = feedback(pid_controller * sys, 1);对系统进行仿真并绘制响应曲线t = 0:0.1:10;u = ones(size(t));lsim(sys_with_pid, u, t);```通过以上示例,可以看到PID控制算法对系统的控制效果。

在实际应用中,可以根据具体系统的特性和需求来调节PID控制器的参数,以达到最佳的控制效果。

MATLAB技术PID控制方法

MATLAB技术PID控制方法

MATLAB技术PID控制方法引言:现代工业中,自动化控制技术的应用已经广泛而深入。

PID控制是常用的自动控制方法之一,它通过对系统的反馈信号进行连续调整,使得系统能够迅速响应和稳定运行。

在PID控制中,MATLAB作为一种强大的数学计算工具和编程语言,可以极大地简化控制系统的设计和开发过程。

本文将介绍MATLAB技术在PID控制方法中的应用,探讨其原理和实现方法。

一、PID控制概述PID控制是一种经典的自动控制方法,它由比例控制、积分控制和微分控制三个部分组成,可以通过对系统误差进行连续调整,实现对被控对象的精确控制。

比例控制根据误差的大小进行反馈调整,积分控制根据误差的积分值进行反馈调整,微分控制根据误差的变化率进行反馈调整。

PID控制器根据系统的特性和需求,通过调节比例系数、积分时间和微分时间,确定适合的控制参数,实现对系统的稳定运行。

二、MATLAB在PID控制中的应用1. 定义被控对象的传递函数在MATLAB中,可以使用tf函数来定义被控对象的传递函数。

传递函数描述了系统的输入和输出之间的关系,可以使用线性时不变系统模型进行描述。

例如,对于一个一阶惯性系统,可以使用以下代码定义其传递函数:```matlabnum = [1]; % 传递函数的分子多项式系数den = [1, 2, 1]; % 传递函数的分母多项式系数sys = tf(num, den); % 定义传递函数```2. 设计PID控制器在MATLAB中,可以使用pid函数来设计PID控制器。

pid函数接受控制参数和被控对象的传递函数作为输入,返回一个PID控制器对象。

例如,使用如下代码可以设计一个PID控制器:```matlabKp = 1; % 比例系数Ti = 1; % 积分时间Td = 1; % 微分时间controller = pid(Kp, Ti, Td); % 设计PID控制器```3. 绘制PID控制器的阶跃响应曲线在MATLAB中,可以使用step函数来绘制PID控制器的阶跃响应曲线。

神经pid,模糊pid,常规pid的matlab比较

神经pid,模糊pid,常规pid的matlab比较

图4.BP神经网络PID系统输出响应曲线图6. PID 参数自适应模糊控制器系统框图图7.e,ec,Kp,Ki,Kd的隶属度函数通过不断进行仿真实验和借鉴专家经验可以得到如下的49条规则:图8.模糊PID控制系统输出曲线图9.模糊PID控制系统误差曲线图中1为常规整定PID 阶跃响应曲线,2为BP 神经网络PID 阶跃响应曲线,3为模糊自适应整定PID 阶跃响应曲线。

从曲线中以看出,三种PID控制方式中模糊PID几乎没有超调,调节时间短,控制效果最好;BP 网络PID效果次之;都比常规PID 效果好。

比较图5神经PID与图9模糊PID的误差曲线可以看出,模糊PID具有更短的学习时间。

仿真和实验结果均证明了神经网络PID 控制算法能有效地控制大时滞大惯性的温控系统,将神经网络与PID控制相结合,可以在线调整PID控制器的各个参数,减少了凭经验整定参数带来的误差,提高了温控系统的鲁棒性和自适应性。

此外,神经网络PID控制器还能有效的抑制干扰,而且对对象模型要求不高,具有较好的抗干扰性。

同时也可以进一步优化BP神经网络的结构和算法,使温度控制最终趋于最优,更好地满足实际生产对温度控制的要求。

但是由于该控制器的初始权值是随机值,控制输出在开始时波动很大,随着网络的自学习,不断调整权值控制输出来跟踪输入。

由于神经网络收敛速度慢,回到稳定状态所需时间较长,这个问题有待进一步研究解决。

,模糊PID控制响应几乎没有超调,但是响应速度较慢;在模型失配的情况下,模糊PID虽然产生了震荡,超调量也有所增加,但总体来说还能够保持稳定;在添加干扰后,系统持续产生小幅震荡,但超调量很小,系统整体还是稳定的,抗干扰能力强。

参考文献:1、陶永华.新型PID控制及其应用(第二版) [ M].北京:机械工业出版社,2002.2、杨智,朱海锋,黄以华.PID控制器设计与参数整定方法综述[ J ].化工自动化及仪表,2 005,32 ( 5 ):1-7 .3、杨智.工业自整定P ID调节器关键设计技术综述[J].化工自动化及仪表,2000,27 ( 2 ):5-10.4、王伟,张晶涛,柴天佑.PID参数先进整定方法综述[ J ].自动化学报,2000,26 (5):347-355.5、何宏源,徐进学,金妮.PID继电自整定技术的发展综述[ J ].沈阳工业大学学报,2005,27 (4):4 09-413.6、叶岚.基于继电反馈的PI D控制器的参数整定[ D].上海:上海交通大学自动化系,2007.7、李少远.基于继电反馈的PID控制器的参数整定[D].上海:上海交通大学自动化系,2007.8、吴泽宁等.BP神经网络的改进及应用[J ].河南科学,2003-4:202 -2069、李遵基编著.热工自动控制系统[M].中国电力出版社,1997.1010、俞海斌,褚健.CFB锅炉汽包水位的专家PID控制[J].机电工程,2000(3):103~10611、潘祥高等.模糊PID控制在工业锅炉控制系统中的应用[J].工业出版社,200412、刘金琨.先进PID 控制MA TLAB仿真M7.2 版.北京电子工业出版社,200413、薛定宇.控制系统计算机辅助设计MA TLAB 语言与应用M7.2 版.北京清华大学出版社,2006常规PID实现程序:clear all;close all;ts=10;sys=tf([1],[150,1],'inputdelay',50);dsys=c2d(sys,ts,'z oh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;u_6=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;ei=0;for k=1:1:1000time(k)=k*ts;yout(k)=-den(2)*y_1+num(2)*u_6;rin(k)=1;error(k)=rin(k)-yout(k);ei=ei+error(k)*ts;kp=0.03;kd=1;ki=0.004;u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+ki*ei; if u(k)>=10u(k)=10;endif u(k)<=-10u(k)=-10;endif k==200u(k)=u(k)+1;endu_6=u_5;u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k); y_3=y_2;y_2=y_1;y_1=yout(k);error_2=error_1;error_1=error(k);endfigure(1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,u,'r');xlabel('time(s)');ylabel('u');BP神经网络PID程序:%BP based PID Controlclear all;close all;xite=0.9;IN=4;H=5;Out=3; %NN Structurewi=[-0.6394 -0.2696 -0.3756 -0.7023;-0.8603 -0.2013 -0.5024 -0.2596;-1.0749 0.5543 -1.6820 -0.5437;-0.3625 -0.0724 -0.6463 -0.2859;0.1425 0.0279 -0.5406 -0.7660];%wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[0.7576 0.2616 0.5820 -0.1416 -0.1325;-0.1146 0.2949 0.8352 0.2205 0.4508;0.7201 0.4566 0.7672 0.4962 0.3632];%wo=0.50*rands(Out,H);wo_1=wo;wo_2=wo;wo_3=wo;x=[0,0,0];du_1=0;u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;u_6=0;y_1=0;y_2=0;Oh=zeros(H,1); %Output from NN middle layerI=Oh; %Input to NN middle layererror_2=0;error_1=0;ts=10;for k=1:1:1000time(k)=k*ts;rin(k)=1.0;%Unlinear modelyout(k)=0.9355*y_1+0.0645*u_6;error(k)=rin(k)-yout(k);xi=[rin(k),yout(k),error(k),1];x(1)=error(k)-error_1;x(2)=error(k);x(3)=error(k)-2*error_1+error_2;epid=[x(1);x(2);x(3)];I=xi*wi';for j=1:1:HOh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j))); %Middle Layer endK=wo*Oh; %Output Layerfor l=1:1:OutK(l)=exp(K(l))/(exp(K(l))+exp(-K(l))); %Getting kp,ki,kd endkp(k)=K(1);ki(k)=K(2);kd(k)=K(3);Kpid=[kp(k),ki(k),kd(k)];du(k)=Kpid*epid;u(k)=u_1+du(k);dyu(k)=sign((yout(k)-y_1)/(du(k)-du_1+0.0001));%Output layerfor j=1:1:OutdK(j)=2/(exp(K(j))+exp(-K(j)))^2;endfor l=1:1:Outdelta3(l)=error(k)*dyu(k)*epid(l)*dK(l);endfor l=1:1:Outfor i=1:1:Hd_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2);endendwo=wo_1+d_wo+alfa*(wo_1-wo_2);%Hidden layerfor i=1:1:HdO(i)=4/(exp(I(i))+exp(-I(i)))^2;endsegma=delta3*wo;for i=1:1:Hdelta2(i)=dO(i)*segma(i);endif k==200u(k)=u(k)+1;endd_wi=xite*delta2'*xi;wi=wi_1+d_wi+alfa*(wi_1-wi_2);%Parameters Updatedu_1=du(k);u_6=u_5;u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);wo_3=wo_2;wo_2=wo_1;wo_1=wo;wi_3=wi_2;wi_2=wi_1;wi_1=wi;error_2=error_1;error_1=error(k);endfigure(1);plot(time,rin,'r',time,yout,'b');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,error,'r');xlabel('time(s)');ylabel('error');figure(3);plot(time,u,'r');xlabel('time(s)');ylabel('u');figure(4);subplot(311);plot(time,kp,'r');xlabel('time(s)');ylabel('kp');subplot(312);plot(time,ki,'g');xlabel('time(s)');ylabel('ki');subplot(313);plot(time,kd,'b');xlabel('time(s)');ylabel('kd');模糊PID程序:clear all;close all;a=newfis('fuzzpid');a=addvar(a,'input','e',[-3,3]); %Parameter e a=addmf(a,'input',1,'NB','zmf',[-3,-1]);a=addmf(a,'input',1,'NM','t rimf',[-3,-2,0]);a=addmf(a,'input',1,'NS','trimf',[-3,-1,1]);a=addmf(a,'input',1,'Z','t rimf',[-2,0,2]);a=addmf(a,'input',1,'PS','trimf',[-1,1,3]);a=addmf(a,'input',1,'PM','t rimf',[0,2,3]);a=addmf(a,'input',1,'PB','smf',[1,3]);a=addvar(a,'input','ec',[-3,3]); %Parameter ec a=addmf(a,'input',2,'NB','zmf',[-3,-1]);a=addmf(a,'input',2,'NM','t rimf',[-3,-2,0]);a=addmf(a,'input',2,'NS','trimf',[-3,-1,1]);a=addmf(a,'input',2,'Z','t rimf',[-2,0,2]);a=addmf(a,'input',2,'PS','trimf',[-1,1,3]);a=addmf(a,'input',2,'PM','t rimf',[0,2,3]);a=addmf(a,'input',2,'PB','smf',[1,3]);a=addvar(a,'output','kp',[-0.3,0.3]); %Parameter kp a=addmf(a,'output',1,'NB','zmf',[-0.3,-0.1]);a=addmf(a,'output',1,'NM','t rimf',[-0.3,-0.2,0]);a=addmf(a,'output',1,'NS','trimf',[-0.3,-0.1,0.1]);a=addmf(a,'output',1,'Z','t rimf',[-0.2,0,0.2]);a=addmf(a,'output',1,'PS','trimf',[-0.1,0.1,0.3]);a=addmf(a,'output',1,'PM','t rimf',[0,0.2,0.3]);a=addmf(a,'output',1,'PB','smf',[0.1,0.3]);a=addvar(a,'output','ki',[-0.06,0.06]); %Parameter kia=addmf(a,'output',2,'NB','zmf',[-0.06,-0.02]);a=addmf(a,'output',2,'NM','t rimf',[-0.06,-0.04,0]);a=addmf(a,'output',2,'NS','trimf',[-0.06,-0.02,0.02]);a=addmf(a,'output',2,'Z','t rimf',[-0.04,0,0.04]);a=addmf(a,'output',2,'PS','trimf',[-0.02,0.02,0.06]);a=addmf(a,'output',2,'PM','t rimf',[0,0.04,0.06]);a=addmf(a,'output',2,'PB','smf',[0.02,0.06]);a=addvar(a,'output','kd',[-3,3]); %Parameter kpa=addmf(a,'output',3,'NB','zmf',[-3,-1]);a=addmf(a,'output',3,'NM','t rimf',[-3,-2,0]);a=addmf(a,'output',3,'NS','trimf',[-3,-1,1]);a=addmf(a,'output',3,'Z','t rimf',[-2,0,2]);a=addmf(a,'output',3,'PS','trimf',[-1,1,3]);a=addmf(a,'output',3,'PM','t rimf',[0,2,3]);a=addmf(a,'output',3,'PB','smf',[1,3]);rulelist=[1 1 7 1 5 1 1;1 2 7 1 3 1 1;1 3 6 2 1 1 1;1 4 6 2 1 1 1;1 5 5 3 1 1 1;1 6 4 4 2 1 1;1 7 4 4 5 1 1;2 1 7 1 5 1 1;2 2 7 1 3 1 1;2 3 6 2 1 1 1;2 4 5 3 2 1 1;2 5 5 3 2 1 1;2 6 4 43 1 1;2 7 34 4 1 1;3 1 6 1 4 1 1;3 2 6 2 3 1 1;3 3 6 3 2 1 1;3 45 3 2 1 1;3 5 4 4 3 1 1;36 3 5 3 1 1;37 3 5 4 1 1;4 1 6 2 4 1 1;4 2 6 2 3 1 1;4 3 5 3 3 1 1;4 4 4 4 3 1 1;4 5 3 5 3 1 1;4 6 2 6 3 1 1;4 7 2 6 4 1 1;5 1 5 2 4 1 1;5 2 5 3 4 1 1;5 3 4 4 4 1 1;5 4 3 5 4 1 1;5 5 3 5 4 1 1;5 6 2 6 4 1 1;5 7 2 7 4 1 1;6 1 5 4 7 1 1;6 2 4 4 5 1 1;6 3 3 5 5 1 1;6 4 2 5 5 1 1;6 5 2 6 5 1 1;6 6 27 5 1 1;6 7 1 7 7 1 1;7 1 4 4 7 1 1;7 2 4 4 6 1 1;7 3 2 5 6 1 1;7 4 2 6 6 1 1;7 5 2 6 5 1 1;7 6 1 7 5 1 1;7 7 1 7 7 1 1];a=addrule(a,rulelist);a=setfis(a,'DefuzzMethod','centroid');writefis(a,'fuzzpid');a=readfis('fuzzpid');%PID Controllerts=10;sys=tf([1],[150,1],'inputdelay',50);dsys=c2d(sys,ts,'t ustin');[num,den]=tfdata(dsys,'v');u_1=0.0;u_2=0.0;u_3=0.0;u_4=0.0;u_5=0.0;u_6=0.0;y_1=0;y_2=0;x=[0,0,0]';error_2=0;error_1=0;e_1=0.0;ec_1=0.0;kp0=0.0929;kd0=0.0078;ki0=0.0518;for k=1:1:1000time(k)=k*ts;rin(k)=1;%Using fuzzy inference to tunning PIDk_pid=evalfis([e_1,ec_1],a);kp(k)=kp0+k_pid(1);ki(k)=ki0+k_pid(2);kd(k)=kd0+k_pid(3);u(k)=kp(k)*x(1)+kd(k)*x(2)+ki(k)*x(3);if u(k)>=10u(k)=10;endif u(k)<=-10u(k)=-10;endif k==200u(k)=u(k)+1;endyout(k)=-den(2)*y_1+num(2)*u_6;error(k)=rin(k)-yout(k);%%%%%%%%%%%%%%Return of PID parameters%%%%%%%%%%%%%%% u_6=u_5;u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);x(1)=error(k); % Calculating Px(2)=error(k)-error_1; % Calculating Dx(3)=x(3)+error(k); % Calculating Ie_1=x(1);ec_1=x(2);error_2=error_1;error_1=error(k);endshowrule(a)figure(1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,error,'r');xlabel('time(s)');ylabel('error');figure(3);plot(time,u,'r');xlabel('time(s)');ylabel('u');。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

神经网络PID控制及Matlab仿真
摘要
PID控制技术是一种应用很普遍的控制技术,目前在很多方面都有广泛的应用。

论文首先简要介绍了神经网络的理论基础和神经网络的学习算法,传统的常规PID控制器。

为了达到改善常规PID控制器在复杂的、动态的和不确定的系统控制还存在着许多不足之处的目的,文中系统的分析了神经网络PID控制器。

本文主要研究了神经网络PID控制。

利用神经网络具有强的非线性映射能力、自学习能力、联想记忆能力、并行信息处理方式及优良的容错性能,应用神经网络对PID控制器进行改进后,对于工业控制中的复杂系统控制有着更好的控制效果,有效的改善了由于系统结构和参数变化导致的控制效果不稳定。

文中深入研究了基于神经网络的BP神经网络PID控制器及其仿真等。

最后,对常规PID控制器和神经网络PID控制器进行了仿真比较,仿真结果表明,应用神经网络对常规PID控制器进行改进后提高了系统的鲁棒性和动态特性,有
效的改善了系统控制结果,达到了预期的目的前言
在工业控制过程中,PID控制是一种最基本的控制方式,其鲁棒性好、结构简单、易于实现,但常规的PID控制也有其自身的缺点,因为常规PID控制器的参数是根据被控对象数学模型确定的,当被控对象的数学模型是变化的、非线性的时候,PID参数不易根据其实际的情况做出调整,影响了控制质量,使控制系统的控制品质下降。

特别是在具有纯滞后特性的工业过程中,常规的PID控制更难满足控制精度的要求。

PID控制是最早发展起来的控制策略之一,按偏差的比例、积分和微分进行控制的调节器称为 PID控制器,它是连续系统中技术成熟,应用最广泛的一种调节器。

由于其算法简单,实现简易、鲁棒性能良好和可靠性高,能够对很大一类工业对象进行有效控制等一系列优点,被广泛应用于工业过程控制,尤其适用于可建立精确数学模型的确定性控制系统。

但是在实际的工业生产过程中,往往具有非线性,时变不确定性,因而难以建立精确的数学模型,应用常规 PID控制器不能达到理想的控制效果:在实际生产过程中,由于受到参数整定方法繁杂的困扰,常规PID控制器参数往往整定不良,性能欠佳,对运行工况的适应性很差。

针对这些问题,长期以来,人们一直在寻求 PID控制器参数的自动整定技术,以适应复杂的工况和高指标的控制要求。

随着微处理机技术的发展和数字智能式控制器的实际应用,这种设想已经变成了现实。

到目前为止,有许多技术已经被用于 PID控制器的手动和自动整定,根据发展阶段的划分,可分为常规 PID参数整定方法及智能 PID参数整定方法;按照被控对象个数来划分,可分为单变量PID参数整定方法及多变量PID参数整定方法,前者包括现有大多数整定方法,后者是最近研究的热点和难点;按控制量的组合形式来划分,可分为线性 PID参数整定方法及非线性 PID参数整定方法。

同时,随着现代控制理论(诸如智能控制,自适应模糊控制和神经网络技术等)研究和应用的发展和深入,为控制复杂无规则系统开辟了新的途径。

近年来,出现了许多新型控制器,神经网络PID控制器就是其中的一种。

对于复杂对象,其控制效果远远超过常规控制。

由于神经网络具有自组织、自学习、自适应的能力,本文提出基于BP神经网络的PID控制器,使人工神经网络与传统PID控制相结合互相补充,共同提高控制质量,并把该方法用Matlab语言进行了仿真应用。

相关文档
最新文档