simulink pid controller传递函数怎么设置

simulink pid controller传递函数怎么设置,没找到设置的选项卡,新人只有只有这么财富,求大神解答。。

1、打开simulink的主页以后,直接定义相关的变量。

2、这个时候,需要根据实际情况建立对应的循环语句。

3、下一步如果没问题,就继续输入plot(x,y)进行确定。

4、这样一来会生成图示的效果,即可设置pid controller传递函数了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-23

方法如下:在Simulink模型实现一个连续或离散时间控制器(PID,PI,PD,P,I)。 PID控制器的增益是可调的手动或自动方式。自动调整需要Simulink控制设计软件(PID调谐器或SISO设计工具)。  PID Controller block块的输出是输入的加权总和的信号,输入信号的积分,和输入信号的导数。权重比例,积分和微分增益参数。一阶极点滤波器的微分动作。 PID Controller模块的配置选项包括:   控制器的类型(PID,PI,PD,P,或我)  控制器形式(并行或理想)  时域(连续或离散)  初始条件和复位触发   输出饱和的限制,并内置抗饱和机制   无波动地控制传输的信号跟踪和多回路控制  在一个公共执行方式中,PID控制器块的前馈路径中的反馈环路工作:

块的输入端通常是一个误差信号,


这是一个参考信号和所述系统的输出之间的差异。对于两个输入的块,允许给定值的加权,请参阅PID Controller (2 DOF))块。  可以生成代码来实现你的控制器可以使用任何Simulink的数据类型,包括定点数据类型。(代码生成需要Simulink编码器软件定点的实现需要定点工具箱)。

第2个回答  2014-03-16

PID模块如下图所示,

设置参数时,双击该模块,会弹出如下对话框

对应设置P、I、D参数即可,这里N一般默认即可。注意matlab中的PID形式和一般意义的PID形式略有不同,我在下面这个问题回答中进行过相应的解释,你可以参考一下。

http://zhidao.baidu.com/question/488483471742574492.html?from=pubpage&msgtype=2

追问

我想做模糊pid控制,需要使用哪个模块呢。

第三个模块双击后是下面的图没有数学模型,怎么改成适合自己的数学模型啊,大神,求解答。我不是学自控的,问题可能有点水,不好意思。

追答

我的离散PID模块和你的这个界面不一样,你用的是哪个版本?

我的离散pid模块如下:

不过大体选项都差不多,你的前三个K分别为比例系数、积分系数、微分系数。注意积分系数和微分系数不是我们所说的PID参数。具体参考我这个回答中所阐述的各系数和PID参数的关系。

http://zhidao.baidu.com/question/1987840784151604947.html?oldq=1

time constant for derivative是微分时间常数的意思,我也不太明白这里为什么会有这个选项,理论上确定下面采样时间和微分系数,那么微分时间常数应该是定值啊,不懂?

接下来是控制器输出的上下限,相当于在后面加了的饱和环节,如下:

这个对应的在我的PID模块中PID Advanced选项卡中。

最后两个分别是初始化控制器输出和采样时间。

模糊PID我没做过,只懂个大概意思。就是根据误差值的变化率进行模糊推理求出PID参数。也就是说PID参数是不断改变的,我建议你用自己用传函写一个PID模块。这样可以改变PID的参数。如下是一个自己编写的pi调节器做控制器的例子,当然也可以用matlab中自带的模块:

上面一般模型是将pi写在一起了,而下面那个将pi分开。可以分开调节参数。你的模糊控制就和下面那个差不多,只是我这里是手动调节pi参数看曲线。你的应该是经过一个模糊推理求出pi参数。

ps:我大概给你解释一下simulink中的4个pid模块吧

simulink中一共有上面四个pid控制器,里面可选pid、pi、pd条件方式。

第一个为连续的基本pid模型,第二个为连续双自由度pid控制器。第三个和第四个对应的是离散时的控制器。

    一般能用普通pid控制的就不要用智能pid,很麻烦。当然如果你模糊规则定的好的话,调出来的效果比普通pid要好。方法选择上你自己看吧,如果你是要做毕设、写论文之类的可以用模糊pid。毕竟这玩意不管好不好,必须要高端。要是做普通项目的话,建议你选择普通pid。毕竟你不太了解控制理论,直接用智能算法可能比较吃力。

本回答被提问者采纳
第3个回答  2014-05-05
双击即可
相似回答