当前位置:文档之家› 模糊控制-基于VB和7000模块的模糊调节器的设计121106介绍

模糊控制-基于VB和7000模块的模糊调节器的设计121106介绍

模糊控制-基于VB和7000模块的模糊调节器的设计121106介绍
模糊控制-基于VB和7000模块的模糊调节器的设计121106介绍

基于VB 和7000模块的模糊调节器的设计

实验目的:综合运用《模糊控制》、《VB 》、《过程控制系统》等课程的知识,在计算机中

用VB 设计出模糊调节器,通过鸿格7000分布式模块组成的数据通道,实现单回路液位控制。熟悉和掌握串行通讯RS-232/485的相关知识。掌握A/D 、D/A 、DI 、DO 通道的组成结构和通讯方法。熟悉7000系列分布式模块的结构、命令格式以及利用Visual Basic 6.0及其MSComm 控件的实现串行通讯。

实验设备:

1. 水箱

2、压力变送器 2. 计算机

3. 7017、7024、7043、7520等模块 4. VB 开发平台,串口调试助手软件

实验步骤:

1. 安装图1所示,构建采用液位单回路控制系统。硬件组态:先根据控制系统的各组成要

素绘制出系统的组成框图及接线图。然后用导线将各部件连接起来。只有在教师检查无误后方可通电运行。

图1 控制系统框图

2. 使用《串口调试助手》软件,按照《附录》中叙述的方法调试AI 、AO 等数据通道,同

时熟悉7017、7024等模块的命令格式。

3. 在VB 开发环境中构建模糊数字控制器。控制器的界面风格不限,但应功能全面,美观

大方,符合工业现场常用界面的布局。此调节器应具有以下功能:SV 、PV 、OP 等参数的实时显示及修改,手自动状态的切换。鼓励学生在完成基本模糊调节器的设计后扩展新功能,例如实时曲线的显示,历史数据的保存等。

示例:

下图为模糊调节器的参考界面。

图2 调节器外观设计

模糊控制器

图3 模糊控制器框图对于本次设计所需参考资料请参阅附件。

附件一:计算机控制实验部分模块介绍

本装置在计算机控制和通讯上采用台湾威达数据采集模块。

7520是RS-232转485通讯模块,RS-232/RS-485双向协议转换。速度为300-115.200BPS,一个RS-485网上可挂256个模块,3000V隔离,支持多种速率多种数据格式。通讯距离:2.1公里/9600BPS;2.7公里/4800BPS;3.6公里/2400BPS。

7024是D/A模块,4通道模拟输出模块。电流输出:4~20 mA,0~20 mA;电压输出:+/-10V,0~10V,+/-5V。精度14Bit。

7017是A/D模块,8通道模拟输入模块。模拟输入:mV mA ;输入范围:+/-150 mV,+/- 500mV,+/- 1V,+/- 5V,+/- 10V,+/- 20 mA。采样频率10Hz。

7043D是16路开关量输出模块。

查阅RS-232/485通讯的相关方法。

提前复习Visual Basic中常用控件的使用方法。预习MSComm控件属性设置的方法。

实验时携带《计算机过程控制》、《Visual Basic》、ASCII码表。

在实验开始前应学会使用串口调试助手熟悉7000系列模块的命令格式。

串口调试助手如下图

模拟量输入通道-7017

观察过程控制实验装置上的7017模块,它是A/D转换模块,有8通道模拟量输入通道。

7017的命令格式为:#AA(VBcr)。其中#为命令特殊字符(参阅7000手册),AA为模块地址,本实验装置上有两块7017,地址为00、01。VBcr为回车符。本次实验默认的模拟量输入通道为00模块第0路。

启动Visual Basic编辑环境。在窗体上放置三个按钮,分别命名为cmdOpenCOM、cmdStart、cmdEnd,将其Caption属性分别修改为打开通讯端口、开始检测、结束。

在窗体上放置一个MSComm控件。

在窗体上放置一个标签,将其名称修改为lblValue。

在窗体上放置一个标签,将其名称修改为lblMsg。

放置一个计时器控件。

最后窗体应该如下图。

3. 在程序代码中加入如下代码:

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'单击【开始检测】按钮后激活此事件

'将定时器激活或关闭,并显示对应的文字在按钮上,以指示用户操作

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub cmdStart_Click()

Timer1.Enabled = Not Timer1.Enabled

If Timer1.Enabled Then

cmdStart.Caption = "停止检测"

Else

cmdStart.Caption = "开始检测"

lblMsg.Caption = "已停止检测"

End If

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'定时器的Timer事件引发后,就不断地执行其中的程序。

'将模拟读值命令送出,再取得返回字符串并判断。

'

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub Timer1_Timer()

Dim Buf$, V alueStr As Single, Pos1%

MSComm1.Output = "#" & "00" & Chr(13) '组合完整的命令字符串lblMsg.Caption = "联机" & Buf & "中…"

Buf = WaitRS(MSComm1, vbCr, 1000)

' If Buf = "" Then

' lblMsg.Caption = "取值失败。"

' Exit Sub

' End If

'先找到">"符号所在的位置

Pos1 = InStr(1, Buf, ">")

If Pos1 = 0 Then

lblMsg.Caption = "返回值不正确。"

Exit Sub

End If

ValueStr = Val(Mid(Buf, Pos1 + 1, 7)) '分离出正号以后的数值

'MID(字符串,开始位置,长度)功能:从开始位置取指定数的字符lblValue.Caption = Format(ValueStr, "0.000") & "V" '显示在窗体上

End Sub

运行窗体,运行结果应该如下图所示。

模拟量输出通道-7024

察过程控制实验装置上的7024模块,它是D/A转换模块,有4通道模拟量输出通道。

7024的命令格式为:#AAN(DATA)(VBcr)。其中#为命令特殊字符(参阅7000手册),AA为模块地址,本实验装置上的7024地址为02,N为通道号。

VBcr为回车符。本次实验默认的模拟量输出通道为02模块第0路。

Example for 7024

Command: #020+08.000(回车)

7024(地址02)接收到此命令后,0通道输出+8.000mA。同时返回响应字符>。

3 .启动Visual Basic编辑环境。

放置两个按钮,分别命名为cmdOpenCOM、cmdEnd。并将其Caption属性修改为打开通讯端口、结束。

放置一个MSComm控件。

放置一个滑动条控件Slider。

放置一个标签框,修改其名称为lblMsg。

放置一个标签框,修改其名称为lblValue。

现在窗体应该为下图所示。

添加程序代码如下:

Option Explicit

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'单击【结束】按钮后启动此事件

'使用End命令将系统结束

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub cmdEnd_Click()

End

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'单击【打开通信端口】按钮后启动此事件

'将MSComm控件的参数设置好,并打开

'激活【开始检测】的按钮

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub cmdOpenCOM_Click()

Dim Buf$, RetBuf$

MSComm1.Settings = "9600,n,8,1" '设置通信参数

MSComm1.PortOpen = True '打开通信端口

