理论教育 单入单出系统控制分析技巧与实例分析

单入单出系统控制分析技巧与实例分析

时间:2023-10-29 理论教育 版权反馈
【摘要】:考查一个机电系统的转子模型在存在外界干扰的情况下,通过控制系统将转子转速维持在一个稳定的水平。这个控制系统使用经典的PI控制,其控制方程为图9-21 转子控制系统控制框图本例将演示如何在MotionView中建立这个单入单出控制系统模型,并在MotionSolve中进行求解。该单输入单输出控制器,其输入为转子当前转速与参考速度的差值,输出为控制器根据输入结果,输出给转子的扭矩改变量。根据图9-25绘制控制力矩曲线。

单入单出系统控制分析技巧与实例分析

考查一个机电系统的转子模型在存在外界干扰的情况下,通过控制系统将转子转速维持在一个稳定的水平。控制系统的框图如图9-21所示。

这个控制系统使用经典的PI控制(Ogata,1995),其控制方程为

978-7-111-42217-4-Chapter09-57.jpg

978-7-111-42217-4-Chapter09-58.jpg

图9-21 转子控制系统控制框图

本例将演示如何在MotionView中建立这个单入单出控制系统模型,并在MotionSolve中进行求解。练习开始前,首先将目录chap09下的rotor.mdl文件复制到工作文件夹中。

STEP 01 读取转子模型

(1)启动MotionView。

(2)读取工作目录下的模型rotor.mdl。

(3)模型中包含了名为rotor的几何体,该几何体通过一个转动副与地面连接。转动副的转轴与Z轴平行。为加快系统稳定,在转动副上添加了阻尼。模型中同时包含输出控制请求,用于在后续的求解过程中,输出转子的位移及速度信息。

STEP 02 为参考速度添加求解器参数

(1)在项目浏览树中右击MBD Model,选择Add Control Entity→Solver Variable,或右击Solver Variable按钮978-7-111-42217-4-Chapter09-59.jpg

(2)在弹出的Add SolverVariable对话框中,将Label改为Reference Speed。

(3)保持其变量名为sv_0。

(4)单击OK按钮。

(5)设定转速为3rad/s,在Type栏中选择Linear,并输入3。

STEP 03 添加一个SISO控制器

本步将在模型中添加一个SISO控制器。该单输入单输出控制器,其输入为转子当前转速与参考速度的差值,输出为控制器根据输入结果,输出给转子的扭矩改变量。该控制方程中的参数Kp=1,K=10,在此处仅为建模方便需要,没有实际的意义。

(1)在项目浏览树中右击MBD Model,选择Add Control Entity→Control SISO,或在工具栏中右击Control SISO按钮978-7-111-42217-4-Chapter09-60.jpg

(2)在弹出的Add Control对话框中使用默认的标题与变量名。

(3)单击OK按钮。

(4)单击Properties标签。

(5)在Numerators栏中单击Append,定义传递函数分子。

(6)在栏l中输入10,在栏s中输入1。

(7)类似地,在Denominators栏单击Append,定义传递函数分母。

(8)在栏l中输入0,在栏s中输入1。

此时创建的传递函数为978-7-111-42217-4-Chapter09-61.jpg

(9)激活Input标签,在Type中选择Expression,并输入以下表达式: `-WZ({b_0.cm.idstring})+{sv_0.value.lin}`

STEP 04 添加控制扭矩

在这一步中,将向转子添加一个控制扭矩。

(1)在项目浏览树中右击MBD Model,选择Add Force Entity→Force,或右击工具栏中的Force按钮978-7-111-42217-4-Chapter09-62.jpg

(2)在弹出的Add Force or ForcePair对话框中设定标题为control。

(3)使用默认的变量名,单击OK按钮。

(4)在Connectivity面板中的Force下拉列表中选择Action reaction,在Properties下拉列表中选择Rotational。

(5)在Action force on处,双击Body1按钮,并选择rotor。

(6)在Reaction force on处,双击Body2按钮,并选择Ground Body。

(7)在Apply force at处,双击Point 1按钮,并选择Point 0。

(8)在Local ref.frame处,双击Ref Marker按钮,选择Global Frame,如图9-22所示。

978-7-111-42217-4-Chapter09-63.jpg

图9-22 Force面板(control)

(9)激活Rot Properties标签,将TX和TY都置为0。

(10)在TZ下拉列表中选择Expression,并输入`{siso_0.OUTPUT}`

STEP 05 定义控制力矩输出请求

(1)在项目浏览树中右击Model,选择Add General MDL Entity→Output命令,或右击Outputs按钮978-7-111-42217-4-Chapter09-64.jpg

