3. 基于根轨迹的控制器设

该博客探讨了基于根轨迹的控制器设计,详细要求绘制四种不同情况下的根轨迹图,包括局部放大的根轨迹。同时,通过MATLAB仿真获取了三种控制器的阶跃和斜坡响应,并对控制器的效果进行了分析。内容中提到了零阶保持器的s域传递函数,并指导如何求取单位阶跃响应的瞬态响应。
摘要由CSDN通过智能技术生成

3.3.1

要求画出三种控制器下系统的根轨迹图形,其中3)的根轨迹要求局部放大 图,即需四张根轨迹图。要求仿真得到三种控制器下的阶跃、斜坡响应,分别画在三张图中,其中斜坡响应可看到 kv k v , es e s , s s 值。根据结果分析三种控制器的作用。 提示:需先得到 K 值

以下程序来源


Gc=K;
Gs=tf(1,[0.005 0.15 1 0]);
ans_zoh=c2d(Gc*Gs,0.1,'zoh')%添加零阶保持器离散化T=1
ans_imp=c2d(Gc,1,'imp')%或直接离散化T=1
%后者等效
ilaplace(1/(s^2+s))%拉普拉斯反变换
compose(ans,1*t)%T=1采样,t->T*t
ztrans(ans)%z变换
pretty(vpa(collect(ans)))%整理显示
%-----------参数设定----------
T=0.1;%采样周期
%控制器
Gd1=1;
Gd2=tf([1 -0.368],[1 0.95],0.1);%超前控制器,零点对消,加入控制器之后,阶数不变
Gd3=tf([1 -0.96],[1 -0.99],0.1);%滞后控制器,提升稳态误差的性能,成倍的提高误差系数
%被控对象G(s),低通滤波
Gs=tf([1],[0.005 0.15 1 0]);
%被控对象及前置零阶保持器的脉冲传递函数G(z)
Gzoh=c2d(Gs,0.1,'zoh');
%开环脉冲传递函数 
Gz1=Gd1*Gzoh;
Gz2=Gd2*Gzoh;
Gz3=Gd3*Gzoh;
%稳态误差速度常数Kv%
Gdtest=tf([1 -1],[T],0.1,'variable','z^-1');
A=Gdtest.*Gz1;
Kv1=(0.004837 - 0.0001586 - 0.004679)/(0.1 - 0.1905  + 0.09048 );
Kmin1=5/Kv1

%-----------------test--------------
Gstest=tf([1],[1 1 0]);
Gzohtest=c2d(Gstest,1,'zoh');
Gdtest=tf([1.4,-1.4,0.2],[ 1 -1],1<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值