自适应pid控制器的设计及仿真(编辑修改稿)内容摘要:

出的快捷菜单中单击 Open the „Simulink‟ Libray 命令,将打开 Simulink 基本模块库窗口。 单击其中的子模块库图标,打开子模块库,找到仿真所需要的基本模块。 (2) 主要模块介绍 Simulink 模块库按功能分为以下 8 类子库: Continuous (连续模块) Discrete (离散模块) Functionamp。 Tables (函数和平台模块) Math (数学模块) 7 Nonlinear (非线性模块) Signalsamp。 Systems (信号和系统模块) Sinks (接收器模块) Sources (输入源模块) 1) 连续模块( Continuous) Integrator:输入信 号积分 Derivative:输入信号微分 StateSpace:线性状态空间系统模型 TransferF:线性传递函数模型 ZeroPole:以零极点表示的传递函数模型 Memory:存储上一时刻的状态值 Transport Delay:输入信号延时一个固定时间再输出 Variable Transport Delay:输入信号延时一个可变时间再输出 2) 离散模块( Discrete) Discretetime Integrator:离散时间积分器 Discrete Filter: IIR 与 FIR 滤波器 Discrete StateSpace:离散状态空间系统模型 Discrete TransferF:离散传递函数模型 Discrete ZeroPole:以零极点表示的离散传递函数模型 FirstOrder Hold:一阶采样和保持器 ZeroOrder Hold:零阶采样和保持器 Unit Delay:一个采样周期的延时 3) Function amp。 Tables F:用自定义的函数(表达式)进行运算 MATLAB F:利用 matlab 的现有函数进行运算 SFunction:调用自编的 S 函数的程序进行运算 LookUp Table:建立输入信号的查询表(线性峰值匹配) LookUp Table(2D):建立两个输入信号的查询表(线性峰值匹配) 4) Math(数学模块 ) Sum:加减运算 8 Product:乘运算 Dot Product:点乘运算 Gain:比例运算 Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数 Trigonometric Function:三角函数,包括正弦、余弦、正切等 MinMax:最值运算 Abs:取绝对值 Sign:符号函数 5) Nonlinear(非线性模块 ) Saturation:饱和输出,让输出超过某一值时能够饱和。 Relay:滞环比较器,限制输出值在某一范围内变化。 Switch:开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来。 Manual Switch:手动选择开关 6) Signalamp。 Systems(信号和系统模块) In1:输入端。 Out1:输出端。 Mux:将多个单一输入转化为一个复合输出。 Demux:将一个复合输入转化为多个单一输出。 Ground:连接到没有连接到的输入端。 Terminator:连接到没有连接到的输出端。 SubSystem:建立新的封装( Mask)功能模块 7) Sinks(接收器模块) Scope:示波器。 XY Graph:显示二维图形。 To Workspace:将输出写入 MATLAB 的工作空间。 To File(.mat):将输出写入数据文件。 8) Sources(输入源模块) Constant:常数信号。 Clock:时钟信号。 9 From Workspace:来自 MATLAB 的工作空间。 From File(.mat):来自数据文件。 Pulse Generator:脉冲发生器。 Repeating Sequence:重复信号。 Signal Generator:信号发生器,可以产生正弦、方波、锯齿波及随意波。 Sine Wave:正弦波信号。 Step:阶跃波信号。 9) Simulink 模型的特点 在 SIMULINK 里提供了许多如 Scope 的接收器模块,这使得用 SIMULNK 进行仿真具有像做实验一般的图形化显示效果。 SIMULINK 的模型具有层次性,通过底层子系统可以构建上层母系统。 SIMULINK 提供了对子系统进行封装的功能,用户可以自定义子系统的图标和设置参数对话框。 10 2 模糊控制 模 在工控制过程中经常会碰到大滞后、时变、非线性的复杂系统。 其中,有的参数未知或缓慢化;有的存在滞后和随机干扰;有的无法获得精确的数学模型。 模糊控制器是一种近年来发展起来的新型控制器,其优点是不要求掌握受控对象的精确数学模型,而根据人工控制规则组织控制决策表,然后由该表决定控制量的大小。 将模糊控制和PID 控制两者结合起来,扬长避短,既具有模糊控灵活而适应性强的优点,又具有 PID控制 精度高的特点。 这种 FuzzyPID 复合型控制器,对复杂控制系统和高精度伺服系统具有良好的控制效果。 模糊控制 的 基本原理 模糊控制系统与一般的计算机控制系统具有相似的结构,其框图如图 所示。 系统的核心是一个用模糊知识表示,能完成模糊推理与模糊控制功能的模糊控制器。 图 模糊控制系统结构框图 模糊控制规律由计算机程序实现,计算机的采样值为被控量的精确值,将它与给定值比较便可得到偏差信号,此偏差经 A/D 转换后作为模拟控制器的输入,控制器首先对偏差值进行模糊处理,并用响应的模糊 语言值 (实际上是一个模糊向量 )表示。 根据模糊控制规则经推理合成进行模糊决策,便可得到模糊控制向量。 控制向量经非模糊化 (即清晰 )化处理转换成精确量,由 D/A 输出实现对系统的精确控制。 模糊控制器 的设计 结构设计 结构设计是指合理地确定控制器的输入和输出变量。 结构设计直接影响控制器的性 11 能。 从输入信号 “个数 ”上,模糊控制器可以分为单变量控制器和多变量控制器两种。 目前应用最多的是单变量模糊控制器。 单变量模糊控制器从输入信号 “维数 ”上可分为以下三种: (1) 一维控制器:输入为被控量 与给定值的偏差 E,其动态性能比较差,一般只适用于一阶被控对象。 (2) 二维控制器:输入为偏差 E 及其变化量 EC,控制器有较好的动态响应,应用广泛。 (3) 三维控制器:输入为偏差 E、偏差变化 EC、及偏差变化的改变量 ECC。 图 为单变量模糊控制器结构示意图。 从理论上讲控制器的维数越高,系统控制精度也越高,但系统越复杂,控制算法也越难于实现,所以目前应用最多的仍是二维控制器,本课题所用到的就是二维控制器。 图 单变量模糊控制器结构 模糊控制器输出多采用控制量的增量形式。 有时为获得理想的上升 特性及改善动态品质,也可在偏差大时采用控制量的绝对量输出,而当偏差为中小时再采用其增量形式。 论域及量化因子确定 所谓论域即是被考虑客体所有元素的集合。 对于模糊控制器,其输入输出信号的变化范围即为控制器的基本论域。 对于二维模糊控制器,设误差基本论域为 [xe xe],误差变化的基本论域为 [xc xc],输出基本论域为 [yu yu]。 取误差、误差变化及输出模糊子集的论域分别为 },1,1,0,1,1,{ nnnnE   },1,1,0,1,1,{ mmmmEC   },1,1,0,1,1,{ llllU   () 论域的量化等级 n 、 m 、 l 取得越大,控制精度越高,但计算量也越大。 一般取 n ,m ≥6, l ≥7。 当控制 器基本论域和模糊论域确定之后,由基本论域 (精确的模拟量 )到模糊论域的 12 转换关系就确定了。 通常称 xaeen xa cc m lya uu () 分别为误差、误差变化、及输出的比例因子。 由于连续量到离散量之间不是一一对应的,因此对于控制器输入论域的所有精确值式 ()并不是恒定关系。 但对于输出量,式 ()是由模糊论域到基本论域的转换,因此对于所有值都是成立的。 合理地确定比例因子对于模糊控制器的性能有较大的影响。 一般地, ae 过大会使系统超调增加、过渡时间加长,这是因为过分加强了误差变量在控制中的作用。 而 ac 过小会使系统响应缓慢、稳态精度下降; ac 大一些可以增加误差变化率的控制作用、有助于 减小超调,但却可能使响应时间加大。 改变 au 可以改变控制器总的增益,影响输出信号幅度。 au 过小,使系统响应缓慢,过大则容易引起超调,甚至会产生振荡。 ae 、ac 、 au 合理组合,才 能使系统获得满意的响应特性。 一般 ae 、 ac c 多采用离线设定,而 au 则先离线确定一个初值,然后经在线调试确定,以保证达到系统的指标要求。 控制规则设计 规则设计是模糊控制器设计的关键。 设计内容主要包括:确定语言变量词集、确定语言值的隶属函数,以及建立控制规则表等。 1 确定语言变量词集 描述输入输出变量状态的词汇的集合即为变量的词集。 在确定模糊预言变量时,应首先确定基 本语言值,如 “大 ”、 “中 ”、 “小 ”、 “高 ”、 “中 ”、“”低 ”等。 通常为三元值。 考虑到变化的正、负、以及零(平衡状态),一般为七个词汇:{负大,负中,负小,零,正小,正中,正大 },或 {NB,NM,NS,ZO,PS,PM,PB}。 所选词汇越多,对变量描述越准确、控制效果越好,但控制规则变得复杂。 词汇选得少,变量描述粗糙,控制效果变差。 在偏差控制中,常将 “零 ”化分为 “正零 ”和 “负零 ” (即 “PO” 和 “NO”)。 此时词集为{NB,NM,NS,NO,PO,PS,PM,PB}。 13 2 确定语言值隶属函数 描述 输入输出变量状态的每个语言值都具有模糊特性,它实际上是一个模糊子集。 语言值对于模糊模糊论域的隶属关系可以用隶属函数描述。 隶属函数是模糊集合的特征函数,它是对模糊概念的定量描述。 根据扎德给出的定义:设给定论域 E, E 区间 [0,1]上的任一映射 A。 ]1,0[: EA )(eeA () 它确定了 E 的一个 模糊子集~A, )(eA称为元素 e 对~A的隶属度。 它的大小反映了 e 对~A的隶属程度。 其值越接近 1,隶属程度越高;越接近 0,隶属程度越低。 隶属函数常以曲线形式给出。 如图 所示为论域 X 中的元素 x 对于模糊变量~A i的隶属函数曲线。 设论域 X={6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6}, 由曲线有 A (2) =A (6) =, A (3) =A (5) =, A (4) =1, 而 A( 6) ~A( 1) =0。 于是模糊子集可表示为 ),41,(Ai (分母为元素,隶属度为零的项省略不写 )。 14 图 x对模糊变量。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。