simulink pid controller传递函数怎么设置

作者&投稿:司隶 (若有异议请与网页底部的电邮联系)
用MATLAB simulink做PID控制器仿真时 PID Controller在哪里添加?~

模块库里没有现成的PID Controller,方法如下:
1复制,直接从现成的MATLAB例子中复制PID controller,比如可在MATLAB 命令窗口输入sltank,其中就有一个PID controller,直接复制即可。
2自己建立,分别建立比例,积分,微分模块,参照以上例子建立。

对运算次数进行优化后的离散PID算法的伪代码如下:

d[k+1] = d[k] +
e[k]*(Kp+Ki+Kd)-
e[k-1]*(Kp+2*Kd)+
e[k-2]*(Kd);

其中d[k]为当前时刻PID的控制输出,d[k+1]为下一时刻(新的)PID的控制输出,e[k]为当前时刻的控制误差,e[k-1]和e[k-2]分别为上一时刻和上上个时刻的控制误差。

如果令Kd=0,就可以得到题主想要的对应关系:

d[k+1] = d[k] + e[k]*(Kp+Ki) - e[k-1]*(Kp);

即a=Kp+Ki,b=Kp。

参考资料:
1. http://en.wikipedia.org/wiki/PID_controller

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

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

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

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



方法如下:在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编码器软件定点的实现需要定点工具箱)。



PID模块如下图所示,

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

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

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



双击即可


宜黄县13214858688: PID控制的simulink 仿真时 Kp、Ti、Td三个参数怎么输入? -
冶娟米托: 有一个PID控制器模块,在搜索栏输入PID,就会找到,双击,里面有这三个参数的输入框,填写进去就好了.

宜黄县13214858688: matlab,关于simulink中的PID控制器 -
冶娟米托: 由于Simulink不支持纯微分传递函数(s),所以加入一个较小时间常数的惯性环节来代替,即用s/(s/N+1) 来近似纯微分环节.N一般取10-100就会有比较好的效果.

宜黄县13214858688: 如何使用matlab中simulink里的PID CONTROLLER建立微分,积分和比例模块? -
冶娟米托: 用积分Integrator、微分Derivative和比例Gain模块.在积分Integrator、微分Derivative模块之前各串联一个比例Gain模块.双击Gain模块可以修改系数.

宜黄县13214858688: matlab 中的pid控制器在simulink中哪个模块
冶娟米托: 1.离散:simpowerSystems-Discrete Control Blocks里面,一个是PI,一个是PID 2.连续:Simulink Extras-Additional Linear里面.

宜黄县13214858688: 用MATLAB simulink做PID控制器仿真时 PID Controller在哪里添加? -
冶娟米托: 模块库里没有现成的PID Controller,方法如下:1复制,直接从现成的MATLAB例子中复制PID controller,比如可在MATLAB 命令窗口输入sltank,其中就有一个PID controller,直接复制即可.2自己建立,分别建立比例,积分,微分模块,参照以上例子建立.

宜黄县13214858688: 在simulink中怎么建立PI控制器?(注不是PI模糊控制器) -
冶娟米托: Simulink基础库里就有现成的PID模块,你双击设置为PI.

宜黄县13214858688: 如何用SIMULINK搭建增量式PID控制器?谢谢了哈
冶娟米托: 在MATLAB命令窗口中键入Simulink命令; 在Simulink的浏览工具条选择“新建”按钮,打开一个空白的模型创建窗口; 在Simulink库浏览器中单击Source库,选中Step模块,单击Step模块并将其拖入到新建的模型窗口中,然后释放,完成; ...

宜黄县13214858688: 请问我想得到50HZ那么simulink中pll锁相环模块的pid参数怎么确定 -
冶娟米托: 锁相环的PID参数用默认的也是可以的.如果感觉动态效果不佳,可以参考自动控制原理里面对参数的相关介绍进行调整.一般来说,如果跟踪速度较慢,那么应该增大kp,减小ki;如果超调过大,或者波动太多,应该减小kp,增大ki.从理论上来说,PID参数都是可以计算出来的,但实际上,由于被控对象难以确定较为精确的数学模型,所以只能靠调试了.

宜黄县13214858688: matlab中simulink怎么用pid仿真 -
冶娟米托: 有PID控制模块,只需要设置参数即可

宜黄县13214858688: Matlab simulink正弦函数 -
冶娟米托: 你可以参考前面的说明: O(t)=Amp*Sin(Freq*t+Phase)+Bias; 相应地你对照你的式子,把一个个数填进去就好了. Amplitude输入0.5; 关键是Frequency,这里的单位是rad/sec,也就是对应的角频率,根据你的式子:0.5sin(10t),也就是ω=10,所以这里输入10就好了; 其它的都填0.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网