Accéléromètres, magnétomètres et angles d'orientation MEMS



Lors du développement de dispositifs dans lesquels il est nécessaire d'évaluer les angles d'orientation, la question peut se poser - quel capteur MEMS choisir. Les fabricants de capteurs fournissent de nombreux paramètres à partir desquels nous devons obtenir des informations utiles sur la qualité du capteur.

Pour comprendre sur quel type de précision d'angle nous pouvons compter, vous devez faire un certain effort.

TL; DR : Un petit script pour Octave / MATLAB est décrit, ce qui permet d'estimer les erreurs dans le calcul des angles d'orientation à partir des mesures MEMS des accéléromètres et magnétomètres. À l'entrée du script - paramètres des capteurs des fiches techniques (et / ou erreurs d'étalonnage). L'article peut être utile à ceux qui commencent à utiliser des capteurs inertiels dans leurs appareils. Un petit programme éducatif sur les capteurs est inclus. Lien vers github aussi.

Nous acceptons immédiatement les conditions suivantes:

  • Nous voulons évaluer les angles d'orientation d'un appareil stationnaire.

    Pourquoi?
    , .
  • Pour estimer les angles, nous utiliserons des mesures MEMS d'accéléromètres et de magnétomètres.

1. Bref programme éducatif


Angles d'orientation




Nous comprendrons les angles d'orientation de l'objet comme les angles d'Euler - roulis, tangage, lacet, qui relient le propre système de coordonnées XYZ de l'objet et le système de coordonnées local est-nord-haut (ENU - Est nord en haut). Les angles de roulis, de tangage et de lacet indiquent la rotation que les axes XYZ doivent effectuer pour se déplacer dans l'axe ENU. Par conséquent, des angles nuls signifient que l'axe X de l'objet fait face à l'est, l'axe Y de l'objet regarde vers le nord et l'axe Z est vers le haut.

L'ordre de rotation des axes est du dernier angle: d'abord en lacet (autour de l'axe Z), puis en tangage (autour de l'axe Y), puis en roulis (autour de l'axe X).

Accéléromètre


Il s'agit d'un capteur qui mesure la projection de l'accélération apparente sur l'axe de sensibilité. Il semble - parce qu'il mesure également la gravité, même lorsque l'accéléromètre est à l'arrêt. Il est plus facile d'imaginer un accéléromètre comme un poids sur un ressort; ses mesures émises sont proportionnelles au degré de tension du ressort. Si l'accéléromètre est au repos, le ressort n'est tendu que par gravité. S'il accélère, alors il y aura une somme de forces: inertie du poids(F=ma) et la gravité (Fg=mg)

Nous acceptons le modèle de mesure suivant de la triade d'accéléromètres orthogonaux (mutuellement perpendiculaires):

aXYZ=maAXYZ+ba+na,

aXYZ- accélération mesurée en SSC (propre système de coordonnées) XYZ, ma- matrice asymétrique des axes et des facteurs d'échelle de l'accéléromètre, AXYZEst le vecteur de l'accélération réelle dans CCK XYZ, baEst le vecteur de déplacement nul de l'accéléromètre, na- bruit de mesure.

La matrice d'inclinaison des axes et des facteurs d'échelle est la suivante:

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

où les éléments sont situés sur la diagonale principale (1+ma,1,1,1+ma,2,2,1+ma,3,3) Les facteurs d'échelle et leurs erreurs le long des trois axes de l'accéléromètre, et les éléments restants de la matrice sont des distorsions des axes de l'accéléromètre.

Sélection de l'accéléromètre à partir de la fiche technique

MPU-9250


  • — Zero-G Initial Calibration Tolerance (±60mg X,Y, ±80mgZ) — g103;
  • — Initial Tolerance (±3%) — . , 102;
  • — Cross Axis Sensitivity (±2%) — 102;
  • — Noise Power Spectral Density (300μgHz)g106;
  • — Low Pass Filter Response (5260Hz)— , . . ;

:

σnoise=G0Πnoise;


ADIS16488A:


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


Magnétomètre


Un capteur qui mesure la projection de l'induction du champ magnétique sur l'axe de sensibilité. Le magnétomètre est caractérisé par des distorsions de fer dur et de fer doux. La distorsion du fer dur est un effet additif lorsqu'un composant constant est ajouté au champ mesuré. La raison peut être, par exemple, l'action d'un aimant permanent ou un décalage auto-nul du capteur. La distorsion du fer doux est un effet multiplicateur reflétant un changement de direction et / ou d'atténuation du vecteur d'induction magnétique. Cet effet peut être causé par la présence d'un objet métallique à proximité immédiate du magnétomètre ou par les propres distorsions du capteur - une erreur dans le facteur d'échelle ou une distorsion de son axe de sensibilité.
Nous acceptons le modèle de mesure de la triade de magnétomètres:

mXYZ=SmMXYZ+bm+nm,

mXYZ- mesures magnétométriques en CCK XYZ, Sm- matrice asymétrique d'axes et de facteurs d'échelle (qui décrit l'effet du fer doux), MXYZEst le vecteur de la véritable induction magnétique en SSK, bm- déplacement des zéros du magnétomètre (décrit l'effet fer dur), nm- bruit de mesure.
La matrice de l'axe d'inclinaison et les facteurs d'échelle du magnétomètre:

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

éléments situés sur la diagonale principale (Sm,1,1,Sm,2,2,Sm,3,3) Sont les facteurs d'échelle et leurs erreurs le long des trois axes du magnétomètre, les éléments restants de la matrice sont les distorsions des axes du magnétomètre. Tous les éléments de la matrice prennent également en compte l'effet du fer doux.

Choix des paramètres du magnétomètre à partir d'une fiche technique

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;


Calcul des angles d'orientation


En raison de la présence de la gravité sur Terre, les accéléromètres «détectent» la direction descendante. Leurs mesures sont utilisées pour calculer les angles de roulis et de tangage. Les formules de calcul peuvent être trouvées ici . Le troisième est l'angle de lacet (et dans ce cas, l'azimut magnétique), qui peut être déterminé en raison de la présence du champ magnétique terrestre. Le vecteur d'induction de champ magnétique est mesuré par des magnétomètres et leurs mesures sont impliquées dans le calcul de l'angle de lacet. Il convient de noter que dans le calcul de l'azimut magnétique, des mesures de magnétomètre sont utilisées, calculées dans le plan. Ici vous pouvez trouver la formule pour calculer l'azimut magnétique.

