学习笔记9

针对之前给出的直流电机调速基本模型,重写调速控制器。设定合适的参数,实现更好的控制性能。

要求:(1)稳态速度误差尽可能小

        (2)电机速度输出的动态特性好

        (3)电机加减速过程中,电流平稳变化无明显振荡

使用PID控制算法来优化控制结果,Cotroller算法重写如下:

block Controller

InPort command(n=1);

InPort feedback(n=1);

OutPort outPort(n=1);

Real error;

Real errori;

Real errord;

Real pout;

parameter Real Kp=9.9;

parameter Real Ki=3;

parameter Real Kd=70;

parameter Real Max_Output_Pos = 10;

parameter Real Max_Output_Neg = -10;

algorithm

error := command.signal[1] - feedback.signal[1];

errori:=errori+error;

errord:=error-pre(error);

pout := Kp * error+Ki*errori+Kd*errord;

if pout > Max_Output_Pos then

outPort.signal[1] := Max_Output_Pos;

elseif pout < Max_Output_Neg then

outPort.signal[1] := Max_Output_Neg;

else

outPort.signal[1] := pout;

end if;

end Controller;

采用PID调节的一般调节方式。先调节Kp的数值得到较小的上升时间:再调整Kd的数值来减小超调量的值:最后调节Ki的值消除稳态误差。Kp增大超调量增大,Kd增大电流振荡增大,三者的参数要进行协调。整体调节后得到比较理想的控制结果。

我的调试结果为:Kp=9.9;Ki=3;Kd=70。仿真过程的上升时间tr为0.020s左右,超调量25.8%,稳态值59.4907。

图形如下:

因为计算步长取得较大,计算结果不是很准确,所以图中有较大波动。

前3秒的图像如下:

基本符合要求。

原文地址:https://www.cnblogs.com/yangliu1/p/5567118.html