6.1 introduction to acceleration analysisconstans.pbworks.com/w/file/fetch/124784631/chapter...

74
1 Figure 1: A rigid body in pure rotation about a point pinned to ground. 6.1 Introduction to Acceleration Analysis The next logical step in our development is to study the acceleration of points on a moving linkage. According to Newton’s Second Law, forces are proportional to accelerations. Thus, if we know the accelerations of every point on the linkage, we can predict the forces that the linkage must withstand. This can be very important in cases where the linkage must move at high speed; for example, in an automobile engine. To begin our analysis, consider the single link shown in Figure 1. It has length b, is rotating with angular velocity ω, and has angular acceleration α. If we write the position vector of point B in the usual way, we have = (1) where, recall ={ cos sin } To find the velocity at point B, we differentiate rB with respect to time, as before. = = (2)

Upload: vodien

Post on 20-Jun-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

1

Figure 1: A rigid body in pure rotation about a point pinned to ground.

6.1 Introduction to Acceleration Analysis

The next logical step in our development is to study the acceleration of points on a moving

linkage. According to Newton’s Second Law, forces are proportional to accelerations. Thus, if

we know the accelerations of every point on the linkage, we can predict the forces that the

linkage must withstand. This can be very important in cases where the linkage must move at

high speed; for example, in an automobile engine.

To begin our analysis, consider the single link shown in Figure 1. It has length b, is rotating with

angular velocity ω, and has angular acceleration α. If we write the position vector of point B in

the usual way, we have

𝐫𝐵 = 𝑏𝐞 (1)

where, recall

𝐞 = {cos 𝜃sin 𝜃

}

To find the velocity at point B, we differentiate rB with respect to time, as before.

𝐯𝐵 =

𝑑𝐫𝐵

𝑑𝑡= 𝑏𝜔𝐧

(2)

Page 2: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

2

where we have used

𝑑𝐞

𝑑𝑡= 𝜔𝐧

as found in Section 4.3. To find the acceleration of point B, simply differentiate once more with

respect to time.

𝐚 =

𝑑𝐯

𝑑𝑡=

𝑑

𝑑𝑡(𝑏𝜔𝐧)

(3)

Before proceeding, let us consider which terms are constant, and which terms vary with time.

Constant b

Time-varying ω, θ, n

Since ω may not be constant, we must employ the product rule for differentiation

𝐚 =

𝑑

𝑑𝑡(𝑏𝜔𝐧) = 𝑏

𝑑𝜔

𝑑𝑡𝐧 + 𝑏𝜔

𝑑𝐧

𝑑𝑡

(4)

Define the time derivative of angular velocity ω as angular acceleration, α. Thus

𝐚 = 𝑏𝛼𝐧 − 𝑏𝜔2𝐞 (5)

where we have used

𝑑𝐧

𝑑𝑡= −𝜔𝐞

(6)

for the time derivative of the unit normal.

Page 3: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

3

Figure 2: Acceleration of a point fixed on a link in pure rotation.

From Equation (5), it is apparent that the acceleration has two components. These components

are shown in Figure (2) where, the first component (𝑏𝛼𝐧) is tangential to the motion of point B,

and is called the tangential acceleration. Note that if the link is rotating at constant angular

velocity, then the angular acceleration and tangential acceleration are both zero.

The second component (−𝑏𝜔2𝐞) points toward the center of rotation and is called centripetal

acceleration. Centripetal acceleration is a byproduct of rotation – in order to rotate, a point must

accelerate towards the center of rotation. If the link does not rotate, then the angular velocity and

centripetal acceleration are both zero.

The tangential acceleration points in a direction normal to the unit vector 𝐞 and the centripetal

acceleration points in the direction opposite the unit vector e.

Page 4: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

4

Figure 3: The link rotates with angular velocity ω and angular acceleration α, while the distance,

b, to the slider is a function of time.

Acceleration of a Moving Point on a Moving Link

Let us now examine a more general case. As seen in Figure 3, the slider is free to move inside a

slot in the rotating link. The point B is attached to the slider, and we wish to find an expression

for the acceleration of this point. The position vector to the slider is

𝐫𝐵 = 𝑏𝐞 (7)

Note that length b is not constant for this case, so we must use the product rule to find velocity.

To find the velocity at point B, we differentiate rB with respect to time, as before.

𝐯𝐵 =

𝑑

𝑑𝑡(𝑏𝐞)

(8)

using the product rule

𝐯𝐵 = �̇�𝐞 + 𝑏𝜔𝐧 (9)

To find acceleration, simply differentiate once more with respect to time.

𝐚𝐵 =

𝑑𝐯𝐵

𝑑𝑡=

𝑑

𝑑𝑡(�̇�𝐞 + 𝑏𝜔𝐧)

(10)

Page 5: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

5

Before proceeding, let us consider which terms are constant, and which terms vary with time.

Constant nothing!

Time-varying b, �̇�, θ, ω, n, e

Thus, we must apply the product rule twice for each term

𝐚𝐵 =

𝑑�̇�

𝑑𝑡𝐞 + �̇�

𝑑𝐞

𝑑𝑡+

𝑑𝜔

𝑑𝑡𝑏𝐧 + 𝜔

𝑑𝑏

𝑑𝑡𝐧 + 𝜔𝑏

𝑑𝐧

𝑑𝑡

(11)

𝐚𝐵 = �̈�𝐞 + �̇�𝜔𝐧 + 𝑏𝛼𝐧 + �̇�𝜔𝐧 − 𝑏𝜔2𝐞 (12)

𝐚𝐵 = �̈�𝐞 + 2�̇�𝜔𝐧 + 𝑏𝛼𝐧 − 𝑏𝜔2𝐞 (13)

Each of these terms has a common name, as given below

𝛼𝑏𝐧 Tangential acceleration

−𝜔2𝑏𝐞 Centripetal acceleration

�̈�𝐞 Acceleration of slip

2�̇�𝜔𝐧 Coriolis acceleration

Figure 4: The four components of acceleration for the rotating link with slider.

Page 6: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

6

The direction of each component is shown in Figure 4. The tangential and centripetal

acceleration are the same as for the rigid rotating link. The acceleration of slip gives the

acceleration of the slider relative to the slot. If you were sitting on the link as it rotated, you

would see the slider moving toward or away from you with acceleration �̈�. The Coriolis term

arises from the fact that an object must accelerate as it changes distance to the center of rotation

if it is to maintain a constant angular velocity. If the velocity inward or outward from the center

of rotation is zero, then the Coriolis term vanishes. To visualize the effect that Coriolis

acceleration might have, imagine a child standing two meters from the center of a spinning

merry-go-round. For convenience, assume that the angular velocity of the merry-go-round is a

constant 1 rad/s. The tangential velocity of the child is

𝑣𝑡1 = (2 m) (1

rad

s) = 2

m

s

(14)

If the child wishes to join her friend standing four meters from the center, she must match her

tangential velocity, which is

𝑣𝑡2 = (4 m) (1

rad

s) = 4

m

s

(15)

Thus, to join her friend, the child must accelerate in the tangential direction. But remember that

the Coriolis term depends upon the inward or outward velocity: if the child moves very slowly

toward her friend on the outside of the merry-go-round she might not notice the sideways

acceleration. But if she tries to move rapidly from the inner part of the merry-go-round to the

outer, the sideways acceleration (and the force that accompanies it) will likely knock her off

balance sideways. Thus, the effects of Coriolis acceleration can be somewhat counterintuitive,

but are always present when a body subject to rotation moves inward or outward from the center

Page 7: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

7

of rotation.

We will encounter tangential and centripetal acceleration as we analyze the fourbar linkage. The

other two types of acceleration will appear during the analysis of the threebar and inverted slider-

crank. To recap, the total acceleration is made up of the four components shown in Table 1.

