此示例显示了如何使用SLTUNER.
和过度
在有饱和限制的线性电动执行器中调整电流和速度环。
打开线性电动执行器金宝app的Simulink模型:
open_system (“rct_linact”的)
电气和机械组件采用Simscape Electrical建模。控制系统由控制DC电动机的驱动电流和角速度的两个级联反馈回路组成。
图1:电流和速度控制器。
注意,内环(电流)控制器是比例增益,而外环(速度)控制器具有比例和积分的动作。两个控制器的输出限于加/减5。
我们需要调整比例和积分的增益,以在约0.1秒内响应2000 rpm的速度需求,最小过冲。模型中的初始增益设置为P = 50和PI(s)= 0.2 + 0.1 / s,并且相应的响应如图2所示。该响应过于慢且太敏感,无法负载干扰。
图2:无核响应。
您可以使用过度
共同调整两种反馈循环。要设置设计,请创建一个实例SLTUNER.
接口与调谐块列表。所有块和信号都由其在模型中的名称指定。该模型在T = 0.5时线性化,以避免在T = 0的某些衍生物中的不连续性。
TunedBlocks = {“电流PID”那'速度pid'};Tlinearize = 0.5;%在t = 0.5时线性化%创建调优界面ST0 = slTuner (“rct_linact”、TunedBlocks tLinearize);addPoint (ST0, {“电流PID”那'速度pid'})
数据结构ST0
包含控制系统及其可调元件的描述。接下来指定直流电机应在0.1秒内遵循2000转转速的要求:
TR = TuningGoal。跟踪('速度需求(rpm)'那'rpm',0.1);
您现在可以调整比例和积分的收益loopune.
:
相约= systune (ST0、TR);
Final:Soft = 1.04,硬= -Inf,迭代= 40
这将返回一个更新后的描述相约
包含调谐增益值。为了验证该设计,绘制从速度需求到速度的闭环响应图:
T1 = getIOTransfer(相约,'速度需求(rpm)', {'rpm'那“我”});图步骤(t1,0.5)
响应在线域中看起来很好,因此将调谐增益值推向Simulink并进一步验证非线性模型中的设计。金宝app
writeBlockValue(死神)
非线性仿真结果如图3所示。非线性行为远比线性近似差。图4显示了内环(电流)的饱和和振荡。
图3:调谐控制器的非线性仿真。
图4:电流控制器输出。
到目前为止,我们只指定了外部(速度)循环的所需响应时间。这片叶子过度
自由分配控制努力之间的内部和外部循环。内环的饱和表明比例增益太高,需要进行一些再平衡。一个可能的补救措施是显式地将speed命令的增益限制为“Current PID”输出。对于速度参考2000转/分和饱和极限的正负5,平均增益不应超过5/2000 = 0.0025。为了保守起见,尝试将速度参考到“Current PID”的增益保持在0.001以下。为此,添加一个增益约束,并在满足这两个要求的情况下重新调整控制器增益。
%标记为兴趣点的“当前PID”输出addPoint (ST0“电流PID”的)从速度需求到“当前PID”输出来避免饱和度%MG = TuningGoal。获得('速度需求(rpm)'那“电流PID”, 0.001);%恢复了这个额外的目标ST2 = systune (ST0 (TR、镁));
Final:Soft = 1.39,硬= -Inf,迭代= 52
最终增益1.39表明要求几乎但不完全满足(当最终增益小于1时满足所有要求)。用viewgoal.
检查调谐控制器如何反对每个目标。
数字(“位置”,[100,100,560,550])ViewGoOL([Tr,Mg],ST2)
接下来比较线性域中的两个设计。
t2 = getiotransfer(st2,'速度需求(rpm)', {'rpm'那“我”});图一步(t1,'B', T2,“g——”传说,0.4)(“初始调优”那“增益约束调谐”的)
第二种设计不太积极,但仍然符合响应时间要求。调谐PID增益的比较表明,电流回路中的比例增益从18到约2减小。
showTunable(死神)%初始化调整
框1:rct_linact / currentroller / current pid = kp = 30名称:current_pid p-loct控制器。------------------------------------1* ---具有kp = 0.391,ki = 0.412名称:Speed_pid连续时间PI控制器并行形式。
showTunable (ST2)%重新运行
Block 1: rct_linact/Current Controller/Current PID = Kp = 2.19名称:Current_PID P-only控制器。----------------------------------- Block 2: rct_linact/Speed Controller/Speed PID = 1 Kp + Ki *——s with Kp = 0.482, Ki = 4.95名称:Speed_PID并行连续时间PI控制器。
为了验证这个新设计,将新的调谐增益值推到Simulink模型中,并模拟对2000rpm转速要求和500n负载扰动的响应。金宝app仿真结果如图5所示,电流控制器输出如图6所示。
WriteBlockValue(ST2)
图5:增益约束下调谐的非线性响应。
图6:电流控制器输出。
非线性响应现在令人满意,电流回路不再饱和。额外的增益约束成功重新平衡内部和外环之间的控制工作。
SYSTUNE(SLTUNER)
(金宝appSimulink控制设计)|SLTUNER.
(金宝appSimulink控制设计)|writeblockvalue.
(金宝appSimulink控制设计)|TuningGoal.Tracking.
|TuningGoal.gain.