Antrieb

Cam Systems

A cam transforms rotary motion into precisely profiled linear or oscillating motion. From the simplest eccentric disc to a multi-lobe conjugate cam driving a 1200-part-per-minute packaging machine, the same mathematics, material science, and control engineering principles apply. This guide takes you from the absolute fundamentals of what a cam is, through every motion law and profile type, to advanced electronic cam (e-cam) implementation in modern PLCs — from beginner to expert level.

Depth
Beginner → Expert
Sections
6 + interactive in each
Simulators
8 unique tools
Quiz
10 MCQ + scoring

📺 Video Lesson

⚙ What is a Cam? Fundamentals

A cam is a mechanical element that converts continuous rotary input into a prescribed output motion of a follower. The shape of the cam profile is the "program" — it encodes exactly how the follower moves for every degree of cam rotation. Cams are found in internal combustion engines (valve cams), textile looms, packaging machines, printing presses, and electronic form (e-cams) in every modern servo drive.

⚙ Cam Anatomy Explorer — hover over components
Hover over the cam diagram to learn each component.

The Cam-Follower System: Components & Terminology

Every cam system has four elements: the cam (rotating body whose profile drives the follower), the follower (translating or oscillating body that contacts the cam), the frame (constrains follower motion), and the force-closure element (spring, conjugate cam, or gravity — keeps follower in contact). Key terms: base circle (smallest circle centred on cam axis, defines minimum follower position), pitch curve (path traced by follower centre — offset from cam surface by roller radius), lift (total follower displacement from lowest to highest position), dwell (region where follower does not move despite cam rotation).

What is a Cam? Fundamentals
// Cam system fundamental relationships
//
// Base circle radius:  r_b   (smallest radius of cam)
// Roller radius:       r_r   (follower roller radius)
// Pitch curve radius:  r_p = r_b + r_r  (at base circle)
// Lift / stroke:       h     (total follower travel, mm)
// Total radius at max: r_max = r_b + h  (at full lift)
//
// Cam rotation angle: θ (0–360°, degrees or radians)
// Follower displacement: s(θ)  — the cam profile function
// Follower velocity:    v(θ) = ds/dθ × ω  [mm/s]
// Follower accel.:      a(θ) = d²s/dθ² × ω²  [mm/s²]
// Follower jerk:        j(θ) = d³s/dθ³ × ω³  [mm/s³]
//
// where ω = cam angular velocity (rad/s) = 2π × RPM / 60
//
// Example: cam at 300 RPM, h = 25 mm, rise over 120°
//   ω = 2π × 300/60 = 31.4 rad/s
//   β = 120° = 2.094 rad
//   For cycloidal: peak accel = 6.28 × h × ω² / β²
//   = 6.28 × 25 × 31.4² / 2.094² = 35,400 mm/s² = 36.1 g

Follower Types and Their Constraints

The follower type fundamentally affects cam profile geometry, pressure angle limits, and contact stress. Knife-edge followers have a sharp point contact — highest pressure angle sensitivity, used only for low-speed light-duty or teaching demonstrations. Roller followers use a rolling contact bearing — most common, suitable for all speeds, lower friction, but cam profile must avoid undercutting. Flat-face (mushroom) followers have a flat contact face — zero pressure angle force component, no undercutting possible, but cam must always be convex at contact (cannot have concave sections), and lubrication is harder. Spherical-face followers are a compromise — tolerant of minor misalignment.

What is a Cam? Fundamentals
// Follower force analysis — roller follower
//
// Forces on follower during motion:
//
//   F_spring  = spring preload + k × s(θ)  [N]
//             (must exceed inertia force at all times)
//
//   F_inertia = m_follower × a(θ)  [N]
//             (opposes spring during deceleration)
//
//   Condition for no follower jump:
//   F_spring > F_inertia at all positions
//   k × s_preload > m × |a_max|  (during decel)
//
//   Contact force:
//   F_contact = F_spring - F_inertia  (must be > 0 always)
//
//   Side force on follower stem:
//   F_side = F_contact × tan(α)  [N]
//   α = pressure angle (degrees)
//
//   Friction force:
//   F_friction = μ × F_side  (μ ≈ 0.05 for lubricated steel)
//
//   Hertz contact stress (roller on cam):
//   σ_H = 0.418 × √(F_contact × E* / (r_roller × L_contact))
//   where E* = reduced modulus (steel: ~115 GPa)
//         L_contact = effective contact length (cam width)
//   Limit: σ_H < 1500 MPa for hardened steel (55–60 HRC)

📐 Motion Laws — The Mathematics of Cam Profiles

The motion law defines how the follower displacement s varies with cam angle θ during a rise or fall segment. Choosing the right motion law is the most critical design decision — it determines peak velocity, peak acceleration, jerk, vibration, noise, and wear. Each motion law is characterised by three dimensionless coefficients: Cv (velocity), Ca (acceleration), Cj (jerk).

📐 Motion Law Comparator — position / velocity / acceleration / jerk
200
25
120°

Uniform Motion & Simple Harmonic — The Basics

Uniform (constant velocity) motion is the simplest profile: s = h × θ/β. But at the start and end, velocity jumps instantaneously — infinite acceleration. Never use for dynamic cams. Simple Harmonic Motion (SHM) uses a cosine curve: s = h/2 × (1 - cos(πθ/β)). Velocity is continuous (sinusoidal). Acceleration is also sinusoidal, but has step discontinuities at the dwell transitions — producing finite but sharp jerk spikes. Acceptable for low-to-medium speed. Cv = 1.571, Ca = 4.935.

Motion Laws — The Mathematics of Cam Profiles
// Motion law displacement functions
// θ = current angle in rise (0 to β)
// h = total lift (mm),  β = rise angle (rad)

// ── UNIFORM MOTION (never use for dynamic cams) ──────────
// s = h × (θ/β)
// v = h × ω / β                  (constant — step at ends!)
// a = 0 within rise,  INFINITE at boundaries
// Cv = 1.00,  Ca = ∞  — AVOID