cmdOpenCOM.Enabled = False '将此按钮设为禁用状态

lblMsg.Caption = "可选择Slide控件的指针,执行输出的工作。"

If cmdOpenCOM.Enabled Then

lblMsg.Caption = "尚未打开通信端口!"

Exit Sub

End If

End Sub

Private Sub Slider1_Scroll()

Dim Buf$, V alueStr As Single, Pos1%

Dim RetBuf$

lblValue.Caption = Slider1.Value / 10 & "mA"

MSComm1.Output = "#" & "020+" & Format(Slider1.Value / 10, "00.000") & Chr(13) '组合完整的命令字符串

lblMsg.Caption = "联机" & Buf & "中…"

End Sub

运行此窗体,应该如下图所示。

开关量输出通道-7043D

观察7043D模块,它有16路开关量输出通道,分别是DO0—DO15。本次实验所用的7043模块的地址为03。

7043的命令格式是:#AABBDD。其中AA是模块的地址,本装置上的7043地址是03。BB:对于7043模块,其输出信道被分为两组,前8个信道为A组,9-16个信道被分为B组。如果使用输出控制度命令为A组做设置,则BB需写成0A;反之,如果设置第9个信道以后的信道,则BB需写成0B。举例来说:#030A01(vbCr) DO0导通

#030AFF(vbCr) DO0-DO7全部导通

#030B01(vbCr) DO8导通

启动Visual Basic编辑环境。

在窗体上放置两个按钮,分别命名为cmdOpenCOM 、cmdEnd并将其Caption属性修改为打开通讯端口、结束。

放置一个MSComm控件。

放置一个包含16个元素的Image数组,索引值0-15,并将其命名为imgOut。

放置两个图片,分别为ON、OFF。此图片由教师提供。

放置一个标签。命名为lblMsg。

现在所建立的窗体应该如下图所示。

添加程序代码:

Option Explicit

'声明记录16个数字输出状态的数组变量

Dim RelayStatus(1 To 16) As Boolean

Private Sub cmdEnd_Click()

End

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'单击【打开通信端口】按钮后触发此事件

'将MSComm控件的参数设置好,并打开

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub cmdOpenCOM_Click()

'校验是否开关通信端口

If cmdOpenCOM.Caption = "关闭通信端口" Then

MSComm1.PortOpen = False

cmdOpenCOM.Caption = "打开通信端口"

Exit Sub

End If

MSComm1.Settings = "9600,n,8,1" '设置通信参数

MSComm1.PortOpen = True '打开通信端口cmdOpenCOM.Caption = "关闭通信端口"

lblMsg.Caption = "可按下ON-OFF开关,执行继电器的控制工作。" Exit Sub

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'窗体的Load事件

'输入图形暂时设为灰色,表示无状态信息进入

'将通信端口号码及站号输入Combo控件;并默认两者的选项是第一个''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub Form_Load()

Dim i%

For i = 0 To 15

imgOut(i).Picture = imgOFF.Picture

Next i

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'当代表数字输出的Image控件被选中时触发此事件

'将被选中的继电器作转态

'转态后将数字输出的决定送至模块执行

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub imgOut_Click(Index As Integer)

Dim Buf$, RLOutA%, RLOutB%, i%

'将记录转态,并改变ON.OFF按钮的显示

RelayStatus(Index + 1) = Not RelayStatus(Index + 1)

If RelayStatus(Index + 1) Then

imgOut(Index).Picture = imgON.Picture

Else

imgOut(Index).Picture = imgOFF.Picture

End If

'计算输出值

RLOutA = 0

For i = 1 To 8

If RelayStatus(i) Then RLOutA = RLOutA + 2 ^ (i - 1)

Next i

'若通信端口尚未打开,不可发送数据

If cmdOpenCOM.Caption = "打开通信端口" Then Exit Sub

MSComm1.Output = "#" & "03" & "0A0" & Hex(RLOutA) & Chr(13) '组合完整的命令字符串End Sub

运行此窗体,窗体运行时如下图所示。同时7043模块上的LED指示灯应该响应点亮。

附件二:模糊规则的确立及模糊控制器的设计举例

控制系统,如下图所示。

下图为本次实验模糊控制器框图

模糊控制器

2. 确定模糊控制器的输入变量和输出变量(即控制量)

在计算机控制实验中,我们已经用过7017、7024作为输入输出通道,本次实验中仍采用7017和7024。其中:7017信号规格1-5V DC,对应液位0-450 mm;7024信号规格4-20 mA,对应阀开度0-100%。本次实验所确立的系统为单变量系统(SISO),输入量为E(偏差),输出量为U(模糊控制器的输出,即阀开度)。

3. 精确量的模糊化方法

由于采集到计算机中的变量为精确值,需要模糊化处理,变为模糊量。本次实验可采用变量取整的方法进行模糊化。

误差的基本论域为[-12,12],输出的基本论域为[-6,6]。

描述输入变量和输出变量的语言值的模糊子集为{NB,NS,O,PS,PB}。设误差e的论域为X,并将误差大小量化为7个等级,分别表示为–3,-2,-1,0,+1,+2,+3,则有X={–3,-2,-1,0,+1,+2,+3}。

