Durante más de un año he tratado de descifrar tanto el aspecto electrónico como el aspecto del software de mi proyecto.
Me las arreglé con algo de éxito para hacer que la idea general funcionara, los baches que he encontrado en el camino me están estresando francamente.
Descripción y objetivo del proyecto:
Básicamente, un dispositivo de detección de latidos con un factor de forma muy pequeño.
Estoy usando un Arduino Uno como dispositivo de creación de prototipos, pero tengo un Arduino Mega, Sparkfun Micro y varias otras placas de desarrollo disponibles para usar si es necesario.
Quiero que el microcontrolador lea audio analógico, lo convierta a FFT o FHT o cualquier otro dato fácilmente traducible, lea las frecuencias más bajas donde se presenta el bombo de la música y, finalmente, mida el tiempo entre cada bombo para calcular el BPM de la canción. .
El rango de frecuencia donde está presente el bombo en la música está alrededor del rango de 45 Hz a 55 Hz y es más distinguible en esa área cuando se mira en un analizador de espectro.
Esto también debería ser correcto al hacer FFT/FHT con un microcontrolador debido a la naturaleza de la conversión de analógico a digital a FFT/FHT.
Sin embargo, puede diferir y es más probable que difiera si se usa un micrófono para escuchar el audio.
Lo que he logrado con éxito:
(fuente: interfaz.khm.de )
Así que los dos componentes más importantes del proyecto están en su lugar.
Con lo que tengo problemas:
Cosas que he probado:
Resultados (cita):
Cuando se usa un pull-up, el pico de baja frecuencia aumenta, cuando se usa un pull-down, la baja frecuencia desaparece.
Así que el menú desplegable es el camino a seguir.
SIN EMBARGO, con el pull-down presente, se introducen los armónicos del tono sinusal pero no el pico en el área de frecuencia más baja mientras no haya sonido presente.
Con el menú desplegable NO presente, los armónicos se desvanecen, pero el pico está presente.
¿Qué más puedo probar antes de tirar este proyecto por la ventana?
Los enfoques y las sugerencias deben limitarse a los componentes y, preferiblemente, estar orientados al software.
El órgano de luz debe tener un bajo consumo de energía y muy pocos componentes físicos, y si se requieren componentes físicos, deben ser pequeños y estar montados en la superficie.
Creo que el tipo de YouTube podría haber estado en el camino correcto, pero la confusión es que la "tierra" generalmente se centra entre dos suministros para la mayoría de los circuitos analógicos y coexiste con el suministro más bajo para la mayoría de los circuitos digitales. Entonces, ya sea que lo haya subido o bajado, el nivel de CC ya estaba recortado, por lo que todo lo que se agregó a eso (su música) también se recortó automáticamente.
En su lugar, debe tirar de él hasta un punto intermedio. La forma más fácil de hacerlo es simplemente jalarlo hacia arriba y hacia abajo al mismo tiempo, usando dos resistencias. Eso debería centrarlo bien, con el nivel exacto determinado por la relación de las dos resistencias.
También a considerar:
De una discusión bastante larga en los comentarios y un enlace a un foro diferente ( http://www.openmusiclabs.com/forums/viewtopic.php?f=4&t=493&sid=c89646aea90012eb0fbcbf4161ab5b74 ), parece que el problema tiene que ver con Compensación de CC. El esquema original intenta resolver esto, pero incluye un ajuste innecesario que es fácil equivocarse. Aquí hay una mejor manera de hacerlo:
simular este circuito : esquema creado con CircuitLab
Asegúrese de mantener R1 y R2 iguales. La frecuencia de corte se describe arriba.
El propósito del ajuste original parece ser ajustar la compensación de CC para que coincida con el ADC, pero espero suficiente variación de otras fuentes para que sea más fácil cerrarlo y usar un paso alto digital para terminar el trabajo.
Algunos otros cambios:
Como se muestra, las frecuencias de corte son ~1.5Hz y ~48kHz, por lo que querrá muestrear ese canal ADC al menos a 500kHz. ¿Por qué no 48kHz como el audio estándar? Porque este filtro se desliza muy lentamente. Solo a frecuencias mucho más altas finalmente atenúa el ruido lo suficiente como para no interferir con su señal cuando se desplaza hacia abajo por aliasing. Si no desea ejecutar el FHT tan rápido, puede usar un paso bajo analógico más complejo, o puede usar un paso bajo digital que se ejecute tan rápido y luego deseche la mayoría de las muestras.
Andy alias
QueRosaBestia
xid
xid
xid