4 votos

Utiliza la audiofrecuencia para encender varios LEDs

Necesito un poco de ayuda aquí - Necesito iluminar sobre 20 LEDs diferentes basado en el entrada de frecuencia (200 Hz-20.000 Hz)

Por ejemplo:

El circuito debe encender el primer LED cuando la frecuencia de entrada esté entre 200 Hz y 300 Hz

De la misma manera:

El circuito debe encender el 2º LED cuando la frecuencia de entrada esté entre 500 Hz y 600 Hz

Y así sucesivamente...

He pensado en utilizar un filtro paso banda, pero no creo que funcione con rangos de frecuencia tan ajustados como estos.

A continuación se muestra el filtro de banda que utilicé para probar el filtrado 11.000 Hz - 15.900 Hz

pero el LED se ilumina incluso en 9.000 Hz .

schematic

Gráfico del filtro paso banda Band Pass Filter Graph

¿Qué puedo hacer para conseguirlo?

6 votos

¿Por qué no digitalizas la entrada, ejecutas una FFT y utilizas el resultado para elegir qué LED encender? ¿Puedes explicar por qué crees que no puedes usar un filtro de paso de banda; incluyendo el esquema de tu circuito y los valores calculados de los componentes?

0 votos

Probaré tu sugerencia y publicaré los resultados. En cuanto al filtro de paso de banda, intenté utilizar uno pero la tensión de salida era insoportable, el LED se activaba con frecuencias muy por encima y por debajo de la frecuencia de corte.

3voto

WhatRoughBeast Puntos 20870

Creo que hay dos cuestiones aquí. Bueno, tres, pero lo dejaré para el final.

En primer lugar, R2 debe ser al menos 10 veces R1. Cuando la frecuencia de salida es lo suficientemente alta, la impedancia de C2 será muy baja, y la combinación de R1/R2/C2 se parecerá básicamente a R1 y R2 en paralelo, que no es lo que quieres.

En segundo lugar, dado que tu último elemento es C2, la salida al LED se parecerá (más o menos) a una fuente de tensión, y no quieres conducir un LED desde una fuente de tensión. Por lo demás, una vez que se alcanza el umbral de tensión de avance del LED, cualquier incremento adicional producirá un gran aumento de la luminosidad.

Por último, y esto es más difícil de explicar, un LED desnudo es lo que se llama una carga no lineal. Es decir, proporciona una resistencia aparente muy grande cuando está en polarización inversa, y una resistencia aparente muy pequeña cuando está en polarización directa por encima de su umbral. Esta resistencia cambiante se retroalimentará en su filtro y afectará a sus resultados.

Finalmente (y sí, son 4 de 3), este no es un buen enfoque para lo que estás tratando de hacer. Lo más importante es que tu curva de salida esperada es muy inexacta. Puede que sirva para una frecuencia de 100 Hz a 10 kHz, pero las secciones RC simples simplemente no tienen la selectividad que deseas. Por ejemplo, tu sección de paso bajo, R2/C2, cuando se toma por sí sola, tiene una ganancia de 0,822 a 11 kHz, 0,705 a 16 kHz y 0,623 a 20 kHz, por lo que puedes ver que no está haciendo mucho en este rango de frecuencias. El filtro en su conjunto tiene una respuesta de pico a unos 16 kHz, pero su punto de -3dB está un poco por debajo de los 3 kHz. Así que no es de extrañar que no obtengas los resultados que tu cifra te hacía esperar.

TLDR: Su filtro está funcionando como debería. Si lo que mejor selectividad, tendrá que utilizar un circuito mucho más sofisticado (multipolar con una mejor sección de LED).

0 votos

Una quinta cuestión :) es que los leds estándar necesitan muy poca corriente para encenderse, y debido a diversos factores (tanto en el LED como en el ojo humano) no se ven muy diferentes de unos 5 mA a 20 mA (el máximo habitual). Es muy posible que la pendiente de respuesta de tu filtro sea bastante baja, pero el LED puede seguir teniendo el mismo aspecto.

2voto

Spehro Pefhany Puntos 90994

Se podría utilizar un conjunto de filtros MFB. Por ejemplo, algo así:

schematic

simular este circuito - Esquema creado con CircuitLab

Las ecuaciones de diseño para un filtro MFB están en este Papel AD. He utilizado un Q de ~10.

La amplitud de entrada tiene que ser de aproximadamente 1V para que el LED se encienda, y sin algún tipo de procesamiento de la señal antes de la entrada, la anchura de la banda que enciende el LED variará un poco con la amplitud de entrada.


Si tienes un micro adecuado como un MIPS PIC32 o un ARM Cortex M4 podrías hacer esto con básicamente un chip frente a 5 amplificadores cuádruples y 100 pasivos para los filtros, haciéndolo de forma analógica.

0voto

NuSkooler Puntos 2679

Si realmente se quiere un aislamiento entre los filtros, de forma que no haya sangrado de energía entre las bandas de frecuencia adyacentes, entonces se necesita un factor de calidad ("Q") infinito.

Desafortunadamente, el infinito-Q requiere infinito tiempo de respuesta.

Dudo que tengas tanta paciencia.

0voto

ozmank Puntos 127

Escuchamos las frecuencias en la escala logarítmica o en las octavas de base 2.

Entonces, para lograr 20 bandas, ¿cuántas medias octavas hacen?

20 Hz-20.000 Hz son 3 décadas o 10 octavas o 20 medias octavas.

A continuación, debe definir su rango dinámico.

Digamos que el rango = 0 a -30 dB tiene un BW de 1/2 octava. Así que el BPF debe ser muy alto Q alrededor de 100.

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