(2)在弹出的Add Output对话框中,设定标题为Control Force。

(3)使用默认的变量名,单击OK按钮。

(4)按图9-23所示的内容,定义输出参数。

978-7-111-42217-4-Chapter09-65.jpg

图9-23 Output面板(control)

STEP 06 递交求解

(1)在File菜单中选择Save As→Model命令,另存模型为rotor_control.mdl。

(2)在工具栏下单击978-7-111-42217-4-Chapter09-66.jpg按钮,进入Run面板。

(3)在Sim Type下选择Transient,并指定文件名rotor_control.xml。

(4)在Simulation Parameters标签下将End Time设置为25。

(5)回到Main标签,并单击Run按钮。

(6)求解结束后,返回Run面板。(www.daowen.com)

(7)单击Plot,激活窗口2,并进入HyperGraph界面。

(8)根据图9-24绘制转子Z轴角速度曲线。

978-7-111-42217-4-Chapter09-67.jpg

图9-24 Build Plots面板(Z轴角速度曲线)

(9)将窗口布局设置为978-7-111-42217-4-Chapter09-68.jpg

(10)激活窗口3,并切换为HyperGraph界面。

(11)根据图9-25绘制控制力矩曲线。

978-7-111-42217-4-Chapter09-69.jpg

图9-25 Build Plots面板(力矩曲线)

(12)由图9-26可以看出转子在3rad/s的转速下稳定转动。接下来,给转子施加扰动,考察控制系统是否起作用。这里将定义一个脉冲作为扰动。

STEP 07 定义扰动

(1)激活窗口1。

(2)在项目浏览树中右击MBD Model,选择Add Force Entity→Force命令,或右击工具栏中的Force按钮978-7-111-42217-4-Chapter09-70.jpg

978-7-111-42217-4-Chapter09-71.jpg

图9-26 转子运动结果

(3)在弹出的Add Force or ForcePair对话框中设定标题为disturbance。

(4)使用默认的变量名,单击OK按钮。

(5)在Connectivity面板中的Force下拉列表中选择Action reaction,在Properties下拉列表中选择Rotational。

(6)在Action force on处,双击Body1按钮,并选择rotor。

(7)在Reaction force on处,双击Body2按钮,并选择Ground Body。

(8)在Apply force at处,双击Point 1按钮,并选择Point 0。

(9)在Local ref.frame处,双击Ref Marker按钮,选择Global Frame,如图9-27所示。

978-7-111-42217-4-Chapter09-72.jpg

图9-27 Force面板(disturbance)

(10)激活Rot Properties标签,将TX和TY都置为0。

(11)在TZ下,选择Expression,并输入

`3*STEP(time,12,0,12.1,1)*STEP(time,12.2,1,12.3,0)`。

STEP 08 定义扰动输出请求

(1)在项目浏览树中右击MBD Model,选择Add General MDL Entity→Output命令,或右击Outputs按钮978-7-111-42217-4-Chapter09-73.jpg

(2)在弹出Add Output对话框中,设定标题为disturbance Force。

(3)使用默认的变量名,单击OK按钮。

(4)按图9-28所示的内容,定义输出参数。

978-7-111-42217-4-Chapter09-74.jpg

图9-28 Output面板(disturbance Force)

STEP 09 递交求解

(1)在File菜单中选择Save As→Model命令,另存模型为rotor_control_disturbance.mdl。

(2)在工具栏下单击978-7-111-42217-4-Chapter09-75.jpg按钮,进入Run面板。

(3)在Sim Type下选择Transient,并指定文件名rotor_control_disturbance.xml。

(4)设置Simulation Parameters标签的End Time为25。

(5)回到Main标签,单击Run按钮,求解模型。

(6)求解结束后,单击窗口2。

(7)根据图9-29绘制受扰动转子Z轴角速度曲线。

978-7-111-42217-4-Chapter09-76.jpg

图9-29 Build Plots面板(Z轴角速度曲线)

(8)单击窗口3。

(9)根据图9-30绘制受扰动转子控制力矩曲线。

978-7-111-42217-4-Chapter09-77.jpg

图9-30 Build Plots面板(控制力矩曲线)

(10)根据图9-31绘制扰动力矩曲线。

978-7-111-42217-4-Chapter09-78.jpg

图9-31 Build Plots面板(扰动力矩曲线)

(11)由图9-32可以看出转子在受到扰动后,在控制器的作用下很快恢复到3rad/s的稳定转动状态。

978-7-111-42217-4-Chapter09-79.jpg

图9-32 扰动作用下的转子运动结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