MATLAB/Simulink Electric Power Steering (EPS) System Model Documentation

The model includes a full vehicle two-degree-of-freedom model, EPS model, upper and lower steering column models, including modeling equations, vehicle parameters, matching calculations, models, and usage instructions. Electric Power Steering System Control System Electric Power Steering System Controlled System Logic threshold control algorithm Control strategy Software-in-the-loop simulation testingMATLAB/Simulink Electric Power Steering (EPS) System Model Documentation

Table of Contents

  • MATLAB/Simulink Electric Power Steering (EPS) System Model Documentation
    • 1. System Overview
    • 2. System Modeling
      • 2.1 Full Vehicle Two-Degree-of-Freedom Model
        • 2.1.1 Motion Equations
      • 2.2 EPS Actuator Model
      • 2.3 Steering Column Drive Model
    • 3. Vehicle Parameters
    • 4. Control System Design
      • 4.1 Control Strategy – Logic Threshold Control Algorithm
        • 4.1.1 Control Logic
        • 4.1.2 Assist Characteristic Curve
    • 5. Simulink Model Structure
    • 6. Model Matching Calculations
      • 6.1 Assist Characteristic Matching
      • 6.2 Motor Selection Calculations
      • 7.2 Parameter Adjustment Recommendations
    • 8. Software-in-the-Loop Simulation Testing (SIL)
      • 8.1 Test Scenario Design
      • 8.2 Test Code Examples
    • 9. Summary
      • MATLAB Script Implementation
      • Usage Instructions
      • Notes

MATLAB/Simulink Electric Power Steering (EPS) System Model Documentation

1. System Overview

This project includes a complete Electric Power Steering (EPS) system model based on MATLAB/Simulink, including:

  • Full vehicle two-degree-of-freedom dynamic model
  • EPS actuator model
  • Steering column drive model
  • Control system design
  • Logic threshold-based control strategy
  • Model validation and simulation testing

2. System Modeling

2.1 Full Vehicle Two-Degree-of-Freedom Model

2.1.1 Motion Equations

The full vehicle two-degree-of-freedom model describes the vehicle’s yaw motion and lateral motion:

m*(v' + u*r) = Fyf + Fyr
Iz*r' = a*Fyf - b*Fyr

Where:

  • m: Vehicle mass (kg)
  • v: Lateral speed (m/s)
  • u: Longitudinal speed (m/s)
  • r: Yaw rate (rad/s)
  • Fyf, Fyr: Lateral forces on front and rear wheels (N)
  • Iz: Moment of inertia about the z-axis (kg·m²)
  • a: Distance from the front axle to the center of mass (m)
  • b: Distance from the rear axle to the center of mass (m)

2.2 EPS Actuator Model

The dynamic equations of the EPS system actuator are:

J_m * θ_m'' + B_m * θ_m' = K_t * I_a - T_out * N_g
V_a = R_a * I_a + L_a * I_a' + K_b * θ_m'
T_assist = K_motor * θ_m_error + B_damper * θ_m_error'

Where:

  • J_m: Motor moment of inertia
  • θ_m: Motor angle
  • B_m: Motor damping coefficient
  • K_t: Motor torque constant
  • I_a: Armature current
  • T_out: Output torque
  • N_g: Gear reduction ratio
  • V_a: Armature voltage
  • R_a: Armature resistance
  • L_a: Inductance
  • K_b: Back EMF constant
  • T_assist: Assist torque
  • K_motor: Assist stiffness coefficient
  • B_damper: Damping coefficient

2.3 Steering Column Drive Model

The steering column model includes torsional stiffness and damping characteristics:

T_handwheel = T_input + K_stiffness * (θ_column_upper - θ_column_lower) + B_damping * (θ_column_upper' - θ_column_lower')

Where:

  • T_handwheel: Steering wheel torque
  • T_input: Input torque
  • K_stiffness: Torsional stiffness coefficient
  • B_damping: Torsional damping coefficient
  • θ_column_upper: Upper steering column angle
  • θ_column_lower: Lower steering column angle

3. Vehicle Parameters

Parameter Symbol Value Unit
Vehicle mass m 1500 kg
Moment of inertia about the z-axis Iz 2700 kg·m²
Distance from front axle to center of mass a 1.2 m
Distance from rear axle to center of mass b 1.4 m
Track width t 1.5 m
Steering system gear ratio i_s 20
Tire lateral stiffness (front) C_f 150000 N/rad
Tire lateral stiffness (rear) C_r 180000 N/rad
Motor moment of inertia J_m 0.05 kg·m²
Motor damping coefficient B_m 0.1 N·m·s/rad
Motor torque constant K_t 0.5 N·m/A
Armature resistance R_a 0.5 Ω
Inductance L_a 0.01 H
Back EMF constant K_b 0.5 V·s/rad
Gear reduction ratio N_g 50
Assist stiffness coefficient K_motor 3 N·m/rad
Damping coefficient B_damper 0.5 N·m·s/rad
Torsional stiffness coefficient K_stiffness 500 N·m/rad
Torsional damping coefficient B_damping 10 N·m·s/rad

4. Control System Design

4.1 Control Strategy – Logic Threshold Control Algorithm

Logic threshold control is a commonly used control method in EPS systems, where the basic principle is to determine the level of assistance based on vehicle speed and steering wheel torque.

4.1.1 Control Logic

  1. Torque Detection: Detect steering wheel torque using a torque sensor
  2. Vehicle Speed Input: Obtain the current vehicle speed
  3. Assist Calculation:
  • When the vehicle speed is below the low-speed threshold, provide maximum assistance
  • When the vehicle speed is above the high-speed threshold, provide minimum assistance
  • In the intermediate speed range, reduce assistance linearly or non-linearly
  • Direction Judgment: Determine the direction of assistance based on the torque direction
  • 4.1.2 Assist Characteristic Curve

    function[assist_torque]=assist_control(hand_torque, vehicle_speed)
    % Parameter settings
        low_speed =10;% Low-speed threshold (km/h)
        high_speed =60;% High-speed threshold (km/h)
        max_assist =3;% Maximum assistance (Nm)
        min_assist =0.5;% Minimum assistance (Nm)
    
    % Normalization
        normalized_torque =abs(hand_torque)/5;% Assume maximum hand torque is 5Nm
    
    % Calculate assist gain
    if vehicle_speed <= low_speed
            gain =1;
    elif vehicle_speed >= high_speed
            gain =0;
    else
            gain =1-(vehicle_speed - low_speed)/(high_speed - low_speed);
    end
    
    % Calculate final assistance
        assist_torque =(min_assist +(max_assist - min_assist)* normalized_torque * gain)...
    *sign(hand_torque);
    end
    

    5. Simulink Model Structure

    The entire Simulink model consists of the following main components:

    1. Driver Model: Simulates steering wheel input
    2. EPS Control System: Implements the above control algorithm
    3. EPS Actuator Model: Motor, reduction mechanism, etc.
    4. Full Vehicle Dynamics Model: Two-degree-of-freedom vehicle model
    5. Tire Model: Simplified tire-ground interaction
    6. Sensor Module: Simulates various sensor signals
    7. Visualization Module: Displays key variables

    6. Model Matching Calculations

    6.1 Assist Characteristic Matching

    The assist characteristics need to match the vehicle parameters to ensure appropriate steering assistance at different speeds:

    Assist Ratio = (Max Hand Wheel Torque at Parking) / (Max Assist Torque)
    

    Typically, an assist ratio between 3:1 and 5:1 is chosen to ensure good “road feel” and ease of handling.

    6.2 Motor Selection Calculations

    Motor power requirement calculations:

    P_motor = (T_assist_max * ω_motor) / η
    

    Where:

    • T_assist_max: Maximum assist torque
    • ω_motor: Motor angular speed
    • η: Transmission efficiency

    1

    7.2 Parameter Adjustment Recommendations

    • For different vehicle masses, adjust tire lateral stiffness and motor parameters
    • Different steering system gear ratios will affect assist characteristics, requiring readjustment of control parameters
    • In practical applications, more nonlinear factors such as friction and play should be considered

    8. Software-in-the-Loop Simulation Testing (SIL)

    8.1 Test Scenario Design

    1. Static Assist Testing: Fixed vehicle speed, varying steering wheel torque
    2. Dynamic Response Testing: Step steering wheel input, observe response
    3. Speed-Related Testing: Assist effects at different speeds
    4. Sine Sweep Testing: Evaluate system frequency response characteristics
    5. Extreme Condition Testing: High-speed sharp turns and other extreme situations

    8.2 Test Code Examples

    % Initialize test parameters
    test_duration =10;% Test duration (s)
    sample_time =0.01;% Sampling time (s)
    time =0:sample_time:test_duration;
    
    % Define test input signals
    steering_angle_input =zeros(size(time));
    vehicle_speed_input =30*ones(size(time));% Constant speed 30km/h
    
    % Apply steering wheel torque during a certain time period
    for i=1:length(time)
    if time(i) >=2 && time(i) <=5
    steering_angle_input(i)=2*sin(2*pi*(i-2)*sample_time);% Apply input from 2s to 5s
    else
    steering_angle_input(i)=0;
    end
    end
    
    % Store original parameters
    original_params =get_param('eps_model','ObjectParameters');
    
    % Set rapid simulation mode
    set_param('eps_model','SimulationMode','rapid');
    
    % Create test loop
    for test_case =1:length(time)
    % Set inputs
    assignin('base','handwheel_angle',steering_angle_input(test_case));
    assignin('base','vehicle_speed',vehicle_speed_input(test_case));
    
    % Run simulation
    sim('eps_model');
    
    % Store results
        results.time(test_case)=time(test_case);
        results.assist_torque(test_case)= out.assistTorque;
        results.handwheel_torque(test_case)= out.handwheelTorque;
        results.actual_angle(test_case)= out.steeringAngle;
    end
    
    % Restore original parameters
    set_param('eps_model', original_params);
    
    % Result analysis
    figure;
    subplot(2,1,1);
    plot(results.time, results.assist_torque,'b',...
         results.time, results.handwheel_torque,'r');
    legend('Assist Torque','Handwheel Torque');
    xlabel('Time (s)');
    ylabel('Torque (Nm)');
    title('Steering Torque Response');
    
    subplot(2,1,2);
    plot(results.time, results.actual_angle);
    xlabel('Time (s)');
    ylabel('Steering Angle (rad)');
    title('Steering Angle Response');
    

    9. Summary

    This document provides a complete EPS system modeling and control scheme, encompassing the entire design from mechanical system modeling to electronic control systems. The model can be used to study EPS system performance, optimize control algorithms, and conduct software-in-the-loop testing. In practical applications, further considerations may be needed for more complex vehicle dynamics models, tire models, and advanced control algorithms (such as PID control, fuzzy control, adaptive control, etc.).

    MATLAB/Simulink Electric Power Steering (EPS) System Model Documentation.

    MATLAB Script Implementation

    function[motor_current]=eps_control_system(Td)
    % Input parameter: Td - Driver input steering wheel torque
    
    % Calculate absolute value
        u1 =abs(Td);
    
    % Check if u1 is less than 1
    if u1 <1
            Td2 =0;
    else
            Td2 = u1;
    end
    
    % Check if u1 is greater than 7
    if u1 >7
            Td1 =7;
    else
            Td1 = u1;
    end
    
    % Calculate motor current
        a =1;% Assume a value of 1, actual application needs adjustment
        b =1;% Assume b value of 1, actual application needs adjustment
        K =1;% Assume K value of 1, actual application needs adjustment
        Ka =1;% Assume Ka value of 1, actual application needs adjustment
        G_eta =1;% Assume G_eta value of 1, actual application needs adjustment
    
    % Calculate intermediate variables
        u_squared = u1^2;
        term1 = K *(a + b)/2;
        term2 = K *(a - b)/2*cos(2* u_squared);
        term3 = K * a * Td2^2* b * Td1;
    
    % Calculate final motor current
        motor_current =(term1 + term2 + term3)/(Ka * G_eta);
    end
    

    Usage Instructions

    1. Function Definition: The <span>eps_control_system</span> function takes the driver input steering wheel torque <span>Td</span> as an input parameter.
    2. Calculate Absolute Value: Use the <span>abs</span> function to calculate the absolute value of <span>Td</span> as <span>u1</span>.
    3. Conditional Judgment:
    • If <span>u1</span> is less than 1, set <span>Td2</span> to 0; otherwise, set <span>Td2</span> to <span>u1</span>.
    • If <span>u1</span> is greater than 7, set <span>Td1</span> to 7; otherwise, set <span>Td1</span> to <span>u1</span>.
  • Calculate Motor Current:
    • Define some constants <span>a</span>, <span>b</span>, <span>K</span>, <span>Ka</span>, <span>G_eta</span> (which need to be adjusted based on specific situations in practical applications).
    • Calculate intermediate variables <span>u_squared</span>, <span>term1</span>, <span>term2</span>, and <span>term3</span>.
    • Finally, calculate the motor current <span>motor_current</span>.

    Notes

    Leave a Comment