MEMS-Beschleunigungsmesser, Magnetometer und Orientierungswinkel



Bei der Entwicklung von Geräten, bei denen Orientierungswinkel ausgewertet werden mßssen, kann sich die Frage stellen, welchen MEMS-Sensor Sie wählen sollen. Sensorhersteller stellen viele Parameter zur Verfßgung, anhand derer wir nßtzliche Informationen ßber die Qualität des Sensors erhalten mßssen.

Um zu verstehen, auf welche Winkelgenauigkeit wir zählen kÜnnen, mßssen Sie einige Anstrengungen unternehmen.

TL; DR : Es wird ein kleines Skript fßr Octave / MATLAB beschrieben, mit dem Fehler bei der Berechnung von Orientierungswinkeln aus MEMS-Messungen von Beschleunigungs- und Magnetometern geschätzt werden kÜnnen. Bei der Skripteingabe - Parameter von Sensoren aus Datenblättern (und / oder Kalibrierungsfehler). Der Artikel kann fßr diejenigen nßtzlich sein, die anfangen, Trägheitssensoren in ihren Geräten zu verwenden. Ein kleines Schulungsprogramm zu den Sensoren ist enthalten. Link zu Github auch.

Wir akzeptieren sofort folgende Bedingungen:

  • Wir wollen die Orientierungswinkel eines stationären Geräts bewerten.

    Warum?
    , .
  • Zur Schätzung von Winkeln verwenden wir MEMS-Messungen von Beschleunigungs- und Magnetometern.

1. Kurzes Bildungsprogramm


Orientierungswinkel




Wir werden die Orientierungswinkel des Objekts als die Euler-Winkel verstehen - Rollen, Neigen, Gieren, die das eigene Koordinatensystem XYZ und das lokale Ost-Nord-Top-Koordinatensystem (ENU - East North Up) verbinden. Die Roll-, Nick- und Gierwinkel bezeichnen die Drehung, die die XYZ-Achsen ausfĂźhren mĂźssen, um sich in der ENU-Achse zu bewegen. Dementsprechend bedeuten Nullwinkel, dass die X-Achse des Objekts nach Osten zeigt, die Y-Achse des Objekts nach Norden zeigt und die Z-Achse nach oben zeigt.

Die Rotationsreihenfolge der Achsen ergibt sich aus dem letzten Winkel: zuerst auf Gieren (um die Z-Achse), dann auf Neigung (um die Y-Achse), dann auf Rollen (um die X-Achse).

Beschleunigungsmesser


Dies ist ein Sensor, der die Projektion der scheinbaren Beschleunigung auf die Empfindlichkeitsachse misst. Es scheint - weil es auch die Schwerkraft misst, selbst wenn der Beschleunigungsmesser steht. Es ist am einfachsten, sich einen Beschleunigungsmesser als Gewicht einer Feder vorzustellen, deren ausgegebene Maße proportional zum Spannungsgrad der Feder sind. Wenn der Beschleunigungsmesser in Ruhe ist, wird die Feder nur durch die Schwerkraft gedehnt. Wenn es beschleunigt, gibt es eine Summe von Kräften: Trägheit des Gewichts(F=ma→) und Schwerkraft (Fg=mg→)

Wir akzeptieren das folgende Modell von Messungen der Triade von orthogonalen (zueinander senkrechten) Beschleunigungsmessern:

aXYZ=ma⋅AXYZ+ba+na,

Wo aXYZ- gemessene Beschleunigung in SSC (eigenes Koordinatensystem) XYZ, ma- Versatzmatrix der Achsen und Skalierungsfaktoren des Beschleunigungsmessers, AXYZIst der Vektor der wahren Beschleunigung in CCK XYZ, baIst der Nullpunktverschiebungsvektor des Beschleunigungsmessers, na- Messrauschen.

Die Versatzmatrix der Achsen und Skalierungsfaktoren ist wie folgt:

ma=[1+ma,1,1ma,1,2ma,1,3ma,2,11+ma,2,2ma,2,3ma,3,1ma,3,21+ma,3,3],

