force control
Machine Tested Sanitized dataBonding 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:
- Free motion — position control, no contact; the plant is approximately a rigid mass.
- Approach and touch-down — the axis meets the substrate; stiffness changes abruptly.
- 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
| 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:
Contact force is zero out of contact; in contact it follows a nonlinear stiffness plus damping term.
The exponent captures the nonlinear stiffening observed in real contacts ( for an ideal linear spring, for Hertzian contact). The effective values of , and 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:
Around zero velocity this is replaced by a stiction band to avoid chatter in simulation.
Axis dynamics
with motor force , gravity load , friction and contact force 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:
- Force ramp tests against the production substrate at multiple preloads.
- Force step responses across the 5–10 kg range at both 4 kHz and 16 kHz loop rates.
- 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
| Date | Change |
|---|---|
| 2026-07-01 | Initial publication: model, method, design logic. |
| 2026-07-20 | Added failure case and identification section. |
Related Notes
- Why Does Displacement Respond Later Than the Force Command? A force command is issued, the DAC output changes — yet detectable displacement appears only ~150 ms later. A structured checklist of physical and signal-chain causes, and how to separate them.
- Why Can an Anti-resonance Have Poor Repeatability? A 280 Hz anti-resonance that moves between measurements is telling you something about contact stiffness, preload and clearance. A debugging plan for unrepeatable anti-resonances.