A cam turns a shaft's rotation into whatever back-and-forth motion you can draw around it. A follower rides against the cam, and the cam's shape sets the follower's position at every angle. A cam that works needs two things: a motion law that starts and stops the follower smoothly, and a pressure angle under about 30° so the follower slides instead of jamming.

Engine camshafts open valves this way, and cams drove water-powered automata as early as the third century BC. In a face cam like the one built here, the follower's pin runs in a groove cut into the cam, so the cam pushes it out and pulls it back without a spring.[1]

This article works through the motion laws and the pressure angle, then builds a parametric cam and follower in Rig Cad: you choose the motion program and the laws, the model refuses programs that would bind, and all three parts print without supports.

Cam and follower
Project

Cam and follower

@p12/cam-and-follower
Cam and follower
Cam and follower

Drag the handle on the knob, or move Cam angle, and watch the follower rise, dwell, return and dwell. Change the angles or the motion laws and the readouts give the new pressure angles; a program that would go past 30° is refused.

@p12/cam-and-follower
Drag the handle on the knob, or move Cam angle, and watch the follower rise, dwell, return and dwell. Change the angles or the motion laws and the readouts give the new pressure angles; a program that would go past 30° is refused.

A cam is a motion program

Everything the follower does is one function: its lift ss at each cam angle θ\theta. This cam runs the classic four-part program:

  • Rise: over the rise angle the follower climbs by the full lift hh.
  • High dwell: it holds at full lift.
  • Return: over the return angle it comes back down.
  • Low dwell: it rests for whatever is left of the turn.

The centre of the follower's pin then sits at a distance Rb+s(θ)R_b + s(\theta) from the axle, where RbR_b is the base radius. Traced around the cam, those points form the pitch curve, and the circle of radius RbR_b it starts from is the base circle.[1] The lift and the four angles are the whole design. The cam's outline follows from them.

Top view of the grooved cam at its default settings. A round cam disc has a closed, egg-shaped track cut into it, with a blue line running down its middle: the pitch curve. A dashed circle inside marks the base circle. Ticks around the rim split the turn into rise 120 degrees, high dwell 60, return 120 and low dwell 60, laid out clockwise from the right. The follower's orange pin sits in the track at the right, at the start of the rise, under the dashed outline of the follower bar, and an arrow shows the cam turning counterclockwise.
The cam at 0°. The program is laid out clockwise around the cam, so turning it counterclockwise brings the rise, high dwell, return and low dwell to the pin in that order. The track is the pitch curve widened by the pin and the clearance.

Choosing a motion law

Within a rise, the motion law is the shape of the climb. With uu running from 0 to 1 across the rise angle β\beta, the model offers four:

Table: The four motion laws. Peak velocity is in units of h/βh/\beta and peak acceleration in units of h/β2h/\beta^2, with β\beta in radians.

Law Lift over the rise Peak velocity Peak acceleration Where it meets a dwell
Linear s=hus = hu 1.00 infinite velocity jumps
Simple harmonic s=h2(1−cos⁡πu)s = \frac{h}{2}(1 - \cos\pi u) 1.57 4.93 acceleration jumps
Cycloidal s=h(u−sin⁡2πu2π)s = h\left(u - \frac{\sin 2\pi u}{2\pi}\right) 2.00 6.28 smooth
3-4-5 polynomial s=h(10u3−15u4+6u5)s = h(10u^3 - 15u^4 + 6u^5) 1.88 5.77 smooth

The dwells on either side of a rise have zero velocity and zero acceleration, so what matters is how each law meets them. A cam should keep the follower's position, velocity and acceleration continuous through the whole turn, which keeps the jerk finite; a jump in acceleration is a hammer blow to the follower and everything it drives.[2] Linear motion fails first: its velocity switches on and off at once, so its acceleration is, in theory, infinite at both ends. Simple harmonic motion starts and stops smoothly in velocity but still jumps in acceleration. Cycloidal and 3-4-5 motion meet the dwells with zero acceleration, which is why the model defaults to cycloidal.[3]

Three stacked line charts over one rise, with a dwell shaded on either side, comparing cycloidal, simple harmonic, 3-4-5 polynomial and linear motion. Top: lift climbs from 0 to 1; linear is a straight line and the others are S-curves. Middle: velocity; linear is a flat step at 1 that switches on and off at the ends, while harmonic, 3-4-5 and cycloidal are arches that start and end at zero and peak at 1.57, 1.88 and 2.00. Bottom: acceleration; cycloidal and 3-4-5 are smooth waves that start and end at zero and peak at 6.28 and 5.77, harmonic jumps straight to 4.93 at the start and back from minus 4.93 at the end, and linear is zero inside the rise with infinite spikes at both ends.
The same rise under each law. Smoothness at the ends is paid for in the middle: cycloidal motion is the gentlest where it meets the dwells and the fastest halfway up.

