¿Cómo leer audio desde un conector de 3.5mm?

3

Una pregunta aparentemente simple que tiene una gran cantidad de respuestas en toda la web.

Objetivo: Estoy tratando de diseñar un dispositivo que sea capaz de leer audio analógico y extraer la distribución de frecuencia. No me importa la amplitud absoluta, solo la amplitud relativa, es decir, solo estoy tratando de comparar la intensidad de ciertas frecuencias en una señal de audio determinada.

Por qué las otras respuestas no lo cortan: todas las respuestas que he encontrado no parecen abordar el problema de la configuración de volumen a dispositivo de voltaje pico a pico diferente y dispositivo a volumen. Mi dispositivo se va a colocar entre la fuente y el altavoz, por lo que debe poder recalibrarse cuando se cambia el volumen. También se utilizará con al menos tres dispositivos diferentes: mi computadora de escritorio, computadora portátil y teléfono. El voltaje P2P al volumen máximo en las salidas de auriculares de estos 3 dispositivos varía de cientos de mV a 4V. Mi entendimiento es que existen otros dispositivos con voltajes P2P tan altos como 12V. También me gustaría diseñar teniendo en cuenta esos dispositivos.

Tengo la intención de usar el ADC en mi MCU con rango de 0-3V3.

Si no estaba claro ya, no soy en absoluto ingeniero eléctrico y mi entendimiento es bastante limitado y no he podido idear una manera de hacer que esto funcione. El problema, tal como lo veo, es que necesito un circuito que ajuste la ganancia y el dc offset de manera apropiada según la fuente.

Mis pensamientos hasta ahora: mi solución actual es usar dos opamps como detector de picos y usar eso para agregar un dc offset a la señal usando otro opamp como un amplificador inversor. La ganancia de este amplificador se ajustará mediante un potenciómetro digital que está siendo controlado por la MCU. El amplificador comienza con la ganancia máxima y sigue bajando hasta que el pico de la señal es inferior a 3V3. La solución tiene la ventaja de que con solo presionar un botón, puedo restablecer el detector de picos e instruir a la MCU para que comience la recalibración. No estoy en absoluto casado con esta solución (estoy preguntando cómo resolver mejor mi objetivo, no cómo solucionar la solución).

Sin embargo, no estoy seguro de cómo proteger mi MCU para que no se dañe con voltajes de entrada superiores a 3V3 (ya que el método de calibración se basa en comenzar por encima de 3V3 y bajar).

    
pregunta The Great Java

1 respuesta

2

Estás en el camino correcto. Es muy poco probable que las señales de audio de voltaje excesivo causen algún tipo de "daño" a la CPU o al ADC. Lo peor que puede pasar es que la señal sea "recortada" o "plana", lo que causará distorsión. Por lo tanto, puede escribir el firmware de su aplicación para buscar una secuencia extendida de mínimo (cero) o máximo (¿reveló su resolución digital?) Y reducir la ganancia de la etapa de entrada. O a la inversa, detecte un nivel de audio promedio demasiado bajo y aumente la ganancia, etc. Es posible que esté anticipando "problemas" que no son realmente "problemas".

    
respondido por el Richard Crowley

Lea otras preguntas en las etiquetas