Note that the units of translational acceleration are all the same: m/s2.

Table 1: The four different types of translational acceleration.

Quantity Formula Units

Tangential acceleration angular acceleration × length rad⋅m/s2 = m/s2

Centripetal acceleration angular velocity2 × length (rad/s)2⋅m = m/s2

Acceleration of slip translational acceleration m/s2

Coriolis acceleration 2 × translational velocity × angular velocity (m/s)·(rad/s) = m/s2

Thus, if you encounter a term with a length multiplied by an angular velocity squared, it is very

likely to be a centripetal acceleration. Likewise, the appearance of a factor of 2 in an

acceleration formula is an almost certain sign of a Coriolis acceleration.

To summarize, we can see that acceleration analysis is considerably more complicated than

velocity analysis owing to the presence of centripetal and Coriolis acceleration. Luckily, the

vector loop procedure we have developed for velocity analysis can still be applied to acceleration

analysis with no modification.

Page 8: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

8

Figure 5: Diagram of the threebar linkage showing angular velocities and accelerations.

6.1 Acceleration Analysis of the Threebar Slider-Crank

To conduct the acceleration analysis on the threebar linkage we proceed in the same manner as

we did for velocity analysis. We assume that we have performed a full position and velocity

analysis as described in the previous sections, and wish to find the acceleration of one or more

points on the linkage. Once we have found the slider’s angular acceleration, α3, and acceleration

of slip, �̈�, it is simple to use the expressions derived in the preceding section to find the desired

accelerations. The input to the linkage is, as always, the crank and we assume that the angular

acceleration of the crank is known.

We start by listing the known and unknown quantities in the analysis

Known = 𝑎, 𝑏, 𝑑, 𝜃2, 𝜃3, 𝜔2, 𝜔3, �̇�, 𝛼2

Unknown = 𝛼3, �̈�

Page 9: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

9

Figure 6: Vector loop diagram for the threebar linkage.

Begin by writing the vector loop equation, as shown in Figure 6.

𝐫2 + 𝐫3 − 𝐫1 = 0 (16)

Or, in unit vector form

𝑎𝐞2 + 𝑏𝐞3 − 𝑑𝐞1 = 0 (17)

Differentiate this with respect to time

𝑎𝜔2𝐧2 + �̇�𝐞3 + 𝑏𝜔3𝐧3 = 0 (18)

Then, differentiate again. For clarity, we will proceed term by term. The first term differentiates

as

𝑑

𝑑𝑡(𝑎𝜔2𝐧2) = 𝑎

𝑑𝜔2

𝑑𝑡𝐧2 + 𝑎𝜔2

𝑑

𝑑𝑡(𝐧2)

= 𝑎𝛼2𝐧2 − 𝑎𝜔22𝐞2

(19)

The second term is a product of two functions of time, so that

Page 10: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

10

𝑑

𝑑𝑡(�̇�𝐞3) =

𝑑�̇�

𝑑𝑡𝐞3 + �̇�

𝑑𝐞3

𝑑𝑡

= �̈�𝐞3 + �̇�𝜔3𝐧3

(20)

The third term is a product of three functions of time

𝑑

𝑑𝑡(𝑏𝜔3𝐧3) =

𝑑𝑏

𝑑𝑡𝜔3𝐧3 + 𝑏

𝑑𝜔3

𝑑𝑡𝐧3 + 𝑏𝜔3

𝑑𝐧3

𝑑𝑡

= �̇�𝜔3𝐧3 + 𝑏𝛼3𝐧3 − 𝑏𝜔32𝐞3

(21)

Adding the results together gives the acceleration equation for the threebar slider-crank

𝑎𝛼2𝐧2 − 𝑎𝜔22𝐞2 + �̈�𝐞3 + 2�̇�𝜔3𝐧3 + 𝑏𝛼3𝐧3 − 𝑏𝜔3

2𝐞3 = 0 (22)

The reader will recognize several familiar terms, including centripetal accelerations

(𝑎𝜔22𝐞2, 𝑏𝜔3

2𝐞3), tangential accelerations (𝑎𝛼2𝐧2, 𝑏𝛼3𝐧3) and even a Coriolis acceleration

(2�̇�𝜔3𝐧3). The term �̈� is known as the acceleration of slip, since it gives the acceleration of the

slider relative to the fixed pin D. As before, we move the known quantities to the right side of

the equation, and the unknowns to the left

�̈�𝐞3 + 𝑏𝛼3𝐧3 = −𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 − 2�̇�𝜔3𝐧3 + 𝑏𝜔3

2𝐞3 (23)

And finally, put this into matrix form for solution in MATLAB

𝐂𝛂 = 𝐝 (24)

where

𝐂 = [𝑏𝐧3 ⋮ 𝐞3] (25)

𝛂 = {𝛼3

�̈�} 𝐝 = −𝑎𝛼2𝐧2 + 𝑎𝜔2

2𝐞2 − 2�̇�𝜔3𝐧3 + 𝑏𝜔32𝐞3 (26)

You may have noticed that the C matrix is identical to the A matrix found earlier for the velocity

analysis. This is no coincidence – this matrix is called the Jacobian matrix. It is formed by

taking the first derivative of the constraint equations in (18). We will encounter a similar

Page 11: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

11

phenomenon when we conduct the acceleration analysis of the remaining linkages. Jacobian

matrices and constraint equations are the subjects of more advanced courses in kinematics and

are beyond the scope of this text, although they do appear, and are briefly discussed, in the

Newton-Raphson algorithm in Section 4.18.

Figure 7: Example threebar linkage used to develop the MATLAB code.

Computing the Accelerations using MATLAB

We will now implement the acceleration matrix equation in MATLAB in order to calculate the

acceleration of any point on the threebar linkage. Start by opening your threebar velocity

analysis code. Use Save As to save the file as

Threebar_Acceleration_Analysis.m. As an example, we will consider the same

Page 12: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

12

linkage we have used for the position and velocity analysis codes in earlier sections (see Figure

7). We will assume a constant angular velocity for the crank, so that its angular acceleration is

zero. Add the a0 and alpha2 variables to their respective positions as shown below.

% Threebar_Acceleration_Analysis.m

% Conducts an acceleration analysis on the threebar crank-slider

linkage

% and plots the acceleration of point P

% by Eric Constans, June 1, 2017

% Prepare Workspace

clear variables; close all; clc;

% Linkage dimensions

a = 0.100; % crank length (m)

d = 0.150; % length between ground pins (m)

p = 0.300; % slider length (m)

% ground pins

x0 = [0;0]; % ground pin at A (origin)

xD = [d;0]; % ground pin at D

v0 = [0;0]; % velocity of origin

a0 = [0;0]; % accel of origin

% Angular velocity and acceleration of crank

omega2 = 10; % angular velocity of crank (rad/sec)

alpha2 = 0; % angular acceleration of crank (rad/sec2)

Now preallocate memory for the new variables associated with acceleration.

N = 361; % number of times to perform position calculations

[xB,xP] = deal(zeros(2,N)); % allocate space for position of B,P

[vB,vP] = deal(zeros(2,N)); % allocate space for velocity of B,P

[aB,aP] = deal(zeros(2,N)); % allocate space for accel of B,P

[theta2,theta3] = deal(zeros(1,N)); % allocate space for link angles

[omega3,alpha3] = deal(zeros(1,N)); % allocate space for vel and accel

[b,bdot,bddot] = deal(zeros(1,N)); % allocate space for b, bdot,

bddot

Inside the main loop, immediately after the velocity calculations, add the following lines of code:

% conduct acceleration analysis to solve for alpha3 and bddot

ac = a*omega2^2; % centripetal accel

at = a*alpha2; % tangential accel

bC = 2*bdot(i)*omega3(i); % Coriolis accel