// ── SIMPLE HARMONIC MOTION (SHM) ────────────────────────
// s = (h/2) × (1 - cos(π × θ/β))
// v = (π×h / 2β) × ω × sin(π×θ/β)
// a = (π²×h / 2β²) × ω² × cos(π×θ/β)
// Cv = 1.5708  (π/2)
// Ca = 4.9348  (π²/2)
// Cj = ∞ at boundaries (step change in acceleration)
//
// Suitable for: < 100 RPM, light loads
// NOT suitable for: high-speed packaging, textile machinery

// ── CYCLOIDAL ────────────────────────────────────────────
// s = h × (θ/β - (1/2π) × sin(2π×θ/β))
// v = (h/β) × ω × (1 - cos(2π×θ/β))
// a = (2π×h/β²) × ω² × sin(2π×θ/β)
// Cv = 2.000
// Ca = 6.2832  (2π)
// Cj = FINITE everywhere — best for high speed
//
// Zero velocity AND zero acceleration at start AND end
// Suitable for: high-speed machinery, 100–1200 RPM
// Trade-off: highest Ca of all basic motion laws

Modified Trapezoidal & Modified Sine — Industry Standards

Modified trapezoidal (MT) blends cycloidal segments at transitions with constant-acceleration middle sections. It achieves Ca = 4.888 (lower than cycloidal) with finite jerk everywhere — the most common choice for packaging and textile machinery. Modified sine (MS) blends two sine waves of different periods. Ca = 5.528, Cv = 1.760 — moderate peak acceleration, very smooth velocity curve, excellent for intermediate speeds. The "polynomial 3-4-5" and "polynomial 4-5-6-7" profiles use higher-order polynomials to achieve continuous derivatives up to any desired order — standard in electronic cam systems where the table is computed algorithmically.

Motion Laws — The Mathematics of Cam Profiles
// Modified trapezoidal motion law (4 segments)
// Segment boundary: α₁ = β/8 (first cycloidal → constant-accel transition)
//
// Segment 1: 0 ≤ θ < β/8      (cycloidal acceleration)
// Segment 2: β/8 ≤ θ < 3β/8   (constant acceleration = a_max)
// Segment 3: 3β/8 ≤ θ < 5β/8  (cycloidal deceleration — symmetric)
// Segment 4: 5β/8 ≤ θ < β     (constant deceleration = -a_max)
//
// Key coefficients:
// Cv = 2.000  (same as cycloidal)
// Ca = 4.888  (16% lower than cycloidal — less peak torque)
// Cj = 61.43  (finite everywhere)
//
// ── POLYNOMIAL 3-4-5 ─────────────────────────────────────
// s = h × (10u³ - 15u⁴ + 6u⁵)  where u = θ/β
// Provides: s(0)=0, s'(0)=0, s''(0)=0 (zero accel at start)
//           s(1)=h, s'(1)=0, s''(1)=0 (zero accel at end)
// Cv = 1.875,  Ca = 5.774,  Cj = 60.0
// Smooth start/stop — very low vibration excitation
//
// ── POLYNOMIAL 4-5-6-7 ───────────────────────────────────
// s = h × (35u⁴ - 84u⁵ + 70u⁶ - 20u⁷)
// Additionally: s'''(0) = s'''(1) = 0 (zero jerk at boundaries)
// Cv = 2.1875, Ca = 7.5, Cj = FINITE — zero at boundaries
// Best for very high speed, stiff mechanical systems
// Used in: electronic cam tables for servo axes

Cam Design Coefficients — Comparison Table

The three normalised coefficients characterise every motion law independently of speed and lift. To get actual values: V_max = Cv × h × ω / β, A_max = Ca × h × ω² / β², J_max = Cj × h × ω³ / β³. Lower Ca = less required motor torque and lower cam contact stress. Lower Cv = less required speed capacity. Finite Cj = smoother high-speed operation. No single motion law minimises all three simultaneously — the choice is always a trade-off.

Motion Laws — The Mathematics of Cam Profiles
// Cam motion law coefficients — engineering reference
//
//  Motion Law          Cv      Ca      Cj          Notes
//  ──────────────────  ──────  ──────  ──────────  ──────────────────────
//  Uniform (const vel) 1.000   ∞       ∞           NEVER USE dynamically
//  Simple Harmonic     1.5708  4.935   ∞ (at ends) Low-speed only
//  Cycloidal           2.000   6.283   62.83       High speed, finite jerk
//  Modified Sine       1.760   5.528   69.45       Good all-round choice
//  Modified Trapez.    2.000   4.888   61.43       Best Ca, finite jerk
//  Polynomial 3-4-5    1.875   5.774   60.0        Zero accel at ends
//  Polynomial 4-5-6-7  2.1875  7.500   finite      Zero jerk at ends
//  Double Harmonic     1.571   6.283   ∞ (at ends) Rarely used
//
//  SELECTION GUIDE:
//  Speed < 100 RPM, gentle:  Simple Harmonic — easy to implement
//  Speed 100–500 RPM:        Modified Sine — balanced performance
//  Speed > 500 RPM:          Modified Trapezoidal — lowest peak accel
//  E-cam, servo systems:     Polynomial 4-5-6-7 — smoothest output
//  Stiff mechanical systems: Cycloidal — zero accel at transitions
//  Torque-critical drives:   Modified Trapezoidal — lowest Ca
//
//  Rule: Always compute actual peak acceleration first:
//  A_peak = Ca × h × (2π × RPM/60)² / (β_rad²)
//  Compare to [m_follower × A_peak] vs spring force available
LawCvCaJerkBest for
Uniform1.000Never dynamic
Simple Harmonic1.5714.935∞ at ends<100 RPM
Cycloidal2.0006.283FiniteHigh speed, soft start/stop
Modified Sine1.7605.528FiniteMid-speed, smooth
Mod. Trapezoidal2.0004.888FiniteMin torque, high speed
Poly 3-4-51.8755.774FiniteE-cam, zero accel ends
Poly 4-5-6-72.18757.500Zero at endsUltra-smooth, stiff systems

