学习交流

当前位置 /首页/母婴教育/学习交流/列表

matlab实现pid仿真

pid是最基础的控制算法,对于刚接触的朋友,如果利用实物一个参数一个参数地去体验,不仅耗时长,而且也未必能够理解透,利用matlab进行一下软件仿真可以在比较快的时间内看到参数调整的效果,加深对PID三个基本常量的理解。下面是一个非常简单的matlab的pid仿真操作。

操作方法

(01)打开matlab2009,新建一个模型文件,点击“开始”->"simulink"->“Library Browser”,打开simulink库。

matlab实现pid仿真
matlab实现pid仿真 第2张

(02)在“Simulink Library Browser”的库列表中找到“Simulink Extras”,点击右侧的“Additional Linear”。

matlab实现pid仿真 第3张

(03)将Additional Linear的“PID Controller”和“TransferFon”添加到模型编辑区域。

matlab实现pid仿真 第4张
matlab实现pid仿真 第5张

(04)在“Simulink Library Browser”库列表中找到“Simulink”->“Commonly Used Blocks”,将Scope和Sum模型添加到编辑区域。

matlab实现pid仿真 第6张

(05)在“Simulink”->“Sources”找到Step模型,这是一个阶跃信号发生器。

matlab实现pid仿真 第7张

(06)将所有模型按图中方式连接,注意只有连接的线是实心黑线才表示连接成功,如果是红色的虚线,那么最粗暴的方式是删掉它重新连。

matlab实现pid仿真 第8张

(07)这里的sum反馈的符号是一个+,也就是说这是一个正反馈,但是我们pid一般都是负反馈,所以需要改一下反馈的符号。双击sum切换到sum的属性对话框,将List of signs由++改为--,则下面的+会变成减。

matlab实现pid仿真 第9张
matlab实现pid仿真 第10张

(08)sum的下面的符号变成了-,反馈回来的信号相减,系统变成负反馈。

matlab实现pid仿真 第11张

(09)点击执行按钮,然后双击Scope,切换到显示界面,出现熟悉的pid输出波形。

matlab实现pid仿真 第12张

(10)双击pid控件可以调整PID的三个基本参数,Proportional(比例常数),Integral(积分常数),Derivative(微分常数)。

matlab实现pid仿真 第13张

(11)我们试试将积分常数改为100,然后再次运行,在Scope中点击“Autoscale”,可以看到输出由平滑变得震荡起来了。

matlab实现pid仿真 第14张
matlab实现pid仿真 第15张

(12)可以试着自己调整下PID的各个参数,看看效果,加深理解。

matlab实现pid仿真 第16张

特别提示

用step信号做pid的输入信号效果会更明显些。

TAG标签:MATLAB PID 仿真 #