bc = b(i)*omega3(i)^2; % centripetal accel

Page 13: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

13

C_Mat = A_Mat;

d_Vec = -at*n2 + ac*e2 - bC*n3 + bc*e3;

alpha_Vec = C_Mat\d_Vec; % solve for angular

accelerations

alpha3(i) = alpha_Vec(1);

bddot(i) = alpha_Vec(2);

Here we have defined the variables ac, at, bC and bc to compute the centripetal, tangential and

Coriolis components of the accelerations that are on the right side of the matrix equation (the

known side). This makes the form of d_Vec much simpler to type and debug. Immediately

after the main loop we will use the Derivative_Plot function to validate our solution for

alpha3 and alpha4.

dt = 2*pi/((N-1)*omega2); % time increment between calculations

Derivative_Plot(theta2, omega3, alpha3, dt)

Page 14: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

14

Figure 8: The estimated and analytical values of α3.

Page 15: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

15

Figure 9: Calculated and estimated values of �̈�.

Figure 8 shows the computed and estimated angular acceleration of the slider for the example

problem we have been considering. Figure 9 shows the same plot for the acceleration of slip for

the slider (�̈�). Make sure that your plots are the same as those shown in Figure 8 and Figure 9

before continuing with the analysis.

Acceleration at the pins

We will employ the relative acceleration formula to compute the translational acceleration at the

pins. As with velocity and position, we will create a separate function to compute acceleration.

Open up a new MATLAB script and enter the following function:

% Function FindAcc.m

Page 16: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

16

% Calculates the translational acceleration of a point on the linkage

% using the relative acceleration formula

%

% a0 = acceleration of first point

% L = length of vector to second point on the link

% omega = angular velocity of link

% alpha = angular acceleration of link

% e = unit vector btw first and second points

% n = unit normal to vector btw first and second points

% a = acceleration of second point

function a = FindAcc(a0, L, omega, alpha, e, n)

a = a0 + L*alpha*n - L*omega^2*e;

As before, this is a very simple function, but it will make the main program much neater and

easier to follow. In the main program, use the following lines of code to calculate translational

accelerations

% calculate acceleration at important points on linkage

aB(:,i) = FindAcc( a0, a, omega2, alpha2, e2, n2);

aP(:,i) = FindAcc(aB(:,i), p, omega3(i), alpha3(i), e3, n3);

Of course, you should check your work for each of the accelerations using the

Derivative_Plot routine.

Page 17: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

17

Figure 10: Acceleration of point P on the example threebar linkage.

Figure 10 shows the x and y accelerations of the point P on the example threebar linkage. Make

sure that your accelerations match the figure before proceeding to the homework problems. As

we have seen, conducting the full acceleration analysis on the threebar linkage requires only a

few additional lines of code once the position and velocity analyses are complete. This will also

be the case for the other linkages we will analyze in the next few sections.

Page 18: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

18

Figure 11: Vector loop diagram for the slider-crank linkage showing angular velocities and

accelerations.

6.3 Acceleration Analysis of the Slider-Crank

The acceleration analysis for the slider-crank proceeds in a similar manner as the threebar. We

begin, as usual, with the vector loop equation for the slider-crank.

𝐫2 + 𝐫3 − 𝐫4 − 𝐫1 = 0 (27)

or, in unit vector form

𝑎𝐞2 + 𝑏𝐞3 − 𝑐𝐞4 − 𝑑𝐞1 = 0 (28)

Differentiating this once, as we did before, we obtain the velocity equation.

𝑎𝜔2𝐧2 + 𝑏𝜔3𝐧3 − �̇�𝐞1 = 0 (29)

Differentiate this once more to obtain the acceleration equation. The first two terms are familiar

from the threebar linkage

𝑑

𝑑𝑡(𝑎𝜔2𝐧2) = 𝑎𝛼2𝐧2 − 𝑎𝜔2

2𝐞2 (30)

Page 19: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

19

𝑑

𝑑𝑡(𝑏𝜔3𝐧3) = 𝑏𝛼3𝐧3 − 𝑏𝜔3

2𝐞3 (31)

Recall that �̇� in Equation (29) represents the velocity of the piston; its derivative is simply the

acceleration of the piston.

𝑑

𝑑𝑡(�̇�) = �̈�

(32)

Adding the terms together gives the acceleration equation

𝑎𝛼2𝐧2 − 𝑎𝜔22𝐞2 + 𝑏𝛼3𝐧3 − 𝑏𝜔3

2𝐞3 − �̈�𝐞1 = 0 (33)

It is useful again at this point to take stock of what variables we know, and which are unknown.

As before, we assume that a full position and velocity analysis has been performed, so that we

know

Known: 𝑎, 𝑏, 𝑐, 𝑑, 𝜃2, 𝜃3, 𝜔2, 𝜔3, 𝛼2

Let the crank be driven by a motor with known speed and angular acceleration, ω2, α2. The only

unknown quantities in Equation (33) are

Unknown: 𝛼3, �̈�

Before assembling the matrices, let us move the known quantities to the right side of the

equation, and the unknown quantities to the left.

𝑏𝛼3𝐧3 − �̈�𝐞1 = −𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑏𝜔3

2𝐞3 (34)

Now rearrange this equation into matrix form, so that we can use MATLAB to solve it.

𝐂𝛂 = 𝐝 (35)

where

𝐂 = [𝑏𝐧3 ⋮ −𝐞1] 𝛂 = {𝛼3

�̈�}

(36)

and

Page 20: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

20

𝐝 = {−𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑏𝜔3

2𝐞3} (37)

Figure 12: Dimensions of the slider-crank used in the example calculations.

Example 1: Slider-crank with constant crank angular velocity

Figure 12 shows the dimensions of the slider-crank mechanism we have used in earlier chapters.

Copy your slider-crank velocity analysis code to a file named

SliderCrank_Acceleration_Analysis.m and modify it with the matrix equations

given above. If you use the Derivative_Plot function to verify your values for α3 you should

obtain the plot shown in Figure 13. The acceleration of the piston for this example is shown in

Figure 14.

Page 21: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

21

Figure 13: Verification of the angular acceleration of the connecting rod, α3, for example 1.

Page 22: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

22

Figure 14: Acceleration of the piston in Example 1.

A Note on the Angular Acceleration of the Crank

In the preceding section, and in the sections that follow, we have assumed that the crank rotates

at a constant angular velocity; i.e. 𝛼2 = 0. This would be the case if the linkage is operating in

the “steady state”; that is, the motor driving the crank has reached its operating speed and is no

longer accelerating. In some situations, however, we might be interested in calculating the

accelerations and forces on the linkage during the time the crank is “ramping up” to its desired

speed. In this situation the crank (and the rest of the linkage) would start from rest, and begin

accelerating as soon as the crank motor is turned on. In this case the angular acceleration of the

crank is no longer zero, and we must make a few modifications to the code to reflect this. Let us

Page 23: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

23

consider now the case where the linkage starts from rest, and turning on the crank motor results

in a short sinusoidal pulse of crank acceleration. The pulse of acceleration lasts for a period T,

after which the crank moves at a constant angular velocity. Let the amplitude of the acceleration

pulse be A, so that

𝛼2 = 𝐴 (1 − cos (

2𝜋𝑡

𝑇))

(38)

for t < T and

𝛼2 = 0 (39)

afterward.

Figure 15: The crank is given a sinusoidal pulse of angular acceleration, starting from rest.

Page 24: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

24

An example of such a pulse is shown in Figure 15, where the amplitude is 1rad/sec2 and the

period is 4 seconds. Note that the total height of the pulse is twice the amplitude, since the

cosine function ranges between -1 and 1.

To find angular velocity, we must integrate Equations (38) and (39). Equation (38) is integrated