📏 Cam Profile Geometry & Manufacturing

Once the motion law is chosen, the actual cam profile must be derived from the pitch curve and manufactured to tight tolerances. Errors in profile geometry translate directly into follower motion errors — 0.01 mm profile error at 300 RPM can produce 5 m/s² acceleration error. Understanding how profiles are generated, checked, and manufactured is essential for any cam engineer.

📏 Live Cam Profile Generator — real geometry, pressure angle check
50
8
25
0
Max pressure α
Min ρ (curvature)
Undercut risk
Max radius

Pitch Curve, Pressure Angle & Radius of Curvature

The pitch curve is the locus of the follower roller centre. For a translating roller follower with offset e: x(θ) = (r_p + s) × sin(θ) - e × cos(θ); y(θ) = (r_p + s) × cos(θ) + e × sin(θ). The actual cam profile is offset from the pitch curve inward by r_roller. Pressure angle α at any point: tan(α) = (ds/dθ - e) / (r_p + s). Maximum pressure angle occurs at maximum ds/dθ (peak velocity region). Radius of curvature ρ of the pitch curve must be > r_roller at all points to prevent undercutting.

Cam Profile Geometry & Manufacturing
// Cam profile point calculation — translating roller follower
// Inputs: base circle radius r_b, roller radius r_r,
//         follower offset e, displacement array s[θ]
//
VAR
  r_b      : REAL := 40.0;   // mm
  r_r      : REAL := 8.0;    // mm
  e        : REAL := 0.0;    // mm (offset from cam centre line)
  h        : REAL := 25.0;   // mm lift
  n_points : INT  := 360;    // table resolution
END_VAR

FOR i := 0 TO n_points - 1 DO
  theta := i * 2.0 * PI / n_points;  // rad
  s     := displacement(theta);       // from chosen motion law
  ds    := velocity_coeff(theta);     // ds/dθ

  // Pitch curve point
  r_p   := r_b + s;
  x_p   := r_p * SIN(theta) + e * COS(theta);
  y_p   := r_p * COS(theta) - e * SIN(theta);

  // Pressure angle
  alpha := ATAN((ds - e) / (r_p));
  // Check: |alpha| < 30° for translating follower

  // Radius of curvature of pitch curve
  // ρ = ((r_p² + ds²)^1.5) / (r_p² + 2×ds² - r_p×d²s)
  rho := POWER((r_p*r_p + ds*ds), 1.5)
         / (r_p*r_p + 2.0*ds*ds - r_p * d2s);
  // Check: rho > r_r (no undercutting)

  // Actual cam profile point (offset pitch curve by r_r)
  cam_x[i] := x_p - r_r * COS(alpha) * SIN(theta);
  cam_y[i] := y_p - r_r * COS(alpha) * COS(theta);
END_FOR;

Manufacturing: CNC Grinding, Tolerances & Inspection

Industrial cams are ground on CNC cam grinders (e.g. Schütte, Junker, Landis). The cam is held between centres and rotated while a grinding wheel advances and retracts according to the profile data. Profile accuracy is specified as: radial form error (typically ±5–20 µm), surface roughness Ra 0.4–0.8 µm, hardness 58–62 HRC (case-hardened tool steel or through-hardened bearing steel). After grinding, profiles are inspected on a CMM (Coordinate Measuring Machine) or a dedicated cam analyser that rotates the cam and records follower displacement — comparing measured to theoretical to generate an error map.

Cam Profile Geometry & Manufacturing
// Cam tolerance specification — engineering drawing notes
//
// Material:
//   Tool steel 1.2379 (D2/X153CrMoV12)
//   OR bearing steel 1.3505 (52100/100Cr6)
//   Hardness after hardening + tempering: 60 ±2 HRC
//   Case depth (if case-hardened): 1.5–2.5 mm
//
// Profile tolerances (typical for packaging machinery):
//   Radial form error:   ±0.010 mm (±10 µm)
//   Lift accuracy:       ±0.020 mm total
//   Angular position:    ±0.05°
//   Surface roughness:   Ra ≤ 0.4 µm (ground finish)
//   Runout (TIR):        ≤ 0.005 mm on cam bore reference
//
// Inspection method:
//   1. CMM measurement: 720 points (0.5° resolution)
//      Compare to theoretical pitch curve data
//      Output: radial error vs angle plot
//   2. Functional test on cam analyser:
//      Mount cam, run at 10 RPM, record follower displacement
//      Compare to ideal — max error must be within tolerance
//
// Surface treatment after grinding:
//   DLC (Diamond-Like Carbon) coating 2–4 µm:
//     Reduces friction coefficient to 0.05 (dry)
//     Increases wear resistance 5–10×
//     Used in cams running without forced lubrication
//   Nitrocarburising (Tenifer/QPQ):
//     3–5 µm compound layer
//     Improves corrosion resistance + mild wear protection
//     Lower cost than DLC — used for medium-duty cams

Cam Types: Plate, Cylindrical, Face & Groove Cams

Plate (disc) cam: the most common — a 2D profile on a rotating disc. Easy to manufacture, compact. Works with translating or oscillating follower. Cylindrical (barrel) cam: profile is a groove cut into a cylinder surface. The follower rides in the groove — positive drive in both directions without a spring. Used in textile machines and high-speed transfer mechanisms. Face cam: profile is a groove on the flat face of a disc — follower axis is parallel to cam axis. Groove cam: a closed groove in a plate cam that positively constrains the follower in both directions (like cylindrical but in a plate). Globoidal (Ferguson) cam: a special barrel cam with a rib profile driving a star wheel — produces precise indexing with infinite dwell between steps.

