汽车悬架系统
此示例说明如何对简化的半车模型建模,该模型包括独立的前后垂直悬架系统。该模型还包括车身俯仰和弹跳自由度。该示例提供模型描述,以说明如何使用仿真来研究行驶特征。您可以将此模型与动力总成系统仿真结合使用,以研究节气门设置变化导致的前后喘振。
物理原理分析
半车模型的自由体受力图
图解展示半车的模型化特征。前后悬架系统建模为弹簧/阻尼系统。更详细的模型将包括轮胎模型和阻尼非线性,例如速度相关的阻尼(回弹期间的阻尼大于压缩期间的阻尼)。车身具有俯仰和弹跳自由度。它们在模型中由四种状态表示:垂直位移、垂直速度、俯仰角位移和俯仰角速度。可以使用向量代数模块来实现具有六个自由度的完整模型,以执行轴变换和力/位移/速度计算。方程 1 说明前悬架系统对弹跳的影响(即垂直自由度):
其中:
方程 2 描述悬架系统产生的俯仰力矩。
其中:
方程 3 根据牛顿第二定律,解析力和力矩导致车体运动:
其中:
模型
要打开模型,请在 MATLAB® 命令行窗口中键入 sldemo_suspn
。
悬架系统模型的顶层图
悬架系统模型有两个输入,两个输入模块在模型图上均为蓝色。第一个输入是道路高度。此处的阶跃输入对应于车辆在高度存在阶跃变化的路面上行驶。第二个输入是通过车轮中心发挥作用的水平力,该力由制动或加速操作产生。此输入仅作为俯仰轴的力矩出现,因为没有对纵向车体运动建模。
FrontSuspension 和 RearSuspension 子系统中使用的弹簧/阻尼模型
对前后悬架系统建模的弹簧/阻尼子系统如上所示。右键点击 Front/Rear Suspension 模块,然后选择封装 > 查看封装内部以查看前/后悬架系统子系统。悬架系统子系统用于对方程 1-3 建模。这些方程通过直接使用 Gain 和 Summation 模块直接在 Simulink® 图中实现。
前后之间的差异说明如下。由于子系统是封装模块,因此可以为每个实例输入一个不同数据集(L
、K
和 C
)。其中,L
被视为笛卡尔坐标轴 x,相对于原点(此处即重心)取负值或正值。因此,Kf
、Cf
和 -Lf
用于前悬架系统模块,而 Kr
、Cr
和 Lr
用于后悬架系统模块。
运行仿真
要运行此模型,请在仿真选项卡上,点击运行。初始条件从 sldemo_suspdat.m
文件加载到模型工作区。要查看模型工作区的内容,请在 Simulink 编辑器的建模选项卡的设计下,选择模型资源管理器。在模型资源管理器中,查看 sldemo_suspn
模型的内容,并选择“模型工作区”。在模型工作区中加载初始条件可防止意外修改参数,并保持 MATLAB 工作区干净。
请注意,该模型将相关数据记录到 MATLAB 工作区中名为 sldemo_suspn_output
的数据结构体中。键入该结构体的名称,查看它包含什么数据。
仿真结果
仿真结果如上所示。结果基于 sldemo_suspgraph.m
文件绘制而来。默认初始条件见表 1。
表 1:默认初始条件
Lf = 0.9; % front hub displacement from body gravity center (m) Lr = 1.2; % rear hub displacement from body gravity center (m) Mb = 1200; % body mass (kg) Iyy = 2100; % body moment of inertia about y-axis in (kg m^2) kf = 28000; % front suspension stiffness in (N/m) kr = 21000; % rear suspension stiffness in (N/m) cf = 2500; % front suspension damping in (N sec/m) cr = 2000; % rear suspension damping in (N sec/m)
关闭模型
关闭模型并从 MATLAB 工作区中删除生成的数据。
总结
此模型允许您对更改悬架系统阻尼和刚度的效果进行仿真,从而研究舒适性和性能之间的权衡。一般来说,赛车的弹簧非常坚硬,阻尼系数很高,而乘用车的弹簧更软,振荡响应更大。