← All projects

Bench weighing · Instrumentation

Load-cell measurement chain

A load-cell measurement chain with calibration fitting, an uncertainty budget, and digital filtering. The supplied measurements are synthetic and reproducible.

Calibration and filter analysis executed

Noise and settling time for six causal filters applied to a synthetic load-cell trace.
Noise and settling time for six causal filters applied to a synthetic load-cell trace.

Implementation

Seeded six-point calibration with slope/intercept covariance

Six causal filter variants, step settling, systematic drift and uncertainty budget

Optional explicitly gated zero tracker with sustained-load tests

Executed synthetic/theoretical validation with a selected operating envelope, adverse conditions, and reproducible acceptance evidence.

Inputs and assumptions

  • 10 kg bridge, 2 mV/V sensitivity, 5 V excitation; reference 24-bit ADC with 2.5 V reference and gain 128
  • 100 Hz acquisition; 2 µV RMS independent white noise; positive 0.02 g/s drift; every trace and calibration sample is synthetic
  • Residual nonlinearity ±2 g, hysteresis ±1 g, temperature-zero ±1.5 g, temperature-span ±0.01% of reading over 10 °C; these are assumed uncertainty bounds

Results

Recorded results for the included reference case
Filtered white-noise standard deviation0.403 g
5 kg step settling within 5 g0.24 s
Independent-temperature budget at 5 kg, k = 23.56 g
Virtual validation checks12 / 12
Thermal/load/direction corners24
Correlated standard uncertainty at 5 kg1.913 g
Shared-temperature study at 5 kg, k = 23.826 g
Report figures (4)
Causal step response and error
Causal step response and error
Reference uncertainty budget
Reference uncertainty budget
Synthetic calibration residuals
Synthetic calibration residuals
Thermal screening and synthetic interference after sampling
Thermal screening and synthetic interference after sampling

Open the full report ↗

Verification

18 tests; exact calibration, Monte Carlo covariance, causal filters, analytic settling and drift preservation. Additional virtual validation: 12 checks matched their expected outcomes. Adverse design conditions remain in the results.

python run.py
Download the verification record ↓

Additional scenarios

12 outcomes checked through synthetic/theoretical. The report lists the expected and observed outcomes for each check.

Read the validation report ↗

Project files

The ZIP contains the source, inputs, results, and instructions. These files are also available individually.

Download project ZIP · 931 KB
Archive checksum

SHA-256

516c98eb0b1e0bdb3dea88a6b01ebe410f2c2ec33c7dcd28e8cb27f905d60178
Original project scopeArchived brief PDF ↗

Run locally

Python 3.11+ / NumPy / Matplotlib

Extract the ZIP and open a terminal in the load-cell-measurement folder. The README includes setup and usage details.

python -m pip install -r requirements.txt
python run.py
python -m unittest -v

Limits

  • No physical bridge, ADC board or calibration masses were measured. These results validate the analysis code under stated synthetic conditions.
  • Differential ADC headroom is calculated; common-mode input range, excitation/reference tracking, analog anti-alias filtering, EMI, mounting and overload survival need actual component and installation checks.
  • The baseline budget assumes independent components except for fitted slope/intercept covariance. The separate virtual-validation report also evaluates shared temperature error; its expanded uncertainty is higher.
  • k = 2 is an illustrative expanded uncertainty, not a certified 95% coverage claim. The Type B bounds must be replaced by evidence before using the budget for acceptance.
  • Zero tracking is disabled in the reported measurements. The optional tracker requires external empty-pan confirmation; it cannot distinguish drift from a small real load if that confirmation is wrong.