Cam Profile Geometry & Manufacturing
// Cam type selection guide
//
//  Type            Follower       Positive  Max      Complexity
//                  motion         drive?    Speed    to machine
//  ──────────────  ─────────────  ────────  ───────  ──────────
//  Plate (disc)    Translate/osc  No*       High     Low
//  Groove plate    Translate/osc  YES       Medium   Medium
//  Cylindrical     Translate/osc  YES       High     Medium
//  Face cam        Translate      YES       Medium   Medium
//  Globoidal       Indexing only  YES       High     High
//  Conjugate       Translate/osc  YES       Very hi  High
//
//  *Spring or conjugate needed for positive drive
//
//  Use plate cam when:
//    Compact, light-duty, cost-sensitive
//    Spring force acceptable at operating speed
//
//  Use groove/cylindrical when:
//    Heavy follower mass (spring cannot follow)
//    High speed (>600 RPM) where spring pre-load is too large
//    Precise return motion required
//
//  Use globoidal indexing cam when:
//    Precise rotary indexing (4, 6, 8, 12 station)
//    Zero-backlash required
//    Clean, repeatable dwells (assembly, inspection machines)
//
//  Use conjugate when:
//    Very high speed (>800 RPM)
//    Heavy follower, large inertia
//    Long life required (no spring fatigue)
TypePositive DriveMax RPMManufactureUse Case
Plate (disc)No (spring)HighEasyGeneral, low-cost
Groove plateYesMediumMediumHeavy followers
CylindricalYesHighMediumTextile, transfer
Face camYesMediumMediumCompact mechanisms
GloboidalYesVery highHighPrecision indexing
ConjugateYesVery highHighHigh-speed, no spring

💻 Electronic Cams (E-Cam) in PLCopen

An electronic cam (e-cam) replaces the physical cam profile with a lookup table stored in the PLC or servo drive. A master axis (physical encoder or virtual) provides the input angle. The table maps master angle to slave position setpoint. The drive executes the resulting motion profile in real time. E-cams offer instant profile changeover, registration correction, and arbitrary profile complexity — at the cost of requiring servo hardware and PLC infrastructure.

💻 Electronic Cam Table Builder & Simulator

Build a multi-segment cam table. Drag the master speed slider to run the simulation. Watch master and slave positions update in real time with registration correction.

Segment Start (°) End (°) Type Slave start Slave end
60 RPM
0 mm
Master pos
Slave pos
0.0
Slave vel
0.0
Cycle rate
0.0 Hz

MC_CamIn / MC_CamOut — PLCopen Implementation

PLCopen MC_CamIn engages an electronic cam relationship between a master and slave axis. The slave position is computed from the cam table and the master position every motion task cycle. The master can be a physical encoder axis, a virtual axis (running at a defined speed), or any other PLCopen axis. MC_CamOut disengages the cam and leaves the slave in its last position. Critical parameters: MasterScaling (master units per cam period), SlaveScaling (output units per table unit), MasterOffset (phase shift for registration), MasterStartDistance (how far ahead the master will be when cam engages).

Electronic Cams (E-Cam) in PLCopen
// PLCopen MC_CamIn — full implementation example
// Application: rotary knife (flying shear)
// Master: product conveyor encoder (virtual axis at line speed)
// Slave:  knife servo axis

VAR
  master_axis     : AXIS_REF;  // Virtual master (line encoder)
  knife_axis      : AXIS_REF;  // Physical servo axis
  fb_cam_in       : MC_CamIn;
  fb_cam_out      : MC_CamOut;
  fb_read_master  : MC_ReadActualPosition;
  cam_table       : MC_CAM_REF;    // Pre-built cam table
  knife_engaged   : BOOL;
  product_detected: BOOL;          // From photo-eye at trigger point
  registration_mm : REAL := 0.0;  // Registration correction (±mm)
  line_speed_mpm  : REAL;         // m/min from encoder
  product_pitch   : REAL := 300.0; // mm between product leading edges
END_VAR

// Engage cam on product detection
IF product_detected AND NOT knife_engaged THEN
  fb_cam_in(
    Master             := master_axis,
    Slave              := knife_axis,
    CamTable           := cam_table,
    Execute            := TRUE,
    MasterScaling      := product_pitch,    // One cam cycle = one pitch
    SlaveScaling       := 1.0,
    MasterOffset       := registration_mm,  // Phase correction
    MasterStartDistance:= 50.0,  // Engage 50mm before cut window
    Velocity           := line_speed_mpm / 60 * 1000, // mm/s
    Acceleration       := 5000.0,
    Deceleration       := 5000.0,
    Mode               := MC_Cyclic  // Repeat indefinitely
  );
  knife_engaged := TRUE;
END_IF;

// Disengage on stop command
IF stop_cmd AND knife_engaged THEN
  fb_cam_out(
    Slave   := knife_axis,
    Execute := TRUE,
    Mode    := MC_Stop_At_Zero  // Complete current cycle first
  );
  knife_engaged := FALSE;
END_IF;

Cam Table Design & Interpolation

A cam table is an array of (master_position, slave_position) pairs. The drive interpolates between points — linear interpolation is simplest but produces velocity steps at table points. Cubic spline interpolation (used in most modern drives) ensures smooth velocity and acceleration through each point. Table resolution: 360 points (1° per point) is the minimum for visual smoothness; 1440 points (0.25°) for demanding applications. The table should be generated from the same motion law equations used for mechanical cams — not drawn freehand.

Electronic Cams (E-Cam) in PLCopen
// Cam table generation — modified trapezoidal profile
// Application: 360-point table, rise-dwell-fall-dwell (RDFD)
// Rise: 0°–120° (h=100 mm, modified trapezoidal)
// Dwell: 120°–180° (at h=100 mm)
// Fall: 180°–300° (mirror of rise)
// Dwell: 300°–360° (at h=0 mm)