over a period t = 0 to t = T, and we determine the constant of integration is zero by remembering

that the angular velocity of the crank is zero when t = 0.

𝜔2 = 𝐴𝑡 −

𝑇

2𝜋sin (

2𝜋𝑡

𝑇)

(40)

for t < T and

𝜔2 = 𝐴𝑇 (41)

for t > T.

Page 25: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

25

Figure 16: The angular velocity of the crank resulting from the pulse of angular acceleration

described above.

The resulting angular velocity is shown in Figure 16. Note that ω2 starts at zero, and steadily

increases until it reaches its steady-state value of 4rad/sec. We now integrate once more to find

the crank angle

𝜃2 =

1

2𝐴𝑡2 +

𝑇2

4𝜋2(cos (

2𝜋𝑡

𝑇) − 1)

(42)

for t < T and

𝜃2 = 𝐴𝑇𝑡 −

𝑇2𝐴

2

(43)

Constants of integration are required in Equation (42) and Equation (43) to ensure that the crank

Page 26: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

26

angle starts at zero at t = 0 and that it takes on the value θ2 = AT2/2 when t = T.

Figure 17: Crank angle resulting from the acceleration pulse described above.

The crank angle function given in Equations (42) and (43) is shown in Figure 17. As expected, it

starts at zero, and increases linearly after t = T.

Up to now, we have calculated and plotted positions, velocities and accelerations for a single

revolution of the crank. Since we are now considering non-steady-state condition, it will make

more sense to perform our calculations for a given length of time. Let us repeat the analysis of

the linkage in Example 1 using the sinusoidal crank acceleration given in Figure 15. We will

perform the calculations for 1000 time steps. Use Save As to rename your code

Page 27: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

27

SliderCrank_Nonsteady_Acceleration_Analysis.m, then modify the upper part

of your code with the following statements.

N = 1000; % number of time steps to calculate

Since the angular velocity and acceleration of the crank are not constant, we must allocate space

in memory for their calculated values. Additionally, we will plot positions, velocities and

accelerations versus time, instead of crank angle as we did before. Add the following lines of

code to allocate the necessary memory.

omega2 = zeros(1,N); % angular velocity of crank (rad/sec)

alpha2 = zeros(1,N); % angular acceleration of crank (rad/sec2)

t = zeros(1,N); % time (sec)

Of course we must also change omega2 to omega2(i) and alpha2 to alpha2(i) inside

the main loop. Now let us define the crank acceleration pulse and time increment:

A = 1; % amp of crank angular accel pulse (rad/sec2)

T = 4; % period of crank angular acceleration (sec)

B = 2*pi/T; % freq of crank angular accel pulse (1/sec)

dt = 0.01; % time increment

We have also defined a variable B that stores the frequency of the crank pulse – this will make

the formulas for calculating crank angular velocity and position simpler in the main loop.

Inside the main loop, we will calculate the current time first, and use this value to determine the

current values of crank angular acceleration, angular velocity and angle. Some simple logic will

help to distinguish between the conditions during and after the pulse of angular acceleration.

t(i) = i*dt; % calculate time

if (t(i) <= T) % calculate crank angle, vel, accel for t < T

alpha2(i) = A*(1-cos(2*pi*t(i)/T));

omega2(i) = A*t(i) - (1/B)*sin(B*t(i));

theta2(i) = A*t(i)^2/2 + (1/(B^2))*(cos(B*t(i))-1);

else % calculate crank angle, vel, accel for t > T

alpha2(i) = 0;

omega2(i) = A*T;

Page 28: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

28

theta2(i) = A*T*t(i) - T^2*A/2;

end

That’s it! You should now change the legends and title of your plot statements to reflect the fact

that the position, velocity and acceleration of the piston are being plotted with respect to time,

instead of crank angle.

Figure 18: Position of piston vs. crank angle for constant angular velocity

(repeated from Figure 39 in Chapter 4).

Page 29: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

29

Figure 19: Position of piston vs. time for angular acceleration pulse.

Page 30: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

30

Figure 20: Zoomed in view of piston position vs. time for angular acceleration pulse during

steady-state portion. Note similarity to Figure 18.

Figure 18 shows the position of the piston versus crank angle for the case of constant angular

velocity (this is the solution from the example in Chapter 4). Figure 19 and Figure 20 show the

piston position versus time resulting from the angular acceleration pulse discussed above. Figure

20 is a “zoomed in” version of Figure 19 showing one cycle of the steady-state motion. Note

that Figure 18 and Figure 20 are identical with the exception of the x-axis – this reinforces the

idea that using crank angle as the x-axis is identical to using time on the x-axis if the crank

angular velocity is constant.

Page 31: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

31

Figure 21: Velocity of piston with constant crank angular velocity from the example in Chapter

5.

Page 32: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

32

Figure 22: Velocity of piston vs. time for angular acceleration pulse.

Page 33: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

33

Figure 23: Zoomed in view of piston velocity vs. time for angular acceleration pulse during

steady-state portion. Note similarity to Figure 21.

Figure 21 shows the velocity of the piston for constant angular velocity – this is the same plot as

was found in the example problem in Chapter 5. Figure 22 is the velocity of the piston for the

case of the angular acceleration pulse, and Figure 23 zoomed-in to show one cycle in the steady-

state portion of the simulation. Note the similarity between Figure 21 and Figure 23. The

absolute magnitude of the velocity is different in each case because the crank angular velocity

was set to 10rad/sec in the constant angular velocity case, but it only reaches 4rad/sec in the case

of the acceleration pulse.

Page 34: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

34

Figure 24: Acceleration of piston for the crank angular acceleration pulse case.

Page 35: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

35

Figure 25: Zoomed in view of piston velocity vs. time for angular acceleration pulse during

steady-state portion. Note similarity to Figure 14.

Finally, Figure 24 and Figure 25 show the acceleration of the piston for the angular acceleration

pulse. As before, Figure 14 and Figure 25 are off by a scaling factor because of the difference in

steady-state angular velocity of the crank.

To summarize, we have developed a method for calculating positions, velocities and

accelerations for the case when the crank has a non-constant angular velocity. To keep things

simple, we will assume a constant crank angular velocity in the sections that follow. As we have

seen, it is a relatively simple matter to convert to non-zero angular acceleration if that is required.

Page 36: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

36

Figure 26: Vector loop diagram of the fourbar linkage showing angular velocities and

accelerations.

6.4 Acceleration Analysis of the Fourbar Linkage

To conduct the acceleration analysis on the fourbar linkage we proceed in the same manner as

the preceding linkages. The vector loop diagram for the fourbar is shown in Figure 26. We

begin by writing the vector loop equation

𝐫2 + 𝐫3 − 𝐫4 − 𝐫1 = 0 (44)

Or, in unit vector form

𝑎𝐞2 + 𝑏𝐞3 − 𝑐𝐞4 − 𝑑𝐞1 = 0 (45)

Differentiate this with respect to time

𝜔2𝑎𝐧2 + 𝜔3𝑏𝐧3 − 𝜔4𝑐𝐧4 = 0 (46)

Then, differentiate again. The first term differentiates as

Page 37: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

37

𝑑

𝑑𝑡(𝜔2𝑎𝐧2) =

𝑑𝜔2

𝑑𝑡𝑎𝐧2 + 𝜔2𝑎

𝑑

𝑑𝑡(𝐧2)

= 𝛼2𝑎𝐧2 − 𝜔22𝑎𝐞2

(47)

The other terms proceed in a similar manner, so that the acceleration equation is

𝛼2𝑎𝐧2 − 𝜔22𝑎𝐞2 + 𝛼3𝑏𝐧3 − 𝜔3

2𝑏𝐞3 − 𝛼4𝑐𝐧4 + 𝜔42𝑐𝐞4 = 0 (48)

