Results

Given below is the
graph for the FFT. These results that were obtained for the creation of the FFT
on Excel for Helical Gears operating at 1000, 3000 and 5000rpm respectively:

We Will Write a Custom Essay Specifically
For You For Only \$13.90/page!

order now

Discussion
and Conclusions

From FFT
spectrum of healthy gear and gear with Breakage fault, it is observed that the
effect of gear tooth breakage appears in frequency domain vibration signal as
Sidebands of fundamental frequency. Also from Table 1.0, it can be seen that
the amplitudes of harmonics in case of gearbox with breakage fault are more
than the amplitude of harmonics of healthy gearbox. The presence of tooth
breakage fault in any gearbox gives rise to peaks and generates sidebands. From
FFT technique it can be predicted that the gear box has some fault but the severity
cannot be determined.

Matlab
Exercise simulation of a gear pair

Introduction

This exercise performs a kinematic simulation
of a gear pair using MATLAB. The geometry of a gear is read from an stl file
which is available on D2L (‘sprocket.stl’). Use the same geometry for both the
gears (i.e. the number of teeth are equal). Two of these gears are required to
be assembled as given in this figure.

2. Create a new m file by pressing the new button
in MATLAB home tab and selecting script. Save this file as Gear simulation. by
selecting save in the editor tab of MATLAB.

3. Copy paste the following code to your m file.

This code delivers the file specified under filename, and makes a vertices list
V and a faces list F.

The stl
file read procedure uses the commands introduced in the Matlab csv file read
exercise (found on

D2L).

For the purpose of this exercise it is sufficient to use the code as is, and proceed
with the rest of

the
steps.

4. Run
the m file using the run command under the editor tab. This will load the set
of vertices V and

faces F to the workspace.

Use the
patch knowledge to create a patch for the first gear. For this in the knowledge
window type the following commands. The patch corresponding to the gear is
stored in the variable named p handle. the light knowledge adds lighting to the
figure. The daspect (1 1 1) command sets the axis to have the same series.

The view (3) command gives an isometric view.

>>
p_handle= patch(‘faces’, F, ‘vertices’ ,V, ‘facec’, ‘b’,’EdgeColor’,’none’);

>>
light

>>
daspect(1 1 1)

>> view(3)

Define
the transformation matrix. You should have the rotsym() function stored in the
current

MATLAB
directory to call this function.

>>T_wg2=rotsym(‘z’,
360/40/180*pi) 3.95 0 0′; 0 0 0 1;

To
transform all the vertices together, you can create a matrix which has all the
vertices in its columns,

with an
extra row in the bottom which are all ones. This will create a matrix with its
columns having the

homogenous
coordinates of each vertice of the gear, expressed in G2 frame.

P_g2m2=V’;ones(1,size(V,1));

The
size(V,1) function is used to get the number of columns of matrix V. Apply the
transformation to get

the
transformed set of homogenous coordinates

P_wm2=T_wg2*P_g2m2;

Now use
these transformed points to update the patch corresponding to gear 2. Since the
patch

Knowledge
expects the set of vertices to be a matrix with rows having the 3 coordinates
of each vertices, you can define a new variable to store the vertices in the
required format. Call the set () command to update the patch corresponding to
gear 2.

Vnew=P_wm2(1:3,:)’;

set(p_handle2,’vertices’
, Vnew)

Now the two gears should be assembled correctly
in the figure window.

8.

Simulating the two gears is performed in three steps

a)
performing a numerical integration of the given acceleration values. (with the
initial conditions for

position
and velocity set to the given values)

b)
performing transformations of the vertices V using transformation matrices.

c)
updating the patches corresponding to the two gears.

The
simulation starts from time 0s to 10s with increments of 0.01s. These three

performed
repeatedly in each iteration of the loop. The following for loop implements

the comments to clarify each step.

Final
code

% house keeping

clear

*

clc

close all

%% File I/O – STLs

filename=’sprocket.stl’ %the name of the file

fid=fopen(filename, ‘r’); % this command opens a file. fid
points to the file

% the first in put is filename,

% the second input specifies the

% type “help fopen for a
complete desciption of the command”

if fid == -1 % fid is -1 if we cannot open

error(‘File could not be opened, check name or path.’)

% this command stops the program
and prints an error message

end

facet_index=0; % this counts the faces

vertex_index=0; % this counts the vertices

facev_count=0; % this counts the vertices in a
face

while feof(fid) == 0

tline = fgetl(fid); %gets the next line in the text
file

nospace = sscanf(tline, ‘%s’); %scans the whole line

if strcmp(nospace(1:5),’facet’) %identifies the start of new face

facet_index=facet_index+1;

end

if strcmp(nospace(1:5),’endfa’) %identifies the end of current
face

facev_count=0;

end

if strcmp(nospace(1:5),’verte’) %identifies the each vertex

vertex_index =vertex_index+1;

facev_count=facev_count+1;

V(vertex_index,:) = sscanf(tline,’%*s %f %f %f’); %sscanf reads the formatted string

F(facet_index,facev_count) =
vertex_index; % fill the face list

end

end

fclose(fid); % closes the file

p_handle= patch(‘faces’, F, ‘vertices’ ,V, ‘facec’, ‘b’,’EdgeColor’,’none’);

light % add a default light

daspect(1 1 1) % Setting the aspect ratio

view(3) % Isometric view

hold on;

p_handle2= patch(‘faces’, F, ‘vertices’ ,V, ‘facec’, ‘r’,’EdgeColor’,’none’);

T_wg2=rotsym(‘z’,deg2rad(360/40)) 3.95 0 0′; 0 0 0 1;

P_g2m2=V’;ones(1,size(V,1));

P_wm2=T_wg2*P_g2m2;

set(p_handle2,’vertices’ ,P_wm2(1:3,:)’)

dt=0.01; %sampling time

alpha=0; %input acceleration

omega=1; %initial condition

theta1=0; %initial condition

for t=1:dt:10

%a) numerical integration

omega=omega+alpha*dt; %velocity integrator

theta1=theta1+omega*dt; %position integrator

%b) vertice transformation

T_wg=rotsym(‘z’,theta1) 0 0 0′;

0 0 0 1;

P_gm=V’;ones(1,size(V,1));

P_wm=T_wg*P_gm; %Transform gear 1

*

T_wg2=rotsym(‘z’,theta2) 3.95 0 0′;

0 0 0 1;

P_g2m2=V’;ones(1,size(V,1));

P_wm2=T_wg2*P_g2m2; %Transform gear 2

%c) visulization and delay for
animation

set(p_handle,’vertices’ ,P_wm(1:3,:)’)

set(p_handle2,’vertices’ ,P_wm2(1:3,:)’)

drawnow %force figure update

pause(0.01) %slow down loop to animate

end