《机电传动控制》----直流电机调速仿真作业

 

老师的controller中只加入了比例环节,为了获得更好的调节性能,加入了积分环节和微分环节,即采用PID调节

一、PID调节三个参数的作用:

1.比例系数Kp的作用是加快系统的响应速度,提高系统的调节精度。Kp越大,系统的响应速度越快,系统的调节精度越高,但是容易产生差调,甚至会使系统不稳定。Kp取值过小,则会降低调节精度,使响应速度缓慢,从而延长调节时间,是系统静态、动态特性变差; 

 

2.积分作用系数Ki的作用是消除系统的稳态误差。Ki越大,系统的静态误差消除的越快,但是Ki过大,在响应过程的初期会产生积分饱和的现象,从而引起响应过程的较大超调。若Ki过小,将使系统静态误差难以消除,影响系统的调节精度;

 

3.微分系数Kd的作用是改善系统的动态特性,其作用主要是在响应过程中抑制偏差向任何方向的变化,对偏差变化进行提前预报。但是kd过大,会使响应过程提前制动,从而延长调节时间,而且会降低系统的抗干扰性。

 

二、PID算法的离散化

 

假设采样间隔为T,则在第KT时刻:偏差err(K)=rin(K)-rout(K);

 

积分环节用加和的形式表示,即err(K)+err(K+1)+……;

 

微分环节用斜率的形式表示,即[err(K)-err(K-1)]/T

 

三、controller代码

 

block Controller 

InPort command(n=1);
InPort feedback(n=1);
OutPort outPort(n=1);

Real error;
Real error_i;
Real error_d;
Real pout;
parameter Real Kp=5;
parameter Real Ki=0.1;
parameter Real Kd=25;
parameter Real Max_Output_Pos = 10;
parameter Real Max_Output_Neg = -10;

algorithm

error := command.signal[1] - feedback.signal[1];
error_i:=error_i+error;
error_d:=error-pre(error);
pout := Kp * error+Ki*error_i+Kd*error_d;

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;

 

 

四、仿真图像

 

 

五、仿真结果:

上升时间tp=0.0329s,超调量Mp=1.43%,响应良好。

posted on 2016-06-07 15:05  机卓13-吴川  阅读(220)  评论(0编辑  收藏  举报