选择控制量u的论域为Y,并同X一样也把控制量的大小化为7个等级,即:Y={–3,

4. 模糊规则的语言描述

if e=NB then u=PB; if e=NS then u=PS; if e=O then u=O; if e=PS then u=NS

if e=PB then u=NB

5. 模糊控制规则的矩阵形式

模糊规则其实施一组多重条件语句,模糊关系用R 表示。即:

R=(NB e ×PB u )+(NS e ×PS u )+(O e ×O u )+(PS e ×NS u )+(PB e ×NB u ) 可求出控制规则的矩阵表达式为:

??????

?

???????=

00

05.00

.100005.05.05.0005.05.00.15.00005.00.15.0000

5.00

.15.05.0005.05.05.0000015.00000

0R 6. 模糊决策

模糊控制器的控制作用取决于控制量,而控制量通过下面的公式进行计算。控制量u 实际上等于误差的模糊向量e 和模糊关系R 的合成。u=e o R 。例如,当e=PS 时,则有:

??????

?

???????00

005.00

.100005.05.05.0005.05.00.15.00005.00.15.0000

5.00.15.05.0005.05.05.0000015.00000

0)0,5.0,1,0,0,0,0(O =(05,0.5,1,0.5,0.5,0,0,)

7. 控制量的模糊量转化为精确量

上面求得的控制量u为一模糊向量,可以写为

u=(0.5/-3)+ (0.5/-2) + (1/-1) + (0.5/0)+(0.5/1)+(0/2)+ (0/3)+

可采用最大隶属度法、中位数判决法、加权平均判决法(重心法)等方法。其中,最大隶属度法简单易行,但缺点是它所概括的信息量较少,因为这样做完全排除了其他一切隶属度较小的元素的影响和作用。如果采用隶属度最大原则,应选取控制量为“-1”级。即当

误差e=PS时,控制量u为“-1”级。如选用重心法,则

u=(5.05.015.05.0302015.005.0)1(1)2(5.0)3(5.0++++?+?+?+?+-?+-?+-?)

=—0.667

8. 确立模糊控制器的响应表

法将模糊控制度算法添加进去。

以下内容以模糊控制电加热炉为例,学生可以从中借鉴相关知识,在VB平台开发出以液位或者流量为对象的模糊控制器。

目的:针对电加热炉温度控制的非线性、大滞后、时变性等特点,结合适于实际控制的模糊控制算法,在Visual Basic环境中设计出模糊控制器,控制过程控制实验装置上的加热锅炉,使其达到较好的控制效果。

步骤:

1:系统硬件结构的组态

构建此控制系统如下图

T

0-220V AC

其工作原理是:炉温T 通过温度检测及变送,变成电信号(1-5V ),与温度设定值进行比较,计算温度偏差e 和温度的变化率de/dt,再由模糊控制算法进行模糊推理,求得控制量u ,可控硅输出部分根据调节电加热炉的输出功率,即可改变可控硅的接通时间,使电加热炉输出温度达到理想的设定值。 2:模糊控制器的设计

a. 模糊控制器的语言变量 模糊控制器的输入语言变量可选为实际温度y 与温度设

定值

y sp 之差e =y -y sp 及其变化率△e /Ts,Ts

为采样周期;输出语言变量为控制通

过加热炉装置的电流的可控硅导通角的变化量u 。这样,就为温控系统选定了一个

双输入单输出的模糊控制器。

b. 输入语言变量偏差E 、偏差变化EC 和输出语言变量U 的隶属度函数 经过

归一化处理后,偏差、偏差变化及输出控制变化量的基本论域都为[-1,+1]。若选定E 的论域X ={-3,-2,-1,0,+1,+2,+3},则得偏差e 的量化因子GE =3/1=3。为语言变量E 选取的语言值:NB 、NM 、NS 、ZERO 、PS 、PM 、PB 。各语言值由梯形隶属度函数定义,如下图所示。

偏差变化EC 的论域Y=X ,量化因子GR=GE=3,语言变量EC 的语言值及隶属度函数均与E 相同。

输出语言变量U 的论域Z ={-3,-2,-1,0,+1,+2,+3},则输出控制量变化u 的比例因子GU =1/3=0.33。同样,语言变量U 选取的语言值:NB 、NM 、NS 、ZERO 、PS 、PM 、PB 。为计算简单起见,各语言值由单值隶属度函数定义,如下图所示。

3. 模糊控制规则表 本实验需建立一组由49条模糊条件语句构成的控制规则,将这些

表述为:

if (GE ·e) is Ei and (GC ·△e) is Eci then (GU ·△u ) is Ui I=1,2, ···,49. 通过对模糊关系的合成运算,可获取表征电加热炉温度模糊控制的总的模糊关系,进

而求得控制量U 。

4. 求取输出控制量 采用前述乘积推理,重心法解模糊算法,可求得实际输出控制量。由第i 条模糊控制规则推理得到的输出模糊集合隶属度函数为:

μUi (U )= μEi (E ) μECi (EC )

解模糊后得到精确控制量输出:

()()

∑∑==?=?49

1

49

1

1i U i i

U U U

U GU

u i

i

μμ

关于模糊控制理论的综述

物理与电子工程学院 《人工智能》 课程设计报告 课题名称关于模糊控制理论的综述 专业自动化 班级 11级3班 学生姓名郑艳伟 学号 指导教师崔明月 成绩 2014年6月18日

关于模糊控制理论的综述 摘要:模糊控制方法是智能控制的重要组成部分,本文简要回顾了模糊控 制理论的发展,详细介绍了模糊控制理论的原理和模糊控制器的设计步骤, 分析了模糊控制理论的优缺点以及模糊控制需要完善或继续研究的内容,根 据各种模糊控制器的不同特点,对模糊控制在电力系统中的应用进行了分 类,并分析了各类模糊控制器的应用效能.最后,展望了模糊控制的发展趋 势与动态. 关键词:模糊控制;模糊控制理论;模糊控制系统;模糊控制理论的发展模糊控制是以模糊集理论、模糊语言变量和模糊控制逻辑推理为基础的一种智能控制方法,从行为上模拟人的思维方式,对难建模的对象实施模糊推理和决策的一种控制方法.模糊控制作为智能领域中最具有实际意义的一种控制方法,已经在工业控制领域、电力系统、家用电器自动化等领域中解决了很多的问题,引起了越来越多的工程技术人员的兴趣. 模糊控制系统简介 模糊控制系统是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术.1965年美国的扎德[1]创立了模糊集合论, 1973 年, 他给出了模糊逻辑控制的定义和相关的定理.1974 年英国的Mamdani 首先用模糊控制语句组成模糊控制器,并把它用于锅炉和蒸汽机的控制, 在实验室获得成功, 这一开拓性的工作标志着模糊控制论的诞生. 模糊控制系统主要是模拟人的思维、推理和判断的一种控制方法, 它将人的经验、常识等用自然语言的形式表达出来, 建立一种适用于计算机处理的输入输出过程模型, 是智能控制的一个重要研究领域.从信息技术的观点来看, 模糊控制是一种基于规则的专家系统.从控制系统技术的观点来看, 模糊控制是一种普遍的非线性特征域控制器. 相对传统控制, 包括经典控制理论与现代控制理论.模糊控制能避开对象的数学模型(如状态方程或传递函数等) , 它力图对人们关于某个控制问题的成功与失败和经验进行加工, 总结出知识, 从中提炼出控制规则, 用一系列多维模糊条件语句构造系统的模糊语言变量模型, 应用CRI 等各类模糊推理方法,

模糊控制详细讲解实例

一、速度控制算法: 首先定义速度偏差-50 km/h ≤e (k )≤50km/h ,-20≤ec (i )= e (k )- e (k-1)≤20,阀值e swith =10km/h 设计思想:油门控制采用增量式PID 控制算法,刹车控制采用模糊控制算法,最后通过选择规则进行选择控制量输入。 选择规则: e (k )<0 ① e (k )>- e swith and throttlr_1≠0 选择油门控制 ② 否则:先将油门控制量置0,再选择刹车控制 0

模糊控制的优缺点

模糊控制的优缺点

————————————————————————————————作者:————————————————————————————————日期:

1.模糊控制中模糊的含义 模糊控制中的模糊其实就是不确定性。从属于该概念和不属于该概念之间没有明显的分界线。模糊的概念导致了模糊现象。 2.模糊控制的定义 模糊控制就是利用模糊数学知识模仿人脑的思维对模糊的现象进行识别和判断,给出精确的控制量,利用计算机予以实现的自动控制。 3.模糊控制的基本思想 模糊控制的基本思想:根据操作人员的操作经验,总结出一套完整的控制规则,根据系统当前的运行状态,经过模糊推理,模糊判断等运算求出控制量,实现对被控制对象的控制。 4.模糊的控制的特点 不完全依赖于纯粹的数学模型,依赖的是模糊规则。模糊规则是操作者经过大量的操作实践总结出来的一套完整的控制规则。 模糊控制的对象称为黑匣(由于不知道被控对象的内部结构、机理,无法用语言去描述其运动规律,无法去建立精确的数学模型)。但是模糊规则又是模糊数学模型。 5 模糊控制的优缺点及需要解决的问题分析 5.1模糊控制的优点 (1)使用语言方便,可不需要过程的精确数学模型;(不需要精确的数学模型) (2)鲁棒性强,适于解决过程控制中的非线性、强耦合时变、

滞后等问题;鲁棒性即系统的健壮性。 (3)有较强的容错能力。具有适应受控对象动力学特征变化、环境特征变化和动行条件变化的能力; (4)操作人员易于通过人的自然语言进行人机界面联系,这些模糊条件语句容易加到过程的控制环节上。 5.2模糊控制的缺点 (1)信息简单的模糊处理将导致系统的控制精度降低和动态品质变差; (2)模糊控制的设计尚缺乏系统性,无法定义控制目标。 6.模糊数学 模糊数学就是利用数学知识研究和解决模糊现象。在数学和模糊现象之间架起了一座桥梁。 6.1模糊集合的概念 每一个概念都有内涵和外延。 内涵就是指概念的本质属性的集合。外延就是符合某种本质属性的全体对象的集合。 模糊数学的基础就是模糊理论集。 在模糊集合设计到的论域U 上,给定了一个映射A,A :U →[0,1] ,)(x x A μ ,则称A 为论域U 上的模糊集合或者模糊子集; )(x A μ表示U 中各个元素x 属于集合A 的程度,称为元素x 属于模糊集合A 的隶属函数。当x 是一个确定的0x 时,称)(0x A μ为元素0x 对于模糊集合A 的隶属 度。 F 集合引出的几个概念

模糊控制详细讲解实例之欧阳歌谷创作

一、速度控制算法: 欧阳歌谷(2021.02.01) 首先定义速度偏差-50 km/h≤e(k)≤50km/h,-20≤ec(i)=e(k)-e(k-1)≤20,阀值eswith=10km/h 设计思想:油门控制采用增量式PID控制算法,刹车控制采用模糊控制算法,最后通过选择规则进行选择控制量输入。 选择规则: e(k)<0 ①e(k)>-eswith and throttlr_1≠0 选择油门控制 ②否则:先将油门控制量置0,再选择刹车控制 0

E/EC和U取相同的隶属度函数即: 说明:边界选择钟形隶属度函数,中间选用三角形隶属度函数,图像略 实际EC和E输入值若超出论域范围,则取相应的端点值。 3.模糊控制规则 由隶属度函数可以得到语言值隶属度(通过图像直接可以看出)如下表: 表1:E/EC和U语言值隶属度向量表 设置模糊规则库如下表: 表2:模糊规则表 3.模糊推理 由模糊规则表3可以知道输入E与EC和输出U的模糊关系,这里我取两个例子做模糊推理如下: if (E is NB) and (EC is NM) then (U is PB) 那么他的模糊关系子矩阵为:

模糊控制规则表生成程序

模糊控制规则表生成程序 %偏差E的赋值表 E=[1.0 0.8 0.7 0.4 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.7 1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.3 0.7 1.0 0.7 0.2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.6 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.6 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.7 1.0 0.7 0.3 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.7 1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.4 0.7 0.8 1.0]; %偏差变换率EC的赋值表 Ec=[1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0]; %输出U的赋值表 u=[1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0 0.7 0.3 0.0 0.0

模糊控制的应用实例与分析

模糊控制的应用 学院实验学院 专业电子信息工程 姓名 指导教师___________ 日期20门年9月20日 在自动控制中,包括经典理论和现代控制理论中有一个共同的特点,即控制器的综合设计都要建立在被控对象准确的数学模型(如微分方程等)

的基础上,但是在实际工业生产中,很多系统的影响因素很多,十分复杂。建立精确的数学模型特别困难,甚至是不可能的。这种情况下,模糊控制的诞生就显得意头重大,模糊控制不用建立数学模型,根据实际系统的输入输出的结果数据,参考现场操作人员的运行经验,就可对系统进行实时控制。模糊控制实际上是一种非线性控制,从属于智能控制的范畴。现代控制系统中的的控制能方便地解决工业领域常见的非线性、时变、在滞后、强耦合、变结构、结束条件苛刻等复杂问题。可编程控制器以其高可靠性、编程方便、耐恶劣环境、功能强大等特性很好地解决了工业控制领域普遍关心的可靠、安全、灵活、方便、经济等问题,这两者的结合,可在实际工程中广泛应用。 所谓模糊控制,其定义是是以模糊数学作为理论基础,以人的控制经验作为控制的知识模型,以模糊集合、模糊语言变量以及模糊逻辑推理作为控制算法的一种控制。模糊控制具有以下突出特点: ⑴模糊控制是一种基于规则的控制,它直接采用语言型控制规则,出发点 是现场操作人员的控制经验或相关专家的知识,在设计中不需要建立被控对象的精确的数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用 ⑵由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控 制对那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用。

⑶基于模型的控制算法及系统设计方法,由于出发点和性能指标的不同, 容易导致较大差异;但一个系统语言控制规则却具有相对的独立性,利用这些控制规律间的模糊连接,容易找到折中的选择,使控制效果优于常规控制器。 ⑷模糊控制是基于启发性的知识及语言决策规则设计的,这有利于模拟人 工控制的过程和方法,增强控制系统的适应能力,使之具有一定的智能水平。 ⑸模糊控制系统的鲁棒性強,干扰和参数变化对控制效果的影响被大大减 弱,尤其适合于非线性、时变及纯滞后系统的控制。 由于有着诸多优点,模糊理论在控制领域得到了广泛应用。下面我们就以下示例介绍模糊控制在实际中的应用: 电机调速控制系统见图1,模糊控制器的输入变量为实际转速与转速给定值之间的差值e及其变化率仝,输出变量为电机的电压变化量u。图2为电机调试输出结果,其横坐标为时间轴,纵坐标为转速。当设定转速为2 OOOr / s时,电机能很快稳定运行于2 OOOr / s;当设定转速下降到1 OOOr / s时,转速又很快下降到1 OOOr / s稳定运 行。

模糊控制器的设计知识讲解

模糊控制器的设计 一、 PID 控制器的设计 我们选定的被控对象的开环传递函数为3 27 ()(1)(3)G s s s = ++,采用经典 的PID 控制方法设计控制器时,由于被控对象为零型系统,因此我们必须加入积分环节保证其稳态误差为0。 首先,我们搭建simulink 模型,如图1。 图1simulink 仿真模型 由于不知道Kp ,Kd ,Ki ,的值的大致范围,我们采用signal constraints 模块进行自整定,输入要求的指标,找到一组Kp ,Kd ,Ki 的参数值,然后在其基础上根据经验进行调整。当选定Kp=2,Kd=0.95,Ki=0.8时,可以得到比较好的响应曲线。调节时间较短,同时超调量很小。响应曲线如图2所示。 图2 PID 控制响应曲线

将数据输出到工作空间,调节时间ts =2.04s ,超调量%0σ=。可以看出,PID 控制器的调节作用已经相当好。 二、 模糊控制器的设计 1、模糊控制器的结构为: 图3 模糊控制器的结构 2、控制参数模糊化 控制系统的输入为偏差e 和偏差的变化率ec ,输出为控制信号u 。首先对他们进行模糊化处理。 量化因子的计算max min ** max min x x k x x -= - 比例因子的计算**max min max min u u k u u -=- 其中,*max x ,* min x 为输入信号实际变化范围的最大最小值;max x ,min x 为输入信号论域的最大最小值。*max u ,* min u 为控制输出信号实际变化范围的最大最小 值,max u ,min u 输出信号论域的最大最小值。 相应的语言值为NB ,NM ,NS ,ZO ,PS ,PM ,PB 。分别表示负大、负中、负小、零、正小、正中、正大。 3、确定各模糊变量的隶属函数类型 语言值的隶属度函数就是语言值的语义规则,可分为连续式隶属度函数和离散化的隶属度函数。本系统论域进行了离散化处理,所以选用离散量化的隶属度函数。

模糊控制程序实例学习资料

5.2.2.6 模糊控制器设计实例 1、单输入模糊控制器的设计 【例5.12】已知某汽温控制系统结构如图5.10所示,采用喷水减温进行控制。设计单输入模糊控制器,观察定值扰动和内部扰动的控制效果。 R = 图5.10 单回路模糊控制系统 按表5-2确定模糊变量E 、U 的隶属函数,按表5-3确定模糊控制规则,选择温度偏差e 、控制量u 的实际论域:[ 1.5,1.5]e u =∈-,则可得到该系统的单输入模糊控制的仿真程序如FC_SI_main.m 所示,仿真结果如图5.11所示。 设温度偏差e 、控制量u 的实际论域:[ 1.5,1.5]e u =∈-,选择e 、u 的等级量论域为 {3,2,1,0,1,2,3}E U ==---+++ 量化因子2) 5.1(5.13 2=--?= K 。 选择模糊词集为{NB,NS,ZO,PS,PB },根据人的控制经验,确定等级量E ,U 的隶属函数曲线如图5-8 所示。根据隶属函数曲线可以得到模糊变量E 、U 的赋值表如表5-3所示。 图5-8 E ,U 的隶属函数曲线 -3 -2 -1 1 2 3

依据人手动控制的一般经验,可以总结出一些控制规则,例如: 若误差E 为O ,说明温度接近希望值,喷水阀保持不动; 若误差E 为正,说明温度低于希望值,应该减少喷水; 若误差E 为负,说明温度高于希望值,应该增加喷水。 若采用数学符号描述,可总结如下模糊控制规则: 若E 负大,则U 正大; 若E 负小,则U 正小; 若E 为零,则U 为零; 若E 正小,则U 负小; 若E 正大,则U 负大。 写成模糊推理句: if E=NB then U=PB if E=NS then U=PS if E=ZO then U=ZO if E=PS then U=NS if E=PB then U=NB 由上述的控制规则可得到模糊控制规则表,如表5-4所示。 表5-4 模糊控制规则表 模糊控制规则实际上是一组多重条件语句,它可以表示从误差论域E 到控制量论域U 的模糊关系R 。 按着上述控制规则,可以得到该温度偏差与喷水阀门开度之间的模糊关系R : ()()()()() E U E U E U E U E U R E U NB PB NS PS ZO ZO PS NS PB NB - - =?=?????U U U U 计算模糊关系矩阵R 的子程序如F_Relation_1.m 所示。 %模糊关系计算子程序F_Relation_1.c function [R,mfe,mfu,ne,nu,Me]=F_Relation_1 %#############################输入模糊变量赋值表(表5-3)############################ ne=7;%等级量e 的个数 nu=7;%等级量u 的个数 Me=[0 0 0 0 0 0.5 1;0 0 0 0 1 0.5 0;0 0 0.5 1 0.5 0 0; 0 0.5 1 0 0 0 0;1 0.5 0 0 0 0 0]; Mu=Me; %##定义模糊变量及其语言值 1=PB,2=PS,3=O,4=NS,5=NB ,并输入模糊控制规则表(表5-4)## mfc=5;%模糊变量E 的语言值个数,控制规则表列数

模糊控制

1、 由于s12xs没有了模糊指令,使单片机运用模糊控制增加了不少难度,但经过研究发现,还是可以通过matlab接口来实现的,本人也在努力中,希望有更多的人来共同研究~ 对于实际模糊控制系统,由于在高级语言中模糊控制程序的实现比较复杂,因 此引入模糊控制存在一定的困难,程序代码的过于复杂也会严重影响模糊控制系 统的开发周期。而Matlab 系统及其工具箱中提供了一些能够独立完成某些Matlab 功能的C/C++库函数,这些库函数可以直接应用到C/C++平台中,脱离系统完成 Matlab 某些功能,极大的方便了实际应用。Matlab Fuzzy Logic 工具箱的独立C 代码就是一个这样的C 语言库[1]。 独立的C 代码模糊推理引擎函数库fis.c 位于Matlab 目录下的 toolbox\fuzzy\fuzzy 目录中,它包含了在C 语言环境下调用Matlab Fuzzy Logic 工具箱建立的模糊推理系统的数据文件(*.fis)进行模糊逻辑推理的一系列C 函 数,其基本原理是利用C 代码实现Matlab 中的模糊推理系统(FIS)功能。该目录 下还有一个C 代码程序fismain.c,它实际上是利用fis.c 库函数来实现模糊推理系 统的一个实例。 正确地熟悉了fis.c 库函数中的函数定义,在应用程序中正确调用,即可实 现模糊推理系统功能。例如,从Matlab 的模糊推理系统文件(*.fis)读入系统数据, 可用下面的语句:fisMatrix=returnFismatrix(fis_file,&fis_row_n,&fis_col_n);建立基于C 代码的模糊推理系统,可用下面的语句: fisBuildFisNode(fis,fisMatrix,fis_col_n,MF_POINT_N)。 但是需要说明的是,在独立C代码函数库fis.c 中只定义了Matlab Fuzzy Logic 工具箱的11 种隶属函数以及AND、OR、IMP 和AGG 四种逻辑操作函数。所以 在利用Matlab 的模糊逻辑工具箱建立用于独立C 代码引擎的模糊推理系统时, 不允许采用自定义的隶属度函数和逻辑操作函数来设计系统,除非修改fis.c 函 数库[2]。 设计基于独立的C 代码模糊推理引擎的模糊控制程序主要有以下两个步骤: (1) 利用Matlab 的模糊逻辑工具箱建立一个模糊推理系统,并将系统存 为扩展名为fis 的数据文件。注意只能使用Matlab 定义的隶属度函数 和逻辑操作函数, (2) 在C 语言应用程序中实现Matlab 中定义的模糊推理系统功能。两者之间的接 口就是独立C 代码模糊推理引擎函数库fis.c。 2、 基于S12的模糊控制调试心得 小可不才在博客发了一篇有关S12的模糊控制的日志(《MC9S12DG128模糊控制崩溃之旅》)。并跟一些志同道合的网友展开了较为深入的讨论。现应部分网友同仁的要求将我调试成功的心得体会写在如下,由于本人也只是懂得一些皮毛,而且有很多问题并未深究,难免有不妥或错误之处,还请各位包涵并指正,谢谢! 在此以飞思卡尔智能小车的方向控制为例,文中可能会提到一些变量,但不会对该变量作深入的探究,敬请原谅!

LabVIEW的模糊控制系统设计(DOC 8页)

LabVIEW的模糊控制系统设计(DOC 8页)

基于LabVIEW的模糊控制系统设计 摘要 本文以LabVIEW为开发环境进行设计模糊控制器,将设计出的模糊控制器应用到温度控制系统中,实现了在有干扰作用的情况下对烤箱温度的控制,取得较好的控制效果。 关键词:虚拟仪器模糊控制热电偶Abstract This paper is design issue is the use of LabVIEW fuzzy control, through the design of fuzzy control procedures to control the plant (oven) temperature. Finally, it comes ture control the temperature of oven even if there has disturb. Keywords: 1引言 虚拟仪器(LabVIEW),就是在以通用计算机为核心的硬件平台上,由用户设计定义虚拟面板,测控功能由软件实现的一种计算机仪器系统。虚拟仪器的实质是利用计算机显示器的显示功能来模拟传统的控制面板,以多种形式表达输出结果,利用计算机强大的软件功能实现数据的运算、分析、处理和保存,利用I/O接口设备完成信号采集、测量与控制。 模糊控制的基本思想是利用计算机来实现人的控制经验,而这些经验多是用语言表达的具有相当模糊性的控制规则。因为引入了人类的逻辑思维方式,使得模糊控制器具有一定的自适应控制能力,有很强的鲁棒性和稳定性,因而特别适用于没有精确数学模型的实际系统。 本文将模糊控制的基本思想应用到基于虚拟仪器的温度控制系统中。通过热电偶测量烤箱实际温度,与给定值比较。当测量温度与设定温度之间存在较大的偏差(e≥6℃)时,定时器产生占空比较大的脉冲序列,全力加热。当系统温度与设定温度之间偏差小于6摄氏度,采用模糊控制算法。模糊控制器根据误差和误差变化率,经过模糊推理输出脉冲序列的占空比的大小,经过固态继电器控制烤箱电源得通断,从而实现对烤箱温度的控制。 2系统组成

模糊控制算法c程序

由于项目需要,需要模糊控制算法,之前此类知识为0,经过半个多月的研究,终于有的小进展。开始想从强大的互联网上搜点c代码来研究下,结果搜遍所有搜索引擎都搜不到,以下本人从修改的模糊控制代码,经过自己修改后可在,运行!输入e表示输出误差,ec表示误差变化率,经过测试具有很好的控制效果,对于非线性系统和数学模型难以建立的系统来说有更好的控制效果!现将其公开供大家学习研究! #include <> #include"" #define PMAX 100 #define PMIN -100 #define DMAX 100 #define DMIN -100 #define FMAX 100 /*语言值的满幅值*/ int PFF[4]={0,12,24,48}; /*输入量D语言值特征点*/ int DFF[4]={0,16,32,64}; /*输出量U语言值特征点*/ int UFF[7]={0,15,30,45,60,75,90}; /*采用了调整因子的规则表,大误差时偏重误差,小误差时偏重误差变化*/ /*a0=,a1=,a2=,a3= */ int rule[7][7]={ //误差变化率 -3,-2,-1, 0, 1, 2, 3 // 误差 {-6,-6,-6,-5,-5,-5,-4,}, // -3 {-5,-4,-4,-3,-2,-2,-1,}, // -2 {-4,-3,-2,-1, 0, 1, 2,}, // -1 {-4,-3,-1, 0, 1, 3, 4,}, // 0 {-2,-1, 0, 1, 2, 3, 4,}, // 1 { 1, 2, 2, 3, 4, 4, 5,}, // 2 { 4, 5, 5, 5, 6, 6, 6}}; // 3 /**********************************************************/ int Fuzzy(int P,int D) /*模糊运算引擎*/ { int U; /*偏差,偏差微分以及输出值的精确量*/ unsigned int PF[2],DF[2],UF[4]; /*偏差,偏差微分以及输出值的隶属度*/ int Pn,Dn,Un[4]; long temp1,temp2; /*隶属度的确定*/ /*根据PD的指定语言值获得有效隶属度*/

模糊控制器设计的基本方法

第5章 模糊控制器设计的基本方法 5.1 模糊控制器的结构设计 结构设计:确定输入、输出变量的个数(几入几出)。 5.2 模糊控制规则设计 1. 语言变量词集 {}PB PM PS O NS NM NB ,,,,,, 2. 确立模糊集隶属函数(赋值表) 3. 建立模糊控制规则,几种基本语句形式: 若A 则B c R A B A E =?+? 若A 则B 否则C c R A B A C =?+? 若A 或B 且C 或D 则E ()()R A B E C D E =+?+????????? 4. 建立控制规则表 5.3 模糊化方法及解模糊化方法 模糊化方法 1. 将[]b a ,内精确量离散化为[]n n +-,内的模糊量 2. 将其区间精确量x 模糊化为一个单点集,即0)(,1)(==x x μμ 模糊推理及非模糊化方法 1. MIN-MAX ——重心法 11112222n 00R and R and R and and '? n n n A B C A B C A B C x y c →→→→= 三步曲: 取最小 1111'()()()()c A o B o C z x y z μμμμ=∧∧ 取最大 12''''()()()()n c c c c z z z z μμμμ=∨∨∨ 2. 最大隶属度法 例: 10.3 0.80.5 0.511234 5 C =+----- +++,选3-=*u

20.30.80.40.21101234 5 C =+ +++ + ,选 5.12 21=+=*u 5.4 论域、量化因子及比例因子选择 论域:模糊变量的取值范围 基本论域:精确量的取值范围 误差量化因子:e e x n k /= 比例因子:e y k u u /= 误差变化量化因子:c c x m k /= 5.5 模糊控制算法的流程 m j n i C u B EC A E ij j i ,,2,1;,,2,1 then then if ===== 其中 i A 、 j B 、ij C 是定义在误差、误差变化和控制量论域X 、Y 、Z 上的模糊集合,则该语句所表示的模糊关系为 j i ij j i C B A R ,??= m j n i j i C B A R z y x z y x ij j i ===== ,1 ,1)()()(),,(μμμ μ 根据模糊推理合成规则可得:R B A U )(?= Y y X x B A R U y x z y x z ∈∈=)()(),,()(μμμμ 设论域{}{}{}l m n z z z Z y y y x x x X ,,,,,,,Y ,,,,212121 ===,则X ,Y ,Z 上的模糊集合分别为一个n ,m 和l 元的模糊向量,而描述控制规则的模糊关系R 为一个m n ?行l 列矩阵。 由i x 及i y 可算出ij u ,对所有X ,Y 中元素所有组合全部计算出相应的控制量变化值,可写成矩阵()ij n m u ?,制成的表即为查询表或称为模糊控制表。 * 模糊控制器设计举例(二维模糊控制器) 1. 结构设计:二维模糊控制器,即二输入一输出。 2. 模糊控制规则:共21条语句,其中第一条规则为 t h e n o r and or if :1 PB u NM NB EC NM NB E R === 3. 对模糊变量E ,EC ,u 赋值(见教材中的表)

模糊控制程序设计报告

模糊控制程序设计报告 自研112班 麻世博 2201100387 题目:已知被控对象为0.51()101 s G s e s ?=+。假设系统给定为阶跃值r =30,采样时间为0.5s ,系统的初始值r(0)=0。试分别设计: (1)常规的PID 控制器; (2)常规的模糊控制器; 分别对上述2种控制器进行Matlab 仿真,并比较控制效果 解答: 1 常规PID 控制器的设计与SIMULINK 仿真 如图1所示,使用SIMULINK 工具对已知系统的PID 控制系统进行仿真。 图1 PID 控制系统的SIMULIK 仿真 其中PID 控制器为离散型,采样时间T=0.5s ,参数P=14,I=3,D=0。阶跃信号幅值为30,被控对象传递函数为0.51()101 s G s e s ?=+。 该系统的阶跃响应如图2。

图2 PID控制系统的输出 该控制系统上升时间T r=1.5s,调节时间T s=8s,超调量σ%=70%,没有稳态误差。 该系统中PID控制器的输出曲线如图3。 图3 PID控制器的输出曲线 输出最大值为465,最小值为-208。 2 模糊控制器的设计 在本文中,我通过MATLAB提供的模糊逻辑工具箱(Fuzzy Logic Toolbox)编辑隶属函数、控制规则,设计了一个双输入单输出的模糊控制器,如下图所示。

图4 模糊控制器概览 2.1 隶属度函数的确立。 选择偏差E和偏差变化率EC作为控制器的输入,控制量U为输出。取E、EC和U的模糊子集为{NB, NM, NS, ZO, PS, PM, PL} ,它们的论域为{-3, -2, -1, 0, 1, 2, 3}。在 MATLAB的命令窗口输入命令Fuzzy,进入模糊逻辑编辑窗口。取输入量E、EC的隶属函数为高斯型(gaussmf),输出U的隶属函数为三角形(trimf),如下图所示。 图5 输入模糊变量E的隶属度函数

模糊控制优缺点

4模糊控制的优缺点及需要解决的问题分析 4. 1模糊控制的优点 ( 1) 使用语言方法, 可不需要过程的精确数学模型; ( 2) 鲁棒性强, 适于解决过程控制中的非线性、强耦合时变、滞后等问题; ( 3) 有较强的容错能力。具有适应受控对象动力学特征变化、环境特征变化和动行条件变化的能力; ( 4) 操作人员易于通过人的自然语言进行人机界面联系, 这些模糊条件语句容易加到过程的控制环节上。 4. 2模糊控制的缺点 ( 1) 信息简单的模糊处理将导致系统的控制精度降低和动态品质变差; ( 2) 模糊控制的设计尚缺乏系统性, 无法定义控制目标。 4. 3模糊控制理论需解决的问题 模糊控制理论经过近几十年的发展, 已经得到了广泛的应用。但模糊控制理论也还存在一些不足, 还有一些亟待解决的问题, 归纳如下: ( 1) 要揭示模糊控制器的实质和工作机理, 解决稳定性和鲁棒性理论分析的问题。 2) 很多应用和经验表明, 模糊控制的鲁棒性优于传统控制策略。但模糊控制和传统控制的鲁棒性的对比关系究竟是怎么样, 尚缺少理论分析和数学推导方面的比较。

( 3) 模糊控制规则和隶属度函数的获取与确定是模糊控制中的?瓶颈&问题。目前模糊控制规则中模糊子集的一般选取都是以下3种: e= {负大, 负小, 零, 正小, 正大} = {NB, NS, ZO, PS, PB }或e =负大, 负中, 负小, 零, 正小, 正中, 正大= { NB, NM,NS, ZO, PS, PM, PB}或e= {负大, 负中, 负小, 零负,零正, 正小, 正中, 正大} = {NB, NM, NS, NZ, PZ, PS,PM, PB}, 而隶属度函数通常选用的为三角隶属度函数, 以第3种模糊子集为例, 对应的隶属函数如图3示。而规则中模糊子集及隶属度函数的选择大多数取决于经验, 缺少相应的理论根据。 ( 4) 在多变量模糊控制中, 需要对多变量耦合和?维数灾&问题进行研究, 这些问题的解决与否将是多变量模糊控制能否广 泛应用的关键。 图3模糊化子集和模糊化等级 5模糊控制的发展趋势 模糊控制的发展大致有以下几个方向: ( 1) 复合模糊控制器。继续研究模糊控制和PID 控制器、变节

基于MATLAB的模糊控制系统设计

实验一基于MATLAB的模糊控制系统设计 1.1实验内容 (1)基于MATLAB图形模糊推理系统设计,小费模糊推理系统; (2)飞机下降速度模糊推理系统设计; (3)水箱液位模糊控制系统设计及仿真运行。 1.2实验步骤 1小费模糊推理系统设计 (1)在MATLAB的命令窗口输入fuzzy命令,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Madmdani模糊推理系统。 (2)增加一个输入变量,将输入变量命名为service、food,输出变量为tip,这样建立了一个两输入单输出模糊推理系统框架。 (3)设计模糊化模块:双击变量图标打开Membership Fgunction Editor 窗口,分别将两个输入变量的论域均设为[0,10],输出论域为[0,30]。 通过增加隶属度函数来进行模糊空间划分。 输入变量service划分为三个模糊集:poor、good和excellent,隶属度函数均为高斯函数,参数分别为[1.5 0]、[1,5 5]和[1.5 10]; 输入变量food划分为两个模糊集:rancid和delicious,隶属度函数均为梯形函数,参数分别为[0 0 1 3]和[7 9 10 10]; 输出变量tip划分为三个模糊集:cheap、average和generous,隶属度函数均为三角形函数,参数分别为[0 5 10]、[10 15 20]和[20 25 30]。

(4)设置模糊规则:打开Rule Editor窗口,通过选择添加三条模糊规则: ①if (service is poor) or (food is rancid) then (tip is cheap) ②if (service is good) then (tip is average) ③if (service is excellent) or (food is delicious) then (tip is generous) 三条规则的权重均为 1.

选取一个模糊控制的实例讲解

选取一个模糊控制的实例讲解,有文章,有仿真,有详细的推导过程。 一.实验题目:基于模糊控制系统的单级倒立摆 二.实验目的与要求: 倒立摆是联结在小车上的杆,通过小车的运动能保持竖立不倒的一种装置,它是一个典型的非线性、快速、多变量和自然不稳定系统,但是我们可以通过对它施加一定的控制使其稳定。对它的研究在理论上和方法上都有其重要意义。倒立摆的研究不仅要追求增加摆的级数,而且更重要的是如何发展现有的控制方法。同时, 它和火箭的姿态控制以及步行机器 人的稳定控制有很多相似之处,由此研究产生的理论和方法对一般工业过程也有广泛用途。 本文研究了倒立摆的控制机理,用Lagrange 方法推导了一级倒立摆的数学模型,这为研究多级和其它类型的倒立摆甚至更高层次的控制策略奠定了一个良好的基础。对系统进行了稳定性、可控性分析,得出倒立摆系统是一个开环不稳定但可控的系统的结论。 本文主要研究用极点配置、最优控制和模糊控制方法对倒立摆进行稳定控制。最优控制方法是基于状态反馈,但能实现输出指标最优的一种控制方法,方法和参数调节较简单,有着广泛的应用。模糊控制有不依赖于数学模型、适用于非线性系统等优点,所以本文尝试了用模糊控制对倒立摆进行控制,以将先进的控制方法用于实际中。 同时,对倒立摆系统的研究也将遵循从建模到仿真到实控,软硬件结合的系统的控制流程。在这过程中,借助数学工具Matlab7及仿真软件Simulink,作了大量的仿真研究工作,仿真结果表明系统能跟踪输入,并具有较好的抗干扰性。最后对实验室的倒立摆装置进行了软、硬件的调试,获得了较好的控制效果。 三.实验步骤: 1.一级倒立摆系统模型的建立 在忽略了空气阻力、各种摩擦之后(这也是为了保证Lagrange 方程的建立),可 将一级倒立摆系统抽象为由小车和匀质杆组成的系统,本系统设定如下: 小车质量M;摆杆质量m,长为l;小车在x 轴上移动;摆与竖直方向夹角为θ,规定正方向如图所示;加在小车x 轴上的力为F;

模糊控制程序实例

5.2.2.6模糊控制器设计实例 1、单输入模糊控制器的设计 【例5.12】已知某汽温控制系统结构如图 5.10所示,采用喷水减温进行控制。设计单输入模糊控 制器,观察定值扰动和内部扰动的控制效果。 图5.10单回路模糊控制系统 按表5-2确定模糊变量E U的隶属函数,按表5-3确定模糊控制规则,选择温度偏差e、控制量u 的实际论域:e =u € [ —1.5,1.5],则可得到该系统的单输入模糊控制的仿真程序如FC_SI_main.m所示,仿真结果如图5.11所示。 设温度偏差e、控制量u的实际论域:e = u ? [-1.5,1.5],选择e、u的等级量论域为 E =U ={-3^2,-1,0, 1, 2, 3} 2汇3 量化因子K 1 2。 1.5 -(-1.5) 选择模糊词集为{NB,NS,ZO,PS,PB},根据人的控制经验,确定等级量E,U的隶属函数曲线如图 5-8所示。根据隶属函数曲线可以得到模糊变量E、U的赋值表如表5-3所示。 图5-8 E, U的隶属函数曲线

依据人手动控制的一般经验,可以总结出一些控制规则,例如: 若误差E为0,说明温度接近希望值,喷水阀保持不动;若误差明温度低于希望值,应该减少喷水; 若误差明温度高于希望值,应该增加喷水。 若采用数学符号描述,可总结如下模糊控制规则: 若E负大,则U正大; 若E负小,贝U U正小; 若E为零,则U为零; 若E正小,则U负小; 若E正大,则U负大。 写成模糊推理句: if E=NB then U=PB if E=NS then U=PS if E=Z0 then U=Z0 if E=PS then U=NS if E=PB then U=NB 由上述的控制规则可得到模糊控制规则表,如表5-4所示。 模糊控制规则实际上是一组多重条件语句,它可以表示从误差论域旦到控制量论域U的模糊关系R。 按着上述控制规则,可以得到该温度偏差与喷水阀门开度之间的模糊关系R: R=E U =(NB E PB U)U(NS E PS U)U(Z0E Z0U)U(PS E NS U)U(PB E NB U) 计算模糊关系矩阵R的子程序如F_Relation_1.m 所示。

模糊控制发展前景分析

《冶金自动化工程案例分析》课程论文 模糊控制的发展前景分析 电子与信息工程学院 自动化094班 张宇 120093101091

模糊控制的发展前景分析 电子与信息工程学院自动化094班张宇 摘要:模糊控制方法是智能控制的重要组成部分。本文简要介绍了模糊控制的概念和特点,并对模糊控制的原理作了说明,较详细的介绍了对于常规模糊控制方 法的改进,包括Fuzzy-PIS复合控制、三位模糊控制器、Smith-Fuzzy控制器、专家模糊控制器等,对模糊控制系统与传统PID控制作了简单比较,最后对模糊控制的优缺点进行分析并对模糊控制未来发展作出了展望。 关键字:模糊控制;原理;模糊PID控制;展望; 一.模糊控制简介 模糊控制是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术。模糊控制主要是模拟人的思维、推理和判断的一种控制方法, 它将人的经验、常识等用自然语言的形式表达出来,建立一种适用于计算机处理的输入输出过程模型,是智能控制的一个重要研究领域。从信息技术的观点来看, 模糊控制是一种基于规则的专家系统。从控制系统技术的观点来看, 模糊控制是一种普遍的非线性特征域控制器。 模糊控制作为智能领域中最具有实际意义的一种控制方法,已经在工业控制领域、家用电器自动化领域和其他很多行业中解决了传统控制方法无法或者是难以解决的问题,取得了令人瞩目的成效,引起了越来越多的控制理论的研究人员和相关领域的广大工程技术人员的极大兴趣。 相对传统控制,包括经典控制理论与现代控制理论。模糊控制能避开对象的数学模型( 如状态方程或传递函数等),它力图对人们关于某个控制问题的成功与失败和经验进行加工, 总结出知识,从中提炼出控制规则,用一系列多维模糊 条件语句构造系统的模糊语言变量模型, 应用CRI等各类模糊推理方法,可以得 到适合控制要求的控制量, 可以说模糊控制是一种语言变量的控制。 二. 模糊控制的原理 基本模糊控制系统包括模糊化处理、模糊推理和清晰化控制三个环节。 图1模糊控制系统框图 模糊化处理就是将模糊控制器输入量的确定值转换为相应模糊语言变量值的过程, 此相应语言变量值均由对应的隶属度来定义。通过这样一个把输入变量映射到合适的响应论域量程的过程,精确的输入数据就变换成适当的语言值或模

相关主题
文本预览
相关文档 最新文档