VAR
  table   : ARRAY[0..359] OF REAL;  // Slave position mm
  i       : INT;
  theta   : REAL;  // 0–2π
  u       : REAL;  // Normalised position 0–1 within segment
  beta_r  : REAL := 2.094;  // 120° in radians
  h       : REAL := 100.0;  // Lift mm
END_VAR

FOR i := 0 TO 359 DO
  theta := i * 2.0 * PI / 360.0;  // rad

  IF theta < beta_r THEN
    // Rise: modified trapezoidal
    u := theta / beta_r;
    table[i] := h * ModTrap(u);   // See function below

  ELSIF theta < PI THEN
    // Dwell high
    table[i] := h;

  ELSIF theta < beta_r + PI THEN
    // Fall: reverse modified trapezoidal
    u := (theta - PI) / beta_r;
    table[i] := h * (1.0 - ModTrap(u));

  ELSE
    // Dwell low
    table[i] := 0.0;
  END_IF;
END_FOR;

// ModTrap(u): Modified trapezoidal normalised displacement
// Uses 4-segment blend of cycloidal + constant acceleration
FUNCTION ModTrap : REAL
VAR_INPUT u : REAL; END_VAR
IF u < 0.125 THEN
  ModTrap := (u/0.125 - SIN(2*PI*u/0.125)/(2*PI)) * 0.25;
ELSIF u < 0.375 THEN
  // Constant acceleration segment
  ModTrap := 0.25 * 2.0*(u-0.125) + SIN(0.0)... // (full formula)
  // See Shigley machine design p.644 for complete expression
END_IF;
END_FUNCTION

Registration & Phase Correction

In real packaging and printing machines, the product position is not perfectly predictable — it drifts due to slip, stretch, and timing variation. Registration is the process of measuring the actual product position (via a sensor) and correcting the cam phase offset so that the knife, stamp, or label hits the correct spot on the product. The correction is applied as a MasterOffset increment in MC_CamIn — a small value each cycle that converges to zero error. This is a discrete P-controller on the registration error.

Electronic Cams (E-Cam) in PLCopen
// Registration control — convergence correction
// Sensor reads actual product mark position
// Expected position = N × product_pitch (N products)
// Registration error = actual - expected
//
VAR
  reg_error_mm    : REAL;          // Measured error each cycle
  reg_correction  : REAL;          // Correction to apply
  Kp_reg          : REAL := 0.4;   // Proportional gain (0 < K < 1)
  max_correction  : REAL := 5.0;   // mm max per cycle
  total_offset    : REAL := 0.0;   // Accumulated phase offset
END_VAR

// Called once per product (on trigger sensor)
reg_error_mm := product_mark_pos - expected_mark_pos;

// P-control: apply fraction of error per cycle
reg_correction := LIMIT(
  -max_correction,
  Kp_reg * reg_error_mm,
  max_correction
);

total_offset := total_offset + reg_correction;

// Update cam: apply new offset to running MC_CamIn
// (Most drives support live MasterOffset update)
fb_cam_in.MasterOffset := total_offset;

// Convergence: error reduces by (1-Kp)^N per N cycles
// At Kp=0.4: after 5 cycles, error < (0.6^5) = 7.8% of original
// After 10 cycles: error < 0.6% — effectively corrected
//
// Too high Kp (>0.7): overshoots → oscillation
// Too low Kp (<0.2): slow convergence → product waste on line start

🏭 Industrial Applications

Cam systems appear in almost every high-speed machine. Understanding the specific requirements of each application — cycle rate, dwell requirements, force profiles, accuracy needs — determines the cam and motion law selection.

🏭 Packaging Jaw Cam Simulator — force & speed analysis
80
60
300 g
30 N
Peak accel
Inertia force
Min contact F
Jump risk
Peak velocity
Motion law
MOD TRAP

Packaging Machines — Form-Fill-Seal, Cartoners

Horizontal form-fill-seal (HFFS) machines run at 60–120 packs/minute. The jaw cam drives the sealing jaws through a DRD (Dwell-Rise-Dwell) cycle: dwell on product (jaws closed, sealing), rapid return (rise), dwell off product. The dwell angle determines seal dwell time and thus seal strength. Modified trapezoidal or polynomial 4-5-6-7 profiles are universal. The jaw drive is the highest-acceleration motion on the machine — peak acceleration can reach 50–80 g on high-speed lines, making follower inertia and spring design critical.

Industrial Applications
// HFFS jaw cam design example
// Machine speed: 80 packs/min
// Jaw stroke: 60 mm
// Seal dwell: 120° (seal window)
// Return stroke: 120° (modified trapezoidal)
// Open dwell: 120° (product loading window)

// At 80 packs/min, jaw cam rotates at 80 RPM
// ω = 80 × 2π/60 = 8.38 rad/s
// β_rise = 120° = 2.094 rad
// Ca (modified trap) = 4.888
// A_peak = Ca × h × ω² / β²
//        = 4.888 × 60 × 8.38² / 2.094²
//        = 4.888 × 60 × 70.2 / 4.385
//        = 4704 mm/s² = 0.48 g
// (Very modest at 80 RPM — spring design is straightforward)
//
// At 200 packs/min (200 RPM):
// ω = 20.94 rad/s
// A_peak = 4.888 × 60 × 20.94² / 2.094² = 29,430 mm/s² = 3.0 g
// Follower mass = 0.5 kg
// F_inertia = 0.5 × 29.43 = 14.7 N
// Spring preload must exceed 14.7 N by safety margin ×1.5
// → Spring preload ≥ 22 N at minimum position
//
// At 500 packs/min → A_peak = 184,000 mm/s² = 18.8 g
// F_inertia = 0.5 × 1840 = 920 N — spring impractical!
// → Conjugate cam or groove cam required above ~400 RPM

IC Engine Valve Cams — Automotive Application