wo sich die Elemente auf der Hauptdiagonale befinden (1+ma,1,1,1+ma,2,2,1+ma,3,3) Sind die Skalierungsfaktoren und ihre Fehler entlang der drei Achsen des Beschleunigungsmessers, und die verbleibenden Elemente der Matrix sind die Verzerrungen der Achsen des Beschleunigungsmessers.

Auswahl des Beschleunigungsmessers aus dem Datenblatt

MPU-9250


  • — Zero-G Initial Calibration Tolerance (Âą60mg X,Y, Âą80mgZ) — g10−3;
  • — Initial Tolerance (Âą3%) — . , 10−2;
  • — Cross Axis Sensitivity (Âą2%) — 10−2;
  • — Noise Power Spectral Density (300ÎźgHz)— g10−6;
  • — Low Pass Filter Response (5−260Hz)— , . . ;

:

σnoise=G0⋅Πnoise;


ADIS16488A:


  • — Bias Repeatability (Âą16mg) — g10−3;
  • — (Sensitivity) Repeatability (Âą0.5%) — ;
  • — Misalignment Axis to frame (Âą1∘) — , (, );
  • — Noise Density (0.063mgHzrms)— g;
  • — (3dBBandwidth)— , MPU-9250;


Magnetometer


Ein Sensor, der die Projektion der Magnetfeldinduktion auf die Empfindlichkeitsachse misst. Das Magnetometer ist durch Verzerrungen von Hart- und Weicheisen gekennzeichnet. Die Eisenverzerrung ist ein additiver Effekt, wenn dem gemessenen Feld eine konstante Komponente hinzugefßgt wird. Der Grund kann beispielsweise die Wirkung eines Permanentmagneten oder ein Selbst-Null-Offset des Sensors sein. Weicheisenverzerrung ist ein Multiplikatoreffekt, der eine Richtungsänderung und / oder Dämpfung des magnetischen Induktionsvektors widerspiegelt. Dieser Effekt kann durch das Vorhandensein eines Metallobjekts in unmittelbarer Nähe des Magnetometers oder durch die eigenen Verzerrungen des Sensors verursacht werden - ein Fehler im Skalierungsfaktor oder eine Verzerrung seiner Empfindlichkeitsachse.
Wir akzeptieren das Messmodell der Triade der Magnetometer:

mXYZ=Sm⋅MXYZ+bm+nm,

Wo mXYZ- Magnetometermessungen in CCK XYZ, Sm- Diagonale Schrägmatrix von Achsen und Skalierungsfaktoren (die den Weicheiseneffekt beschreibt), MXYZIst der Vektor der echten magnetischen Induktion in SSK, bm- Verschiebung der Nullen des Magnetometers (beschreibt den Harteisen-Effekt), nm- Messrauschen.
Die Matrix der Schrägachse und Skalierungsfaktoren des Magnetometers:

Sm=[1+Sm,1,1Sm,1,2Sm,1,3Sm,2,11+Sm,2,2Sm,2,3Sm,3,1Sm,3,21+Sm,3,3],

Elemente auf der Hauptdiagonale (Sm,1,1,Sm,2,2,Sm,3,3) Sind die Skalierungsfaktoren und ihre Fehler entlang der drei Achsen des Magnetometers, sind die verbleibenden Elemente der Matrix die Verzerrungen der Achsen des Magnetometers. Alle Matrixelemente berĂźcksichtigen auch die Wirkung von Weicheisen.

Auswahl der Magnetometerparameter aus einem Datenblatt

MPU-9250


, , :

  • — (1ÎźT);
  • — (5%);
  • — , , — (Âą2%);
  • — (0.6ÎźT);

ADIS16488A


  • — Initial Bias Error (Âą15mgauss=1.5ÎźT)— , (0.5ÎźT);
  • — Initial Sensitivity Tolerance (2%);
  • — Misalignment Axis to axis (0.35∘)— , (, );
  • — Noise Density (0.042mgaussHz)— (TeslaHz);
  • — 260Hz;


Berechnung der Orientierungswinkel


