7 votos

La compensación de Acelerómetro Cruz del Eje Sensibilidad

Para mi inclinómetro de aplicaciones, yo uso un sistema integrado de 3-D acelerómetro chip que las salidas analógicas de voltaje.

Antes de implementar mi dispositivo, tengo que presentar recoger un montón de muestras con diferente temperatura y ángulos para la compensación de temperatura.

El problema que estoy experimentando es que la tensión de salida para cada eje no son completamente independientes. Para la misma temperatura, si uno de los ejes se mantiene constante y los otros cambios, la ex de salida será de algún cambio así.

Por ejemplo, digamos que yo soy la medición de la "g" en el eje de cabeceo y la salida es cero cuando el rollo eje es cero. Si yo hago el acelerómetro a un lado, puedo obtener el correspondiente rollo de la "g", pero de tono tendrá un ligero cambio (+/- 2 grados), aunque de tono todavía es cero.

Cualquier idea sobre cómo lograr una mejor precisión de esto?

7voto

dummy Puntos 1558

Vamos a juntar un simple modelo matemático de un acelerómetro - a partir de esto, podemos resolver algunas opciones de calibración.

Ignorando la no-linealidad y otros efectos desagradables, el resultado de la medición de un acelerómetro está dada por:

$$\hat{\mathbf{f}} = \mathbf{M} \mathbf{f} + \mathbf{b}_a + \mathbf{n}_a$$

donde \$\hat{\mathbf{f}}\$ es la medición real, \$\mathbf{b}_a\$ es el acelerómetro sesgo, \$\mathbf{n}_a\$ es un ruido aleatorio vector, \$\mathbf{f}\$ es la verdadera fuerza específica (es decir, la aceleración) y \$\mathbf{M}\$ es el Factor de Escala/Desalineación de la Matriz.

Los elementos individuales de la SFA de la matriz son: $$ \mathbf{M} = \begin{bmatrix} S_x && \gamma_{xy} && \gamma_{xz} \\ \gamma_{yx} && S_{yy} && \gamma_{yz} \\ S_x && \gamma_{zy} && S_{zz} \\ \end{bmatrix} $$

Así, cada factor de escala es representado por un \$S\$ y cada cruz del eje-la sensibilidad es representado por un \$\gamma\$.

Idealmente, si el factor de escala es 1 y no hay cruz del eje de la sensibilidad, a continuación, la matriz resultante es \$\mathbf{M} = \mathbf{I}\$.

En representación de esta manera nos permite desarrollar un modelo de compensación. Si llegamos a saber \ $\mathbf{M}\$ \ $\mathbf{b}_a\$ y asumir \$\mathbf{n}_a\$ a ser pequeños (es decir, cercano a cero), se puede hacer una buena estimación de la "verdadera" aceleración de las mediciones: $$ \mathbf{f} = \mathbf{M}^{-1}\left(\hat{\mathbf{f}} - \mathbf{b}_a\right) $$

El truco es, por supuesto, trabajando \$\mathbf{M}\$\$\mathbf{b}_a\$.

Voy a describir un procedimiento llamado los seis posición de la prueba, que es una manera fácil y barata para calibrar un acelerómetro. El paso 1 es el montaje del acelerómetro en una caja rectangular con perfectamente \$90^\circ\$ lados (o tan cerca como usted puede conseguir). El lugar esta en un perfecto nivel de la superficie (o, de nuevo, tan cerca como usted puede conseguir) - usted se sorprendería de lo bueno que puede hacer esto.

En este punto, sabemos lo que el valor debe ser: la gravedad en la z-acelerómetro: $$ \mathbf{f}_1 = \begin{bmatrix} 0 \\ 0 \\ g\end{bmatrix} $$

Así, esto se convierte en: $$ \hat{\mathbf{f}}_1 = \mathbf{M} \mathbf{f}_1 + \mathbf{b}_a + \mathbf{n}_a $$ Tomando nota de que \$\hat{\mathbf{f}}_1\$ va a cerrar, pero no es lo mismo \$\mathbf{f}_1\$

Si se pone el cuadro en la cabeza, la fuerza que actúa es \$-g\$: $$ \mathbf{f}_2 = \begin{bmatrix} 0 \\ 0 \\ -g\end{bmatrix} $$

