He estado haciendo algunas preguntas aquí para llegar a una adecuada, las preguntas iniciales que hice están vinculadas al final. Usé Fritzing para hacer algunos esquemas de mis pensamientos iniciales, pero al menos necesito ayuda con los valores de los componentes, que solo entiendo vagamente y seleccioné lo que parecen ser valores razonables o comunes.
Básicamente, tengo un Arduino que tiene 6 entradas analógicas. Utiliza un ADC de 10 bits para leer el voltaje en cualquiera de los pines analógicos, por lo que 0 = 0v, 511 = 2.5v y 1023 = 5v, y todos los valores intermedios. Hace una lectura LINEAR DC, así que no estoy buscando lógica 1-0 aquí.
Tengo esto conectado a las luces LED, y quiero que respondan a la música. Lo que quiero es una resolución máxima con componentes mínimos, y creo que estoy usando WAY demasiados componentes y haciendo que WAY sea demasiado complejo. Quizás los micrófonos Electret no son lo que quiero aquí, estoy abierto a otra cosa. Prefiero no usar amplificadores operacionales para ahorrar espacio en mi PCB.
Lo que quiero es un sensor de nivel de ruido simple. No estoy buscando reproducir el audio, ni tener claridad ni nada, pero me gustaría, lo más cerca que pueda estar:
- Silencio perfecto = lo más cercano posible a 0v DC (estable, no AC)
- Ruido medio = alrededor de 2.5v DC (estable, no AC)
- Ruido fuerte = lo más cercano posible a 5v DC (estable, no AC)
Entiendo con un BJT que lo mejor que puedo obtener será de 0.6v a 4.4v, pero esto es lo suficientemente aceptable. Lo que no es, sin embargo, es la mitad de la onda, 0.6v a 2.5v. Esto parece estar desperdiciando la mitad de mi resolución disponible sin ninguna razón. Sin embargo, si hay otras configuraciones además de un BJT que me pueden acercar a 0v-5v, estaría interesado en darles una oportunidad; siempre y cuando sean simples.
Aquí hay uno más simple, que espero que sea posible, pero requiere que la señal de electret tenga suficiente amplitud para conducir el circuito detector de envolvente (diodo, resistencia y condensador) para obtener solo la mitad positiva. No creo que pueda debido a la caída hacia adelante del diodo, pero ¿tal vez esto se pueda reorganizar o hacer antes del límite de salida? ¿Cuáles deberían ser los valores del detector de envolvente y las resistencias del amplificador? ¿Debería colocarse un potenciómetro de sensibilidad en la señal, o RE, o RL, y cuál debería ser su valor? Lineal o Logarítmico?
Sin embargo, tal vez la salida del electret no puede sobrevivir al detector de envolvente, la derivación de sensibilidad y aún así conducir un transistor NPN. Si no, aquí hay una versión más compleja. ¿Necesito ir por esta ruta? ¿Obtener mi salida deseada del circuito realmente requiere todos estos componentes?
Estas son algunas de las preguntas anteriores que hice antes de comprender mejor lo que estaba tratando de articular, para obtener más detalles. Esto es lo que se supone que debe hacer el detector de envolvente, y no estoy seguro de cómo ajustarlo para la salida de electret:
Respuestas:
Aunque podría hacer todo esto solo con un amplificador y un microcontrolador (Arduino), por lo que puedo ver, desea la opción analógica. He intentado crear un circuito que emita el nivel de voz en el micrófono. El rango es de 0V a 4V. Sin embargo, puede actualizarlo fácilmente de 0V a 5V simplemente cambiando el OP-AMP. Ahora, vamos a ello;
En primer lugar, he reemplazado el amplificador de transistores con el OP-AMP. Esto es lo que se me ocurrió;
Este es un amplificador inversor simple con una ganancia de 100. Aquí está la fórmula para calcular la ganancia;
Como puede ver, U1 toma la señal de entrada, la invierte y luego la multiplica por 100. Puede cambiar R2 o R3 y verá que la ganancia de U1 cambia. La inversión de la señal de entrada no importa aquí, como comprenderá más adelante. Miremos la salida de este amplificador y verá que hay un gran crecimiento en la señal de entrada.
En el gráfico anterior, verá que la salida tiene un voltaje de compensación de CC de 2.5 voltios. Eso se debe al terreno virtual que hemos utilizado. Si creamos una tierra virtual, eso significa que llevamos la tierra a otro nivel de voltaje. En este caso lo hemos movido a 2.5 V. Con la nueva configuración, hemos creado algo que se ve como -2.5 V, 0 V y 2.5 V al circuito. Para lograr esto, tuve que crear un nuevo riel de voltaje de 2.5 voltios. Dado que ese riel de voltaje no suministrará mucha energía (menos de 1 mA), es fácil de crear;
Observe la retroalimentación negativa en el circuito anterior. Eso le dará al OP-AMP la orden de hacer . OP-AMP hará todo lo posible para lograr esta ecuación. Por lo tanto, la salida será de 2.5 V, o en otras palabras, la mitad de la tensión de alimentación. Y ese es nuestro nuevo punto de partida.V+=V−
Después de la amplificación, debemos poner la señal en un "detector de envolvente" o, en otras palabras, "seguidor de envolvente". Esto obtendrá el nivel de la señal, como lo desee y como lo mostró en la imagen de su pregunta. Así es como se ve un seguidor de sobres básico:
Se ve muy bien, sin embargo, tenga en cuenta que aquí, D3 es un diodo y deja caer aproximadamente 0.6 V sobre sí mismo. Entonces, pierdes el voltaje. Para superar esto, vamos a utilizar lo que se llama el "super-diodo". ¡Es súper, ya que la caída de voltaje es casi 0V! Para lograr eso, incluimos un OP-AMP con un diodo, ¡y eso es todo! El OP-AMP compensará la caída de voltaje del diodo, y tendrá un diodo casi ideal;
Como hay retroalimentación negativa en esta configuración, U5 hará todo lo posible para hacer . Entonces, siempre que la entrada sea de 3V, hará que su salida sea de 3.6V para compensar con la caída de voltaje de 0.6V en D3. Entonces, la salida de este super diodo, por lo tanto, la entrada será igual a su voltaje de entrada . Sin embargo, cuando la entrada es negativa, D3 no permitirá que U5 haga que la salida sea negativa. También tenga en cuenta que el raíl negativo para U5 es GND, que es 0 V. Ya no podrá ir por debajo de 0 V en ningún caso. ¡Funciona como un diodo ideal!V+=V− V− V− V+
Ahora, cambie D3 en el circuito seguidor de envolvente anterior con un super diodo, ¡y tendrá un mejor seguidor de envolvente! Veamos nuestro resultado;
Nos estamos acercando. Como puede ver, la salida del seguidor de envolvente, que es la línea roja, puede ir de 2.5 V a 4 V. 2.5 V no tiene sonido, 4 V tiene un sonido alto y 3.25 V para un sonido medio. Para escalar eso a lo que ha deseado, podemos restar 2,5 V de voltaje de compensación y escalarlo. Entonces, cuando restas 2.5 V, se convierte en; 0 V para no sonido, 1.5 V es de sonido fuerte y 0.75 V para sonido medio y así sucesivamente. Después de eso, si multiplica esto por aproximadamente 3, obtendrá lo que desea exactamente. 0 V para ningún sonido, 2.5 V para sonido medio y 5 V para sonido fuerte. En resumen, lo que queremos es esto;
Para lograr esto, utilizaremos un amplificador diferencial o, en otras palabras, un " sustractor ".
Cuando resistencias, R1 = R2 y R3 = R4, la función de transferencia para el amplificador diferencial se puede simplificar a la siguiente expresión:
Si haces V1 = 2.5V y R3 / R1 relación 3, obtendrás la salida que deseas.
Aquí está el esquema completo que hará lo que quieras:
He usado LM324 OP-AMP aquí para fines de simulación. Eso limitará el voltaje de salida máximo a 4V. Para tener una salida de rango completo, debe usar un OP-AMP de salida de riel a riel. Sugeriría MCP6004 . Cambie R1 y R2 hasta obtener el resultado deseado. Esto es lo que obtuve con la simulación:
Ahora, al medir estos valores en ADC, no obtendrá un sentido lineal , en cambio, el sonido se entiende mejor logarítmico, ya que nuestros oídos escuchan de esa manera. Entonces, debes usar decibelios . Si no está familiarizado con los decibelios, aquí hay un gran video tutorial al respecto.
Una habitación silenciosa, por ejemplo, se mide alrededor de 40 dB. Una fiesta en una sala hará que el nivel de la sala suba a 100 dB, o quizás 110 dB. En este sitio web , puede encontrar gran información al respecto, desde donde también he incrustado la imagen de abajo. Piense en los niveles de decibelios y experimente con la salida de voltaje del circuito. Luego, calcule la resolución ADC que necesitará. Probablemente, estarás bien con un ADC de 12 bits.
fuente
Parece que estás en el camino correcto. Se hace tomar una gran cantidad de componentes discretos de hacer este tipo de cosas. Puede que no me creas, pero el uso de amplificadores operacionales puede hacer que todo esto sea más simple y más pequeño. Estoy seguro de que puede encontrar circuitos integrados aún más específicos que hacen más de lo que necesita en un paquete más pequeño. Apuesto a que hay un IC que hace exactamente lo que necesitas. Sin embargo, aprenderá más si continúa sin ellos, aunque solo sea por valor académico.
También puede simplificar algo de esto moviendo la lógica al microprocesador. La detección de envolventes es fácil en el software y, dependiendo de cuán preciso sea necesario y la sensibilidad de su micrófono, incluso podría saltarse la omisión del amplificador después del micrófono y poner su salida directamente en el ADC. Esto no te dará 0V-5V, pero ¿eso importa? Puedes multiplicarlo por una constante en el software. Lo que pierde es la precisión de tener disponible todo el rango del ADC, pero tal vez eso no sea tan importante como la simplicidad. Tú decides.
fuente
En primer lugar, no necesita el arduino a menos que necesite hacer más procesamiento: todo lo que realmente desea es un amplificador (un amplificador operacional lo haría, un montón de circuitos básicos en todas las gafas) para aumentar la salida del micrófono en el rango 0-5v. Si no está demasiado preocupado por la precisión (ya que esto es por diversión en lugar de una medición científica), puede usar un circuito de recorte bastante básico, canalizar la salida en un disparador schmitt o usar un LM3914 para generar una pantalla.
Se podría obtener un poco más de delicadeza haciendo un circuito AGC para aumentar y disminuir automáticamente la ganancia con el nivel promedio.
Lo que sea, obtienes un gran karma positivo abandonando el arduino y haciéndolo de forma análoga como la naturaleza pretendía;)
Editar: Lo más probable es que también haya muchos circuitos de "preamplificador de micrófono" en la web, probablemente un chip SOT23 de $ 0.10 para que lo haga por usted en estos días ...
fuente