简单写一下
题目
解答1
(1)
(2)
a)
使用PID控制器,比例系数P=10,积分系数I=0,微分系数D=0.8,滤波系数N=1000(为了逼近理论微分环节),建立控制系统框图如下:
仿真结果,超调量为0.06/1=6%,调整时间ts=0.120秒,达到要求。
b)
①不改变PD参数时,直接仿真如下图:(误差曲线)
可见,存在稳态误差1e-2,超调量不变。
②保持微分系数D不变,尝试提高比例系数P到20:
可见,超调量增加到了10.2%,仍旧存在稳态误差5e-3,减小了一半但仍旧存在。
③继续提高比例系数P到100:
超调量继续增大到28.8%,稳态误差减小但还是存在,为1e-3,初步判断稳态误差和比例系数成反比关系。
所以提高比例系数并不能消除稳态误差,只是可以将稳态误差缩小到很小很小的一个有限值,但是付出的代价是系统的超调量将会非常的大,所以此时还是应该引入积分系数来消除稳态误差。
④尝试引入积分系数I=40,保持比例系数P=10,微分系数D=0.8,滤波系数N=1000,再进行仿真:
可以看到稳态误差被很好地消除掉了,而超调量还保持在6%左右,调整时间还是在0.5秒以内的。
解答2
由题意,
可以计算出液压系统固有频率和阻尼比为:
然后可以得到各个环节的传递函数为:
(1)
计算闭环系统传递函数:
假设干摩擦力Ff输入为0,则闭环系统传递函数为:
(2)
系统的开环传递函数为:
然后可得幅频特性和相频特性函数如下:
相位交界频率:
因为幅值稳定裕量为-10dB,则可算得Ka如下:
系统的开环传递函数可以写成标准形式,以求开环增益如下:
由以下方程幅值=1可解出开环穿越频率:
再算得相位稳定裕量:
利用MATLAB可计算出上述结果,并画出BODE图如下:
clear
wg=fzero(@(x) 32.*x./(8000-x.^2)-(360000-x.^2)./(600.*x),88);
A=@(x) 127872e6./(x.*sqrt((8000-x.^2).^2+(32.*x).^2).*sqrt((360000-x.^2).^2+(600.*x).^2));
fai=@(x) -90-(atan(32.*x./(8000-x.^2))+atan(600.*x./(360000-x.^2)))*180/pi;
ka=10^((-10-20*log10(A(wg)))/20);
kv=ka*10*4.44e-3/1e-3;
wc=fzero(@(x) A(x).*ka-1,12);
r=180+fai(wc);
num0=127872e6;
num=num0*ka;
den=conv([1 32 8000],[1 600 600^2]);
den(6)=0;
sys=tf(num,den);
f1=figure(1);
bode(sys);
grid on;
fprintf("wg=%f\nka=%f\nkv=%f\nwc=%f\nr=%f(deg)\n",wg,ka,kv,wc,r);
结果为
wg=87.101476
ka=0.216235
kv=9.600813
wc=9.709068
r=86.822162(deg)
(3)
假设ei=0,求解误差和干摩擦力的传递函数:
利用MATLAB检验稳态误差,建立simulink模型如下:
其中一阶微分环节使用近似方法取代:
结果:
计算无误