Model of power steering mechanism¶
Let's study the model of a simplified version of the hydraulic power steering system.
The system under study¶
Power steering (PSD) converts driver effort into hydraulic pressure, making it easier to turn the wheels. It is used in cars for comfort and to reduce driver strain. In addition to reducing the physical force of turning the steering wheel, the system also improves steering precision and smoothness. Creating a model of such a system will allow optimising its parameters (torsion stiffness, pump capacity), studying failures (e.g. pressure loss) or testing new solutions (e.g. electrohydraulic systems).
Model description¶
The system includes:
- Double-acting hydraulic cylinder
- 4-way control valve
- Constant pressure pump
- Safety valve
The steering rack acts on a load modelled by a spring and damper.
Turning the steering wheel causes torsion of the torsion bar between the steering wheel and the rack and pinion gear. The rod deformation is converted into a value expressing the displacement of the 4-way valve stem, which connects the hydraulic cylinder cavities to the pressure or drain line, depending on the direction of rotation. Between the rotational-mechanical and hydraulic parts of the system is the Gain block, which converts the angle of the torsion bar to the degree of valve opening. If the gain of this block is set to 0, the power booster is deactivated.
If the torsion bar deformation exceeds 9 degrees, the steering wheel is rigidly connected to the pinion via mechanical stops mounted parallel to the bar. The hydraulic cylinder moves the steering rack, which causes the torsion bar to twist back until the valve returns to the neutral position.
Running the calculations and analysing the results¶
Let's run the model using command control to get the graphs for the report:
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 ); # Расчет модели
In normal mode, in the presence of feedback between steering angle with proportional coefficient -0.0212
, we get the following graph:
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)
)
We see how the pressure varied in each volume inside the hydraulic cylinder.
Operation with the power booster disengaged¶
To study the operation with the power steering disconnected, we disconnect the connection between the steering angle sensor and the valve stem, which is now carried out by means of a proportional coefficient -0.0212
. That is, a 90 degree turn of the steering wheel will move the stem 3.33 millimetres to one side or the other.
Let's reset this relationship using command control.
engee.set_param!( "power_assisted_steering_mechanism/Коэффициент усиления-1", "Gain" => 0 )
Let's execute the previously opened model.
res = engee.run( model_name ); # Расчет модели
The graphs also compare the steering force when the power steering is on and off. When the power steering is switched off, the driver has to exert considerably more force without power steering to maintain a given steering angle.
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
)
In the bottom graph we also notice that the wheel offset is much slower and does not keep up with the command, perhaps this is because the hydraulic pump is still on and the piston is heavily damping the steering rack offset.
Let's switch the feedback back on again so as not to interfere with further experimentation.
engee.set_param!( "power_assisted_steering_mechanism/Коэффициент усиления-1",
"Gain" => -0.0212 )
What else can be investigated with this model¶
This model will allow us to debug a model of a digital power steering control system, as well as investigate the complex effects that occur in a power steering system:
- Investigation of the effect of torsion bar stiffness on steering sensitivity
To do this, we need to add a torsion bar to the modelled element with adjustable stiffness (e.g. via a variable coefficient spring). This modification will allow us to show how changing the stiffness affects the steering sensitivity (steering angle before the power steering kicks in) and the stability of the system (the possibility of oscillation if the rod is too soft).
- Dynamic damping modelling to eliminate steering oscillations
To do this, we need to add an active damper to the steering rack system (such as a speed sensor controlled electric shock absorber) to the model. This will allow us to show how the damper suppresses steering oscillations when turning sharply, or compare the response of the system with passive (spring+damper) and active damping.
- Simulate different pump modes (constant vs. variable flow)
Replacing a fixed pump with a variable pump (e.g. proportional control) will allow to calculate the energy consumption of the system at different speeds (low speed requires more effort, high speed requires less) and compare the efficiency of a system with a constant vs. variable flow pump.
- Impact of backlash and clearances on steering accuracy
Adding non-idealities to the model (e.g. dead play in gears or clearances in joints) will allow you to show how clearances lead to delayed wheel response or visualise shocks during sudden changes in steering direction.
Conclusion¶
The realised model allows us to demonstrate a large range of interesting effects occurring in power steering, and to begin the development of a digital power steering control system.