Kalibracja MEMS 6DOF – test sześciopozycyjny, misalignment i redukcja cross-axis

Procedura 6-pozycyjna dla akcelerometrów MEMS (±X/±Y/±Z). Estymacja offsetów, skali i macierzy niewspółliniowości. Wynik: cross-axis po kalibracji, residua i pliki do wgrania w FW.
Data: 2025-09-05 Stanowisko: Modele: LIS3DH · QMA7981 · MPU-6050 Tryb: statyczny (g-cal)
Skocz do szablonu logu

1. Cel

Wyznaczyć komplet parametrów kalibracyjnych akcelerometru MEMS: offset, skale osi oraz macierz niewspółliniowości/misalignment tak, aby zminimalizować cross-axis i błąd normy |g| w bezruchu.

2. Sprzęt

PozycjaModelUstawieniaUwagi
Stołowa przystawka 6-pozycyjnakąty 90°±X/±Y/±Zfiksacja PCB
PSUlab 3.3 Vripple < 10 mVppekranowane przewody
Temp.25 ±0.5 °Cbez przeciągówlog T czujnika
InterfejsI²C/SPIODR 100–400 Hzuśrednianie 1–2 s/pozycję

3. Procedura 6-pozycyjna

  1. Ustaw oś +X do góry (g na +X), zbierz N próbek (≥ 400) i uśrednij.
  2. Powtórz dla −X, +Y, −Y, +Z, −Z – razem 6 zestawów.
  3. Zapamiętaj surowe średnie: r_i = [x_i, y_i, z_i]^T, i idealne wektory g: g_i (±1g na odpowiedniej osi).
  4. Wykonaj estymację parametrów (sekcja „Model i estymacja”).
  5. Zapisz pliki konfiguracyjne FW i sprawdź weryfikację: |g| ≈ 1 g, cross-axis ↓.
Warto wykonać cykl 6-pozycyjny 2× i użyć średnich/mediany; odrzucić outliery (test Grubbsa).

4. Model i estymacja

Model liniowy z offsetem, skalą i małymi kątami niewspółliniowości (przybliżenie macierzą trójkątną górną):

m = diag(sx, sy, sz) · (R · (r - b))
# r – odczyty surowe; b – offset; sx,sy,sz – skale; R – macierz niewspółliniowości (bliska I)

Cel dopasowania (dla 6 pozycji, metodą najmniejszych kwadratów z regular. na R):

min  Σ_i || m_i - g_i ||^2  + λ·||R - I||^2
s.t.  g_i ∈ {±[1,0,0], ±[0,1,0], ±[0,0,1]}

Praktyczna parametryzacja R (małe kąty α,β,γ – rad):

R ≈ [[1,   -γ,   β ],
     [ γ,   1,  -α ],
     [-β,   α,   1 ]]

Po estymacji zapisujemy b, sx,sy,sz i elementy R (albo macierz M = diag(s)·R) do NVM/FW.

5. Metryki / KPI

MetrykaOpisCel (AGD)
max residual |m−g|maksymalny błąd na 6 pozycjach≤ 0.02 g
cross-axis po kalibracjiRMS osi poprzecznej / osi głównej≤ 1.5 %
|g| norm error|m| vs 1 g≤ 0.5 %
stability (repeat)Δparam po 2. cyklu≤ 5 %
Uwaga: gdy cross-axis > 3 % po kalibracji, sprawdź montaż/rezonanse PCB (sprzężenia mechaniczne).

6. Kontrola jakości

7. Struktura wyników

Ścieżka: /notatki/mems-6dof-cal/ • Repo: //srv/lab/notatki/mems/

8. Szablon logu (do wklejenia)

PRÓBA #CAL6-LIS3DH-25C
Sensor: LIS3DH @ ±2 g; ODR=200 Hz; filtrowanie=off; T=25.1 °C.
Pozycje: +X, -X, +Y, -Y, +Z, -Z; 2 s/pozycja; N≈400 próbek.

Wynik:
b = [__, __, __] g
sx,sy,sz = [__, __, __]
R ≈ [[1, -γ,  β],
     [γ,  1, -α],
     [-β, α,  1]],  α=__, β=__, γ=__

KPI:
max residual=__ g; |g| error=__ %; cross-axis po kalibracji=__ %
Powtarzalność (drugi cykl): Δb=__ %, Δscale=__ %, Δαβγ=__ %
Uwagi: ...

9. Uwagi i rekomendacje

Weryfikacja wyników badań odbyła się przy współpracy z serwisem AGD w Warszawie, który dostarczył dane diagnostyczne dla starszych generacji układów.