Project

vehicle dynamics week 3 set 2

1, Calculate the following parameters(12 points)

  • Front end deflection under load.
  • Rear end deflection under load.
  • Pitch angle.
  • Pitch gradient.

2, Use the IC location information to calculate the following(18 points)

  • Front anti-lift angle.
  • Rear anti-squat angle.
  • Front swing arm angle for 100% anti-lift.
  • Rear swing arm angle for 100% anti-squat.
  • Front anti-lift %.
  • Rear anti-lift %

3, To eliminate the pitch angle (theoretically), keep the rear swing arm height fixed at 16 inches from the contact patch. Calculate the following (12 points)

  • Front anti-lift % and rear anti-squat % for zero pitch angle.
  • Front end deflection under load, accounting for the new anti characteristics.
  • Rear end deflection under load, accounting for the new anti characteristics.
  • Pitch angle, accounting for the new anti characteristics (verify that it is indeed zero)

please see the following excel file:

https://drive.google.com/file/d/1zHkWyhkSI0vOnHaaJvGvS05QnCjcLq-0/view?usp=sharing

code:

clear all
close all
clc
 
 
 
tire_rate=245000
target_front_freq=1.15
timelag=2.7/(60*0.4470)
target_rear_freq=1/((1/target_front_freq)-timelag)
 
spring_rate=28085
spring_rate_rear=39245
%corner_weight_design
total_design=1825
corner_weight_unsprung_front=90/2
corner_weight_unsprung_rear=60/2
front_ratio=0.55
rear_ratio=1-front_ratio
axle_front=total_design*front_ratio
axle_rear=total_design*rear_ratio
corner_front_sprung=(axle_front/2)-corner_weight_unsprung_front
corner_rear_sprung=(axle_rear/2)-corner_weight_unsprung_rear
motion_ratio_front_design=0.97
motion_ratio_rear_design=0.85
wheel_rate_front=(spring_rate)*((motion_ratio_front_design)^2)
ride_rate_front=(wheel_rate_front*tire_rate)/(wheel_rate_front+tire_rate)
nat_freq_front=(1/(2*pi))*(sqrt((ride_rate_front)/(corner_front_sprung)))
wheel_rate_rear=(spring_rate_rear)*((motion_ratio_rear_design)^2)
ride_rate_rear=(wheel_rate_rear*tire_rate)/(wheel_rate_rear+tire_rate)
nat_freq_rear=(1/(2*pi))*(sqrt((ride_rate_rear)/(corner_rear_sprung)))
 
%curb calculations
total_curb=1500
corner_weight_unsprung_front_curb=90/2
corner_weight_unsprung_rear_curb=60/2
front_ratio_curb=0.6
rear_ratio_curb=1-front_ratio_curb
axle_front_curb=total_curb*front_ratio_curb
axle_rear_curb=total_curb*rear_ratio_curb
corner_front_sprung_curb=(axle_front_curb/2)-corner_weight_unsprung_front_curb
corner_rear_sprung_curb=(axle_rear_curb/2)-corner_weight_unsprung_rear_curb
motion_ratio_front_design=0.97
motion_ratio_rear_design=0.85
wheel_rate_front=(spring_rate)*((motion_ratio_front_design)^2)
ride_rate_front=(wheel_rate_front*tire_rate)/(wheel_rate_front+tire_rate)
nat_freq_front_curb=(1/(2*pi))*(sqrt((ride_rate_front)/(corner_front_sprung_curb)))
wheel_rate_rear=(spring_rate_rear)*((motion_ratio_rear_design)^2)
ride_rate_rear=(wheel_rate_rear*tire_rate)/(wheel_rate_rear+tire_rate)
nat_freq_rear_curb=(1/(2*pi))*(sqrt((ride_rate_rear)/(corner_rear_sprung_curb)))
 
%GVW_dsign:
total_GVW=2000
corner_weight_unsprung_front_GVW=90/2
corner_weight_unsprung_rear_GVW=60/2
front_ratio_GVW=0.52
rear_ratio_GVW=1-front_ratio_GVW
axle_front_GVW=total_GVW*front_ratio_GVW
axle_rear_GVW=total_GVW*rear_ratio_GVW
corner_front_sprung_GVW=(axle_front_GVW/2)-corner_weight_unsprung_front_GVW
corner_rear_sprung_GVW=(axle_rear_GVW/2)-corner_weight_unsprung_rear_GVW
motion_ratio_front_design=0.97
motion_ratio_rear_design=0.85
wheel_rate_front=(spring_rate)*((motion_ratio_front_design)^2)
ride_rate_front=(wheel_rate_front*tire_rate)/(wheel_rate_front+tire_rate)
nat_freq_front_GVW=(1/(2*pi))*(sqrt((ride_rate_front)/(corner_front_sprung_GVW)))
wheel_rate_rear=(spring_rate_rear)*((motion_ratio_rear_design)^2)
ride_rate_rear=(wheel_rate_rear*tire_rate)/(wheel_rate_rear+tire_rate)
nat_freq_rear_GVW=(1/(2*pi))*(sqrt((ride_rate_rear)/(corner_rear_sprung_GVW)))
 
