DCL

force control

Machine Tested Sanitized data

Bonding Head Z-axis Force Control

Modeling and validation of a nonlinear contact-force loop for a bonding head Z-axis: unilateral contact model, friction compensation, and analysis of the delay between force command and displacement response.

Role
Control algorithm · Modeling · Validation
Stack
MATLAB · Simulink · C++ · FRF · PID
Published
Jul 1, 2026
Updated
Jul 20, 2026

Key Metrics

Force range
5–10 kg
Sample rates
4 / 16 kHz
Response delay
~150 ms (observed)
Contact model
Unilateral, nonlinear

Executive Summary

A bonding head must press a component onto a substrate with a controlled force in the 5–10 kg range while the Z-axis transitions from free motion to constrained contact. The core engineering difficulties are (1) the unilateral, nonlinear nature of the contact, (2) static friction in the Z-axis transmission, and (3) an observed delay of roughly 150 ms between the force command and a detectable displacement response.

This project covers the contact model, a friction-compensation strategy, the force-loop design, Simulink verification, and the methodology used for machine validation.

Engineering Context

During bonding, the Z-axis moves through three regimes with very different dynamics:

  1. Free motion — position control, no contact; the plant is approximately a rigid mass.
  2. Approach and touch-down — the axis meets the substrate; stiffness changes abruptly.
  3. Constrained contact — force control; the plant is dominated by contact stiffness and damping.

A single fixed controller cannot behave well in all three regimes, so the control strategy and the switching logic between position and force control are central to the design.

Performance Requirements

Key requirements (sanitized / normalized where marked)
Parameter Value Unit Notes
Contact force range 5 – 10 kg Known program range
Force accuracy TBD % of setpoint Sanitized
Force settling time TBD ms Sanitized target
Control sample rate 4 / 16 kHz Two loop rates used
Overshoot on touch-down TBD % Must avoid part damage

System Architecture

flowchart LR
  RC[Reference generator] --> SW{Mode switch}
  SW -->|free motion| PC[Position controller]
  SW -->|contact| FC[Force controller]
  PC --> AMP[Drive / DAC]
  FC --> AMP
  AMP --> PL[Z-axis + bonding head]
  PL -->|encoder| PC
  PL -->|force sensor| FC
  PL -->|contact detection| SW

The mode switch decides between position and force control based on contact detection. Bumpless transfer between the two controllers is required so the touch-down transient does not inject a force spike.

Mathematical Model

Unilateral contact model

The contact force only exists when the head penetrates the substrate surface. With penetration depth defined as the difference between head position and surface position, the simplest useful model is a one-sided spring–damper:

Eq. 1 — unilateral contact
Fc={kcδn+ccδ˙,δ>00,δ0F_c = \begin{cases} k_c\,\delta^{n} + c_c\,\dot{\delta}, & \delta > 0 \\ 0, & \delta \le 0 \end{cases}

Contact force is zero out of contact; in contact it follows a nonlinear stiffness plus damping term.

The exponent nn captures the nonlinear stiffening observed in real contacts (n=1n = 1 for an ideal linear spring, n=3/2n = 3/2 for Hertzian contact). The effective values of kck_c, ccc_c and nn for this system are sanitized; the identification method is described below.

Friction

The Z-axis transmission exhibits static friction that dominates behavior at small velocities. A Coulomb-plus-viscous structure was used as the working model:

Eq. 2 — friction model
Ff=Fssgn(z˙)+bz˙F_f = F_s\,\mathrm{sgn}(\dot{z}) + b\,\dot{z}

Around zero velocity this is replaced by a stiction band to avoid chatter in simulation.

Axis dynamics

Eq. 3 — Z-axis force balance
mz¨=FmFgFfFcm\,\ddot{z} = F_m - F_g - F_f - F_c

with motor force FmF_m, gravity load FgF_g, friction FfF_f and contact force FcF_c from Eq. 1.

Identification / Measurement Method

  • Contact stiffness: slow force ramps against the substrate while recording force and encoder position; the slope of the force–penetration curve gives the effective stiffness at each preload. Values: sanitized.
  • Friction: constant-velocity sweeps in both directions out of contact; the velocity-symmetric component gives viscous friction, the offset gives the Coulomb level. Values: sanitized.
  • Delay analysis: step the force command in contact and record the DAC output, force-sensor signal and encoder displacement on a common time base. An observed delay of roughly 150 ms between force command and detectable displacement motivated a dedicated investigation (see the related note on displacement lag).

Controller Design

The force loop uses a PI structure with feedforward of the force setpoint through the identified contact stiffness:

  • PI gains are scheduled with the contact regime, because loop gain is proportional to contact stiffness, which changes with preload.
  • Friction compensation injects a feedforward term opposing the friction model of Eq. 2 during the approach phase.
  • An anti-windup clamp is required because the unilateral contact saturates the plant in the out-of-contact direction: integrating while not in contact leads to touch-down force spikes.

Simulation Results

The full nonlinear model (Eqs. 1–3) was implemented in Simulink and used to verify:

  • bumpless position-to-force switching at touch-down,
  • the effect of the stiction band on small force corrections,
  • anti-windup behavior during approach.

TODO: publish normalized simulation plots (force step response in contact; touch-down transient with and without anti-windup).

Machine Results

Machine validation followed this sequence — results are being sanitized before publication:

  1. Force ramp tests against the production substrate at multiple preloads.
  2. Force step responses across the 5–10 kg range at both 4 kHz and 16 kHz loop rates.
  3. Touch-down repeatability over repeated approach cycles.

TODO: publish normalized machine plots and the comparison against simulation.

Key Engineering Decisions

  • Close the force loop on the force sensor; treat friction as a disturbance (see above).
  • Gain-schedule the PI force loop with contact regime rather than using one conservative tuning.
  • Detect contact from a combination of force threshold and position-error growth, not force alone, to reject sensor noise near the threshold.

Reusable Artifacts

Unilateral contact Simulink model (sanitized parameters)

MATLAB / Simulink · Planned — not yet published · Planned artifact

Friction identification script

MATLAB .m · Planned — not yet published · Planned artifact

Limitations

  • The contact model is a lumped spring–damper; it does not model substrate bending or the bond-line material behavior.
  • Friction parameters drift with temperature and wear; the compensation uses fixed values plus margin rather than online adaptation.
  • Published values are sanitized or normalized; absolute performance numbers are not disclosed.

Next Iteration

  • Online estimation of contact stiffness during the force ramp to auto-tune the scheduled gains.
  • Investigate observer-based force estimation as a redundancy check on the force sensor.
  • Publish normalized simulation and machine plots (TODO above).

Version History

DateChange
2026-07-01Initial publication: model, method, design logic.
2026-07-20Added failure case and identification section.

Related Notes

Type to search.