2 votos

El ADC de Arduino se comporta de forma extraña

Estoy recibiendo un comportamiento algo extraño del ADC de mi arduino, intentaré explicarlo lo mejor posible. Hice un circuito amplificador de micrófono que da una señal de pico a pico de 0 a 5 V con un desplazamiento de CC de 2,5 V. Esta señal se introduce en el ADC de Arduino. Estoy construyendo un medidor de VU, por lo que en base a la lectura del ADC, se enciende algún número de luces.

El circuito en la siguiente condición con las conexiones a tierra del LED abiertas, como se ve aquí, funciona bien. El Arduino lee los valores como se supone que debe recoger cualquier sonido en el micrófono. Verifiqué esto haciendo una impresión en serie de los valores a mi computadora y también sondeando la salida del opamp en un osciloscopio.

enter image description here Circuito simplificado. (Ver mi primer comentario para ver el circuito completo del amplificador).

El problema surge cuando cierro las conexiones de tierra de los LEDs como se ve en la siguiente imagen. Curiosamente, el ADC parece dar un pulso cuadrado en el instante en que muestrea la señal. Lo he comprobado sondeando la salida del amplificador óptico en un osciloscopio: el gráfico que hay debajo del circuito muestra lo que vi en el osciloscopio. El ADC está leyendo un valor de 1016 (casi 5 V) que enciende todas las luces perpetuamente.

enter image description here Circuito simplificado. (Ver mi primer comentario para ver el circuito completo del amplificador).

Para complicar aún más las cosas, cuando reduzco el suministro de voltaje a todo el circuito (incluido el microcontrolador) a unos 3 V, el comportamiento de impar descrito anteriormente no ocurre y el medidor de VU funciona perfectamente. Pero a este voltaje las luces son demasiado tenues y apenas visibles :(

Llevo mucho tiempo atascado en esto y no tengo ni idea de por qué ocurre esto.
Se agradece cualquier idea o ayuda.

3voto

lillq Puntos 4161

Una nota sobre su controlador LED. El voltaje de la base es la suma del voltaje del LED + la caída de voltaje a través de la resistencia + el voltaje base-emisor. Si usted está funcionando con una fuente de 3V que debe permanecer algo por debajo de los 3V para tener un poco de corriente de base. Un LED de 2V + 0,7V base-emisor sólo dejará 0,2V para la resistencia. A 200 \$\Omega\$ es decir, 1mA, lo que explica que el LED se ilumine tan débilmente.

También es posible que el transistor no esté saturado. Para una corriente de LED de 20mA a un \$H_{FE}\$ de 100 se necesitan 200 \$\mu\$ Una corriente de base. Si sólo hay 100mV a través de la resistencia de base que le dará sólo 100 \$\mu\$ A.

En realidad, en el esquema actual la resistencia de base es superflua. La resistencia vista desde la base es la resistencia del emisor veces \$H_{FE}\$ Así que con un \$H_{FE}\$ de 100 el Arduino verá el 200 \$\Omega\$ como 20k \$\Omega\$ ¡!

Yo sugeriría mover al menos los 200 \$\Omega\$ resistencia al lado del colector del transistor.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X