mech_proj_2

14
Table of Contents Abstract.................................................. 2 Introduction.............................................. 2 1.0 Kinematics of Single Cylinder Engine..................4 2.0 Shaking Force including Optimum balancing of mass.....5 3.0 Iterative Process for balancing.......................7 4.0 Plot of balanced Shaking Force........................8 5.0 Appendix.............................................. 9

Upload: joshua-tan

Post on 20-Feb-2017

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MECH_PROJ_2

Table of ContentsAbstract........................................................................................................................................................... 2

Introduction.................................................................................................................................................. 2

1.0 Kinematics of Single Cylinder Engine.........................................................................................4

2.0 Shaking Force including Optimum balancing of mass........................................................5

3.0 Iterative Process for balancing......................................................................................................7

4.0 Plot of balanced Shaking Force.....................................................................................................8

5.0 Appendix................................................................................................................................................. 9

Page 2: MECH_PROJ_2

Abstract

The device of concern in this project is a single cylinder engine. The frame of the

device’s crank-slider mechanism is subjected to a substantial shaking force

produced by the engine. This is not a desirable factor due to excess vibrations and

noise produced during operation. It is not possible however, to eliminate the

shaking force for the primary, secondary and higher order components for a single

cylinder engine. The alternative is to add a single counter balance weight in order to

reduce the shaking magnitude produced by the engine. Our objective is to compute

the mass (along with its particular placement, r) that would be the most optimal for

reducing the shaking force with the given parameters of the particular cylinder

engine.

Introduction

The nature of this problem at hand demands many iteration. Such task is best left to

a computer and thus MATLAB was used to code the algorithm which had been

derived through kinematic analysis on the engine.

A piston is a crank mechanism used in engines to convert energy released from gas

expansion (due to combustion occurring where the piston resides) into kinematic

energy that is transferred to the crank shaft when the piston is forced downwards

inside its shaft.

Before programing the code for MATLAB, it was essential to outline the method of

determining the optimum balancing which we had related to the engines shaking

force. Adjustments were made to the formula to fit the given constraints and

provide convenience when translating it to a programming algorithm.

Page 3: MECH_PROJ_2

Through computation via MATLAB, polar graphs were created displaying the

following information:

Mass

Mass placement (distance)

Shaking Force

From the polar graphs we were able to determine the ideal mass and its placement

to achieve the maximum shaking force reduction which resulting in a 77.6%

reduction.

Page 4: MECH_PROJ_2

1.0 Kinematics of Single Cylinder Engine

ILL DRAW THIS PART (JOSH)

Page 5: MECH_PROJ_2

2.0 Shaking Force including Optimum balancing of mass

The first step in determining the optimum balancing mass was to first

calculate the shaking force produced by the piston on the ground or environment.

The general method used for calculating the shaking force was through Force

Analysis of a Slider Crank Mechanism. Utilizing this method allowed us to solve for

multiple forces and moments experienced by each link, via system of equations.

According to free body diagram shown previously, the following matrix expression

was derived,

[A ] {x }={B }

A=[−1 00 −1

1 00 1

0 00 0

A3,3 A3,4−1 0

0 00 0

0 00 0

0 0−1 0

0 10 0

0 00 0

0 −1A6,3 A6,4

0 00 0

0 00 0

0 −1A6,5 A6,6

0 00 0

1 00 1

0 0−1 0

]A3,3=−r2 sinθ2 ; A3,4=r2 cosθ2 ; A6,3=r3sinθ3−b3 sinθ3 ;

A6,4=−r3 cosθ3−b3cosθ3 ; A6,5=−b3 sin θ3 ; A6,6=b3 cosθ2

{x }=

(F12)x(F12)y(F23)x(F23)y(F34)x(F34)y(F14)yM 12

; {B }=

m2(aG2)xm2(aG2)y0

m3(aG3)xm3(aG3)yIG3θ̈3m4 (aG 4

)x0

Moreover, solving for {x} and adding all the force components that the piston

induces on the ground gives us the magnitude for the shaking force produced as

shown,

Page 6: MECH_PROJ_2

F s=√(F21)x2+((F21)y+(F41) y)2

Furthermore, in conjunction with the force analysis, complex vector analysis

on a slider crank mechanism was used. The complex vector analysis allowed us to

find the angular velocity and acceleration of each link, which was to be needed

during force analysis.

The optimum balancing mass (mb) was placed at a certain distance (rb) from

point O2 at 180∘ from the crankshaft. By adding the balancing mass in this

orientation changes the mass of the crankshaft centroid to the total mass of the

crankshaft and the balancing mass. Furthermore it also changes the location of the