Aufgrund der Schwerkraft auf der Erde „erfassen“ Beschleunigungsmesser die Abwärtsrichtung. Ihre Messungen werden zur Berechnung von Roll- und Nickwinkeln verwendet. Formeln zur Berechnung finden Sie hier . Der dritte ist der Gierwinkel (und in diesem Fall der magnetische Azimut), der aufgrund des Vorhandenseins des Erdmagnetfelds bestimmt werden kann. Der Magnetfeldinduktionsvektor wird mit Magnetometern gemessen und ihre Messungen sind an der Berechnung des Gierwinkels beteiligt. Es ist zu beachten, dass bei der Berechnung des magnetischen Azimuts Magnetometermessungen verwendet werden, die in der Ebene berechnet werden. Hier finden Sie die Formel zur Berechnung des magnetischen Azimuts.

roll=atan(aYaZ),

pitch=atan(−aXaY2+aZ2),

yaw=atan2(mEmN),

Wo atan2- Vollbogen-Tangentenfunktion, aX, aY, aZ- Messung des Beschleunigungsmessers entlang drei Achsen im CCK, mE, mN- Messungen des Magnetometers entlang der X ', Y' Achse (die Messungen der Magnetometer werden in der Ebene gezählt).

2.





  • roll, pitch, yaw. .
    ?
    , — .
  • roll, pitch, yaw XYZ ENU:

    CXYZENU=|cy⋅cp−cr⋅sy+sr⋅cy⋅spsr⋅sy+cr⋅cy⋅spsy⋅cpcr⋅cy+sr⋅sy⋅sp−sr⋅cy+cr⋅sy⋅sp−spsr⋅cpcr⋅cp|,

    cr=cos⁥(roll), sr=sin⁥(roll), cp=cos⁥(pitch), sp=sin⁥(pitch), cy=cos⁥(yaw), sy=sin⁥(yaw).
  • :

    AXYZ=(CXYZENU)T⋅|00−1|,


    |00−1|— , , g, (CXYZENU)T— ( ).
  • :

    aXYZ=(I+ma)⋅AXYZ+ba+na,
  • () :

    roll′=atan(aYaZ),

    pitch′=atan(−aXaY2+aZ2).
  • ÂŤÂť , rpy2mat:

    CXYZXYZ′=rpy2mat([roll′pitch′0]T),

    roll' pitch' — , , — .
  • ENU XYZ:

    MXYZ=(CXYZENU)T⋅MENU.
  • :

    mXYZ=Sm⋅MXYZ+bm+nm.
  • ÂŤÂť:

    mXYZ′=CXYZXYZ′⋅mXYZ.
  • ÂŤÂť c :

    yaw′=atan2(mY′mX′).
  • roll, pitch, yaw — roll', pitch', yaw'.

3. —


Fßr zwei Sensoren, die wir als Beispiel genommen haben - ADIS16488A und MPU-9250 - wurden die Randfehler bei der Schätzung der Orientierungswinkel unter dem kombinierten Einfluss der Fehler des Beschleunigungsmessers und des Magnetometers erhalten.

Die folgende Tabelle zeigt die Maximalwerte der empfangenen Fehler:
WinkelMPU-9250ADIS16488A
Rollen

30∘

8∘
TonhĂśhe

10∘

2∘
Magnetischer Azimut

30∘

20∘

Die kombinierte Auswirkung der Fehler des Beschleunigungsmessers und des Magnetometers auf die Fehler bei der Schätzung der Orientierungswinkel:

  • So sehen Rollschätzfehler in Abhängigkeit von Roll- und Nickwerten aus:

  • Pitch-Schätzfehler in Abhängigkeit von Roll- und Pitch-Werten:

  • Fehler bei der Schätzung des magnetischen Azimuts aus Roll- und Nickwinkeln:

  • Fehler bei der Schätzung des magnetischen Azimuts aus Rollwinkeln und magnetischem Azimut:

  • Fehler bei der Schätzung des magnetischen Azimuts aus Nickwinkeln und magnetischem Azimut:


- . ?
.



Z (z1→z2) , (g′→g"). ( ). (Δ1→Δ2). , .

( ) :









( ) :









  • , . . .
  • . .

- :
  • ( ).
  • , , .. — .



Autoren


Moskauer Institut fĂźr Energietechnik, Abteilung fĂźr Funktechnik

All Articles