Calcular G's de un acelerómetro

3

Pat pregunta:

Tablero de arranque del acelerómetro - ADXL193 +/- 250g

podría decirme si esto es correcto.

Mirando la hoja de datos, la sensibilidad media es de aproximadamente 8mv / G @ 5volts. Si utilizo un adc de 10 bits a 5 voltios, entonces 5/1024 = 4.9 mV, entonces 1g = 8mV, así que en los bits 8 / 4.9 = 1.63 bits / g. Luego, si tengo una lectura de cero adc de, por ejemplo, 500 y obtengo una lectura de 530, entonces

530-500- 30 / 1.63 = 18 g's.

Es esa la forma de calcular las G's desde este Breakout Board.

  • la hoja de datos dice que se podría usar un voltaje tan bajo como 3.5 y estaba pensando en probar ambos 3.7v y ver si funcionan los 3.3v. Cualquier idea de lo que esto hará por los cálculos y ese rango máximo. Sé que la sensibilidad es radiométrica, por lo que caerá en función de un voltaje de entrada más bajo.
pregunta mad_z

6 respuestas

3

Si usa un convertidor a / d de 10 bits para digitalizar un voltaje en el rango de 0 a 5V, cada cuenta representará 5/1024 = 4.88mV

La hoja de datos del sensor proporciona una salida de 8 mV por g de aceleración.

En el caso de que esté indicando que el desplazamiento desde la lectura de cero es de 30 conteos. Esto equivale a 30 * 4.88 = 146.5

a 8mV por g esto es 18.3g

Desde un nivel de sistema, tendría varias preocupaciones (y éstas realmente dependen de la aplicación final para la que se usa el dispositivo)

  1. +/- 250g es un infierno de aceleración. Este tipo de aceleración solo se puede ver por muy poco tiempo. Para capturar esto, tendría que tener un convertidor A / D rápido, pero luego el sensor tiene un filtro de 400Hz en la salida que eliminará los transitorios rápidos de la salida.

  2. La resolución de A / D solo permite determinar la aceleración a pasos de 0.61 g. ¿Es esta resolución suficiente?

  3. Cualquier ruido en la entrada A / D puede dar un error de 1 o 2 en la conversión A / D, lo que resulta en un gran error en el valor medido.

Si escala / amplifica la salida del acelerómetro y limita su valor para que se encuentre en el rango de entrada del convertidor A / D, puede, a costa de un rango dinámico reducido, mejorar la sensibilidad de su dispositivo sin tener que Aumente la resolución y el costo de su convertidor.

    
respondido por el uɐɪ
2

En 1024 pasos (10 bit ADC) en un rango de 5v, eso es 4.88mV por paso. Puede medir un rango de 500 Gs (-250 a +250), por lo que en 1024 pasos tiene (1024/500) = 2.048 unidades por G, o aproximadamente 9.99 mV. Dependiendo de sus requisitos de precisión, es probable que pueda salirse con la suposición de 2 pasos por G. En +/- 250G, estará fuera por 12 pasos, o 6G, y el error es lineal en todas sus lecturas. Por ejemplo, si asumió 2 pasos por G, una lectura de 1012 se leería erróneamente como 250G cuando el sensor en realidad esté reportando más cerca de 244G.

Además, recuerda que indudablemente estarás luchando contra el ruido y puedes ser inexacto con algunas unidades de eso también. Esto realmente no afecta a cómo calcular las lecturas, pero es una consideración importante cuando se trata de ADC.

    
respondido por el Lou
2

La mejor práctica es conducir siempre las entradas ADC con un amplificador operacional.

Si, hipotéticamente, una persona fuera el tipo de pirata informático que se atreve a ignorar esa regla de oro y (¡jadeo!) conecte directamente la salida de ADXL193 +/- 250 g a un ADC de 10 bit ratiométricos, entonces sí, un valor de ADC de 30 conteos por encima del valor de "reposo" implica una aceleración de 30 * 5V / 2 ^ 10 * 1g / 8mV = 18 g.

Dado que el acelerómetro es ratiométrico y se equilibra con cero g cerca de VCC / 2, y suponiendo que su ADC también es ratiométrico, luego, después de que reduzca el voltaje de la fuente de alimentación a 3.7 V, el valor de "reposo" que leíste en tu ADC debería ser aproximadamente el mismo que antes, y una aceleración de 18 g seguirá produciendo los mismos 30 conteos por encima del nuevo valor de reposo. Sin embargo, como Lou señaló, es probable que obtenga una peor relación señal / ruido con VCC a 3,7 V que con VCC a 5 V.

Sin embargo, si siguieras la práctica recomendada y pegaras un amplificador operacional entre el acelerómetro y el ADC, la imagen sería ligeramente diferente. Tienes que elegir algo de ganancia para el amplificador operacional. Supongo que usted podría elegir una ganancia de 1, lo que le daría los mismos números que antes, pero hay mejores opciones para la ganancia.

Intentaría distribuir todo el rango de fuerzas g esperadas, más un margen de seguridad ("factor de fudge") en la parte superior e inferior del rango, sobre el rango de entrada del ADC.

