Project

Vehicle Dynamics - Damper Optimization using MATLAB

AIM: To calculate the required parameters for front and rear suspension and to write a MATLAB code to plot the Force v/s Velocity shock curve.

OBJECTIVES:

1. Calculate the following parameters for front and rear suspension.

(i) Sprung mass critical damping

(ii) Unsprung mass critical damping

(iii) Sprung mass initial damping coefficient

(iv) Unsprung mass initial damping coefficient

(v) Low speed compression damping coefficient

(vi) High speed compresion damping coefficient

(vii) Low speed rebound damping coefficient

(viii) High speed rebound damping coefficient

2. Using the information calculated above, come up with a force vs. velocity shock curve for the front and rear suspensions (velocity range = 0 to 500 mm/sec).

GIVEN:

SOLUTION:

I. Calculating the required parameters:

PROCEDURE:

1. Calculate the weights at each wheel from the given total weight and its percentage distribution.

2. Calculate the wheel rates and ride rates for front and rear suspensions based on the given spring rate, motion ratio and tyre rates.

3. From these calculated weights and different rates, determine the critical damping of sprung and unsprung mass for both front and rear suspension.

4. Then calculate the damping coefficients based on these critical dampings and the damping ratios.

5. The low speed and high speed compresion dampings are calculated for front and rear suspensions.

6. Similarly, both the low speed and high speed rebound damping are determined for front and rear suspension.

Excel sheet (snapshot):

(drive link for the excel sheet: https://drive.google.com/file/d/1wDCXJPDPKWz_fJ26ds2yZGLVPv7gkA3Q/view?usp=sharing )

II. MATLAB code to plot Force v/s Velocity:

The following MATLAB code calculates all the parameters based on the given inputs and plots the required graphs for both front and rear suspension.

Snapshots of the outputs of the code have been attached below the code.

Graph plotting logic:

First we create a range array consisting the velocity values from 0 to 500. We use a for loop to determine the forces at all the points in this velocity array. Now we have the Force array and the velocity array of equal size and with proper corresponding values. Using the 'plot' command we plot the required graphs.

Code:

clear all
close all
clc

%% inputs

%weights in kg/corner
Ws_f = 477.5;       %front sprung
Ws_r = 397.5;       %rear sprung
Wu_f = 45;      %front unsprung
Wu_r = 30;      %rear unsprung

%damping ratios
ds_f = 0.70;        %front
ds_r = 0.70;        %rear
du_f = 0.20;        %front
du_r = 0.20;        %rear

%rebound/compression ratio
r_f = 3.00;     %front
r_r = 3.00;     %rear

%motion ratio
MR_f = 0.97;        %front
MR_r = 0.85;        %rear

%rates
%spring rates in N/mm
ks_f = 20;      %front
ks_r = 30;      %rear

%tire rates in N/mm
kt_f = 250;     %front
kt_r = 250;     %rear

%wheel rates in N/mm
kw_f = ks_f*(MR_f)^2;       %front
kw_r = ks_r*(MR_r)^2;       %rear

%ride rates in N/mm
kr_f = (kw_f*kt_f)/(kw_f+kt_f);     %front
kr_r = (kw_r*kt_r)/(kw_r+kt_r);     %rear


%% determination of required parameters

%critical damping in Ns/m
cds_f = 2*(kr_f*Ws_f*1000)^0.5;          %for front sprung mass 
cds_r = 2*(kr_r*Ws_r*1000)^0.5;          %for rear sprung mass
cdu_f = 2*((kw_f+kt_f)*1000*Wu_f)^0.5;   %for front unsprung mass
cdu_r = 2*((kw_r+kt_r)*1000*Wu_r)^0.5;   %for rear unsprung mass

%damping coefficient in Ns/m
Cs_f = ds_f*cds_f;      %for front sprung mass
Cs_r = ds_r*cds_r;      %for rear sprung mass
Cu_f = du_f*cdu_f;      %for front unsprung mass
Cu_r = du_r*cdu_r;      %for rear unsprung mass

%compression damping in Ns/m
dclo_f = Cs_f/2;        %low speed compression damping for front
dclo_r = Cs_r/2;        %low speed compression damping for rear
dchi_f = Cu_f/2;        %high speed compression damping for front
dchi_r = Cu_r/2;        %high speed compression damping for rear

%rebound damping in Ns/m
drlo_f = dclo_f*r_f;        %low speed rebound damping for front
drlo_r = dclo_r*r_r;        %low speed rebound damping for rear
drhi_f = dchi_f*r_f;        %high speed rebound damping for front
drhi_r = dchi_r*r_r;        %high speed rebound damping for rear


%% plotting Force vs Velocity shock curve

%velocity in mm/s
V = linspace(0,500,501);

%front shock

i = 1;
for v = linspace(0,500,501)
    if V(i) <= 50
        Fc(i) = dclo_f*V(i)/1000;
        Fr(i) = -drlo_f*V(i)/1000;
    else
        Fc(i) = Fc(i-1)+(V(i)-V(i-1))*dchi_f/1000;
        Fr(i) = Fr(i-1)-(V(i)-V(i-1))*drhi_f/1000;
    end
    i=i+1;
end

figure(1)
hold on
plot(V,Fc,'linewidth',2,'color','b')
plot(V,Fr,'linewidth',2,'color','g')
plot([0 500], [0 0],'color','black')
xlabel('Damping Velocity (mm/s)')
ylabel('Fornce (N)')
title('Front shock - Force v/s Velocity')
legend('Compresion Force','Rebound force','location','southwest')
grid on

saveas(1,'front_shock','jpeg')


%rear shock

j = 1;
for v = linspace(0,500,501)
    if V(j) <= 50
        Fc2(j) = dclo_r*V(j)/1000;
        Fr2(j) = -drlo_r*V(j)/1000;
    else
        Fc2(j) = Fc2(j-1)+(V(j)-V(j-1))*dchi_r/1000;
        Fr2(j) = Fr2(j-1)-(V(j)-V(j-1))*drhi_r/1000;
    end
    j=j+1;
end

figure(2)
hold on
plot(V,Fc2,'linewidth',2,'color','b')
plot(V,Fr2,'linewidth',2,'color','g')
plot([0 500], [0 0],'color','black')
xlabel('Damping Velocity (mm/s)')
ylabel('Fornce (N)')
title('Rear shock - Force v/s Velocity')
legend('Compresion Force','Rebound force','location','southwest')
grid on

saveas(2,'rear_shock','jpeg')

Output:

1. Front shock:

2. Rear shock:

CONCLUSION: All the parameters have been calculated and the Force v/s Velocity curve have been plotted for both front and rear suspension.

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.