P比例控制
比例控制只改变系统的增益而不影响相位。主要的影响反应在稳态误差和稳定性上。增大比例系数,可提高系统的开环增益,减小系统的稳态误差,从而提高系统的控制精度,但Kp过大,会造成系统的不稳定。
PI 比例-积分控制
采用积分控制的主要目的就是使系统无稳态误差。
引入积分项后,相位滞后,系统的稳定性变差。
PI控制器在与被控对象串联相当于在系统中增加了一个位于原点的开环极点,和一个位于s左半平面的开环零点。极点可以消除和减小系统的稳态误差,改善稳态性能;零点可以减小系统的阻尼程度,缓和PI控制器对系统稳定性和动态过程的不利影响。
随着积分时间的减小,积分控制作用增强,闭环系统的稳定性变差。
PD比例-微分控制
微分项反映的是误差的变化率。误差随时间不发生变化,微分项不起作用。
随着微分项的曾强,系统的超调量减小,稳定性提高,上升时间减少,快速性提高。
PID控制
1.当阶跃输入时,P作用始终是基本分量;I作用一开始不明显,随着时间推移,逐渐增强;D与I相反,前期作用强些 ,后来作用减弱。
2.PID通过积分项消除误差,微分项缩小超调量,加快反应。取长补短。
编写了一个连续系统跟正弦信号的pid控制程序
控制对象:
采样时间是1ms,采用z变换离散化,经过z变换后的对象变为:
y(k)=-den(2)*y(k-1)-den(3)*y(k-2)-den(4)*y(k-3)+num(2)*u(k-1)+num(3)*u(k-2)+num(4)*u(k-3)
输入为正弦信号 yd=0.5*sin(4*pi*t)
clear all;
close all;
ts=0.001;
num=523500;
den=[1 87.35 10470 0];
x=[0 0 0]';
sys=tf(num,den);
sysd=c2d(sys,ts,'z');
[numd,dend]=tfdata(sysd,'v');
u_1=0;u_2=0;u_3=0;
y_1=0;y_2=0;y_3=0;%初始化
e_1=0;
for k=1:5000
time(k)=k*ts;
yd(k)=0.5*sin(4*pi*k*ts);
y(k)=-dend(2)*y_1-dend(3)*y_2-dend(4)*y_3+numd(2)*u_1+numd(3)*u_2+numd(4)*u_3;
kp=250;ki=50;kd=3;
u(k)=kp*x(1)+ki*x(2)+kd*x(3);
e(k)=yd(k)-y(k);
x(1)=e(k);%P
x(2)=e(k)*ts+x(2);%I
x(3)=(e(k)-e_1)/ts;%D
e_1=e(k);
if u(k)>=10
u(k)=10; %限制阈度【-10 10】
end
if u(k)<=-10
u(k)=-10;
end
y_1=y(k);y_2=y_1;y_3=y_2;
u_1=u(k);u_2=u_1;u_3=u_2;
end
plot(time,yd,'r--',time,y,'b:','linewidth',2);%红线代表理想正弦曲线,蓝线代表跟踪曲线
%axis([0,0.5,-1,1]);