Convierta PWM a analógico usando un chip DAC para emular un potenciómetro para audio

0

Estoy tratando de controlar el nivel de audio / ganancia (desde la línea o la señal amplificada) usando un Arduino. Yo no quiero usar SPI, para este proyecto solo puedo usar las salidas PWM, por lo tanto no quiero usar una olla digital. Encontré algunas preguntas relacionadas aquí, pero no explican completamente cómo se aplica este enfoque a las aplicaciones de audio.

Por el PWM sé que puedo usar un filtro de paso bajo, pero quiero ahorrar tiempo y espacio utilizando un chip DAC . Una opción es el TDA1543 ( enlace ).

Así que mis preguntas son:

  1. ¿Cómo conecto el PWM y la entrada / salida de audio utilizando el DAC TDA1543?
  2. ¿Este enfoque funcionará como un potenciómetro de audio controlado por PWM o hay una opción más sencilla?

El TDA1543 tiene 8 pines:

1: entrada de reloj de bits

2: entrada de selección de palabra

3: entrada de datos

4: suelo

5: voltaje

6: salida de voltaje del canal izquierdo

7: salida de voltaje de referencia

8: salida del canal derecho

¿Dónde conecto el PWM y la entrada y salida de audio? Creo que también necesito indicar la resistencia de alguna manera o agregar resistencias como en una olla de 10K (amplificada) o una olla de 100K (línea).

¡Cualquier ayuda será muy apreciada!

    
pregunta Chu

5 respuestas

4

Para controlar la ganancia de señal de audio con un canal PWM, simplemente conecte la entrada de audio y tierra a las entradas de un interruptor SPDT analógico, y conecte la señal PWM a la entrada de control del interruptor.

La salida se alimenta a un filtro de paso bajo con una frecuencia de esquina en algún lugar entre la parte superior de la banda de audio de interés (por ejemplo, 20 kHz) y la frecuencia de conmutación PWM (por ejemplo, 100 kHz). Para una forma de onda más limpia, una frecuencia de esquina de poco más de 20 kHz, o un filtro de pared de ladrillo de alto orden, como se usó en los primeros reproductores de CD.

    
respondido por el Brian Drummond
3

Quieres algo como este chip que convierte pwm en una señal analógica enlace

    
respondido por el JIm Dearden
2

¿Por qué no quieres usar SPI? ¿Cuáles son tus verdaderas limitaciones? ¿Cuál es el contexto de lo que estás tratando de construir?

  

¿Dónde conecto el PWM y la entrada y salida de audio?

No hay audio en conexión y no PWM en conexión. El dispositivo toma 3 pines digitales de entrada en formato I2S y genera un voltaje. Esto no es suficiente por sí solo para controlar una señal de nivel de línea. Lo que quieres es un amplificador de ganancia programable de algún tipo.

Debería ser posible utilizar PWM en un filtro de paso bajo analógico con una constante de tiempo grande para controlar un amplificador controlado por voltaje. Debería seleccionar un chip VCA adecuado.

    
respondido por el pjc50
0

simular este circuito : esquema creado usando CircuitLab

Hay formas de hacer esto con los interruptores analógicos ('4066) pero pueden inyectar la inyección de pulsos de ruido y dependen de la impedancia del circuito y la velocidad de conmutación por encima de 20kHz, el filtrado Nyquist, etc.

En general, los potenciómetros digitales son más difíciles de emular con una distorsión baja con partes discretas, a diferencia de los PWM utilizados en la clase D, E PWM se basa en la conmutación del medio puente y el filtrado

    
respondido por el Tony EE rocketscientist
0

Aunque existen varias formas inteligentes de implementar un amplificador de ganancia variable, es posible que tenga problemas para encontrar el mejor y para implementarlo si su conocimiento de los circuitos analógicos es limitado.

¿Qué tan rápido necesita poder cambiar el volumen? Una solución a este problema es emplear un potenciómetro digital . Aquí es un ejemplo.

Es básicamente una resistencia cuyo valor puede programarse a través de una interfaz en serie. Si suelta uno de estos en un amplificador de retroalimentación simple , puede ajustar la ganancia programando la resistencia de acuerdo con a las leyes de la configuración del amplificador operacional.

    
respondido por el user49628

Lea otras preguntas en las etiquetas