Internal combustion engine valve cams are the most studied cam application in history. Requirements: exact valve timing for combustion efficiency, minimum valve bounce at high RPM, long service life (>300,000 km equivalent), tight manufacturing tolerances. Modern engines use variable valve timing (VVT) with hydraulic phasing mechanisms — the cam profile is fixed but its angular relationship to the crankshaft changes. The follower (tappet or rocker arm) must have a specific "acceleration hump" to ensure quiet valve seating.

Industrial Applications
// Engine valve cam design parameters (single-cylinder, 4-stroke)
// Engine speed range: 800–7000 RPM
// Valve lift: 8.5 mm intake, 7.8 mm exhaust
// Duration: 240° intake, 232° exhaust (crankshaft degrees)
//   = 120°, 116° camshaft (cam turns at half crank speed)
//
// At 7000 RPM (max power), camshaft at 3500 RPM:
// ω_cam = 3500 × 2π/60 = 366 rad/s
// β_intake = 120° = 2.094 rad
//
// For modified polynomial profile (polynomial 3-4-5):
// Ca = 5.774
// A_peak = 5.774 × 8.5 × 366² / 2.094²
//        = 5.774 × 8.5 × 133,956 / 4.385
//        = 1,506,000 mm/s² = 153.6 g (!)
//
// Valve + retainer + spring seat mass ≈ 45 g = 0.045 kg
// F_inertia_peak = 0.045 × 15,060 = 677 N
// Valve spring must maintain contact: F_spring > 677 N
// at maximum lift — hence high-performance valve springs
// rated at 800–1200 N open load
//
// Valve float (follower jump) occurs when:
// F_spring < F_inertia → onset ~5500–6500 RPM for std cams
// Solution: stiffer springs, lighter valves (Ti), or
//           desmodromic (conjugate) valve train (Ducati)

Indexing & Transfer Machines — Globoidal Cams

Rotary indexing machines (dial plates, star wheels) use globoidal (Ferguson) or barrel cams to produce precise, repeatable indexing with exact dwell periods. The key specification is "index ratio" N (number of positions) and the number of lobes L (one lobe per index cycle). Typical: 4, 6, 8, 12 station machines at 20–120 cycles/minute. The motion profile for an index cam is always RDFD with modified sine or polynomial 3-4-5. Dwell accuracy determines assembly station accuracy — typically ±10–30 arcseconds.

Industrial Applications
// Globoidal indexing cam — 8-station, 1 lobe
// Index angle: 360°/8 = 45° output rotation per index
// Index time ratio: typically 60% motion, 40% dwell
// At 60 indexes/min:
//   Index period T = 1/60 × 60s / 1 = 1.0 s
//   Motion time = 0.6 s, dwell time = 0.4 s
//
// Cam rotation for motion: β_motion = 0.6 × 360° = 216°
// Cam rotation for dwell:  β_dwell  = 0.4 × 360° = 144°
//
// Input cam shaft speed to produce 60 indexes/min:
//   n_cam = 60 RPM (1 revolution = 1 index)
//
// Output star wheel: 45° per index
//   Peak angular velocity = Cv × (45°) × ω / β
//   Modified sine: Cv = 1.760
//   ω_cam = 2π rad/s (60 RPM)
//   β = 216° = 3.77 rad
//   ω_peak = 1.760 × (45×π/180) × 2π / 3.77
//           = 1.760 × 0.785 × 2π / 3.77
//           = 2.31 rad/s = 22 RPM peak output speed
//
// Dwell accuracy depends on:
//   Cam profile error (±10 µm → ±arcseconds)
//   Backlash in coupling (zero with preloaded globoidal cam)
//   Torsional stiffness of output shaft
//   Thermal expansion of cam housing

🔧 Diagnostics, Wear & Maintenance

Cam systems are wear components. Even perfectly designed cams will eventually require maintenance. Understanding how wear progresses, what to measure, and how to diagnose problems from follower motion data allows planned maintenance rather than catastrophic failure.

🔧 Cam Wear Signature Analyser

Simulate progressive wear and damage on a cam. Inject fault types — uniform wear, pitting, eccentricity — and see how the follower displacement signature changes. This is exactly what a maintenance engineer reads from live encoder data.

RMS error
Peak error
1× runout
Condition

Wear Mechanisms & Service Life Prediction

Three main wear mechanisms affect cams: fatigue pitting (surface fatigue under repeated Hertz contact stress — occurs when σ_H exceeds material endurance limit, typically at 10⁷–10⁹ cycles), abrasive wear (hard particles between cam and follower — prevented by filtration and sealed lubrication), and adhesive wear/scuffing (occurs when lubricant film breaks down at very high contact stress or temperature — prevented by correct viscosity lubricant and adequate supply). Service life is predicted using the Hertz contact stress and material S-N curve, similar to rolling bearing life calculation (L10 model adapted for cam contact).

Diagnostics, Wear & Maintenance
// Cam contact life estimation — Hertz stress model
// Roller follower on plate cam (line contact)
//
VAR
  F_contact   : REAL := 500.0;   // N (max, from force analysis)
  r_roller    : REAL := 8.0;     // mm follower roller radius
  rho_cam     : REAL := 35.0;    // mm cam radius of curvature at contact
  L_contact   : REAL := 20.0;    // mm cam width
  E_steel     : REAL := 206000.0; // MPa Young's modulus
  nu_steel    : REAL := 0.3;     // Poisson's ratio

  E_star      : REAL;             // Reduced modulus
  R_star      : REAL;             // Reduced radius
  a_contact   : REAL;             // Half contact width mm
  sigma_H     : REAL;             // Peak Hertz stress MPa
END_VAR

// Reduced modulus (both steel)
E_star := E_steel / (2.0 * (1.0 - nu_steel * nu_steel));  // ≈ 113,200 MPa

// Reduced radius (convex cam, convex roller — both positive)
R_star := (r_roller * rho_cam) / (r_roller + rho_cam);
// = (8 × 35) / (8 + 35) = 6.51 mm

