SimReal: Complex - Application - Piston UiA Logo


[SimReal][Python] [Library] [Help] [Prev] [Next]
Complex Notation

This application demonstates how complex notation
can simplify the kinematic analysis of planar mechanisms.

Consider the crank-and-piston linkage in the simulation window.
The crank arm rotates with a constant angular velocity about a fixed point (origin)
while the piston arm executes a horizontal motion.
For engineering analysis it is important to be able to relate
the crankshaft's angular coordinates (position, velocity and acceleration)
to the corresponding linear coordinates of the piston.
Although this calculation can be carried out using vector analysis,
the following complex variable technique is more 'automatic'.

The end point of the crank arm is described by:
A = a(cosu + isinu) = aeiu
and the left point of the piston arm is described by:
B = a(cosu + isinu) + b(cosv + isinv) = aeiu + beiv
We then have the following x-position z of the point B:
zx = a*cosu + b*cos[asin((d-a*sinu)/b)]
The speed of the piston is given by the derivative of z.
                         
Control objects  :
a-d              : Text info of crank arm and connection height
z Complex        : Text info of complex positioins
Graph x          : Graph of piston arm position
Graph v          : Graph of piston velocity
Velocity         : Velocity of the piston
Formula Position : Show the position formula
Formula Velocity : Show the velocity formula
a                : Change the crank arm 
d                : Change the connection height
Reset            : Reset the simulation back to inititial conditions
As default a = 75 and d = 15.
Change d to see the influence on the position and velocity of the piston.
See what happens when d = 75 and d > 75.
Try to explain.

MatRIC Logo