Project

ride matlab

1, Calculate the following parameters. Use the same front and rear spring rates for all three load conditions.The front sprung mass natural frequency target at half load is 1.15 Hz. Keep this fixed(20 points)

  • Recommended rear sprung mass frequency based on speed and wheelbase at half load condition (2 points)
  • Front sprung mass natural frequency at half load . This will be based on (i). (1 point)
  • Front spring rate (2 points)
  • Rear spring rate (2 points)
  • Front sprung mass natural frequencies at curb and GVW (2 points)
  • Rear sprung mass natural frequencies at curb and GVW (2 points)
  • Front unsprung mass natural frequency at all three load conditions (3 points)
  • Rear unsprung mass natural frequency at all three load conditions (3 points)
  • Rear/Front frequency ratio for all three load conditions (3 points)

2, Plot the bump oscillation profile for all three load conditions using the method we developed in class. Submit the octave code(10 points)

Answer:

please see the following matlab file:

https://drive.google.com/file/d/1GICk4ZA9EObV8Qw84QLpc9lelc9dxH5t/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 function 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 on 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.