As before, move the known quantities to the right side of the equation, and the unknowns to the

left

𝛼3𝑏𝐧3 − 𝛼4𝑐𝐧4 = −𝛼2𝑎𝐧2 + 𝜔22𝑎𝐞2 + 𝜔3

2𝑏𝐞3 − 𝜔42𝑐𝐞4 (49)

And finally, put this into matrix form for solution in MATLAB

𝐂𝛂 = 𝐝 (50)

where

𝐂 = [𝑏𝐧3 ⋮ −𝑐𝐧4] (51)

𝛂 = {𝛼3

𝛼4} 𝐝 = −𝛼2𝑎𝐧2 + 𝜔2

2𝑎𝐞2 + 𝜔32𝑏𝐞3 − 𝜔4

2𝑐𝐞4 (52)

As before, the C matrix is identical to the A matrix found earlier for the velocity analysis.

Page 38: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

38

Figure 27: Fourbar linkage used in the example calculations.

Computing the Accelerations using MATLAB

Start by opening your fourbar velocity analysis code. Use Save As to save the file as

Fourbar_Acceleration_Analysis.m. As an example, we will consider the same

linkage we have used for the position and velocity analysis codes in earlier sections, as shown in

Page 39: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

39

Figure 27. We will assume a constant angular velocity for the crank, so that its angular

acceleration is zero. Modify your code to perform the matrix calculations given above, then

check the angular accelerations of the coupler and rocker using the Derivative_Plot

function.

Figure 28: The estimated and analytical values of α3.

Page 40: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

40

Figure 29: Estimated and analytical values of α4.

Figure 8 shows the computed and estimated angular acceleration of the coupler for the example

problem we have been considering. Figure 9 shows the same plot for the angular acceleration of

the rocker. Make sure that your plots are the same as those shown in Figure 8 and Figure 9

before continuing with the analysis.

Page 41: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

41

Figure 30: Acceleration of the point P on the coupler.

To find the acceleration of the point P on the coupler use the FindAcc function defined earlier.

Figure 30 shows the x and y components of the acceleration of point P for the example problem.

It is interesting to note that the acceleration is relatively large, with peaks above -4g, even for a

relatively low crank angular velocity. If the example fourbar were intended to move something

delicate, the large acceleration might be hazardous. This is one of the main reasons for

performing an acceleration analysis – we must always ensure that the objects being moved do

not experience excessive acceleration, especially if they are human beings!

As we have seen, conducting the full acceleration analysis on the fourbar linkage requires only a

Page 42: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

42

few additional lines of code once the position and velocity analyses are complete. This will also

be the case for the other linkages we will analyze in the next few sections. The completed code

for fourbar acceleration analysis is presented below.

% Fourbar_Acceleration_Analysis.m

% Conducts an acceleration analysis on the fourbar linkage

% and plots the acceleration of point P

% by Eric Constans, June 14, 2017

% Prepare Workspace

clear variables; close all; clc;

% Linkage dimensions

a = 0.130; % crank length (m)

b = 0.200; % coupler length (m)

c = 0.170; % rocker length (m)

d = 0.220; % length between ground pins (m)

p = 0.150; % length from B to P (m)

gamma3 = 20*pi/180; % angle between BP and coupler (converted to rad)

% ground pins

x0 = [0;0]; % ground pin at A (origin)

xD = [d;0]; % ground pin at D

v0 = [0;0]; % velocity of origin

a0 = [0;0]; % accel of origin

% Angular velocity and acceleration of crank

omega2 = 10; % angular velocity of crank (rad/s)

alpha2 = 0; % angular acceleration of crank (rad/s^2)

N = 361; % number of times to perform position calculations

[xB,xC,xP] = deal(zeros(2,N)); % allocate space for pos of B, C, P

[vB,vC,vP] = deal(zeros(2,N)); % allocate space for vel of B, C, P

[aB,aC,aP] = deal(zeros(2,N)); % allocate space for acc of B, C, P

[theta2,theta3,theta4] = deal(zeros(1,N)); % allocate for link angles

[omega3,omega4] = deal(zeros(1,N)); % allocate for link angular vel

[alpha3,alpha4] = deal(zeros(1,N)); % allocate for link angular acc

% Main Loop

for i = 1:N

theta2(i) = (i-1)*(2*pi)/(N-1); % crank angle

% conduct position analysis to solve for theta3 and theta4

r = d - a*cos(theta2(i));

s = a*sin(theta2(i));

f2 = r^2 + s^2; % f squared

delta = acos((b^2+c^2-f2)/(2*b*c)); % angle between coupler and

rocker

Page 43: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

43

g = b - c*cos(delta);

h = c*sin(delta);

theta3(i) = atan2((h*r - g*s),(g*r + h*s));

theta4(i) = theta3(i) + delta;

% calculate unit vectors

[e2,n2] = UnitVector(theta2(i));

[e3,n3] = UnitVector(theta3(i));

[e4,n4] = UnitVector(theta4(i));

[eBP,nBP] = UnitVector(theta3(i) + gamma3);

% solve for positions of points B, C and P on the linkage

xB(:,i) = FindPos( x0, a, e2);

xC(:,i) = FindPos( xD, c, e4);

xP(:,i) = FindPos(xB(:,i), p, eBP);

% conduct velocity analysis to solve for omega3 and omega4

A_Mat = [b*n3 -c*n4];

b_Vec = -a*omega2*n2;

omega_Vec = A_Mat\b_Vec; % solve for angular velocities

omega3(i) = omega_Vec(1); % decompose omega_Vec into

omega4(i) = omega_Vec(2); % individual components

% calculate velocity at important points on linkage

vB(:,i) = FindVel( v0, a, omega2, n2);

vC(:,i) = FindVel( v0, c, omega4(i), n4);

vP(:,i) = FindVel(vB(:,i), p, omega3(i), nBP);

% conduct acceleration analysis to solve for alpha3 and alpha4

ac = a*omega2^2;

bc = b*omega3(i)^2;

cc = c*omega4(i)^2;

pc = p*omega3(i)^2;

C_Mat = A_Mat;

d_Vec = ac*e2 + bc*e3 - cc*e4;

alpha_Vec = C_Mat\d_Vec; % solve for angular accelerations

alpha3(i) = alpha_Vec(1);

alpha4(i) = alpha_Vec(2);

% find acceleration of pins

aB(:,i) = FindAcc( a0, a, omega2, alpha2, e2, n2);

aC(:,i) = FindAcc( a0, c, omega4(i), alpha4(i), e4, n4);

aP(:,i) = FindAcc(aB(:,i), p, omega3(i), alpha3(i), eBP, nBP);

end

% plot the acceleration of point P

figure; hold on

plot(theta2*180/pi,aP(1,:),'Color',[153/255 153/255 153/255])

plot(theta2*180/pi,aP(2,:),'Color',[0 110/255 199/255])

legend('aPx','aPy','Location','Southeast')

Page 44: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

44

title('Acceleration of point P on the fourbar linkage')

xlabel('Crank angle (degrees)')

ylabel('Acceleration (m/s^2)')

grid on

set(gca,'xtick',0:60:360)

xlim([0 360])

Figure 31: Vector loop diagram of the inverted slider-crank showing angular velocities and

accelerations.

6.5 Acceleration Analysis of the Inverted Slider-Crank

We begin, as always, with the vector loop equation

𝐫2 + 𝐫3 − 𝐫4 − 𝐫1 = 0 (53)

In unit vector form

𝑎𝐞2 + 𝑏𝐞3 − 𝑐𝐞4 − 𝑑𝐞1 = 0 (54)

Recall that θ4 = θ3 + δ and thus ω3 = ω4. Substituting this, and differentiating as we did earlier,

we have

Page 45: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

45