Smoothness is not free. A law that starts and stops gently has to move faster in the middle to cover the same lift in the same angle; cycloidal motion peaks at twice the average velocity. At speed that becomes force, because peak acceleration grows with the square of the cam speed ω\omega and falls with the square of the rise angle, scaled by the law's coefficient CaC_a from the table:

amax⁡=Cahω2β2a_{\max} = C_a \frac{h \omega^2}{\beta^2}

Linear motion has no finite value here, which is why it is left out of the calculator below.

Peak follower acceleration

amax⁡=Cahω2β2a_{\max} = C_a \frac{h \omega^2}{\beta^2}
Peak acceleration0.57 m/s²

The 30° pressure-angle limit

A cam can only push along the normal to its surface at the point of contact. The pressure angle ϕ\phi is the angle between that push and the direction the follower is free to move.[4] Part of the push drives the follower along its guide; the rest presses it sideways into the guide, and friction there grows with it. For a follower in line with the axle, like this one,

tan⁡ϕ=ds/dθRb+s\tan\phi = \frac{ds/d\theta}{R_b + s}

with ds/dθds/d\theta in length per radian of cam rotation. Keep ϕ\phi under about 30° for a follower that slides, or 35° for one on a pivot; past that the side load climbs quickly and the follower can jam.[4][2]

The formula shows both fixes for a cam that pushes too steeply: a bigger base radius, or more angle for the rise so the follower climbs more slowly. It also shows the price of a smooth law. The laws that treat the dwells gently climb fastest in the middle, so they need a bigger cam for the same lift and angle.

Table: The default program, 10 mm of lift over 120° of rise and 120° of return, under each law.

Law Peak pressure angle, 25 mm base radius Smallest base radius for 30°
Linear 10.8° 8.3 mm
Simple harmonic 14.2° 8.9 mm
3-4-5 polynomial 16.8° 11.2 mm
Cycloidal 17.8° 12.1 mm

The model works this out as you change it. Pressure angle now applies the formula at the current cam angle, Peak pressure angle reports the worst point of the whole program, and validators refuse any rise or return that would pass 30°, with a message saying which change would fix it. The peak comes from a close fit to the exact maximum, within about 0.15° anywhere in the slider range.

How the model is built

The model is three parts: the base, the cam and the follower. Each is one branch of the scene tree, and every dimension in it is an expression of the inputs.

Diagram: the program settings feed the Cam node, whose pitch curve is opened, stroked into a band and extruded to cut the track out of the cam disc. The cam angle turns the cam and places the follower, and the program also sizes the base.

flowchart TD
  P["Program: base radius, lift, angles, motion laws"] --> C["Cam node: pitch curve"]
  C --> O["Open the closed curve"]
  O --> S["Stroke it by pin radius + half the clearance"]
  S --> E["Extrude the band"]
  E --> K["Cam: disc and knob, minus track, bore and mark"]
  A["camAngle"] --> K
  A --> F["Follower: bar and pin at the current lift"]
  P --> B["Base: plate, axle, guide rails"]
  • The Cam node draws the pitch curve. It takes the base radius, the lift, the three angles and a motion law for each phase, and outputs the pitch curve as a path, here with 720 segments. The program runs clockwise from the +X axis, so turning the cam counterclockwise plays it forward, and cam angle 0° is the start of the rise.
  • The track is the pitch curve made wide. One path operation opens the closed curve, a second strokes it by the pin radius plus half the clearance, and the band is extruded and subtracted from the disc above a 2.4 mm floor. Every point of the track wall is the same distance from the pitch curve, so the gap around the pin is the same all the way round. Sketches to Solids covers offsetting 2D shapes.
  • The cutter is oversized. The extruded band runs 1 mm above the cam's top face so the cut passes cleanly through it, the rule from Oversize the Cutter.
  • Tight bends would spoil the track. Offsetting a curve by more than its radius of curvature folds the offset over itself; for a roller follower this is undercutting, and the cam stops reproducing the pitch curve.[5] Across the whole slider range, the tightest bend in the pitch curve of any of the three smooth laws is at least 1.3 times the half-width of the track, so both walls follow the pitch curve exactly. Linear motion's corners are the exception: at each one, one wall of the track rounds over the corner.
  • The follower is solved, not animated. Its position is the base radius plus the lift the program gives at the current cam angle, from the same motion-law formulas the Cam node uses, so the pin sits in the middle of the track at every angle.
  • A handle and a mark. An angular control point on the knob turns the cam in the viewport, and a groove in the top of the knob points at the follower at 0°. Expressions and Variables in Rig Cad covers readouts, validators and handles, and Beyond Sliders explains why a model should refuse settings it cannot build.

