动力转向装置模型¶
让我们来研究一下简化版液压动力转向系统的模型。
所研究的系统¶
动力转向(PSD)可将驾驶员的体力转化为液压,使车轮更容易转动。汽车使用该系统是为了提高舒适性和减轻驾驶员的疲劳。除了减少转动方向盘的体力外,该系统还能提高转向精度和平稳性。创建此类系统的模型可以优化其参数(扭转刚度、泵容量)、研究故障(如压力损失)或测试新的解决方案(如电动液压系统)。
模型描述¶
系统包括
- 双作用液压缸
- 4 通控制阀
- 恒压泵
- 安全阀
转向齿条作用在由弹簧和减震器模拟的负载上。
转动方向盘会导致方向盘和齿轮齿条之间的扭杆发生扭转。根据旋转方向的不同,扭杆的变形被转换成表示四通阀杆位移的数值,四通阀杆将液压缸腔与压力管或排水管连接起来。在系统的旋转机械部分和液压部分之间是增益块,它将扭杆的角度转换为阀门的开启度。如果将该程序块的增益设置为 0,则动力增压器将被停用。
如果扭杆变形超过 9 度,转向盘将通过与扭杆平行安装的机械挡块与小齿轮刚性连接。液压缸移动转向齿条,使扭杆向后扭转,直到阀门回到中立位置。
运行计算并分析结果¶
让我们使用命令控制来运行模型,为报告获取图表:
model_name = "power_assisted_steering_mechanism";
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
res = engee.run( model_name ); # Расчет модели
在正常模式下,在转向角与比例系数-0.0212
之间存在反馈的情况下,我们可以得到下图:
gr()
plot( res["Command"].time, rad2deg.([res["Measured"].value res["Command"].value]),
label = ["Измеренное смещение" "Угол отклонения руля"],
ylabel="Угол, градусы",
lw=3, c=[2 :black], ls=[:solid :dash], size=(600,300) )
gr()
torque_with_as = res["Rack & Pinion.T_pinion"]; # Сохраним значнеие момента на валу руля
plot(
plot( res["Double-Acting Actuator (IL).port_a.p"].time,
[res["Double-Acting Actuator (IL).port_a.p"].value res["Double-Acting Actuator (IL).port_b.p"].value],
label=["Порт А" "Порт Б"], ylabel="Давление, Па",
lw=3),
plot( res["Command"].time, rad2deg.([res["Measured"].value res["Command"].value]),
label = ["Измеренное смещение" "Угол отклонения руля"],
ylabel="Угол, градусы",
lw=3, c=[2 :black], ls=[:solid :dash] ),
size=(600,500), layout=(2,1)
)
我们可以看到液压缸内各容积的压力变化情况。
动力助推器分离时的操作¶
为了研究动力转向系统断开时的运行情况,我们断开了转向角传感器和阀杆之间的连接,现在是通过比例系数-0.0212
来实现的。也就是说,方向盘转动 90 度将使阀杆向一侧或另一侧移动 3.33 毫米。
让我们使用指令控制来重新设置这种关系。
engee.set_param!( "power_assisted_steering_mechanism/Коэффициент усиления-1", "Gain" => 0 )
执行之前打开的模型。
res = engee.run( model_name ); # Расчет модели
图中还比较了动力转向系统开启和关闭时的转向力。当动力转向关闭时,驾驶员在没有动力转向的情况下需要施加更大的力才能保持一定的转向角。
plot(
plot(res["Rack & Pinion.T_pinion"].time,
[torque_with_as.value res["Rack & Pinion.T_pinion"].value],
ylabel="Крутящий момент, Н/м",
label=["С гидроусилителем" "Без гидроусилителя"]),
plot(res["Command"].time, rad2deg.([res["Measured"].value res["Command"].value]),
label = ["Измеренное смещение" "Угол отклонения руля"],
ylabel="Угол, градусы", c=[2 :black], ls=[:solid :dash]),
size=(600,500), layout=(2,1), lw=3
)
在下图中,我们还注意到车轮偏移要慢得多,跟不上指令,这可能是因为液压泵仍在工作,活塞对转向齿条的偏移产生了很大的阻尼。
为了不影响进一步实验,让我们再次打开反馈装置。
engee.set_param!( "power_assisted_steering_mechanism/Коэффициент усиления-1",
"Gain" => -0.0212 )
这个模型还能研究什么¶
通过该模型,我们可以调试数字动力转向控制系统模型,并研究动力转向系统中出现的复杂效应:
1.研究扭杆刚度对转向灵敏度的影响
为此,我们需要在建模元件中添加一个可调节刚度(例如通过可变系数弹簧)的扭杆。这一修改将使我们能够展示改变刚度如何影响转向灵敏度(动力转向启动前的转向角)和系统稳定性(如果扭杆太软,则可能出现振荡)。
2.消除转向振荡的动态阻尼模型
为此,我们需要在模型中添加转向齿条系统的主动阻尼器(如速度传感器控制的电动减震器)。这将使我们能够显示减震器在急转弯时如何抑制转向振荡,或比较被动(弹簧+减震器)和主动减震的系统响应。
3.模拟不同的泵模式(恒定流量与可变流量)
用变量泵(如比例控制)取代固定泵,可以计算出系统在不同转速下的能耗(低速时需要更多能量,高速时需要更少能量),并**比较恒定泵与变量泵系统的效率。
4.反向间隙和间隙对转向精度的影响
在模型中加入非理想状态(如齿轮的死区或关节间隙),可以显示间隙如何导致车轮响应延迟,或直观显示转向方向突然变化时的冲击。
结论¶
我们利用实现的模型展示了动力转向系统中出现的各种有趣效应,并开始开发数字动力转向控制系统。