simulink 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
双击即可
冶娟米托: 有一个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.