模糊PID控制matlab/simulink仿真

工业控制过程中最常用的控制器是比例-积分-微分(PID)控制器,因为其结构简单,工作条件广泛且性能稳定。然而PID控制器是线性的,不适用于强非线性系统或耦合系统。模糊控制经常被看作为PID控制的替代和改进。工业上使用的大多数模糊控制器与增量式PI或PID控制器具有相同的结构,模糊规则和模糊隶属函数参数化的使用可以很容易地添加非线性、逻辑和附加输入信号到控制系统。近年来,模糊逻辑控制器(FLC),特别是模糊PID控制器,由于其启发式性质,与线性和非线性系统的简单性和有效性相结合而被广泛应用于工业控制过程。第一个模糊逻辑控制算法是人工合成一个熟练的操作员语言控制协议,采用Mamdani型(1974)结构。虽然这种类型的FLC应用程序相比古典控制器有特定优势,但设计过程依赖于操作者的经验和知识,是一种有限的阐明启发式规则控制。为了避免这一重大缺点,根据操作者的控制经验,Mac Vicar Whelan首先提出了模糊控制器的结构。发展到现在,已经提出了模糊PID(包括PI和PD)控制器和模糊非PID控制器的各种结构。

在模糊逻辑中,输出可以在某种程度上高,在另一种程度上低。为了在数学上表示这一点,我们需要选择合理的边界水平,即100%可确定输出过高,或者100可确定输出过低。高低值之间的任何值可以被视为一个混合状态。当系统处于期望的设定值时,这意味着输入电平既不太低也不太高,或者等价地说,它是一个等效的混合。从太低到太高的区域将集中在设定值水平上,因此我们可以使用所需的设定值和实际输出值之间的差值作为输入信号。在高低极端和中间区域之间,特定连续曲线定义了高值到低值之间的过渡。为了简化,我们可以用一个线性曲线。

将模糊控制器用在PID就是PID模糊控制,为了验证模糊PID相比于传统PID控制器的优势,搭建双容水箱控制模型的PID控制和模糊控制,对仿真结果进行对比。模糊PID控制器封装在fuzzypid子系统里,结构如图2,模糊规则子系统输出Kp、Ki和Kd调整量,实时校正PID参数。与其相对应的是传统PID控制器,封装在PID子系统里。

仿真结果如下图,紫色曲线为模糊PID控制输出响应,蓝色曲线为普通PID控制输出响应。相比可见,模糊控制超调小、响应上升稳定快。

 

 

 

S函数(S-fun)matlab/simulink编程实现规则采样SPWM控制

        目标说明:在所提供的Matlab/Simulink三相逆变器仿真模型基础上,将其中的Matlab自带的PWM Generator模块(调制波——正弦波与载波——三角波交截产生SPWM驱动信号),换成由S函数或M函数(选择一种即可)编写的“规则采样SPWM”模块,其中,正弦波可以由Matlab自带信号源产生。
       具体要求:
(1)由“规则采样SPWM”模块产生的开关管驱动信号要与原有提供模型中开关管驱动信号要基本一致,且由二者驱动得到的输出电压也要基本一致;
(2)“规则采样SPWM”模块中部分变量(正弦波的幅值和频率,规则采样的频率)要能够改变;
        现有资料:
(1)Matlab/Simulink三相逆变器仿真模型(其中一个版本是用MATLAB自带pwm模块驱动版本,一个版本是待完成的S函数规则采样SPWM版本,需要两者对照);
(2)“规则采样SPWM”基本原理(不细讲,可查阅教材);
(3)双极性SPWM控制的三相逆变器驱动信号产生原理;
        编写S函数形式的规则采样函数guizecaiyang.m,封装成PWM发生器模块,设置S函数的相关参数,包括正弦波频率,采样频率和调制比,这三个参数将传递到S函数内步参与计算。如下图所示,是对应整个仿真,三相交流电源通过不控整流桥整流成直流,然后通过PWM逆变成交流电。红框部分为封装的PWM信号发生模块,通过设置好的指令波形,规则采样然后脉宽调制成需要的PWM信号,送给DC/AC逆变器。作为对比,另外搭建一个一样的模型,将PWM生成部分改用Simulink自带模块“离散PWM发生器”,进行对比。

        对比结果如下,第一个图为逆变器输出电压阶梯波(左为自带PWM模型,右为自编规则采样调制模型),可见输出电压基本一致。第二个图为逆变器输出电流波形(左为自带PWM模型,右为自编规则采样调制模型),可见输出电流也基本一致。自编S函数(S-fun)matlab/simulink编程实现规则采样SPWM控制很好地实现了目标。