// Hertz contact half-width (line contact)
a_contact := SQRT(4.0 * F_contact * R_star / (PI * E_star * L_contact));
// = SQRT(4 × 500 × 6.51 / (3.14159 × 113200 × 20)) = 0.068 mm

// Peak Hertz stress
sigma_H := 2.0 * F_contact / (PI * a_contact * L_contact);  // MPa
// = 2 × 500 / (π × 0.068 × 20) ≈ 234 MPa
// Well below σ_H_lim = 1500 MPa for 60 HRC steel → long life
//
// Life at σ_H:
// For σ_H = 1500 MPa → 10⁶ cycles (surface fatigue limit)
// For σ_H = 500 MPa  → 10⁹ cycles (effectively infinite)
// Relationship: N_life = (σ_H_lim / σ_H)^9 × 10⁶

Fault Diagnosis from Follower Motion Data

Modern machines monitor follower motion via encoders or linear scales. Comparing measured to theoretical follower displacement reveals wear and damage patterns. Profile wear (gradual): measured displacement deviates from theoretical by increasing amounts over time — periodic maintenance prediction. Pitting/spalling (sudden): sharp spikes in measured velocity or acceleration at a specific cam angle — indicates surface damage. Follower jump (resonance): measured displacement shows oscillation after a high-acceleration event — spring preload insufficient or follower resonance excited. Cam runout (eccentric mounting): displacement error with 1× per revolution frequency component.

Diagnostics, Wear & Maintenance
// Follower motion signature analysis — PLC implementation
// Compare measured follower position to theoretical table
// Detect: wear, pitting, jump, eccentricity

VAR
  meas_pos      : ARRAY[0..359] OF REAL;   // Measured, 1° resolution
  theo_pos      : ARRAY[0..359] OF REAL;   // Theoretical cam table
  error_pos     : ARRAY[0..359] OF REAL;   // Difference
  error_vel     : ARRAY[0..359] OF REAL;   // First difference (velocity)
  error_rms     : REAL;                    // RMS error (wear indicator)
  error_peak    : REAL;                    // Peak error (damage indicator)
  runout_1x     : REAL;                    // 1× harmonic amplitude
  wear_level    : INT;  // 0=OK, 1=watch, 2=maintain, 3=stop
END_VAR

// Compute error
FOR i := 0 TO 359 DO
  error_pos[i] := meas_pos[i] - theo_pos[i];
END_FOR;

// First-difference velocity error (highlights sharp spikes → pitting)
FOR i := 1 TO 359 DO
  error_vel[i] := error_pos[i] - error_pos[i-1];  // mm per degree
END_FOR;

// RMS error (wear indicator — grows gradually)
error_rms := SQRT(SUM_SQUARES(error_pos) / 360.0);

// Peak error (damage indicator)
error_peak := MAX_ABS(error_pos);

// 1× runout (eccentricity) — fundamental frequency component
runout_1x := SQRT(SIN_SUM² + COS_SUM²) where
  SIN_SUM = SUM(error_pos[i] × SIN(i°)) / 360
  COS_SUM = SUM(error_pos[i] × COS(i°)) / 360;

// Alarm levels:
// error_rms  > 0.05 mm → watch (wear starting)
// error_rms  > 0.15 mm → schedule maintenance
// error_peak > 0.5  mm → urgent maintenance
// |error_vel| > 0.1 mm/deg → inspect for pitting at that angle
// runout_1x  > 0.02 mm → check cam mounting (runout)

Lubrication Systems & Best Practices

Cam lubrication is critical to service life. The lubrication regime determines whether a full EHD (Elastohydrodynamic) film separates cam and follower or boundary contact occurs. EHD film thickness at the cam-follower contact: h_EHD ≈ 0.1–2 µm (depending on speed, viscosity, contact geometry). Lambda ratio λ = h_EHD / σ_combined_roughness. λ > 3: full film (no wear). λ = 1–3: mixed lubrication (mild wear). λ < 1: boundary lubrication (severe wear). At low speed or high contact stress, forced lubrication with EP (Extreme Pressure) additives is required. At high speed with good EHD conditions, oil splash or mist lubrication may suffice.

Diagnostics, Wear & Maintenance
// EHD film thickness estimation — Dowson-Higginson formula
// For line contact (roller follower on cam)
//
VAR
  eta_0    : REAL := 0.046;   // Pa·s — oil dynamic viscosity at 40°C
                               // ISO VG 68: η₀ ≈ 0.061 Pa·s
                               // ISO VG 100: η₀ ≈ 0.090 Pa·s
  alpha_p  : REAL := 2.2e-8;  // Pa⁻¹ — pressure-viscosity coefficient
  E_prime  : REAL := 226.4e9; // Pa — reduced elastic modulus (steel)
  u_s      : REAL := 1.5;     // m/s — mean surface velocity (entraining)
  R_eq     : REAL := 6.51e-3; // m — equivalent radius
  F_per_L  : REAL := 25000.0; // N/m — load per unit length

  G        : REAL;  // Dimensionless material parameter
  U        : REAL;  // Dimensionless speed parameter
  W        : REAL;  // Dimensionless load parameter
  H_min    : REAL;  // Dimensionless film thickness
  h_min_nm : REAL;  // Film thickness nm
END_VAR

G := alpha_p * E_prime;                          // ≈ 4972
U := eta_0 * u_s / (E_prime * R_eq);            // ≈ 9.6e-11
W := F_per_L / (E_prime * R_eq);               // ≈ 1.69e-4

// Dowson-Higginson minimum film thickness:
H_min := 2.65 * G^0.54 * U^0.70 / W^0.13;
h_min_nm := H_min * R_eq * 1.0e9;  // Convert to nm
// h_min ≈ 150–800 nm depending on conditions
//
// Surface roughness Ra 0.4 µm → Rq ≈ 0.5 µm
// σ_combined = √(Rq_cam² + Rq_roller²) = √(0.25 + 0.25) ≈ 0.71 µm
//
// Lambda ratio λ = h_min / σ_combined
//   λ > 3.0 (420 nm / 710 nm = 0.59 → boundary! increase oil viscosity
//   Need h_min > 2130 nm for λ = 3 at these roughness values
//   → Use ISO VG 150 or higher, or reduce surface roughness Ra < 0.1 µm

