¿Cómo condicionaría la señal de un acelerómetro para una entrada de micrófono?

4

Estoy buscando medir las vibraciones usando un acelerómetro analógico de 3 ejes conectado a la entrada del micrófono en una PC. Lo ideal es combinar los 3 ejes en una sola señal, ya que no me importan los componentes x, y, z, solo la amplitud y las frecuencias de la vibración.

Estaba mirando el Freescale MMA7361L, pero imagino que algo similar será suficiente.

Obtuve mi licenciatura en electrónica, pero después de muchos años de usar solo el lado digital, integrado y de software, mi conocimiento analógico está bastante oxidado.

  • ¿Puedo combinar las señales utilizando los capacitores seleccionados de forma adecuada o debo almacenarlos primero?
  • Supongo que voy a tener que hacer algún ajuste de nivel y ajuste de impedancia para que la señal sea adecuada para una entrada de micrófono.
  • ¿Puedo usar un filtro pasivo simple para eliminar frecuencias de más de 20kHz? ¿Necesito hacer esto?
  • ¿Qué otras consideraciones hay si quiero muestrear señales entre 20Hz y 20kHz?
pregunta Tim

5 respuestas

5

La única forma de hacerlo es modular las tres señales utilizando tres portadoras de frecuencia de audio diferentes, probablemente utilizando AM (ya que es la más fácil y económica de implementar). Probablemente podrás encontrar un IC que solo haga la modulación de AM, pero no conozco nada fuera de mi cabeza.

Esencialmente, tomará cada señal y la multiplicará por una frecuencia portadora diferente, lo que producirá una frecuencia portadora que varía en amplitud a medida que cambia la señal del acelerómetro. Ya que será una señal de bajo ruido, puede demodularla utilizando un filtro de paso de banda (para seleccionar entre las tres señales que desee) y luego usar un detector de picos para encontrar el valor promedio de la señal.

Harás esto para cada señal simultáneamente.

Por ejemplo:

Supongamos que asigna el eje X a 1 kHz, el eje Y a 10 kHz y el eje z a 20 kHz. Comenzará multiplicando la salida del eje X con una señal de 1 kHz, la salida del eje Y con una señal de 10 kHz y la salida del eje Z con una señal de 20 kHz. Luego, combinará estas señales con un sumador Op-Amp (¡asegúrese de usar un amplificador operacional con un ancho de banda suficientemente alto!). Esto producirá una única señal que superpone las tres señales una encima de la otra. Si observara el análisis de espectro de la salida, vería tres picos, uno en cada frecuencia. La altura de cada pico sería el valor de cada eje asociado.

Extraer la señal

Una vez que esté en la computadora, tendrás que usar técnicas DSP para pasar por banda cada frecuencia y detectar su amplitud promedio (después de descartar datos negativos, de lo contrario, ¡la amplitud promedio será 0!)

Trampas

  • Deberá filtrar previamente los datos del acelerómetro con un filtro de paso bajo para garantizar que se elimine el contenido de alta frecuencia. Si no lo haces, obtendrás muchas conversaciones cruzadas entre los canales
  • Escribir el software DSP en la computadora no es un proceso trivial, y no hay ningún programa que yo sepa que pueda hacerlo. Puede escribirlo en MATLAB o Mathematica con bastante facilidad, pero su desarrollo llevará mucho tiempo.
  • Dado que sus señales pasarán por banda, no reaccionarán bien a los cambios repentinos en la aceleración (que generan contenido de alta frecuencia).

Esta es una idea terrible. En su lugar, haz esto:

Estoy respondiendo a la pregunta bajo las restricciones que proporcionó, sin embargo, nunca implementaría un sistema como este, ya que todas las computadoras del mundo tienen un puerto USB. Compre un acelerómetro que tenga una interfaz i2C / SPI y golpee un microcontrolador equipado con USB. Configúrelo como un dispositivo HID y ni siquiera tendrá que preocuparse por los controladores.

Hecho.

    
respondido por el Jay Carlson
5

Para hacer esto correctamente, debe calcular la magnitud del vector de aceleración a partir de los valores de los sensores X, Y y Z (\ $ \ sqrt {x ^ 2 + y ^ 2 + z ^ 2} \ $), y luego convierte este resultado en la señal de tu micrófono.

Si simplemente agrega los tres componentes juntos como han sugerido las otras respuestas, las vibraciones en ciertas direcciones simplemente se cancelarán, sin dar señal. Específicamente, cualquier componente de la vibración en el plano definido por la ecuación x + y + z = 0 será "invisible", que es otra forma de decir que solo será sensible a las vibraciones a lo largo del eje perpendicular a este plano ( x = y = z). En otras palabras, este esquema no es mejor que simplemente usar la señal de cualquier eje por sí mismo.

Lamentablemente, el cálculo de la magnitud también rectifica la señal (el resultado es siempre positivo), por lo que la señal del micrófono no será una representación directa del valor ± de la vibración real. No puedo pensar de inmediato en una solución para esto; Tal vez no importa en su aplicación. O podría, por ejemplo, simplemente multiplicar la magnitud por el signo de uno de los componentes x, y o z originales, elegidos arbitrariamente.

    
respondido por el Dave Tweed
1

Construiría un "mezclador virtual virtual" simple alrededor de un modo de inversión operado por un amplificador operacional, seguido de otro amplificador operacional para amortiguar la señal, deshacerla y proporcionar un poco de ajuste de ganancia.

    
respondido por el Kaz
0

Después de que aclaró su pregunta para indicar que no necesita diferenciar las señales separadas, le diseñé un esquema:

Esunamplificadorsumadornoinversor.Querráajustarlaganancia(ajustandoelpotenciómetroR4)paraquelaseñalnoserecorte.

Nopodráusarunaconfiguraciónde"conexión a tierra virtual" que otra respuesta menciona porque su señal no es AC, y por lo tanto, no puede estar acoplada de manera capacitiva. Debido a eso, tendrás que usar un amplificador sumador no inversor, en lugar del inversor más tradicional.

Por supuesto, si tiene acceso a una fuente bipolar, puede usar el amplificador de suma inversor en su lugar.

    
respondido por el Jay Carlson
0

Como no le importa cada componente (x, y, z) por separado, la solución más sencilla es medir solo un componente e ignorar los otros dos (esto es al menos tan bueno como agregar todos los componentes juntos que no es nada más que una matriz especial de multiplicación del vector de aceleración. Y el mismo resultado que podría obtener si gira el sensor mecánicamente y considera un solo componente).

Por lo tanto, sugiero medir solo un componente de aceleración y ajustar mecánicamente la dirección del sensor para obtener la máxima amplitud.

    
respondido por el Curd

Lea otras preguntas en las etiquetas