Acelerômetros, magnetômetros e ângulos de orientação MEMS



Ao desenvolver dispositivos nos quais é necessário avaliar os ângulos de orientação, pode surgir a pergunta - qual sensor MEMS escolher. Os fabricantes de sensores fornecem muitos parâmetros dos quais precisamos obter informações úteis sobre a qualidade do sensor.

Para entender com que precisão de ângulo podemos confiar, você precisa fazer um certo esforço.

TL; DR : É descrito um pequeno script para Octave / MATLAB, que permite estimar erros no cálculo dos ângulos de orientação a partir das medições MEMS de acelerômetros e magnetômetros. Na entrada do script - parâmetros dos sensores das folhas de dados (e / ou erros de calibração). O artigo pode ser útil para quem começa a usar sensores inerciais em seus dispositivos. Um pequeno programa educacional sobre os sensores está incluído. Link para o github também.

Aceitamos imediatamente as seguintes condições:

  • Queremos avaliar os ângulos de orientação de um dispositivo estacionário.

    Por quê?
    , .
  • Para estimar ângulos, usaremos medições MEMS de acelerômetros e magnetômetros.

1. Breve programa educacional


Ângulos de orientação




Entenderemos os ângulos de orientação do objeto como os ângulos de Euler - rotação, inclinação, guinada, que conectam o sistema de coordenadas XYZ do próprio objeto e o sistema de coordenadas local leste-norte-topo local (ENU - East North Up). Os ângulos de rotação, inclinação e guinada indicam a rotação que os eixos XYZ precisam fazer para se mover no eixo ENU. Assim, ângulos zero significam que o eixo X do objeto está voltado para o leste, o eixo Y do objeto está voltado para o norte e o eixo Z está para cima.

A ordem de rotação dos eixos é do último ângulo: primeiro na guinada (em torno do eixo Z), depois no passo (em torno do eixo Y), depois no rolamento (em torno do eixo X).

Acelerômetro


Este é um sensor que mede a projeção de aceleração aparente no eixo de sensibilidade. Parece - porque mede a gravidade também, mesmo enquanto o acelerômetro está parado. É mais fácil imaginar um acelerômetro como um peso em uma mola; suas medições emitidas são proporcionais ao grau de tensão da mola. Se o acelerômetro estiver parado, a mola será esticada apenas pela gravidade. Se acelerar, haverá uma soma de forças: inércia do peso(F=ma) e gravidade (Fg=mg)

Aceitamos o seguinte modelo de medidas da tríade de acelerômetros ortogonais (mutuamente perpendiculares):

aXYZ=maAXYZ+ba+na,

Onde aXYZ- aceleração medida no SSC (sistema de coordenadas próprias) XYZ, ma- matriz de inclinação dos eixos e fatores de escala do acelerômetro, AXYZÉ o vetor da verdadeira aceleração no CCK XYZ, baÉ o vetor de deslocamento zero do acelerômetro, na- ruído de medição.

A matriz de inclinação dos eixos e fatores de escala é a seguinte:

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

onde os elementos estão localizados na diagonal principal (1+ma,1,1,1+ma,2,2,1+ma,3,3) São os fatores de escala e seus erros ao longo dos três eixos do acelerômetro, e os elementos restantes da matriz são as distorções dos eixos do acelerômetro.

Seleção de acelerômetro da folha de dados

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;


Magnetômetro


Um sensor que mede a projeção da indução de campo magnético no eixo de sensibilidade. O magnetômetro é caracterizado por distorções do ferro duro e do ferro macio. A distorção do ferro duro é um efeito aditivo quando um componente constante é adicionado ao campo medido. O motivo pode ser, por exemplo, a ação de um ímã permanente ou um deslocamento de zero do sensor. A distorção de ferro macio é um efeito multiplicador que reflete uma mudança na direção e / ou atenuação do vetor de indução magnética. Esse efeito pode ser causado pela presença de um objeto metálico nas imediações do magnetômetro ou por distorções do próprio sensor - um erro no fator de escala ou uma distorção do seu eixo de sensibilidade.
Aceitamos o modelo de medição da tríade de magnetômetros:

mXYZ=SmMXYZ+bm+nm,

Onde mXYZ- medições do magnetômetro em CCK XYZ, Sm- matriz de inclinação diagonal dos eixos e fatores de escala (que descreve o efeito do ferro macio), MXYZÉ o vetor da verdadeira indução magnética no SSK, bm- deslocamento dos zeros do magnetômetro (descreve o efeito do ferro duro), nm- ruído de medição.
A matriz do eixo de inclinação e os fatores de escala do magnetômetro:

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

elementos localizados na diagonal principal (Sm,1,1,Sm,2,2,Sm,3,3) São os fatores de escala e seus erros ao longo dos três eixos do magnetômetro, os elementos restantes da matriz são as distorções dos eixos do magnetômetro. Todos os elementos da matriz também levam em consideração o efeito do ferro macio.

Escolha dos parâmetros do magnetômetro a partir de uma folha de dados

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;


Cálculo dos ângulos de orientação


Devido à presença de gravidade na Terra, os acelerômetros “detectam” a direção descendente. Suas medidas são usadas para calcular ângulos de rotação e inclinação. As fórmulas para cálculo podem ser encontradas aqui . O terceiro é o ângulo de guinada (e, neste caso, o azimute magnético), pode ser determinado devido à presença do campo magnético da Terra. O vetor de indução do campo magnético é medido por magnetômetros e suas medições estão envolvidas no cálculo do ângulo de guinada. Deve-se notar que, no cálculo do azimute magnético, são utilizadas medidas do magnetômetro, calculadas no plano. Aqui você pode encontrar a fórmula para calcular o azimute magnético.

roll=atan(aYaZ),

pitch=atan(aXaY2+aZ2),

yaw=atan2(mEmN),

Onde atan2- função tangente de arco completo, aX, aY, aZ- medição do acelerômetro ao longo de três eixos no CCK, mE, mN- medições do magnetômetro ao longo dos eixos X ', Y' (as medições dos magnetômetros são contadas no plano).

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. —


Para dois sensores, que tomamos como exemplo - ADIS16488A e MPU-9250, os erros marginais na estimativa dos ângulos de orientação foram obtidos sob a influência combinada dos erros do acelerômetro e magnetômetro.

A tabela abaixo mostra os valores máximos de erros recebidos:
ÂnguloMPU-9250ADIS16488A
Lista

30

8
Passo

10

2
Azimute magnético

30

20

O efeito combinado dos erros do acelerômetro e magnetômetro nos erros de estimativa dos ângulos de orientação:

  • É assim que os erros de estimativa de rotação são exibidos, dependendo dos valores de rotação e inclinação:

  • Erros de estimativa de inclinação, dependendo dos valores de rotação e inclinação:

  • Erros na estimativa do azimute magnético a partir dos ângulos de rotação e inclinação:

  • Erros de estimativa do azimute magnético a partir dos ângulos de rotação e do azimute magnético:

  • :


- . ?
.



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

( ) :









( ) :









  • , . . .
  • . .

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



Autores


Instituto de Engenharia de Potência de Moscou, Departamento de Sistemas de Engenharia de Rádio

All Articles