centroid on the crankshaft, and they are determined to be,

mtotal=mb+m2

b2=−mb ⋅rb+m2 ⋅r2

mb+m2

This minor adjustment was implemented within the calculations during force

analysis. By incorporating these alternate values, allowed us to determine the

shaking force produced by the piston as a balancing mass was added at a certain

distance and orientation mentioned earlier.

Also, since the value α affected the position of the centroid on the connection

rod (link 3), another adjustment was made. The following adjustment was made,

b3=(1−α )r3

Furthermore, by utilizing the matrix expression and adjusted variables, the

values for the balancing mass (mb), distance (rb), and α were each iterated to find

values, which produced the minimal shaking force. The iterative process was

preformed using MATLAB.

Page 7: MECH_PROJ_2

3.0 Iterative Process for balancing

The iterative process was simple and highly dependent on the use of

MATLAB. A code, shown in the Appendix, was developed to iterate values for

balancing mass (mb), distance (rb), and α . Furthermore the maximum shaking force

for each combination of different values were determined and compared to the

previous iterated shaking force to see if it was lower than the previous. Moreover, if

the proceeding iterated shaking force was lower than the previous, then the values

for balancing mass (mb), distance (rb), α , and maximum shaking force were saved

from that particular iteration. In addition this new minimal shaking force is

compared with further proceeding shaking force values, which potentially may

replace existing values if a lower shaking force is established.

Page 8: MECH_PROJ_2

4.0 Plot of balanced Shaking Force

Polar Graph of Shaking Force (N) during a full rotation of the crankshaft without balancing mass, at α=0.32 .

Polar Graph of Shaking Force (N) during a full rotation of the crankshaft with balancing mass, at α=0.32 .

Page 9: MECH_PROJ_2

The maximum shaking force without a balancing mass at α = 0.32 is 475 N. Furthermore when a optimum balancing mass of 260 grams, at a distance of 4 cm at (180 degrees), was added the maximum shaking force the piston experiences becomes 106.3 N. By adding the balancing mass the shaking force was reduced by 77.6%.

5.0 Appendix

CODE FOR FINDING OPTIMUM BALANCING MASS (mb) AT DIESTANCE (rb) and α

%used for iteration count%j=1;%loop for iterating balancing mass from 0kg to 1kg%for mb = 0:0.01:0.3%loop for iterating balancing mass distance from 0m to 1m%for rb = 0:0.01:0.04%loop for varying quantity alpha from 0 to 1%for alpha = 0:0.01:1i = 1; for theta2 = 0:2*pi/100:2*pi%given Parameters%m2 = 0.05;%mass of crankshaft%m3 = 0.15;%mass of connecting rod%m4 = 0.1;%mass of piston head%r2 = 0.04;%crank shaft length%r3 = 0.1;%connecting rod length%b3 = (1 - alpha)*r3;%length of link 3 centroid from point B%b2 = (-rb*mb+m2*r2/2)/(mb+m2);%length of centroid of mb and m2 on from point O2%w = 188.5;%angular velocity of crank shaft%%integral of function used to determine moment of inertia of link 3%fun = @(r) r.^2*m3/r3;IG3 = integral(fun,-r3*alpha,(1-alpha)*r3);%moment of inertia of link 3%mt = m2+mb;%total mass at crank shaft centroid% theta3 = pi - asin((r2*sin(theta2))/r3);%angular displacement of link 3 from horizon%theta3_dot = (r2*w*cos(theta2))/(r3*cos(theta3));%angular velocity of link 3%%angular acceleration of link 3%theta3_dob_dot = (-r2*w.^2*sin(theta2)+r3*theta3_dot.^2*sin(theta3))/(r3*cos(theta3)); % matrix terms used to solve system of force anf moment equations% A33 = -r2*sin(theta2);A34 = r2*cos(theta2);A63 = r3*sin(theta3) - b3*sin(theta3) ;A64 = -r3*cos(theta3) + b3*cos(theta3);A65 = -b3*sin(theta3);A66 = b3*cos(theta3);

Page 10: MECH_PROJ_2

