Main Content

汽车悬架系统

此示例说明如何对简化的半车模型建模,该模型包括独立的前后垂直悬架系统。该模型还包括车身俯仰和弹跳自由度。该示例提供模型描述,以说明如何使用仿真来研究行驶特征。您可以将此模型与动力总成系统仿真结合使用,以研究节气门设置变化导致的前后喘振。

物理原理分析

半车模型的自由体受力图

图解展示半车的模型化特征。前后悬架系统建模为弹簧/阻尼系统。更详细的模型将包括轮胎模型和阻尼非线性,例如速度相关的阻尼(回弹期间的阻尼大于压缩期间的阻尼)。车身具有俯仰和弹跳自由度。它们在模型中由四种状态表示:垂直位移、垂直速度、俯仰角位移和俯仰角速度。可以使用向量代数模块来实现具有六个自由度的完整模型,以执行轴变换和力/位移/速度计算。方程 1 说明前悬架系统对弹跳的影响(即垂直自由度):

$$F_{f} = 2K_f (L_f \theta - (z + h)) + 2C_f(L_f \dot{\theta} -\dot{z})$$

其中:

$$F_{f}, F_{r} = \mbox{ upward force on body from front/rear suspension}$$

$$K_f, K_r = \mbox{ front and rear suspension spring constant}$$

$$C_f, C_r = \mbox{ front and rear suspension damping rate}$$

$$L_f, L_r = \mbox{ horizontal distance from gravity center to front/rear suspension}$$

$$\theta, \dot{\theta} = \mbox{ pitch (rotational) angle and its rate of change}$$

$$z, \dot{z} = \mbox{ bounce (vertical) distance and its rate of change}$$

$$h = \mbox{ road height }$$

方程 2 描述悬架系统产生的俯仰力矩。

$$M_{f} = -L_{f}F_{f}$$

$$F_{r} = -2K_r (L_r\theta + (z + h)) -2C_r ( L_r \dot{\theta} + \dot{z})$$

$$M_{r} = L_r F_{r}$$

其中:

$$M_{f}, M_{r} = \mbox{ Pitch moment due to front/rear suspension}$$

方程 3 根据牛顿第二定律,解析力和力矩导致车体运动:

$$m_b\ddot{z} = F_{f} + F_{r} - m_b g$$

$$I_{yy} \ddot{\theta} = M_{f} + M_{r} + M_y $$

其中:

$$ m_b = \mbox{ body mass}$$

$$ M_y = \mbox{ pitch moment induced by vehicle acceleration}$$

$$I_{yy} = \mbox{ body moment of inertia about gravity center}$$

模型

要打开模型,请在 MATLAB® 命令行窗口中键入 sldemo_suspn

悬架系统模型的顶层图

悬架系统模型有两个输入,两个输入模块在模型图上均为蓝色。第一个输入是道路高度。此处的阶跃输入对应于车辆在高度存在阶跃变化的路面上行驶。第二个输入是通过车轮中心发挥作用的水平力,该力由制动或加速操作产生。此输入仅作为俯仰轴的力矩出现,因为没有对纵向车体运动建模。

FrontSuspension 和 RearSuspension 子系统中使用的弹簧/阻尼模型

对前后悬架系统建模的弹簧/阻尼子系统如上所示。右键点击 Front/Rear Suspension 模块,然后选择封装 > 查看封装内部以查看前/后悬架系统子系统。悬架系统子系统用于对方程 1-3 建模。这些方程通过直接使用 Gain 和 Summation 模块直接在 Simulink® 图中实现。

前后之间的差异说明如下。由于子系统是封装模块,因此可以为每个实例输入一个不同数据集(LKC)。其中,L 被视为笛卡尔坐标轴 x,相对于原点(此处即重心)取负值或正值。因此,KfCf-Lf 用于前悬架系统模块,而 KrCrLr 用于后悬架系统模块。

运行仿真

要运行此模型,请在仿真选项卡上,点击运行。初始条件从 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 工作区中删除生成的数据。

总结

此模型允许您对更改悬架系统阻尼和刚度的效果进行仿真,从而研究舒适性和性能之间的权衡。一般来说,赛车的弹簧非常坚硬,阻尼系数很高,而乘用车的弹簧更软,振荡响应更大。

相关主题