Mechanical Drives
Program 4bar

Figure 1 depicts the principle layout of a 4-bar linkage which can be used to move a piston of an engine along a straight line. Point 4 in this figure is uch a point which moves almost exactly along a straight vertical line by an amount equal to the Stroke provided that the other parameters are chosen correctly. A straight-line motion is highly desirable to minimize the lateral forces acting on the piston which in turn minimizes friction and wear and tear of the piston. Ratios of vertical to lateral extent of the motion of the connecting point 4 of over a hundred can easily be realized.

Figure 1 : Principle layout of 4-bar linkage
4connecting point, to be moved along a vertical line as accurately as possible
01crank, length r, rotating about fixed point 0
23swing bar, length c, pivoting about fixed point 2
1354bellcrank = rigid body, pin/hole connection at points 1, 3 and 4 with distances :
d from 1 to 3; f from 3 to 5 (positive as shown, negative when 5 is closer to point 1 than 3); e from 5 to 4.
Line 1-5 is perpendicular to line 5-4

To give you a feeling for the range of curves (orbits) point 4 moves on as the crank ( center at point 0 ) rotates once around click on the following links : oval , ovals with cusps , ovals with "ears" , leaning double-8 , double-8 with vanishing waist , and perfect double-8 orbit.

Program 4bar can do one of two things for you by filling out the boxes either on the left or right below. On the left side - labeled "Find an optimal Configuration ...." - you provide the smallest amount of information the program needs to determine the remaining parameters. On the right hand side - labeled "Or enter your values ...." - the program will determine the orbit of point 4 for your configuration.

Sample Input for Optimization :

Desired stroke  10
ratio e/a       0.4
x4_diff         0.1
Result from program :
r	0-1	4.188803
a	 	18.689442
b	 	11.822348
c	2-3	18.925111
d	1-3	12.010892
e	4-5	7.475779
f	3-5	0.075418
Vbox	 	16.930246
Hbox*	 	25.934334
Stroke	 	10.000000
Nobody can machine the various parts exactly to the demanded dimensions. But you can check now what happens if you round the above numbers and re-enter them as your configuration :
r	0-1	4.200000
a	 	18.700000
b	 	11.800000
c	2-3	18.900000
d	1-3	12.000000
e	4-5	7.500000
f	3-5	0.100000
The program gives you back the following information :
Vbox	 	16.979104
Hbox*	 	25.928940
Stroke	 	10.028491
x4_diff          0.124848
and you have to judge whether you can live with that.

Find an optimal Configuration with the following Characteristics :

Enter desired stroke :
Enter desired ratio e/a :
Choose one of these three :
and enter its desired value :
*Extent of horizontal motion of connecting point 4
Or enter your own values for all parameters and see how they fare :


What does optimal mean ?
Optimal means that if you change the values of the parameters a,b,c,d,e, and f of an optimal configuration even by the slightest amount the value of the horizontal movement of the connecting point 4 will increase. The same holds true if you increase the value of r, but not if you decrease it. This behaviour is related to the fact that any optimal configuration is scalable. That means that if you multiply given values of r .....f by any factor of your choice, you again obtain an optimal configuration. The size of the orbit of point 4 and any other lengths will change by the same factor. As it turns out, for any optimal configuration the orbit of connecting point 4 is a perfect double-8 with the three minima and the three maximum, respectively, perfectly aligned.

Which units do I have do use ? (metric vs british)
Solely your choice. The program does not care. This is a result of the scalability property I talked about earlier.

Error message : calc_x4_y4 : Violating basic geometric constraint
This means that the program tries to digest a configuration for which the crank cannot possibly rotate 360° around because the swing arm is too short. This appears most often when you specify your own configuration or when you put demands on the optimizer which possibly can't be met.

Why can't I make independent choices for Hbox, Vbox, and x4_diff ?
Behind this is a property of the optimal configurations of the 4-bar linkage. Comparing different optimal configurations with identical vertical extent of the orbit of connecting point 4 ( = stroke = y4_diff ) shows that the resulting values for Hbox, Vbox, and x4_diff are tied together closely, nearly independent of the ratio e/a.
The following links show clearly that a decrease in value of x4_diff is penalized by an increase in values for both, Hbox and Vbox and vice versa.
Hbox vs. x4_diff  ||  Vbox vs. x4_diff

How do I choose the ratio e/a ?
At this moment there is very little I can tell you. Apart from different looks of the mechanism the only observation I have made is that the values of the crank angles at which the connecting point is at its maximum and minimum, respectively, changes significantly. This is a well-come feature when using an optimal configuration to built a symmetic bowtie drive for beta-type Stirling engines. It allows one to effect the ratio of the compression to expansion space significantly. Also, the graphs of y4 (=location of point 4) versus crank angle approach that of a sinusoidal motion as e/a is decreased.

Send a Note to Zig

Zig Herzog © 2014
Last revised: 01/24/15