Lou asume que usted elige una ganancia tal que la salida de rango completo del acelerómetro coincida exactamente con la entrada de rango completo de su ADC. Esa es una opción razonable. Sin embargo, probablemente sacrificaría parte de ese rango para obtener más precisión.

Los tipos de aceleraciones que me interesan son mucho más pequeños: montañas rusas y otras atracciones, sensores de inclinación y caída manuales, etc. Me han dicho que los pilotos de combate altamente entrenados que usan trajes anti-G oscurecen alrededor de 9 g, por lo que las atracciones tendrán fuerzas mucho más bajas. Supongo que alrededor de + - 20 g es mucho más que suficiente. Para obtener + -20 g para asignar al rango de 0 a 5 V del ADC, necesito una ganancia de De nuevo = 5 V * 1 / 40g * 1g / 8mV = 16. Probablemente redondearemos esto a algún valor de hardware conveniente, y arreglaremos la proporción exacta en software.

Con un amplificador operacional entre el acelerómetro y el ADC, un valor de ADC de 30 conteos por encima del valor de "reposo" implica una aceleración de 30 * 5V / 2 ^ 10 * 1 / De nuevo * 1G / 8mV.

Con la ganancia que he elegido, esos 30 conteos representan 30 * 5V / 2 ^ 10 * 1/16 * 1g / 8mV = 1.1 g.

Esta ganancia adicional me da un orden de magnitud más resolución (puedo distinguir entre varias aceleraciones pequeñas diferentes que previamente se hubieran agrupado en "aceleración cero"), al sacrificio de un orden de magnitud de rango. El uso de un amplificador operacional definitivamente le dará una mejor relación señal / ruido que ningún amplificador operacional. El uso de una ganancia de 10 o 30 o 100 también puede proporcionarte una relación señal / ruido ligeramente mejor que un amplificador operacional 1: 1.

    
respondido por el davidcary
2

Otros han hecho un buen trabajo con las descripciones de cómo usar el dispositivo y calcular tus G, así que solo me centraré en tu último punto.

Supongo que desea conectar el sensor con un micro que funciona a 3.3V. Hay varias maneras de hacer esto. Los enumeraré de peor a mejor:

0 : apaga el sensor de 3.3V. Esto hará que se quede sin especificaciones y posiblemente se comporte de forma errática. No lo recomendaría sin pruebas exhaustivas (compárelo con una que funcione a 5 V) y póngase en contacto con el fabricante por posibles errores.
0.1 - Apague el sensor de 3.5 V y conéctelo directamente desde el sensor al micro , sin conversión de nivel. Técnicamente, estás dentro de los valores máximos de voltaje de pin. Pierde su rango superior de 200 mV, por lo que solo puede leer de -250G a + 160G o algo así.
1 - Use un divisor de voltaje. Debe bajar de 5 a 3.3, no al revés, así que solo instale una resistencia de 100k y una de 196k. Su micro ahora puede leer la gama completa del sensor con su ADC incorporado. Es consciente de la disminución de la resolución causada por este cambio. Tenga en cuenta que su salida del sensor está limitada a 100uA, por lo que necesitará grandes resistencias, lo que genera señales ruidosas. Además, medir señales que cambian rápidamente será difícil, ya que la capacitancia del pin tardará mucho tiempo en cargarse. Desea una impedancia de salida de menos de 10k para la mayoría de los ADC incorporados.
1.1 : almacene en búfer la salida del sensor a través de un opamp, para poder usar resistencias de 1k y 1.96k y obtener menos ruido y conversiones más rápidas.
1.2 : almacene en búfer la salida a través del opamp, y úsela en una configuración de amplificador para eliminar el divisor de voltaje como entrada, y en su lugar, conecte la salida directamente a su ADC. Esto solo elimina un poco más de ruido.
2 - Use un ADC separado, alimentado a 5V, e interconecte con él sobre resistencias de 1k para proteger sus pines de entrada de 3.3V. Tenga en cuenta que deberá realizar una conversión de nivel de algún tipo para enviar datos desde su micro al ADC si es necesario. Esto le dará la mayor precisión, ya que no está limitado al ADC de 10 bits en su micro. Esto también liberará tiempo de procesador.

    
respondido por el Kevin Vermeer
1

Una vez probé un tablero de arranque SFE similar para otro acelerómetro y lo encontré inutilizable, debido al ruido que captó debido a las conexiones largas. Diseñé mi propia PCB con el acelerómetro cerca de las entradas ADC de MCU y todo el ruido desapareció.

    
respondido por el Leon Heller
1

Gracias por su ayuda ... otra pregunta sobre el voltaje, la hoja de datos dice que se podría usar un voltaje tan bajo como 3.5 y estaba pensando en probar ambos 3.7v y ver si funcionan los 3.3v. Cualquier idea de lo que esto hará por los cálculos y ese rango máximo. Sé que la sensibilidad es radiométrica, por lo que disminuirá en función de un voltaje de entrada más bajo.

Gracias, Pat

    
respondido por el Pat

Lea otras preguntas en las etiquetas