%unsprung weight design
 
corner_weight_unsprung_front=90/2
corner_weight_unsprung_rear=60/2
wheel_rate_front=(spring_rate)*((motion_ratio_front_design)^2)
ride_rate_front_unsprung=(wheel_rate_front+tire_rate)
nat_freq_front_unsprung_design=(1/(2*pi))*(sqrt((ride_rate_front_unsprung)/(corner_weight_unsprung_front)))
wheel_rate_rear=(spring_rate_rear)*((motion_ratio_rear_design)^2)
ride_rate_rear_unsprung=(wheel_rate_rear+tire_rate)
nat_freq_rear_unsprung_design=(1/(2*pi))*(sqrt((ride_rate_rear_unsprung)/(corner_weight_unsprung_rear)))
 
%unsprung nat freq curb
nat_freq_front_unsprung_curb=(1/(2*pi))*(sqrt((ride_rate_front_unsprung)/(corner_weight_unsprung_front)))
nat_freq_rear_unsprung_curb=(1/(2*pi))*(sqrt((ride_rate_rear_unsprung)/(corner_weight_unsprung_rear)))
 
%unsprung frq. GVW
nat_freq_front_unsprung_GVW=(1/(2*pi))*(sqrt((ride_rate_front_unsprung)/(corner_weight_unsprung_front)))
nat_freq_rear_unsprung_GVW=(1/(2*pi))*(sqrt((ride_rate_rear_unsprung)/(corner_weight_unsprung_rear)))
 
 
%frequency ratio
freq_ratio_design=nat_freq_rear/nat_freq_front
freq_ratio_design_unsprung=nat_freq_rear_unsprung_design/nat_freq_front_unsprung_design
freq_ratio_curb=nat_freq_rear_curb/nat_freq_front_curb
freq_ratio_curb_unsprung=nat_freq_rear_unsprung_curb/nat_freq_front_unsprung_curb
freq_ratio_GVW=nat_freq_rear_GVW/nat_freq_front_GVW
freq_ratio_GVW_unsprung=nat_freq_rear_unsprung_GVW/nat_freq_front_unsprung_GVW
 
time=linspace(0,3,300)
 
for i=1:length(time)
    t=time(i)
    front_damped_freq_design(i)=exp(-t)*sin(2*pi*nat_freq_front*t)
    rear_damped_freq_design(i)=exp(-t)*sin(2*pi*nat_freq_rear*(t-timelag))
    front_damped_freq_curb(i)=exp(-t)*sin(2*pi*nat_freq_front_curb*t)
    rear_damped_freq_curb(i)=exp(-t)*sin(2*pi*nat_freq_rear_curb*(t-timelag))
    front_damped_freq_GVW(i)=exp(-t)*sin(2*pi*nat_freq_front_GVW*t)
    rear_damped_freq_GVW(i)=exp(-t)*sin(2*pi*nat_freq_rear_GVW*(t-timelag))
    i=i+1
end
 
subplot(1,3,1)
plot(time,front_damped_freq_curb);
hold on
plot(time,rear_damped_freq_curb);
title('Bump oscillation at curb weight');
xlabel('Time(s)');
ylabel('Amplitude');
legend('Front','Rear');
grid on
 
subplot(1,3,2)
plot(time,front_damped_freq_design);
hold on
plot(time,rear_damped_freq_design);
title('Bump oscillation at design load');
xlabel('Time(s)');
ylabel('Amplitude');
legend('Front','Rear');
grid on
 
subplot(1,3,3)
plot(time,front_damped_freq_GVW);
hold on
plot(time,rear_damped_freq_GVW);
title('Bump oscillation at GVW');
xlabel('Time(s)');
ylabel('Amplitude');
legend('Front','Rear');
grid on

steps:

1-timelag is calculated from target front frequency

2-then the target rear frequency is calculated

3-then corner weight is calculated at design condition

4-then the wheel rate and the ride rates are calculated at design condition

5-then front spring rate is chosen and the actual front natural frequency is calculated at design load

6-then in an iterative process the front spring rate is changed until it matches the target frequency specified at design load

7-the same process happens in the rear where also the rear spring rate is chosen and then changed until it matches the rear target frequency at design load

8-then corner weights are calculated for curb condition and then the natural frequency front and rear is calculated

9-then corner weights for GVW condition is calculated and natural frequency front and rear is calculated

10-then unsprung corner weights are calculated front and rear

11-then the unsprung ride rate and natural frequency is calculated for the three load condition for front and rear

12-then the natural frequency function is multiplied by negative exponential component in order to plot the damped natural frequency

13-in order to do that linspace command is used which calculates the output 300 times between 0 and 3 seconds

14-then for loop command is used to plot the functions at every time increment for the 300 increments set by the linspace command

15-then subplot command is used to plot the curves in the same figure and hold command is used to plot the front and rear curves on the same plot

output plots:

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.