### IC Engine Kinematics

#### By Sean Kelly

The motion of a piston in a modern internal combustion engine is a 1-DOF system represented by a crank-slider mechanism. Since the piston has no lateral motion (sideways in the bore), all of its motion is vertical, per se, in reference to a coordinate system as shown. The rotational (Cartesian Z) axis of the crankshaft lies at the origin (0,0,0) and the piston moves along the Y axis alone. The maximum height it will reach is called top-dead-center (TDC), which is the sum of the lengths of the crankshaft throw or half of the stroke, plus the connecting rod length. The lowest point the piston will reach is called bottom-dead-center (BDC) and is the rod length minus the crank throw. Top dead center corresponds to the rotation of the crank being zero, bottom dead center occurs at 180 degrees of crank rotation.

To model the position of the piston, use similar triangles and a little trig. The derivation follows:

To calculate piston speed and acceleration, differentiate the above equation. The computational method of numeric differentiation is much simpler. One simply takes the time difference between piston-position measurements using the known engine speed and crank angle. The two points can then be used to plot the angular measurement over time to evaluate a slope. This slope is the numeric differentiation of the position curve. The closer together the two points are, the better the numerical differentiation will be to the actual solution. The two points can be moved closer together by using small time stamps, or increments, corresponding to small angle movements of the crankshaft. For instance, the velocity obtained while taking a numerical differentiation every 10 degrees will be much less accurate than the numerical differentiation taken every 1 degree.