Tratar con DC offset

0

Tengo STM32 BluePill y Teensy 3.2, ambos leen el análogo 0 < x < 3.3V.

Quiero leer el sonido del micrófono del auricular, pero el micrófono produce + -2.5V (con ~ 200mA, pero este es un problema diferente).

Ahora mis MCUs "recortarán" cada cosa debajo de 0V y superior a 3.3V. Por lo tanto, quiero corregir este desplazamiento de CC en la entrada, de modo que el centro sea de 1.65 V y mi amplitud sea de 1.65 V (por lo que tendré una señal de + - 1.65 V, centrada alrededor de 1.65 V, así que en total usaré toda la 0 < x < 3.3V analogRead() range).

Al salir ( analogWrite() ) supongo que tendré que cambiar el desplazamiento nuevamente desde 0 < x < 3.3V a -2.5V < 0 < 2.5V.

Mis preguntas son:

  1. ¿Cómo puedo cambiar el desplazamiento de CC de -2.5V < x < 2.5V (cuando x es 0) a 0 < x < 3.3V (cuando x es 1.65V)?
  2. ¿Cómo puedo cambiar el desplazamiento de CC de 0 < x < 3.3V (cuando x es 1.65V) a -2.5V < x < 2.5V (cuando x es 0)?

Gracias.

    
pregunta dog scotter

1 respuesta

0

Tienes que hacer dos cosas, primero atenúa la señal. Tiene una amplitud de 5 V y es necesario atenuarlo para que sea menor que 3.3 V. Entonces tienes que cambiar el offset.

Este es un circuito que hace precisamente eso.

R1 y R2 atenúan la señal. Esta resistencia atenúa la amplitud de la señal de 5 V con bastante precisión hasta 3,3 V. En realidad, es posible que desee atenuarla un poco más, para tener algo de espacio para la cabeza. Por lo tanto, es posible que desee utilizar un R2 más pequeño como 1.8k o algo así.

C1 bloquea el componente de CC de la señal y R3 y R4 desvían la señal a la mitad de 3.3 V.

Debido a la alta resistencia de las resistencias, no se puede cargar mucho este circuito. Es posible que deba agregar un opamp como búfer para evitar que el ADC distorsione la señal. O si su micrófono puede proporcionar suficiente corriente, podría simplemente disminuir el tamaño de las resistencias. Simplemente no cambies sus proporciones.

    
respondido por el TemeV

Lea otras preguntas en las etiquetas