Bike Absorber

Purpose: An absorber system was designed to be attached to a bicycle such that the rider could be kept completely still as the bicycle traverses across land. A vibration analysis was performed, modelling the bicycle and rider as the m1-c1-k1 primary system, the base motion as a simple sinusoidal curve, and designing the absorber as the m2-c2-k2 secondary system. Using the given conditions for base motion amplitude and mass ratio µ, and assuming values for the range of ground wavelength, range of bicycle speeds, and mass of the rider, MATLAB software was used in order to perform the calculation and modeling required to produce appropriate values for the m2-c2-k2 system.

These values were: m2 = 4.5kg, c2 = 0, and k2 = 58.0kNm

Problem: A vibration absorber is a device that can absorb vibrations and reduce its intensity without the need to isolate the system from the vibrations. A 2DOF vibration system can implement the use of a vibration absorber well. In this design, a bicycle system primarily consisting of a m1-c1-k1 system and a m2-c2-k2 absorber system is discussed, this is shown in the Figure below. By making the assumptions of c1 = c2 = 0 and the excitation to the primary mass being due to the base motion; Y(t) = Yosin(wt), the idea of adding an absorber to the vibration of a moving bicycle can be implemented.


By applying the idea of an absorber to a moving bicycle and selecting the bicycle system to be the m1-c1-k1 primary system, an absorber system m2-c2-k2 is to be designed and attached to the bicycle. This will include deriving the equations of motion of the primary-absorber system and making the assumption of Yo = 0.2cm with the bicycle moving at a constant speed of V. An m2 and k2 value will be decided in-order to reduce the vibration of the primary mass to the minimum. Lastly, a physical design of m2-k2 absorber system will be provided that can be reliably attached to a real bicycle through this fast design

A megatexture value of 50 mm < wavelength < 500 mm for the pavement texture as that is what is felt by the tires going over the bumps. For velocities I included 4.5 m/s < V < 9 m/s (10 to 20 mph) to accomodate people with lower cardiovascular endurance as well as those late and rushing to get to work. A semilog 3D plot was created relating f=V/λ, yielding a range between 9 - 180 Hz or 56.55 to 1131 rad/s. For the sake of obtaining an accurate answer in the end, we will use the upper extreme values for each, & the rider is assumed to be travelling 9 m/s with a bump felt every 500 mm. Thus, the ω in this specific case is 18 Hz =113.1 rad/s

Determining the range of ω_p included calculating the k_p; the spring constant of the tires making contact on the ground with the rider on the bike. The tires act as air springs by absorbing energy when it becomes compressed, and releasing energy when it expands. By relating Hooke’s Law F = kx, where F=PA, p = pressure of the bike tire, a = contact between tire-terrain, x = vertical change in bike tire height, we acquire a range of values for k_p = PAx. This was done experimentally with a 200 lb rider on a 2017 Felt F3X Cross Bike pumped to 85 PSI. The area contact patch measured via pencil outline, and height of the inner wheel made with the ground and no rider on the bike was found to be (6.5*1.4 cm) and 4.6 mm for 1 tire respectively. When the rider got on the bike the contact patch area grew to (11*1.5 cm) and the wheel height dropped to 3.6 mm. Converting this range of values to SI, assuming the mass is distributed evenly, k_p of 1 tire = 586,054(1.6510-3-9.110-4)(4.6-3.61000)= 433,680 Nm per tire. Because there are 2 tires and the springs of the system are modelled in parallel k_p = 2433,680 = 867,360 Nm = 867.4 kNm.

ω_p = 867,36090.7185 = 97.78 rad/s

The best choice for an absorber system is tuning the absorber mass and stiffness so that ω_a= ω, which drives the vibration amplitude of the primary system to 0. However, there is another condition that the mass of our absorber / mass to the primary system design (μ) should be between 0.05 to 0.25 as referenced in Daniel J. Inman - Engineering Vibration. The smallest possible value of μ was settled as larger numbers in the ratio add extra weight to the bike, making it more difficult for the rider to peddle over time. Taking our case of a 200 lb rider+bike travelling 9 m/s constant velocity over a bump every 500 mm: 

μ = 0.05 = m_a/m = m_a = 90.72, m_a = 4.536 kg

ω = ω_a = 113.1 rad/s = (k_a / 4.536)^1/2

k_a = 58.02 kN/m