𝑎𝜔2𝐧2 + �̇�𝐞3 + 𝑏𝜔3𝐧3 − 𝑐𝜔3𝐧4 = 0 (55)

To obtain the accelerations, we differentiate the above equation again, using the chain and

product rules where appropriate. The first term is simple

𝑑

𝑑𝑡(𝑎𝜔2𝐧2) = 𝑎𝛼2𝐧2 − 𝑎𝜔2

2𝐞2 (56)

The second term is slightly more complicated

𝑑

𝑑𝑡(�̇�𝐞3) = �̈�𝐞3 + �̇�𝜔3𝐧3

(57)

The third term is similar to the second

𝑑

𝑑𝑡(𝑏𝜔3𝐧3) = �̇�𝜔3𝐧3 + 𝑏𝛼3𝐧3 − 𝑏𝜔3

2𝐞3 (58)

And the fourth term is similar to the first term

𝑑

𝑑𝑡(𝑐𝜔3𝐧4) = 𝑐𝛼3𝐧4 − 𝑐𝜔3

2𝐞4 (59)

Adding these together, we obtain the acceleration equation for the inverted slider-crank

𝑎𝛼2𝐧2 − 𝑎𝜔22𝐞2 + �̈�𝐞3 + 2�̇�𝜔3𝐧3 + 𝑏𝛼3𝐧3 − 𝑏𝜔3

2𝐞3 − 𝑐𝛼3𝐧4 + 𝑐𝜔32𝐞4

= 0

(60)

The reader will recognize several familiar terms including three centripetal accelerations, three

tangential acceleration terms, an acceleration of slip and a Coriolis acceleration term. Now place

the knowns on the right side of the equation and the unknowns on the left.

�̈�𝐞3 + 𝑏𝛼3𝐧3 − 𝑐𝛼3𝐧4 = −𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 − 2�̇�𝜔3𝐧3 + 𝑏𝜔3

2𝐞3 − 𝑐𝜔32𝐞4 (61)

Collecting terms, and placing this into matrix form, we have

𝐂𝛂 = 𝐝

where

𝐂 = [𝑏𝐧3 − 𝑐𝐧4 ⋮ 𝐞3]

Page 46: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

46

𝛂 = {𝛼3

�̈�} 𝐝 = {−𝑎𝛼2𝐧2 + 𝑎𝜔2

2𝐞2 − 2�̇�𝜔3𝐧3 + 𝑏𝜔32𝐞3 − 𝑐𝜔3

2𝐞4}

Figure 32: Dimensions of the inverted slider-crank used in the example calculations.

Example Calculation using MATLAB

Figure 32 shows the example inverted slider-crank that we have used for position and velocity

Page 47: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

47

analysis. Modify your inverted slider-crank velocity analysis code to perform the acceleration

calculations described above.

Figure 33: Acceleration of point P on the example inverted slider-crank linkage.

Make sure to check your alpha3 and bddot calculations using the Derivative_Plot

function. If all goes well, your plot for the x and y components of the acceleration at point P

should look like Figure 33.

Page 48: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

48

Figure 34: Vector loop diagram of the geared fivebar linkage.

6.6 Acceleration Analysis of the Geared Fivebar Linkage

Our next acceleration analysis will be conducted on the geared fivebar linkage, whose vector

loop diagram is shown in Figure 34. Recall that the angle of link 5 (the second gear) is known as

a function of the crank angle, through the gear ratio

𝜃5 = −𝜌𝜃2 + 𝜑 (62)

where

𝜌 =𝑁1

𝑁2 (63)

is the gear ratio. If we differentiate this expression twice with respect to time, we arrive at the

acceleration ratio between the two gears

𝛼5 = −𝜌𝛼2 (64)

The vector loop equation in unit vector form is

Page 49: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

49

𝑎𝐞2 + 𝑏𝐞3 − 𝑐𝐞4 − 𝑢𝐞5 − 𝑑𝐞1 = 0 (65)

Differentiating this twice with respect to time gives

𝑎𝛼2𝐧2 − 𝑎𝜔22𝐞2 + 𝑏𝛼3𝐧3 − 𝑏𝜔3

2𝐞3 − 𝑐𝛼4𝐧4 + 𝑐𝜔42𝐞4 − 𝑢𝛼5𝐧5 + 𝑢𝜔5

2𝐞5 = 0 (66)

Collecting all known terms on the right-hand side of the equation and rearranging into matrix

form results in a familiar formula

𝐂𝛂 = 𝐝 (67)

with

𝐀 = [𝑏𝐧3 ⋮ −𝑐𝐧4] (68)

𝐝 = [−𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑏𝜔3

2𝐞3 − 𝑐𝜔42𝐞4 + 𝑢𝛼5𝐧5 − 𝑢𝜔5

2𝐞5] (69)

and

𝛂 = {𝛼3

𝛼4}

(70)

As before, the C matrix is identical to the A matrix for the fivebar.

Page 50: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

50

Figure 35: Dimensions of the geared fivebar used in the example calculations.

Example 1: Acceleration of point P on the geared fivebar

Figure 35 shows the dimensions of the geared fivebar linkage that we have used for position and

velocity analysis. Modify your fivebar velocity code to perform the matrix calculations above

and use it to plot the acceleration of point P.

Page 51: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

51

Figure 36: Acceleration of point P for the example geared fivebar linkage.

Figure 36 shows the x and y components of the acceleration at point P for the example linkage.

Next, modify the dimensions of the linkage such that a = 150mm, u = 150mm and d = 200mm.

You might recall that we obtained discontinuities in the velocity plot with these dimensions

reflecting the fact that the point P made a sudden change in direction when θ2 = 180°.

Page 52: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

52

Figure 37: Acceleration of point P with the modified dimensions. The discontinuities in the

velocity of point P have resulted in near infinite accelerations when θ2 = 180°

The resulting acceleration plot is shown in Figure 37. Observe the near infinite acceleration of

the point P when θ2 = 180°. Because acceleration is proportional to force, this behavior will

result in a sudden jolt in all of the pins when the linkage passes through this point. Clearly, this

is a design to be avoided!

Page 53: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

53

Figure 38: The acceleration of point P is "normal" except at θ2 = 180°.

If we “zoom in” on the acceleration plot by using ylim([-400 400]) we see that the

acceleration of point P seems very ordinary except where θ2 = 180°. This demonstrates the

benefit of performing a kinematic analysis for the entire range of motion of the linkage. If we

had simply done the acceleration calculations at a few crank angles, we might have missed the

disaster that occurs when θ2 = 180°!

Page 54: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

54

Figure 39: Vector loop diagram for the Stephenson Type I sixbar linkage.

Page 55: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

55

Figure 40: Vector loop diagram for the Stephenson Type II sixbar linkage.

Page 56: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

56

Figure 41: Vector loop diagram for the Stephenson Type III sixbar linkage.

Figure 42: Vector loop diagram for the Watt Type I sixbar linkage.

Page 57: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

57

Figure 43: Vector loop diagram for the Watt Type II sixbar linkage

6.7 Acceleration Analysis of the Sixbar Linkage

We will conclude the chapter on acceleration by conducting an acceleration analysis of the sixbar

linkage. We present the full derivation for only the Stephenson Type I sixbar linkage because

the other linkages follow a similar pattern. The acceleration matrices and vectors are presented

for all five sixbar linkages at the end of this section. Recall that two vector loop equations are

required for each sixbar linkage. In Chapter 5 the velocity vector loop equation for the

Stephenson Type I sixbar linkage was found to be

𝑎𝜔2𝐧2 + 𝑏𝜔3𝐧3 − 𝑐𝜔4𝐧4 = 0 (71)

Page 58: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

58

𝑝𝜔2𝐧𝐴𝐸 + 𝑢𝜔5𝐧5 − 𝑣𝜔6𝐧6 − 𝑞𝜔4𝐧𝐷𝐹 = 0 (72)

