MEMS acelerómetros, magnetómetros y ángulos de orientación



Cuando se desarrollan dispositivos en los que es necesario evaluar los ángulos de orientación, puede surgir la pregunta: qué sensor MEMS elegir. Los fabricantes de sensores proporcionan muchos parámetros a partir de los cuales necesitamos obtener información útil sobre la calidad del sensor.

Para comprender con qué tipo de precisión de ángulo podemos contar, debe hacer un cierto esfuerzo.

TL; DR : se describe un pequeño script para Octave / MATLAB, que permite estimar errores en el cálculo de ángulos de orientación a partir de mediciones MEMS de acelerómetros y magnetómetros. En la entrada del script: parámetros de los sensores de las hojas de datos (y / o errores de calibración). El artículo puede ser útil para aquellos que comienzan a usar sensores inerciales en sus dispositivos. Se incluye un pequeño programa educativo sobre los sensores. Enlace a github también.

Aceptamos de inmediato las siguientes condiciones:

  • Queremos evaluar los ángulos de orientación de un dispositivo estacionario.

    ¿Por qué?
    , .
  • Para estimar ángulos, utilizaremos mediciones MEMS de acelerómetros y magnetómetros.

1. Breve programa educativo


Ángulos de orientación




Entenderemos los ángulos de orientación del objeto como los ángulos de Euler: rodar, inclinar, guiñar, que conectan el propio sistema de coordenadas XYZ del objeto y el sistema de coordenadas local este-norte-superior (ENU - East North Up). Los ángulos de balanceo, cabeceo y guiñada denotan la rotación que los ejes XYZ deben hacer para moverse en el eje ENU. En consecuencia, los ángulos cero significan que el eje X del objeto está orientado hacia el este, el eje Y del objeto está mirando hacia el norte y el eje Z está hacia arriba.

El orden de rotación de los ejes es desde el último ángulo: primero en guiñada (alrededor del eje Z), luego en cabeceo (alrededor del eje Y), luego en rollo (alrededor del eje X).

Acelerómetro


Este es un sensor que mide la proyección de la aceleración aparente en el eje de sensibilidad. Parece, porque también mide la gravedad, incluso mientras el acelerómetro está parado. Es más fácil imaginar un acelerómetro como un peso en un resorte; sus medidas emitidas son proporcionales al grado de tensión del resorte. Si el acelerómetro está en reposo, el resorte se estira solo por gravedad. Si se acelera, habrá una suma de fuerzas: la inercia del peso.(F=ma) y gravedad(Fg=mg)

Aceptamos el siguiente modelo de medidas de la tríada de acelerómetros ortogonales (mutuamente perpendiculares):

aXYZ=maAXYZ+ba+na,

Dónde aXYZ- aceleración medida en SSC (sistema de coordenadas propio) XYZ,ma - la matriz oblicua de los ejes y factores de escala del acelerómetro,AXYZ - verdadero vector de aceleración en SSK XYZ,ba es el vector de desplazamiento cero del acelerómetro,na es el ruido de medición.

La matriz sesgada de los ejes y factores de escala es la siguiente:

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

donde los elementos se encuentran en la diagonal principal ( ) son los factores de escala y sus errores a lo largo de los tres ejes del acelerómetro, y los elementos restantes de la matriz son las deformaciones de los ejes del acelerómetro.1+ma,1,1,1+ma,2,2,1+ma,3,3

Selección del acelerómetro de la hoja de datos

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


Un sensor que mide la proyección de la inducción de campo magnético en el eje de sensibilidad. El magnetómetro se caracteriza por distorsiones de hierro duro y hierro suave. La distorsión de hierro duro es un efecto aditivo cuando se agrega un componente constante al campo medido. La razón puede ser, por ejemplo, la acción de un imán permanente o un desplazamiento del sensor a cero. La distorsión de hierro suave es un efecto multiplicador que refleja un cambio en la dirección y / o atenuación del vector de inducción magnética. Este efecto puede ser causado por la presencia de un objeto metálico en la vecindad inmediata del magnetómetro o por las propias distorsiones del sensor, un error en el factor de escala o una distorsión de su eje de sensibilidad.
Aceptamos el modelo de medición de la tríada de magnetómetros:

mXYZ=SmMXYZ+bm+nm,

Dónde mXYZ- mediciones de magnetómetro en CCK XYZ,Sm - la matriz diagonal del eje oblicuo y los factores de escala (que describe el efecto del hierro blando),MXYZ es el vector de la inducción magnética verdadera en SSK,bm es el desplazamiento de los ceros del magnetómetro (describe el efecto de hierro duro),nm es el ruido de medición.
La matriz del eje oblicuo y los factores de escala del 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 ubicados en la diagonal principal (Sm,1,1,Sm,2,2,Sm,3,3) Son los factores de escala y sus errores a lo largo de los tres ejes del magnetómetro, los elementos restantes de la matriz son las distorsiones de los ejes del magnetómetro. Todos los elementos de la matriz también tienen en cuenta el efecto del hierro suave.

Elección de los parámetros del magnetómetro de una hoja de datos

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 de ángulos de orientación.


Debido a la presencia de gravedad en la Tierra, los acelerómetros "detectan" la dirección hacia abajo. Sus medidas se utilizan para calcular los ángulos de balanceo y cabeceo. Las fórmulas para el cálculo se pueden encontrar aquí . El tercero es el ángulo de guiñada (y en este caso, el acimut magnético), que se puede determinar debido a la presencia del campo magnético de la Tierra. El vector de inducción de campo magnético se mide por magnetómetros y sus mediciones están involucradas en el cálculo del ángulo de guiñada. Cabe señalar que al calcular el acimut magnético, se utilizan mediciones de magnetómetro, calculadas en el plano. Aquí puede encontrar la fórmula para calcular el acimut magnético.

roll=atan(aYaZ),

pitch=atan(aXaY2+aZ2),

yaw=atan2(mEmN),

Dónde atan2- función de tangente de arco completo, aX, aY, aZ- medición del acelerómetro a lo largo de tres ejes en el CCK, mE, mN- mediciones del magnetómetro a lo largo de los ejes X ', Y' (las mediciones de los magnetómetros se cuentan en el 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 dos sensores, que tomamos como ejemplo: ADIS16488A y MPU-9250, los errores marginales en la estimación de los ángulos de orientación se obtuvieron bajo la influencia combinada de los errores del acelerómetro y el magnetómetro.

La siguiente tabla muestra los valores máximos de errores recibidos:
ÁnguloMPU-9250ADIS16488A
Rodar

30

8
Tono

10

2
Acimut magnético

30

20

El efecto combinado de los errores del acelerómetro y el magnetómetro sobre los errores de estimación de ángulos de orientación:

  • Así es como se ven los errores de estimación de balanceo dependiendo de los valores de balanceo y cabeceo:

  • Errores de estimación de cabeceo según los valores de balanceo y cabeceo:

  • Errores en la estimación del acimut magnético desde ángulos de balanceo y cabeceo:

  • Errores de estimación del acimut magnético desde ángulos de balanceo y acimut magnético:

  • Errores en la estimación del acimut magnético desde ángulos de inclinación y acimut magnético:


- . ?
.



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

( ) :









( ) :









  • , . . .
  • . .

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



Autores


Instituto de Ingeniería Eléctrica de Moscú, Departamento de Sistemas de Ingeniería de Radio

All Articles