X = ([1-(ω/ω_a)^2](F/K)]) / ([1+μ(ω_a/ω_p)^2-(ω/ω_p)^2][1-(ω/ω_a)^2]-(ω_a/ω_p)^2) = 0

Xa = [(F/K)] / ([1+μ(ω_a/ω_p)^2-(ω/ω_p)2][1-(ω/ω_a)^2]-(ω_a/ω_p)^2) = 1.73x10^-6 m

Using the following design parameters:

μ = m_a/m = 4.536 / 90.72 = 0.05

β = ω_p/ω_p = 113.1 / 97.78 = 1.1567

Developing the below MATLAB code:

clc 

clear all

v = [4.5:0.1:9];

lambda = [0.05:0.01:0.5];

[x,y]=meshgrid(v,lambda);

w = (x./y);

log_w = log(x./y);

figure

surf(v,lambda,log_w)

xlabel('Velocity [m/s]');

ylabel('Wave Length [m]');

zlabel('Driving Frequency (W) [Hz]');

w_avg = mean(w, 'all');

 function vtb5_3(mu,beta)

%VTB5_3 Normalized displacement of the primary mass for absorber design.

% VTB5_3(mu,beta) plots the normalized displacement of the primary mass

% for a vibration absorber design.  The variable mu is defined

% as the absorber mass divided by the primary mass (ma/m).  The 

% ratio of natural frequencies (wa/wp) is defined as beta.

mu = 0.05;

beta = 113.1/97.78;

mb=mu*beta^2;

b=beta;

%eqn=[1 0 -(4+2*mb) 0 (1+(2+mb)^2) 0 -(2+2*mb)];

c8=b^4;

c7=0;

c6=-2*b^2*(1+b^2+b^2*mu);

c5=0;

c4=b^2*(4+b^2+2*mu+2*b^2*mu+b^2*mu^2);

c3=0;

c2=-2*b^2*(1+mu);

eqn=[c8 c7 c6 c5 c4 c3 c2];

r=sort(roots(eqn));       %Solves for crossings of 1

r1=r(4);

r2=r(5);

wdr=(0:.01:r(6)*1.2)';          %normalized frequency wdr/wa

one=ones(length(wdr),1);

num=one-wdr.^2;

den1=(one+mu*beta^2*one-beta^2*wdr.^2);

den2=(one-wdr.^2);

den=den1.*den2-mu*beta^2*one;

f=num./den;

%A=(1-r.^2)./...

%((one+mu*beta^2*one-beta^2*r.^2).*(one-r.^2)-mu*beta^2*one);

j=[0 1];

aa=version;ll=length(aa);

plot(wdr,abs(f),wdr,one,[r1 r1],j,'--',[r2 r2],j,'--')

%axis([0 2 0 3]);

axis([0 r(6)*1.2 0 3]);

grid on

hold on

%Draws shaded lines

sh=r1:.1*(r2-r1):r2;

%for i=1:length(sh)

%   plot([sh(i) sh(i)],j,'--')

%end

tmp1='Normalized magnitude of primary mass for \mu = ';

title([tmp1,num2str(mu),' and \beta = ',num2str(beta)])

ylabel('|X_k/F_o|')

xlabel('normalized frequency \omega_{dr}/\omega_{a}')

text(.4,.8,'Useful operating range','Units','normalized')

text(.4,.75,[num2str(r1),' < \omega_{dr}/\omega_{a} < ',num2str(r2)],'Units','normalized')

set(1,'Units','default')

%[x,y]=meshdom(r1:.02:r2,0:.05:1);

[x,y]=meshgrid(r1:.02:r2,0:.05:1);

plot(x,y,'.m')

grid on

zoom on

hold off

%Automatically check for updates

vtbchk

At this point the design of the absorber can be modelled. The first step was to find the material for the weight. It was decided to use a cylinder of cast iron as it has a high density and is easily manufactured in this shape. The first step was to find the volume of cast iron. This is found using the equation below.

V = m*rho

Where V is volume in m3, m is mass in kg and rho is density in kg/m3

The density of cast iron is 7874.9 kg/m3 so plugging it into the formula.
V = 4.536 kg / 7874.9 kg/m3 = 0.000576 m3 = 576 cm3

Previous
Previous

Case Study: Hockey Helmet Tester

Next
Next

Case Study: "Strandbeest" Linkage