Y cuando se coloca en un lado: $$ \mathbf{f}_3 = \begin{bmatrix} 0 \\ -g \\ 0\end{bmatrix} $$

Y así sucesivamente para los otros tres lados.

Ahora, vamos a escribir una de las ecuaciones normales: $$ \hat{\mathbf{f}}_1 = \mathbf{M} \mathbf{f}_1 + \mathbf{b}_a + \mathbf{n}_a = \begin{bmatrix} S_{xx} f_x + \gamma_{xy} f_y + \gamma_{xz} f_z + b_x \\ \gamma_{yx} f_x + S_{yy} f_y + \gamma_{yz} f_z + b_y \\ \gamma_{xz} f_x + \gamma_{yz} f_y + S_{zz} f_z + b_z \end{bmatrix} $$

Y aun más a mano (para el primero): $$ \hat{\mathbf{f}}_1 = \begin{bmatrix} f_x S_{xx} + f_y \gamma_{xy} + f_z \gamma_{xz} + 0 \gamma_{yx} + 0 S_{yy} + 0 \gamma_{yz} + 0 \gamma_{xz} + 0 \gamma_{yz} + 0 S_{zz} + 1 b_x + 0 b_y + 0 b_z \\ 0 S_{xx} + 0 \gamma_{xy} + 0 \gamma_{xz} + f_x \gamma_{yx} + f_y S_{yy} + f_z \gamma_{yz} + 0 \gamma_{xz} + 0 \gamma_{yz} + 0 S_{zz} + 0 b_x + 1 b_y + 0 b_z \\ 0 S_{xx} + 0 \gamma_{xy} + 0 \gamma_{xz} + 0 \gamma_{yx} + 0 S_{yy} + 0 \gamma_{yz} + f_x \gamma_{xz} + f_y \gamma_{yz} + f_z S_{zz} + 0 b_x + 0 b_y + 1 b_z \end{bmatrix} $$

Por lo que podemos crear un apilados vector de las incógnitas $$ \mathbf{z} = \mathbf{A} \mathbf{\beta} $$ Donde $$ \mathbf{z} = \begin{bmatrix} \hat{\mathbf{f}}_1 \\ \hat{\mathbf{f}}_2 \\ \vdots \\ \hat{\mathbf{f}}_6 \end{bmatrix} $$

Y $$ \mathbf{\beta} = \begin{bmatrix} S_{xx} \\ \gamma_{xy} \\ \gamma_{xz} \\ \gamma_{yx} \\ S_{yy} \\ \gamma_{yz} \\ \gamma_{xz} \\ \gamma_{yz} \\ S_{zz} \\ b_x \\ b_y \\ b_z \\ \end{bmatrix} $$

El diseño de la matriz es un conjunto de mediciones): $$ \hat{A}_1 = \begin{bmatrix} f_x && f_y && f_z && 0 && 0 && 0 && 0 && 0 && 0 && 1 && 0 && 0 \\ 0 && 0 && 0 && f_x && f_y && f_z && 0 && 0 && 0 && 0 && 1 && 0 \\ 0 && 0 && 0 && 0 && 0 && 0 && f_x && f_y && f_z && 0 && 0 && 1 \end{bmatrix} $$

Ahora, una vez que este es el programa de instalación, se puede resolver para \$\mathbf{\beta}\$ (y, por tanto, de la sensibilidad y de sesgo) a través de mínimos cuadrados.

Un procedimiento similar se puede realizar con un brazo robótico si se puede controlar con precisión los ángulos - simplemente responde saber la ubicación exacta de la gravedad en ese ángulo que, si se conoce el ángulo, es fácil de calcular.

6voto

Matthew Schinckel Puntos 356

Si usted mira la hoja de datos para el chip usted encontrará que hay una especificación para la cruz eje de la sensibilidad. Así que lo que estamos viendo es sólo una parte de las limitaciones del dispositivo.

Usted podría ser capaz de calibrar si usted restringir el movimiento a un eje único. Si se le permite moverse en cualquier eje, a continuación, creo que no es posible con un acelerómetro si el segundo eje está cambiando, ya que de cruz del eje sensibilidad o debido a un cambio en el ángulo/aceleración en ese eje.

Si has añadido en algunos otros sensores - giroscopios o campo magnético - usted podría ser capaz de combinar todos los datos de los sensores para el trabajo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X