✏ Knowledge Test — 10 Questions

Motion laws, pressure angles, e-cam implementation, wear diagnosis, coefficient calculations — all tested. Every answer reveals a full engineering explanation.

Question 1 / 10

What is the fundamental rule of cam design regarding the follower displacement curve?

The "fundamental law of cam design" states that the follower displacement function and its first derivative (velocity) must be continuous. A discontinuity in velocity produces an infinite acceleration (a Dirac impulse), which generates infinite inertia forces — physically this means impact, vibration, noise, and rapid wear. More advanced designs also require continuity of the second derivative (acceleration) to eliminate jerk spikes.
Question 2 / 10

A cam rotates at 300 RPM. The follower must rise 20 mm in 120° of cam rotation using a modified sine profile. What is the approximate peak follower velocity?

ω = 300 × 2π / 60 = 31.4 rad/s. β = 120° = 2π/3 rad. For modified sine: Cv = 1.76 (velocity coefficient). Peak velocity V_max = Cv × h × ω / β = 1.76 × 20 × 31.4 / (2π/3) ≈ 1.76 × 20 × 31.4 / 2.094 ≈ 527 mm/s. The closest answer is 471 mm/s which uses Cv ≈ 1.57 (simple harmonic). The modified sine peak is slightly higher due to its profile shape.
Question 3 / 10

What is "pressure angle" in cam design, and what is the typical maximum allowable value?

Pressure angle (α) is the angle between the follower motion direction and the normal to the cam pitch curve at the point of contact. It governs the side force on the follower stem: F_side = F_follower × tan(α). Above ~30° for translating followers (45° for oscillating), the side force causes the follower to bind in its guide, increasing friction, wear, and the risk of jamming. Reduce pressure angle by increasing base circle radius or reducing lift.
Question 4 / 10

What is the difference between a "conjugate cam" and a single-lobe cam with a spring-loaded follower?

A single-lobe cam with spring-loaded follower requires the spring to keep the follower in contact during deceleration. At high speeds, inertia forces exceed spring force → follower jump (loss of contact) → impact on re-engagement → accelerated wear and noise. A conjugate cam set uses two matched cam lobes on the same shaft, with the follower assembly trapped between them — one cam pushes, the other pulls. There is no spring and no follower jump at any speed.
Question 5 / 10

In a PLCopen MC_CamIn electronic cam, what does the "MasterScaling" parameter control?

MasterScaling defines how many master units correspond to one complete traversal of the cam table (0–360° or 0–1 normalised). If MasterScaling = 500 mm, every 500 mm of master travel executes one full cam profile cycle. Changing MasterScaling to 250 mm doubles the cam repetition rate in master distance without touching the table values. This is essential for registration correction and product pitch adjustment.
Question 6 / 10

A cycloidal motion profile is preferred over simple harmonic for high-speed cams. Why?

Simple harmonic (SHM) has a cosine acceleration curve that is continuous within the rise, but has discontinuities (step changes in acceleration) at the dwell-to-rise and rise-to-dwell transitions — this produces infinite jerk spikes. Cycloidal motion has a sinusoidal acceleration curve that naturally reaches zero at both ends of the rise, giving zero velocity, zero acceleration, and finite jerk at all transitions. This makes it ideal for high-speed applications. Cost: slightly higher peak acceleration (Ca = 6.28) vs SHM (Ca = 4.93).
Question 7 / 10

What is "radius of curvature" and why does it matter for cam followers?

The pitch curve is offset from the cam surface by the follower roller radius. Where the pitch curve has tight concave curvature, the actual cam profile may intersect itself — called undercutting — making the cam impossible to cut correctly. The minimum radius of curvature of the pitch curve must always exceed the follower roller radius (typically by a factor of ≥ 1.5). Undercutting is prevented by increasing the base circle radius, reducing the lift, or reducing the roller radius.
Question 8 / 10

An electronic cam table has 360 points (1° resolution). At 200 RPM master speed, what is the maximum rate at which the PLC must update the cam output?

At 200 RPM the cam shaft completes 200/60 = 3.33 revolutions per second. With 360 table points per revolution, the PLC must update 360 × 3.33 = 1200 points per second. This means the PLC motion task must run at ≥ 1200 Hz (≤ 833 µs cycle time) to avoid skipping table points, which would cause velocity errors. In practice, drives interpolate between table points reducing this requirement — but the master cycle time must still be fast enough.
Question 9 / 10

What is "cam crowning" and when is it used?

Crowning (also called "barrelling") gives the cam a slight convex curve across its width. When the follower roller axis is not perfectly parallel to the cam axis (misalignment from manufacturing or deflection under load), a flat-face cam concentrates all Hertzian contact stress at one edge — causing edge loading and accelerated spalling. A crowned profile shifts the contact point back toward the centre, dramatically reducing peak stress and extending service life. Typically 0.01–0.05 mm crown radius depending on cam width and expected misalignment.
Question 10 / 10

In a "modified trapezoidal" motion law, what are the four segments and what problem does it solve compared to pure trapezoidal?

Modified trapezoidal (also called "4-5-6-7 polynomial" in some texts, or the Gutman profile) blends cycloidal segments at the transitions with a constant-acceleration (parabolic) middle section. The result: lower peak acceleration than cycloidal (Ca ≈ 4.88 vs 6.28), lower peak velocity than cycloidal (Cv ≈ 2.0 vs 2.0, similar), and finite jerk everywhere. This is the most commonly used motion law in high-speed packaging and textile machinery because it minimises peak torque (= inertia × peak acceleration) while maintaining smooth transitions.

Tutorial complete

Ready for more?