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 de CC LINEAL, por lo que no estoy buscando la 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 DEMASIADOS componentes y haciendo que esto sea DEMASIADO complejo. Quizás los micrófonos Electret no son lo que quiero aquí, estoy abierto a otra cosa. Preferiría no usar amplificadores operacionales para conservar espacio en mi PCB.
Lo que quiero es un sensor de nivel de ruido simple. No busco reproducir el audio, ni tener claridad ni nada, pero me gustaría, lo más cerca que pueda:
Entiendo que con un BJT 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 motivo alguno. 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 del electreto tenga suficiente amplitud para impulsar el circuito detector de envolvente (diodo, resistencia y capacitor) para obtener solo la mitad positiva. No creo que pueda debido a la caída hacia adelante del diodo, pero ¿quizás esto se pueda reorganizar o hacer antes del límite de salida? ¿Cuáles deberían ser los valores de las resistencias del detector de envolvente y del amplificador? ¿Se debe colocar un potenciómetro de sensibilidad en la señal, o RE, o RL, y cuál debe ser su valor? ¿Lineal o Logarítmico?
Sin embargo, tal vez la salida de electreto no pueda 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 la 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:
Aunque podrías hacer todo esto con solo un amplificador y un microcontrolador (Arduino), por lo que puedo ver, quieres 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 0 V a 5 V simplemente cambiando el OP-AMP. Ahora, entremos en 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 puedes ver, U1 toma la señal de entrada, la invierte y luego la multiplica por 100. Puedes cambiar R2 o R3 y verás que la ganancia de U1 cambia. Aquí no importa la inversión de la señal de entrada, como comprenderá más adelante. Miremos la salida de este amplificador y verás 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 parece -2,5 V, 0 V y 2,5 V en el 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. Así, la salida será de 2,5 V, es decir, la mitad de la tensión de alimentación. Y ese es nuestro nuevo punto de partida.
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 desea y como se muestra en la imagen de su pregunta. Así es como se ve un seguidor de sobre básico:
Se ve muy bien, sin embargo, observe que aquí, D3 es un diodo y cae alrededor de 0,6 V sobre sí mismo. Entonces, pierdes el voltaje. Para superar esto, vamos a utilizar lo que se llama el "super-diodo". ¡Es genial, ya que la caída de voltaje es de 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ás un diodo casi ideal;
Dado que hay comentarios negativos en esta configuración, U5 hará todo lo posible para hacer . Por lo tanto, siempre que la entrada sea de 3 V, hará que su salida sea de 3,6 V para compensar con la caída de voltaje de 0,6 V en D3. Entonces, la salida de este superdiodo, por lo tanto, el la entrada será igual a su voltaje de entrada . Sin embargo, cuando el la entrada es negativa, D3 no permitirá que U5 haga que la salida sea negativa. También tenga en cuenta que el riel negativo para U5 es GND, que es 0 V. En cualquier caso, ya no podrá ir por debajo de 0 V. ¡Funciona como un diodo ideal!
Ahora, cambie D3 en el circuito seguidor de envolvente anterior con un superdiodo, ¡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 es sin sonido, 4 V es de sonido fuerte y 3,25 V de sonido medio. Para escalar eso a lo que ha querido, podemos restar un voltaje de compensación de 2.5 V y escalarlo. Entonces, cuando restas 2.5 V, se convierte en; 0 V para sin sonido, 1,5 V para sonido alto y 0,75 V para sonido medio y así sucesivamente. Después de eso, si multiplicas esto por aproximadamente 3, obtendrás exactamente lo que quieres. 0 V para ningún sonido, 2,5 V para sonido medio y 5 V para sonido alto. En resumen, lo que queremos es esto;
Para conseguirlo utilizaremos un amplificador diferencial o dicho de otro modo un " sustractor ".
Cuando las resistencias, R1 = R2 y R3 = R4, la función de transferencia para el amplificador diferencial se puede simplificar a la siguiente expresión:
Si hace que V1 = 2,5 V y la relación R3/R1 sea 3, obtendrá la salida que desea.
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. Yo sugeriría MCP6004 . Cambie R1 y R2 hasta que tenga el resultado deseado. Esto es lo que obtuve con la simulación:
Ahora, al medir estos valores en ADC, no obtendrás un sentido lineal , sino que 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 excelente video tutorial al respecto.
Una habitación tranquila, por ejemplo, se mide en alrededor de 40 dB. Una fiesta en una habitación hará que el nivel de la habitación suba a 100 dB, o tal vez a 110 dB. En este sitio web , puede encontrar excelente información al respecto, desde donde también incrusté la imagen a continuación. 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á bien con un ADC de 12 bits.
Parece que estás en el camino correcto. Se necesitan muchos componentes discretos para 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 por ahí 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 envolvente es fácil en el software y, dependiendo de la precisión que deba ser y de la sensibilidad de su micrófono, es posible que incluso se salga con la suya omitiendo el amplificador después del micrófono y colocando su salida directamente en el ADC. Esto no te dará 0V-5V, pero ¿eso importa? Puede multiplicarlo por una constante en el software. Lo que pierde es la precisión de tener disponible el rango completo de ADC, pero tal vez eso no sea tan importante como la simplicidad. Tú decides.
En primer lugar, no necesita el arduino a menos que necesite hacer más procesamiento; todo lo que realmente quiere es un amplificador (un amplificador operacional serviría, muchos 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 a un disparador schmitt o usar un LM3914 para generar una pantalla.
Se podría tener 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 al deshacerte del arduino y hacerlo de forma análoga a la naturaleza;)
Editar: Es probable que también haya un montón de circuitos de "preamplificador de micrófono" en la web, probablemente un chip SOT23 de $ 0.10 para hacerlo por usted en estos días ...
phil escarcha
phil escarcha
Ehryk
Ehryk
phil escarcha
Ehryk
phil escarcha
Ehryk
phil escarcha
yippie
yippie