基于Matlab的发动机悬置振动的主动控制的计算机仿真(部分截取)
时间:2023-06-21 20:07:00
主动控制仿真的目的是:
(l)通过计算机仿真分析,确定主动控制系统。
化控制系统参数,使控制效果达到期望的水平。
(2)确定控制算法。通过计算机仿真分析比较各种控制算法,
选择合适的控制算法。
图5-14 仿真过程
在找到控制器参数后,通常需要
MATLAB
为了分析系统,在环境中进行系统仿真。MATLAB
环境后,
键入SIMULINK
命令打开相应的系统模型库。输入控制系统模型,获取
SIMULINK
输入模拟参数后,可以模拟系统中描述的控制系统。
控制器的设计,仅仅靠人工计算、分析,要耗费很大的精力,并且设计效果
不太理想。MATLAB
复杂数学的出现使复杂数学足算通过MATLAB 来完成,
并且MATLAB
内部有许多控制工具箱,如控制系统工具箱,信号处理工具
箱、系统识别工具箱等,这些工具箱的出现,既提高了设计效率,又提高了设计效率
设计的准确性。
MATLAB/SIMULINK 主要特点
SIMULNK
它是一个软件包,用于建模、模拟和分析动态系统
持连续、离散及两者混合的线性和非线性系统,也支持具有多种采样速率的
多速系统。主要有以下9 个特点:
1.具有模拟和连接功能
所需的控制系统模型可以使用鼠标器在模型窗口上绘制,然后使用软
零件提供的功能直接模拟系统,使非常复杂的系统输入相当复杂
容易。
2.用方框图建模
采用此结构画模型就像用笔和纸来画一样容易,与普通的利用微分方程
或差分方程建模具有直观、方便、灵活等优点。
3.建模具有递阶结构
建模时,用户可以使用自上而下或自下而上的结构来建立模型
可以从最高级别开始观看模型,然后用鼠标双击子系统模块查看
一级内容,让用户了解整个模型的细节。
4、仿真方便
有两种模拟方法,第一种是通过simulation
菜单直接点击
simulation,然后再点Start
可以,非常方便快捷。第二个是MATLAB 命
将命令键入窗口进行仿真也很简单,用户可以通过屏幕观察仿真结果。
此外,如果在模拟系统中使用一些绘图模块,例如Scope
模块、 Graph Scope 模块
等待,然后直接点击模块观看模拟结果。
5.子模型库丰富
SIMULINK
包括一个庞大的结构方块图库,用户可以快速方便地对待它
无需编写任何代码程序,系统建模和模拟。SIMULINK
让你在同一个屏幕上
模拟屏幕,显示数据、输出数据和图形。
6、控制坏节
建立控制模型需要使用的环节有SIMULINK
的Discrete,Linear,Nonlinear,
Connections,Extras 共5
大模块。从离散系统到连续系统,基本包括线路
从性系统到非线性系统,将函数传输到状态空间描述等各个环节。
7.模拟信号源
模拟信号源由SIMULINK 的Sources
包括一系列信号模型的模块定义。
有:数字时钟、周期序列、信号发生器、正弦信号、阶跃信号、脉冲信号
工作区文件、工作区变量、噪声信号函数等。SIMULINK
提供的信
在大多数情况下,号源模型非常广泛和灵活,可以满足需求。
8、仿真方式
SIMULINK
可以分析和研究控制系统的动态特性。
先进的积分算法和分析函数,提供了固定步长、变步长和刚性系统等7
种积
可以分方法进行Monte-Caro
模拟。我们也可以选择模拟参数,如模拟的起止
时间,最大步长等。从系统的方块模型中获取系统的线性模型,获取系统
系统传输函数,从而分析系统的时域响应,获得控制系统的频率特性,绘制
波特图等。
SIMULINK
具有参数分析能力,改变模型中的参数,然后模拟系统
分析,寻求系统的频率响应。系统在不同参数条件下的响应,或
通过系统的开环传递函数直接绘制根轨迹,找出系统的稳定性。
9、仿真输出
仿真输出由SIMULINK 的Sinks
模块确定包括:模拟示波器、图形窗口
口、XY 图形窗口、工作区变量、文件等。SIMULINK
输出形式非常广泛。
从模拟示波器上可以看到模拟结果的动态显示效果。此外,工作区变量输送
输出仿真信号使SIMULINK
具有交互式仿真能力。
5.4.2 PID 模糊自整定控制系统仿真
5.4.2.1 模糊控制器的设计
MATLAB 模糊逻辑工具箱(Fuzzy Logic
Toolbox)提供模糊的逻辑控制
各种设计工具和系统的方法。工具箱提供模糊推理系统的生成和编辑(FIS)常
本文利用工具箱中使用的工具函数GUI
生成模糊控制系统的编辑函数。
MATLAB 命令窗口运行Fuzzy
函数进入模糊逻辑编辑器,建立新的
FIS 选择控制器类型Mamdani
类型,根据上述分析分别输入E、EC、
KP、KI 和KD
的隶属函数和量化区间,以If&8943;&8943;then
模糊控制规则的形式输入
则。取与(and)的方法为min,或(or)的方法为max,推理(implication)方法为
min,合成(aggregatin)方法为max,非模糊化(defuzzification)方法是平均重心
(centroid),这样就建立了一个FIS
命名为系统文件FUZZYPID.fis。在
MATLAB 的M 文件编辑器里建立一个名为fpid.m
内容如下:
matrix=readifs(‘FUZZYPID.fis);这样,模糊工具箱就完成了SIMULINK
链接为整个控制系统的建立奠定了基础。
如图所示,编辑模糊推理系统GUI
根据需要建立界面
2 输入,3
模糊推理系统的输出fuzzypid,如图所示。根据上述要求,
设定好输入、输出的隶属函数,如图所示。根据表规则控制表建立好
模糊推理系统的控制规则,其控制规则的建立形式如图所示。
建立糊推理系统,假设系统误差|e以及误差变化率ec|量化值为
1.输出可以通过控制规则库看到KP 、KI 、KD
量化值分别为2.68,2,
如图所示,1.KP 、KI 、KD
输出如图所示
所示。
模糊推理系统GUI 界面
fuzzypid 模糊推理系统
输入E 的隶属函数
建立了控制规则GUI 界面
输入量化值为1 时的输出值
KP 在论域上的输出
KI 在论域上的输出
KD 在论域上的输出
模糊控制系统的输出
在SIMULINK 的菜单中,选择Fuzzy Logic Toolbox 中的Fuzzy
logic
controller
模块,并键入名字matrix。在此基础之上,加上量化因子Ke、
Kec、K1、K2、K3。这样,符合我们要求的模糊控制器便建立起来,如图5
-20 所示。显然,量化因子Ke、Kec 将e 和ec
量化为论域(0,3)上的模糊量,
经模糊控制规则动态处理后,输出论域在(0,3)上的模糊控制量;再经量化
因子K1、K2、K3 将其精确化,便可得到PID
控制器的控制参量KP 、KI 、
KD。
再建立PID 控制器,如图 所示。
将模糊控制器和PID
控制器连在一起,便构成了模糊自整定PID
控制器,如图所示
模糊控制器
PID 控制器
模糊自整定PID 控制器
在SIMULINK
环境中利用鼠标将相应的模块拖到窗口中,连接后便得到
整个控制系统的模型,可以根据输出结果来判断本控制器的性能。
模糊PID 控制系统
仿真结果
模型建好之后,输入相应的参数,就可以在SIMULINK
中进行仿真了。
由于发动机怠速所产生的扰动幅值一般都比较大,大致在1mm
量级范围;而
其运转时的扰动频率大体在25~200 Hz
之间,相应地对悬置元件的输入振幅
大约在0.1mm
量级范围。因此,我们分别以z=sin(10t)和z=0.1sin(100t)
作为发动机对悬置的输入信号,仿真结果见图5-24、5-25。
从图中可以看出,模糊控制的悬置系统将发动机的振动衰减了约80%左
右,并且主动控制悬置系统在高频和低频时的隔振效果都很好,说明模糊控
制方法完全适用于汽车发动机悬置的控制。
z=sin(10t)输入下的响应
z=0.1sin(100t)输入下的响应
MATLAB
对控制系统的性能进行了仿真。在控制系统的设
计中,比较了PID 控制器和模糊PID
控制器的优劣。最后给出了完整的模糊
PID
控制器设计的步骤,通过更改内部的量化因子,可将该控制器运用到不
同的系统中。