Por lo tanto, estoy diseñando un dispositivo de sonido simple y barato con Atmega32U4 uC y tropecé con un problema.
Estoy usando la salida PWM de 10 bits de la unidad uC para emitir audio y quiero que el usuario pueda controlar el volumen de salida usando botones, no un potenciómetro discreto. Una solución típica sería simplemente disminuir el trabajo de salida de PWM; pero de esa manera estoy perdiendo la resolución ya baja: al reducir el volumen de salida solo en 10 dB, ya tengo un voltaje de salida un 60% más bajo y, por lo tanto, ya estoy ingresando en el territorio de resolución de 8 bits.
Es por eso que empecé a buscar una solución barata para disminuir el volumen del hardware y no quiero usar un potenciómetro digital, ya que son relativamente caros. Al final, se me ocurrió la solución que se muestra a continuación; básicamente, utiliza dos salidas uC PWM, una para controlar el volumen (VOLPWM) y otra para emitir el audio (OUTPWM); El VOLPWM se integra en gran medida y luego el Q1 cambia según el OUTPWM entre masa y el voltaje de salida del VOLPWM. Observe que la integración de salida ocurre después de el par Q1 + R2, la señal PWM pura ingresa a la base Q1.
También he considerado usar un par push-pull en lugar de Q1 + R2, sin embargo, no pude obtener una salida de nivel bajo decente.
Mis preguntas son:
-
¿Hay alguna solución mejor para mi problema?
-
¿No será problemático el valor similar de R2 y R5?
-
¿Cuáles podrían ser las otras desventajas de mi solución?