一、建立模糊系统
在matlab命令行输入fuzzy打开模糊系统设计器,设定输入个数为2(误差e及误差变化率de),范围均为[-1,1],输出个数为3(三个pid参数),范围均为[0,1],并点击相应输入输出模块定义隶属度函数及模糊推理规则,建立好的模糊系统如下图。将建立好的模糊文件命名为FSTPID.fis并保存到本地文件中,用于下一步的导入。
点击红圈部分创建模糊推理规则,绿圈部分设置每个输入输出的隶属度函数
二、Simulink实现
1.建立燃料电池空气供应系统模型
参考文献之后建立的模型如下:
2.模糊pid模块
将阶跃信号传入系统,系统通过反馈计算误差及误差变化率,将误差及误差变化率乘以各自的量化因子,量化因子是我反复测试后才确定的,这步真是愁死个人。模糊系统设定如下图,其中Fuzzy_PID应在命令行通过如下语句导入到系统中。
myFLC=readfis('FSTPID.fis')
最终的模糊PID控制模块框图如下。
结果展示
运行程序,点击scope可查看运行结果如下图。氧气过量比很快达到了设定值,我还没来得急和其他方法做对比,xdm可以自己再改进哈~
想要模型的戳这里~https://download.csdn.net/download/qq_41486048/19773551