模糊 PID 控制器设计和仿真步骤:第一步:各变量隶属度函数的确定1、 用于 PID 参数调整的模糊控制器采纳二输入三输出的形式。该控制器是以误差 E 和误差变化率 EC 作为输入,PID 控制器的三个参数 P、I、D 的修正△KP、△KI、△KD 作为输出,如图 1;2、 取输入 E 和 EC 和输出△KP、 △KI、△KD 模糊子集为{NB,NM,NS,ZO,PS,PM,PB},其论域为[—6,6],量化等级为{-6,-5,-4,-3,-2,—1,0,1,2,3,4,5,6};如图 23、 在模糊逻辑工具箱的隶属度函数编辑器中,选择输入量 E,EC 隶属函数为高斯型(gaussmf),输出△KP、△KI、△KD 的隶属函数为三角形(trimf),如图 2 和 3。图 1图 2图 3第二步:根据图 4 规则建立模糊规则表,如图 5:图 4图 5第三步:设置参数:与方式 (And method)为 min;或方式(Or method)为 max;推理 (Implication)为min;合成 (Aggregation)为 max;去模糊(Defuzzification)为重心平均法(centroid)。第四步:保存该 FIS 文件,取名为 FuzzyPID.fis第 五 步 : 在 MATLAB 的 M 文 件 编 辑 器 里 建 立 一 个 名 为 FuzzyPID 。 m 的 文 件 , 其 内 容 为 :martrix=readfis(‘Fuzzypid。fis’),并运行。第六步:打开 SIMULINK,新建一个 Model,选择一个 Subsystem,在其中编辑模块,如图 6,并设置模糊化因子 KE=KEC=0。01,解模糊因子 KP=0.5,KI=KD=0.01,并在 Fuzzy Logic Controller 模块的 Parameters 中输入 readfis(’FuzzyPID。fis'):图 6第 七 步 : 返 回 到 新 建 的 Model 中 , 根 据 如 图 7 所 示 建 立 模 糊 PID 控 制 器 , 其 中 , PID 初 始 值 为KP0=20,KI0=1。35,KD0=3。7,传递函数为:图 7第八步:保存为 FuzzyPID.mdl 并运行.第九步:运行结果与初始 PID 控制器的结果比较,如图 8 和 9:图 8 图 9