roll=atan(aYaZ),

pitch=atan(aXaY2+aZ2),

yaw=atan2(mEmN),

atan2- fonction tangente arc complet, aX, aY, aZ- mesure de l'accéléromètre selon trois axes dans le CCK, mE, mN- mesures du magnétomètre le long des axes X ', Y' (les mesures des magnétomètres sont comptées dans le plan).

2.





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

    CXYZENU=|cycpcrsy+srcyspsrsy+crcyspsycpcrcy+srsyspsrcy+crsyspspsrcpcrcp|,

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

    AXYZ=(CXYZENU)T|001|,


    |001|— , , g, (CXYZENU)T— ( ).
  • :

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

    roll=atan(aYaZ),

    pitch=atan(aXaY2+aZ2).
  • «» , rpy2mat:

    CXYZXYZ=rpy2mat([rollpitch0]T),

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

    MXYZ=(CXYZENU)TMENU.
  • :

    mXYZ=SmMXYZ+bm+nm.
  • «»:

    mXYZ=CXYZXYZmXYZ.
  • «» c :

    yaw=atan2(mYmX).
  • roll, pitch, yaw — roll', pitch', yaw'.

3. —


Pour deux capteurs, que nous avons pris comme exemple - ADIS16488A et MPU-9250, les erreurs marginales dans l'estimation des angles d'orientation ont été obtenues sous l'influence combinée des erreurs de l'accéléromètre et du magnétomètre.

Le tableau ci-dessous indique les valeurs maximales d'erreurs reçues:
AngleMPU-9250ADIS16488A
Rouleau

30

8
Pas

10

2
Azimut magnétique

30

20

L'effet combiné des erreurs de l'accéléromètre et du magnétomètre sur les erreurs d'estimation des angles d'orientation:

  • Voici à quoi ressemblent les erreurs d'estimation de roulis en fonction des valeurs de roulis et de tangage:

  • Erreurs d'estimation de tangage en fonction des valeurs de roulis et de tangage:

  • Erreurs d'estimation de l'azimut magnétique à partir des angles de roulis et de tangage:

  • Erreurs d'estimation de l'azimut magnétique à partir des angles de roulis et de l'azimut magnétique:

  • Erreurs d'estimation de l'azimut magnétique à partir des angles de tangage et de l'azimut magnétique:


- . ?
.



Z (z1z2) , (gg"). ( ). (Δ1Δ2). , .

( ) :









( ) :









  • , . . .
  • . .

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



Auteurs


Institut de génie énergétique de Moscou, Département des systèmes d'ingénierie radio

All Articles