Differentiate this once more with respect to time to obtain the acceleration vector loop equations.

𝑎𝛼2𝐧2 − 𝑎𝜔22𝐞2 + 𝑏𝛼3𝐧3 − 𝑏𝜔3

2𝐞3 − 𝑐𝛼4𝐧4 + 𝑐𝜔42𝐞4 = 0 (73)

𝑝𝛼2𝐧𝐴𝐸 − 𝑝𝜔22𝐞𝐴𝐸 + 𝑢𝛼5𝐧5 − 𝑢𝜔5

2𝐞5 − 𝑣𝛼6𝐧6 + 𝑣𝜔62𝐞6 − 𝑞𝛼4𝐧𝐷𝐹 + 𝑞𝜔4

2𝐞𝐷𝐹 = 0 (74)

Since each link is rigid, we do not have any Coriolis or slip acceleration terms. Instead, each

moving link provides a centripetal and tangential acceleration term. Thus there are two

acceleration terms for each moving link in a given loop. Now collect all unknown terms on the

right side of the equations, and the known terms on the left.

𝑏𝛼3𝐧3 − 𝑐𝛼4𝐧4 = −𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑏𝜔3

2𝐞3 − 𝑐𝜔42𝐞4 (75)

−𝑞𝛼4𝐧𝐷𝐹 + 𝑢𝛼5𝐧5 − 𝑣𝛼6𝐧6 = −𝑝𝛼2𝐧𝐴𝐸 + 𝑝𝜔22𝐞𝐴𝐸 + 𝑢𝜔5

2𝐞5 − 𝑣𝜔62𝐞6 − 𝑞𝜔4

2𝐞𝐷𝐹 (76)

We now have four equations, with four unknowns

unknown: 𝛼3, 𝛼4, 𝛼5, 𝛼6 (77)

and we can arrange the equations into matrix form as before

𝐂𝛂 = 𝐝 (78)

where

𝐀 = [

𝑏𝐧3 ⋮ −𝑐𝐧4 ⋮ 𝟎21 ⋮ 𝟎21

𝟎21 ⋮ −𝑞𝐧𝐷𝐹 ⋮ 𝑢𝐧5 ⋮ −𝑣𝐧6]

(79)

𝐝 = {

−𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑏𝜔3

2𝐞3 − 𝑐𝜔42𝐞4

−𝑝𝛼2𝐧𝐴𝐸 + 𝑝𝜔22𝐞𝐴𝐸 + 𝑢𝜔5

2𝐞5 − 𝑣𝜔62𝐞6 − 𝑞𝜔4

2𝐞𝐷𝐹

} (80)

𝛂 = {𝛼3 𝛼4 𝛼5 𝛼6}𝑇 (81)

Of course, this set of equations is only valid for the Stephenson Type I sixbar linkage. A similar

analysis can be carried out for the other sixbar linkages, the results are seen in Table 2 and Table

3.

Page 59: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

59

Table 2: C matrix for the one-degree-of freedom sixbar linkages.

Linkage C

Stephenson I [𝑏𝐧3 ⋮ −𝑐𝐧4 ⋮ 𝟎21 ⋮ 𝟎21

𝟎21 ⋮ −𝑞𝐧𝐷𝐹 ⋮ 𝑢𝐧5 ⋮ −𝑣𝐧6]

Stephenson II [

𝑏𝐧3 ⋮ −𝑐𝐧4 ⋮ 𝑢𝐧5 ⋮ 𝟎21

𝑝𝐧𝐵𝐸 ⋮ −𝑞𝐧𝐷𝐹 ⋮ 𝟎21 ⋮ 𝑣𝐧6]

Stephenson III [

𝑏𝐧3 ⋮ −𝑐𝐧4 ⋮ 𝟎21 ⋮ 𝟎21

𝑝𝐧𝐵𝐸 ⋮ 𝟎21 ⋮ 𝑢𝐧5 ⋮ −𝑣𝐧6]

Watt I [

𝑏𝐧3 ⋮ −𝑐𝐧4 ⋮ 𝟎21 ⋮ 𝟎21

𝑝𝐧𝐵𝐸 ⋮ −𝑞𝐧𝐷𝐹 ⋮ 𝑢𝐧5 ⋮ −𝑣𝐧6]

Watt II [𝑏𝐧3 ⋮ −𝑐𝐧4 ⋮ 𝟎21 ⋮ 𝟎21

𝟎21 ⋮ 𝑝𝐧𝐷𝐸 ⋮ 𝑢𝐧5 ⋮ −𝑣𝐧6]

Table 3: d vector for the one degree-of-freedom sixbar linkages.

Linkage d

Stephenson I {

−𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑏𝜔3

2𝐞3 − 𝑐𝜔42𝐞4

−𝑝𝛼2𝐧𝐴𝐸 + 𝑝𝜔22𝐞𝐴𝐸 + 𝑢𝜔5

2𝐞5 − 𝑣𝜔62𝐞6 − 𝑞𝜔4

2𝐞𝐷𝐹

}

Stephenson II {

−𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑏𝜔3

2𝐞3 − 𝑐𝜔42𝐞4 + 𝑢𝜔5

2𝐞5

−𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑝𝜔3

2𝐞𝐵𝐸 − 𝑞𝜔42𝐞𝐷𝐹 + 𝑣𝜔6

2𝐞6

}

Stephenson III {

−𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑏𝜔3

2𝐞3 − 𝑐𝜔42𝐞4

−𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑝𝜔3

2𝐞𝐵𝐸 + 𝑢𝜔52𝐞5 − 𝑣𝜔6

2𝐞6

}

Watt I {

−𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑏𝜔3

2𝐞3 − 𝑐𝜔42𝐞4

−𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑝𝜔3

2𝐞𝐵𝐸 − 𝑞𝜔42𝐞𝐷𝐹 + 𝑢𝜔5

2𝐞5 − 𝑣𝜔62𝐞6

}

Page 60: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

60

Watt II {

−𝑎𝛼2𝐧2 + 𝑎𝜔22𝐞2 + 𝑏𝜔3

2𝐞3 − 𝑐𝜔42𝐞4

𝑝𝜔42𝐞𝐷𝐸 + 𝑢𝜔5

2𝐞5 − 𝑣𝜔62𝐞6

}

Some example solutions for the sixbar linkage

Figure 45 through Figure 53 show the dimensions and acceleration plots for the example sixbar

linkages we have studied in the earlier chapters. In each case, the angular velocity of the crank is

a constant 10rad/sec. Note that the Newton-Raphson method was used for the position analysis

of the Stephenson Type II sixbar linkage, but the acceleration analysis was carried out using the

matrix method described above. Be sure to check your answers against these plots before

completing the homework problems.

Page 61: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

61

Figure 44: Dimensions of the example Stephenson Type I sixbar linkage.

Page 62: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

62

Figure 45: Acceleration of point G on the example Stephenson Type I linkage.

Page 63: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

63

Figure 46: Dimensions of the example Stephenson Type II sixbar linkage.

Page 64: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

64

Figure 47: Acceleration of point E on the example Stephenson Type II linkage.

Page 65: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

65

Figure 48: Dimensions of the example Stephenson Type III sixbar linkage.

Page 66: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

66

Figure 49: Acceleration of point E on the example Stephenson Type III linkage.

Page 67: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

67

Figure 50: Dimensions of the example Watt Type I linkage.

Page 68: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

68

Figure 51: Acceleration of point G on the example Watt Type I linkage.

Page 69: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

69

Figure 52: Dimensions of the example Watt Type II sixbar linkage.

Page 70: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

70

Figure 53: Acceleration of point G for example Watt Type II linkage.

Summary

This concludes our study of acceleration analysis of single degree-of-freedom linkages. As we

