此示例显示如何使用Live Editor任务来调整设备的PID控制器,从测量的设备响应到已知输入信号状态空间模型的估计任务生成用于估计参数化植物模型的代码。然后,使用换算模型汇率任务是将连续时间辨识模型离散化。最后,你使用整定PID控制器任务是设计一个PID控制器,以实现闭环响应,满足您的设计要求。(使用状态空间模型的估计需要系统标识工具箱™ 许可证。)
Live Editor任务允许您交互式地迭代参数和设置,同时观察它们对计算结果的影响。任务然后自动生成MATLAB®代码,以实现显示的结果。要在这个脚本中试验Live Editor任务,请打开这个示例。有关实时编辑器任务的更多信息,请参见向活动脚本添加交互式任务.
加载测量的输入-输出数据。在这个例子中,数据由一个引擎对一个啁啾输入的响应组成。输入U
包含每0.04秒采样一次的输入信号的向量。输出向量Y
包含相应的测量响应。
负载冰机垫UYt = 0.04 *(0:长度(u) 1);情节(t, u, t、y)传说(输入“u”,“答复y”)
要从该数据估计状态空间模型,请使用状态空间模型的估计(系统辨识工具箱)实时编辑器任务。您可以使用任务菜单。在这个脚本中,状态空间模型的估计已插入。打开示例以试验该任务。
要执行估计,请在任务中指定加载的输入和输出信号,U
和Y
,采样时间0.04秒。(对于本例,您没有验证数据。)您还需要指定工厂订单。通常,您可以根据您对系统的了解来猜测工厂订单。一般来说,您希望使用最低的工厂订单,以提供合理的良好估计适合。在状态空间模型的估计任务,用不同的植物序值进行实验,观察拟合结果,显示在输出图中。可选选项和参数说明请参见状态空间模型的估计(系统辨识工具箱)任务参考页。
当您在任务中更改参数时,它会自动更新生成的代码以执行估算和创建绘图。(要查看生成的代码,请单击在任务的底部。)
对于本例,在工厂订单4时,估计适合度约为72%。增加工厂订单并不能提高契合度。因此,使用四阶工厂。的摘要行中输入的变量名将生成一个已标识的状态空间模型状态空间模型的估计在本例中,使用系统id
. 完成任务实验后,将创建已识别的状态空间模型系统id
是在MATLAB®工作空间中,您可以使用它进行额外的设计和分析,就像您使用任何其他LTI模型对象一样。例如,检查确定的状态空间模型的频率响应系统id
.
bode(系统id)网格在
假设您想在设计PID控制器之前对该模型进行离散化换算模型汇率任务在任务中,选择已识别的模型系统id
。指定足够快的采样时间,以适应已识别模型响应中的共振,例如0.025 s。您也可以选择不同的转换方法,以更好地匹配共振附近的频率响应。例如,使用双线性(Tustin)预扭曲频率为38.4 rad/s的近似值,即峰值响应的位置。当您在任务中试验设置时,比较Bode图中的原始模型和转换模型,以确保您对匹配感到满意。(有关参数和选项的更多信息,请参阅换算模型汇率任务参考页。)
换算模型汇率生成代码,该代码使用您在任务摘要行中键入的变量名生成离散化模型。对于本例,使用sys_d
.
为了确认离散化模型捕捉到由于共振引起的瞬态响应,比较原始识别模型阶跃响应的前几秒系统id
离散模型sys_d
.
步骤(sys_id sys_d 3)传说(“已识别的模型系统id”,“离散化模型系统”)
最后,使用整定PID控制器任务生成代码,用于对离散化的设备进行PI或PID控制器的调整sys_d
.该任务为一个指定的装置设计一个PID控制器,假设下列图的标准单元反馈控制配置。
在任务中,选择sys_d
作为装置和实验设置,如控制器类型和响应时间。当您更改设置时,请选择用于观察任务生成的闭环响应的输出图。检查系统响应特性生成闭环阶跃响应特性的数值显示,如上升时间和超调量。
对于本例,假设您希望闭环系统在15秒内稳定下来,并且系统可以承受不超过20%的超调。调整控制器设置,例如控制器类型和响应时间实现这一目标。有关可用参数和选项的详细信息,请参见整定PID控制器任务参考页。
像其他Live Editor任务一样,整定PID控制器生成代码,该代码使用您在任务的摘要行中键入的变量名生成优化的控制器。对于本例,使用C
.调整控制器C
是一个pid
可以用于进一步分析的MATLAB工作空间中的模型对象。例如,计算在设备输出处对扰动的闭环响应sys_d
,使用此控制器。检查响应及其特征。
CLdist=getPIDLoopResponse(C,系统d,“输出干扰”);步骤(CLdist)网格在
你可以使用模型系统id
,sys_d
,C
用于任何其他控制设计或分析任务。