%acceleration components of link 2 centroid%aG2x = -b2*w.^2*cos(theta2);aG2y = -b2*w.^2*sin(theta2);%acceleration component of link 3 centroid%aG3x = -r2*w.^2*cos(theta2)+((theta3_dot).^2)*(r3*cos(theta3)-b3*cos(theta3))+theta3_dob_dot*(r3*sin(theta3)-b3*sin(theta3));aG3y = -r2*w.^2*sin(theta2)+((theta3_dot).^2)*(r3*sin(theta3)-b3*sin(theta3))+theta3_dob_dot*(r3*cos(theta3)-b3*cos(theta3));%acceleration component of link 4 centroid, only in x-direction%aG4x = (-r2*w.^2*cos(theta3-theta2)+r3*theta3_dot.^2)/cos(theta3); % matrix used to solve system of force anf moment equations% A = [-1 0 1 0 0 0 0 0;0 -1 0 1 0 0 0 0;0 0 A33 A34 0 0 0 1;0 0 -1 0 -1 0 0 0;0 0 0 -1 0 -1 0 0;0 0 A63 A64 A65 A66 0 0;0 0 0 0 1 0 0 0;0 0 0 0 0 1 -1 0];%solution to matric product [A][x] = [B]%B = [mt*aG2x;mt*aG2y;0;m3*aG3x;m3*aG3y;IG3*theta3_dob_dot;m4*aG4x;0];%solving for [x]%x = linsolve(A,B);%solving for shaking force experinced by ground from the piston%Fs(i) = sqrt((x(1)).^2+(x(2)+x(7)).^2);%theta2 for every shaking force value calculatedtheta(i) = theta2 + 2*pi/100;%counter used to increase matrix size%i = i+1;end%finds maximum shaking force produced%Fs_max = max(Fs)%if statement compares previous looped maximum shaking forces and finds the%lowest of them%%and sets new values for alpha,mb and rb associated with it%if j==1 FS_MAX = Fs_max; alpha_new = alpha; rb_new = rb; mb_new = mb;elseif Fs_max<FS_MAX FS_MAX = Fs_max; alpha_new = alpha; rb_new = rb; mb_new = mb; end%used as counter for if statment%j=j+1; endendend%displays the desired quantities as shown below% disp('maximum shaking force is') disp(FS_MAX) disp('alpha is') disp(alpha_new) disp('balancing mass distance is') disp(rb_new)

Page 11: MECH_PROJ_2

disp('balancing weight is') disp(mb_new)

%assigning new iterated values to produce polar plot for shaking for one complete revolution of the crankshaft% alpha = alpha_new; rb = rb_new; mb = mb_new; k=1;for theta2 = 0:2*pi/10000:2*pi m2 = 0.05;m3 = 0.15;m4 = 0.1;r2 = 0.04;r3 = 0.1;b3 = (1 - alpha)*r3;b2 = (-rb*mb+m2*r2/2)/(mb+m2);w = 188.5;fun = @(r) r.^2*m3/r3;IG3 = integral(fun,-r3*alpha,(1-alpha)*r3);mt = m2+mb; theta3 = pi - asin((r2*sin(theta2))/r3);theta3_dot = (r2*w*cos(theta2))/(r3*cos(theta3));theta3_dob_dot = (-r2*w.^2*sin(theta2)+r3*theta3_dot.^2*sin(theta3))/(r3*cos(theta3)); A33 = -r2*sin(theta2);A34 = r2*cos(theta2);A63 = r3*sin(theta3) - b3*sin(theta3) ;A64 = -r3*cos(theta3) + b3*cos(theta3);A65 = -b3*sin(theta3);A66 = b3*cos(theta3); aG2x = -b2*w.^2*cos(theta2);aG2y = -b2*w.^2*sin(theta2);aG3x = -r2*w.^2*cos(theta2)+((theta3_dot).^2)*(r3*cos(theta3)-b3*cos(theta3))+theta3_dob_dot*(r3*sin(theta3)-b3*sin(theta3));aG3y = -r2*w.^2*sin(theta2)+((theta3_dot).^2)*(r3*sin(theta3)-b3*sin(theta3))+theta3_dob_dot*(r3*cos(theta3)-b3*cos(theta3));aG4x = (-r2*w.^2*cos(theta3-theta2)+r3*theta3_dot.^2)/cos(theta3); A = [-1 0 1 0 0 0 0 0;0 -1 0 1 0 0 0 0;0 0 A33 A34 0 0 0 1;0 0 -1 0 -1 0 0 0;0 0 0 -1 0 -1 0 0;0 0 A63 A64 A65 A66 0 0;0 0 0 0 1 0 0 0;0 0 0 0 0 1 -1 0];B = [mt*aG2x;mt*aG2y;0;m3*aG3x;m3*aG3y;IG3*theta3_dob_dot;m4*aG4x;0];x = linsolve(A,B);FS(k) = sqrt((x(1)).^2+(x(2)+x(7)).^2);Theta(k) = theta2 + 2*pi/100;k = k+1;end

Page 12: MECH_PROJ_2

polarplot(Theta,FS);