have seen, acceleration analysis is a simple extension of velocity analysis, although the matrix

equations are considerably more complicated. Now that we can find the acceleration of any

point on a linkage we are ready to begin calculating forces and torques. The study of position,

velocity and acceleration provides a kinematic analysis of each linkage. In the next chapter we

will add forces and torques, giving us a dynamic analysis. We will see that dynamic analysis is

considerably more complicated than kinematic analysis, but by following a systematic procedure

we will be able to tackle each linkage in turn.

Page 71: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

71

% Sixbar_S1_Acceleration_Analysis.m

% Conducts an acceleration analysis on the Stephenson Type I sixbar

% linkage and plots the acceleration of point G

% by Eric Constans, June 14, 2017

% Prepare Workspace

clear variables; close all; clc;

% Linkage dimensions

a = 0.070; % crank length (m)

b = 0.100; % coupler length (m)

c = 0.090; % rocker length (m)

d = 0.110; % length between ground pins (m)

p = 0.150; % length to third pin on crank triangle (m)

q = 0.150; % length to third pin on rocker triangle (m)

u = 0.120; % length of link 5 (m)

v = 0.160; % length of link 6 (m)

gamma2 = 20*pi/180; % internal angle of crank triangle

gamma4 = -20*pi/180; % internal angle of rocker triangle

% Ground pins

x0 = [ 0; 0]; % ground pin at A (origin)

xD = [ d; 0]; % ground pin at D

v0 = [ 0; 0]; % velocity of origin

a0 = [ 0; 0]; % acceleration of origin

Z21 = zeros(2,1);

% Angular velocity and acceleration of crank

omega2 = 10; % angular velocity of crank (rad/sec)

alpha2 = 0; % angular acceleration of crank (rad/sec^2)

% allocate space for variables

N = 361; % number of times to perform position calculations

[xB,xC,xE,xF,xG] = deal(zeros(2,N)); % position of B, C, E, F, G

[vB,vC,vE,vF,vG] = deal(zeros(2,N)); % velocity of B, C, E, F, G

[aB,aC,aE,aF,aG] = deal(zeros(2,N)); % acceleration of B, C, E, F, G

[theta2,theta3,theta4,theta5,theta6] = deal(zeros(1,N)); % angles

[omega3,omega4,omega5,omega6] = deal(zeros(1,N)); % velocities

[alpha3,alpha4,alpha5,alpha6] = deal(zeros(1,N)); %

accelerations

% Main Loop

for i = 1:N

% solve lower fourbar linkage

theta2(i) = (i-1)*(2*pi)/(N-1); % crank angle

r = d - a*cos(theta2(i));

s = a*sin(theta2(i));

f2 = r^2 + s^2;

Page 72: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

72

delta = acos((b^2+c^2-f2)/(2*b*c));

g = b - c*cos(delta);

h = c*sin(delta);

theta3(i) = atan2((h*r - g*s),(g*r + h*s)); % coupler angle

theta4(i) = theta3(i) + delta; % rocker angle

% calculate unit vectors

[e2,n2] = UnitVector(theta2(i));

[e3,n3] = UnitVector(theta3(i));

[e4,n4] = UnitVector(theta4(i));

[eAE,nAE] = UnitVector(theta2(i) + gamma2);

[eDF,nDF] = UnitVector(theta4(i) + gamma4);

% solve for positions of points B, C, E, F

xB(:,i) = FindPos(x0,a, e2);

xC(:,i) = FindPos(xD,c, e4);

xE(:,i) = FindPos(x0,p,eAE);

xF(:,i) = FindPos(xD,q,eDF);

% solve upper fourbar linkage

xFB = xF(1,i) - xB(1,i); yFB = xF(2,i) - xB(2,i);

xEB = xE(1,i) - xB(1,i); yEB = xE(2,i) - xB(2,i);

beta = atan2(yFB, xFB);

alpha = atan2(yEB, xEB);

aPrime = sqrt(xEB^2 + yEB^2);

dPrime = sqrt(xFB^2 + yFB^2);

theta2Prime = alpha - beta; % virtual crank angle on upper fourbar

r = dPrime - aPrime*cos(theta2Prime);

s = aPrime*sin(theta2Prime);

f2 = r^2 + s^2;

delta = acos((u^2+v^2-f2)/(2*u*v));

g = u - v*cos(delta);

h = v*sin(delta);

theta5Prime = atan2((h*r - g*s),(g*r + h*s)); % coupler and rocker

angles

theta6Prime = theta5Prime + delta; % on upper fourbar

theta5(i) = theta5Prime + beta; % return angles to

fixed

theta6(i) = theta6Prime + beta; % fixed CS

% calculate remaining unit vectors

[e5,n5] = UnitVector(theta5(i));

[e6,n6] = UnitVector(theta6(i));

% calculate position of point G

xG(:,i) = FindPos(xE(:,i), u, e5);

% Conduct velocity analysis to solve for omega3 - omega6

A_Mat = [b*n3 -c*n4 Z21 Z21;

Z21 -q*nDF u*n5 -v*n6];

b_Vec = [-a*omega2*n2; -p*omega2*nAE];

omega_Vec = A_Mat\b_Vec;

Page 73: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

73

omega3(i) = omega_Vec(1);

omega4(i) = omega_Vec(2);

omega5(i) = omega_Vec(3);

omega6(i) = omega_Vec(4);

% Calculate velocity at important points on linkage

vB(:,i) = FindVel( v0, a, omega2, n2);

vC(:,i) = FindVel( v0, c, omega4(i), n4);

vE(:,i) = FindVel( v0, p, omega2, nAE);

vF(:,i) = FindVel( v0, q, omega4(i), nDF);

vG(:,i) = FindVel(vE(:,i), u, omega5(i), n5);

% Conduct acceleration analysis to solve for alpha3 - alpha6

ac = a*omega2^2; at = a*alpha2;

bc = b*omega3(i)^2; cc = c*omega4(i)^2;

pt = p*alpha2; pc = p*omega2^2;

uc = u*omega5(i)^2; vc = v*omega6(i)^2;

qc = q*omega4(i)^2;

C_Mat = A_Mat;

d_Vec = [ -at*n2 + ac*e2 + bc*e3 - cc*e4;

-pt*nAE + pc*eAE + uc*e5 - vc*e6 - qc*eDF];

alpha_Vec = C_Mat\d_Vec;

alpha3(i) = alpha_Vec(1);

alpha4(i) = alpha_Vec(2);

alpha5(i) = alpha_Vec(3);

alpha6(i) = alpha_Vec(4);

% Calculate acceleration at important points on linkage

aB(:,i) = FindAcc( a0, a, omega2, alpha2, e2, n2);

aC(:,i) = FindAcc( a0, c, omega4(i), alpha4(i), e4, n4);

aE(:,i) = FindAcc( a0, p, omega2, alpha2, eAE, nAE);

aF(:,i) = FindAcc( a0, q, omega4(i), alpha4(i), eDF, nDF);

aG(:,i) = FindAcc(aE(:,i), u, omega5(i), alpha5(i), e5, n5);

end

% plot the acceleration of point G

figure; hold on

plot(theta2*180/pi,aG(1,:),'Color',[153/255 153/255 153/255])

plot(theta2*180/pi,aG(2,:),'Color',[0 110/255 199/255])

legend('aGx','aGy')

title('Acceleration of point G on the Stephenson Type I sixbar

linkage')

xlabel('Crank angle (degrees)')

ylabel('Acceleration (m/s2)')

grid on

set(gca,'xtick',0:60:360)

xlim([0 360])

Page 74: 6.1 Introduction to Acceleration Analysisconstans.pbworks.com/w/file/fetch/124784631/Chapter 6.pdf · 2018-06-13 · Coriolis acceleration 2 × translational velocity × angular velocity

74