Proving it turns

A cam that fits at one angle can still bind at another. Each modelling stage went in with verification requirements that have to keep holding: no overlap between the parts, each part a single watertight solid, and overall sizes tied to their formulas. Then the cam was checked at eight angles through a full turn, and the settings were pushed to the ends of their ranges, with a clearance and interference check each time.

Table: Smallest gap between the pin and the track wall.

Settings Cam angle Smallest gap
Defaults eight angles, one full turn 0.19 to 0.20 mm
Simple harmonic, mid-rise 60° 0.20 mm
3-4-5 polynomial, mid-return 240° 0.20 mm
Linear, just past the start of the rise 3° 0.20 mm
60° rise and return, 40 mm base radius 30° 0.20 mm
25 mm lift, 12 mm pin, 32 mm base radius 60° 0.20 mm
No high dwell: cycloidal rise, harmonic return 90° 0.20 mm
Clearance cut to 0.2 mm 150° 0.10 mm

No case found any overlap between two parts, and the gaps are what the construction promises: half the clearance on each side of the pin.

Printing and assembly

From settings to a working cam
  1. Set the program, sizes and clearance
  2. Export the base, cam and follower
  3. Print each part as laid out, no supports
  4. Drop the cam onto the axle
  5. Lay the follower in its guide, pin in the track
  6. Turn the knob

All three parts print without supports: the base flat, the cam with its knob up, and the follower flipped so its pin points up. At the default size that is about 52 g of filament and five and a quarter hours (base 26 g, cam 23 g, follower 2.4 g). The only bridge is the roof of the cam's blind axle bore, 8.4 mm across.

The default 0.4 mm clearance leaves 0.2 mm on each side of the pin in the track, and around the axle. If your printer makes holes and slots tight, raise it; Clearances for 3D-Printed Parts That Have to Move has a coupon that finds the right value for your machine. The axle and the pin print upright, with layer lines across them. That is fine here: they are short, thick pegs under light load, and nothing in the mechanism flexes.

Nothing needs glue or screws. Gravity holds the cam on its axle and the follower in its guide, and because the track holds the pin on both sides, the follower comes back on the return without a spring.

Where to go next

Try a few changes in the model above. Switch both motion laws to Linear (constant velocity) and the peak pressure angle drops from 17.8° to 10.8°, but the follower's velocity now switches on and off at the ends of each stroke. Shorten the rise to 60° and the model refuses it at the default size; raise the base radius to 28.5 mm first and it goes through. Set the high dwell to zero and the rise turns straight into the return.

The ideas behind the model have their own articles: Designing a Geneva Drive That Prints for the other classic way to turn rotation into timed motion, Expressions and Variables in Rig Cad for the readouts, validators and drag handle, Beyond Sliders for building a parameter space that refuses bad combinations, and Clearances for 3D-Printed Parts That Have to Move for the gap the track depends on.

References

  1. Cam (mechanism)

    Cams and followers, the base circle, face cams whose captive follower needs no spring, rise-dwell-return terms, and history.

    Back to reference
  2. Cams

    Continuous position, velocity and acceleration with finite jerk; harmonic and cycloidal profiles; pressure-angle limits of 30° and 35°.

    Back to reference
  3. Cam Mechanisms: Motion Curves

    Harmonic, cycloidal and 3-4-5 polynomial motion curves and their comparison.

    Back to reference
  4. Pressure Angle: Radial Cam, Translating Follower (Dynacam help)

    After Cam Design and Manufacturing Handbook, 2nd ed., Industrial Press, 2009. Keep the pressure angle within about 30° for translating followers and 35° for oscillating ones.

    Back to reference
  5. Follower Radius and Radius of Curvature (Dynacam help)

    Undercutting when the follower radius exceeds the smallest convex radius of curvature of the pitch curve.

    Back to reference