Tabla de contenido:
- Paso 1: Adquirir piezas
- Paso 2: Diseño de componentes del plan
- Paso 3: Montaje
- Paso 4: compile y cargue el firmware
- Paso 5: Comprenda el circuito
- Paso 6: funcionamiento del dispositivo
Video: Analizador de espectro de audio de placa de pruebas MSP430: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Este proyecto se basa en un micrófono y requiere componentes externos mínimos. Se utilizan 2 pilas de botón LR44 para que pueda tener toda la estructura funcionando en los confines de una mini placa de pruebas de 170 puntos de unión. ADC10, TimerA interrumpe la activación de LPM, TimerA PWM como salida, uso de botones, aritmética de enteros se utilizan y demuestran.
Características
- Entero de 8 bits FFT 16 muestras a una separación de 500 Hz
- muestra 8 amplitudes de 1K, 1.5K, 2K, 3K, 4K, 5K, 6K, 7.5K no lineales
- mapa de logaritmo parcial para mostrar amplitudes, limitado porque la resolución se ha reducido para FFT de 8 bits
- El micrófono de una etapa TLC272 amplifica a 100 veces la ganancia de 100 veces (puede experimentar con 2 etapas)
- ventana de Hamming opcional seleccionable por menú
- menú ajustar 4 niveles de brillo
- menú ajustar 8 niveles de frecuencia de muestreo / tiempo de respuesta
- 2 pilas de botón LR44 alimentadas "a bordo"
Paso 1: Adquirir piezas
Lo siguiente es lo que se necesita para este proyecto.
- MSP430G2452 (el chip adicional de TI Launchpad G2 o cualquier MCU de la serie MSP430G 4K de 20 pines)
- una mini placa de pruebas o placa de perforación de 170 puntos de unión para la construcción de preamplificadores
- Amplificador operacional doble TLC272
- mini micrófono electret
- 47k (pull-up), 100k, 2 x 10k, resistencias de 1k
- 1 x 0,1 uF
- cables de puente
- Cabezal de clavija macho de doble fila que se utilizará para el soporte de la batería
- 2 pilas de tipo botón LR44
Paso 2: Diseño de componentes del plan
El proyecto se construirá sobre una mini placa de pruebas de 170 puntos de unión. El diseño de los componentes se muestra a continuación. Cabe destacar que la matriz de LED de 8x8 debe colocarse en la parte superior del MCU MSP430. Aparte de los componentes, también hay cables de puente de conexión representados por los caracteres "+ ------ +".
G V + Gnd (diseño de 1 etapa) ESTAMOS UTILIZANDO ESTE DISEÑO + ==================================== ================= + c0 ………… c7 | MIC……. + ----- + + - +…. | r0 o o o o o o o o | o || o + ----- [100k] --------------- +….. | r1 X o o o o o o o |. + -------------- + - +. C7 C6 R1 C0 R3 C5 C3 R0 |. o o o o o o o o |…… |.. | b6 a7 | | c0 y r1 comparten el mismo pin y no se muestran | +. + - + - + - + | + - + - + - + - + - + - + - + - + - + | * posible aplicación para tener c6 + c0 + r1 | | | V + | | | G b6 b7 T R a7 a6 b5 b4 b3 | | esto liberará b6 para el reloj xtal de 32 khz | | | TLC272 | | | | | | | fuera - + G | | | + a0 a1 a2 a3 a4 a5 b0 b1 b2 | | | +. + - + - + - + | + - + - + - + - + - + - + - + - + - + | | o || o o o. + - +.. R4 R6 C1 C2 R7 C4 R5 R2 | |…. o- [10k] - o……… | |. o- [1k] o o o………._. | | o ---- [10k] ----------- o……. o o | + =============================================== ==== +.1uF 100k 10k Botón ADC + ----------------- +
estamos usando una etapa del TLC272 solamente
Paso 3: Montaje
Puede comenzar a colocar componentes según el diseño de la placa de pruebas. Como es arte ASCII, puede que no sea muy claro. Puede emparejar con las fotos en este paso para identificar todas las conexiones.
Se debe tener cuidado al colocar los chips IC. Por lo general, hay un punto en una de las esquinas para indicar el pin 1 de un dispositivo.
Había usado cables de Ethernet CAT5 y son muy fáciles de trabajar en proyectos de tablero. Si tiene cables CAT5 viejos, puede cortarlos para abrirlos y encontrará que hay 6 cables trenzados en el interior. Son perfectos para protoboards.
Paso 4: compile y cargue el firmware
El código fuente generalmente reside en mis repositorios de github.
Para este proyecto en particular, el único archivo fuente de C nfft.c está incluido en el repositorio de colecciones de mi tablero. Solo necesitas nfft.c
Estoy usando mps430-gcc para compilar el firmware, pero debería funcionar bien con TI CCS. Puede evitar todos los problemas de instalar IDE o compiladores yendo a TI CCS cloud, que es un IDE basado en web. Incluso descargará el firmware a su dispositivo de destino.
Este es un ejemplo de comando de compilación con interruptores
msp430 - gcc -Os -Wall -ffunction-section -fdata-section -fno-inline-small-functions -Wl, -Map = nfft.map, --cref -Wl, --relax -Wl, --gc- secciones -I / energia-0101E0016 / hardware / msp430 / cores / msp430 -mmcu = msp430g2553 -o nfft.elf nfft.c
Estoy usando un TI Launchpad G2 como programador para programar la MCU.
Paso 5: Comprenda el circuito
El esquema del circuito se presenta a continuación.
MSP430G2452 o similar, necesita 4K Flash TLC272 Dual Op-Amp, GBW @ 1.7Mhz, @ x100 ganancia, ancho de banda de hasta 17Khz
* solo estamos usando una etapa del TLC272
._.
| MSP430G2452 | Vcc | | | + ----------------------- 2 | ADC0 | 1 - + | | | |. | Vcc | | | | dominadas (47k) Vcc Vcc | --------------- | | | | _ | | | + -1 | ----. Vcc | 8- + | | | |. |. |. | ^.--- | 7 | | 16- + | | 10k | | 10k | | | / / ^ | | | | _ | | _ | 100k | _ | | / _ + / / / | | / | --- (ver diseño de tablero) |.1u | | | | | / _ + / | | / | ------_ + - || --- | - [1k] - + - 2 | --- + | | | | | 15 GPIO | | | | + ---------- 3 | ----- + + - | - | 6 | P1.1-P1.7 | | 8x8 | | | + -4 | Gnd + - | 5 | P2.0-P2.7 | | LED | | + | | --------------- | | | matriz | ((O)) |. | | / | | _ | | MIC | | 10k | + -20 | Gnd / | -------- | | _ | | | | _ | _ | _ _ | _ _ | _ _ | _ /// /// /// ///
Conducción LED
La matriz de LED es de 8 x 8 elementos. Están accionados por 15 pines GPIO. Están multiplexados con esquema de 8 filas y 8 columnas. Dado que solo hay 15 pines después de que usamos 1 pin para la entrada ADC, la multiplexación tiene la fila 1 y la columna 0 compartiendo un solo pin. Esto significa que el LED en particular en la fila 1 y la columna 0 no se puede encender. Este es un compromiso ya que simplemente no hay suficientes pines GPIO para controlar todos los elementos LED.
Captura de sonido
El sonido se captura a través del micrófono de condensador integrado en el Educational BoosterPack. Como las señales del micrófono son pequeñas, necesitamos amplificarlas a un nivel que el msp430 ADC10 pueda usar con una resolución razonable. Había usado un amplificador de amplificador operacional de dos etapas para este propósito.
El amplificador de amplificador operacional consta de dos etapas, cada una con una ganancia de aproximadamente 100x. Adopté el TLC272 ya que también es una pieza muy común y funciona con 3V. El ancho de banda de ganancia es de aproximadamente 1.7Mhz significa que para nuestra ganancia de 100x, solo podemos garantizar que funcionará bien (es decir, mantendrá la ganancia que queremos) por debajo de 17Khz. (1,7 Mhz / 100).
Originalmente tenía la intención de hacer que este analizador de espectro mida hasta 16-20Khz, pero al final descubrí que unos 8Khz son lo suficientemente buenos para mostrar música. Esto se puede cambiar reemplazando el LM358 con algo de clasificación de audio y cambiando la frecuencia de muestreo. Solo busque el ancho de banda de ganancia de los amplificadores operacionales que elija.
Muestreo y FFT
La función FFT utilizada es el código "fix_fft.c" que muchos proyectos habían adoptado, ha estado flotando en Internet durante algunos años. Probé una versión de 16 bits y una versión de 8 bits. Finalmente me conformé con la versión de 8 bits, ya que para mi propósito, no vi un avance importante en la versión de 16 bits.
No tengo una buena comprensión del mecanismo FFT, excepto que es un dominio de tiempo a una conversión de dominio de frecuencia. Eso significa que la velocidad (tiempo) de las muestras de sonido, después de alimentar a la función de cálculo FFT, afectará la frecuencia de la amplitud que obtengo como resultado. Entonces, al ajustar la frecuencia para muestrear el sonido, puedo determinar la banda de frecuencia como resultado.
Temporizador Se utiliza un 0 CCR0 para mantener el tiempo de muestreo. Primero determinamos los conteos que necesitamos para lograr la frecuencia de banda (corresponde a nuestra frecuencia de reloj DCO de 16Mhz). es decir, TA0CCR0 establecido en (8000 / (BAND_FREQ_KHZ * 2)) - 1; donde BAND_FREQ_KHZ es 8 para mí. Se puede cambiar si tiene un amplificador operacional mejor y / o quiere que sea diferente.
Bandas de frecuencia y escala de amplitud
El firmware procesa 16 bandas en un barrido y el tiempo de captura produce una separación de 500 Hz entre estos bancos. La matriz de LED es de 8 columnas y solo mostrará 8 bandas / amplitudes. En lugar de mostrar una cada dos bandas, se utiliza una lista de bandas de frecuencia no lineal para mostrar las bandas de frecuencia más dinámicas (en términos de música). La lista es de brechas de 500Hz en el extremo bajo, brechas de 1KHz en las bandas medias y bandas de 1.5Khz en las altas.
La amplitud de las bandas individuales se reduce a 8 niveles, que están representados por el número de 'puntos' horizontales en la pantalla de matriz LED. Los niveles de amplitud se reducen a través de un mapa no lineal que traduce los resultados de FFT en uno de los 8 puntos. Se utiliza una especie de escala logarítmica, ya que representa mejor nuestra percepción de los niveles de sonido.
Hay lógica AGC incorporada y el analizador de espectro intentará reducir los niveles de amplitud cuando se detecten múltiples niveles de pico en los ciclos anteriores. Esto se hace con una tabla comparativa de regla deslizante.
Paso 6: funcionamiento del dispositivo
- Al presionar brevemente la tecla en el modo de visualización, se alterna entre la visualización sin punto, un punto, 2 puntos y 3 puntos.
- La pulsación larga entra en el modo de configuración, la pulsación larga subsiguiente gira a través del menú.
- Los elementos del menú pasan por 'Opción de ventana de Hamming', 'Atenuador', 'Frecuencia de muestreo / actualización'.
- En el modo de configuración 'Ventana de Hamming', las pulsaciones cortas pasan por ciclos sin martillado, martillado 1, martillado 2, martillado 3, la pulsación larga confirma la configuración.
- En el modo de configuración 'Dimmer', las pulsaciones cortas recorren los niveles de brillo disponibles de 0 a 3, la pulsación larga confirma la configuración.
- En el modo de configuración 'Frecuencia de muestreo / actualización', las pulsaciones cortas recorren las frecuencias de actualización disponibles de 0 a 7, 0 significa que no hay demora, una pulsación larga confirma la configuración.
- La multiplexación de segmentos LED incluye retrasos de tiempo para compensar las diferencias de brillo para filas individuales.
Recomendado:
Cómo hacer un analizador de espectro de audio LED: 7 pasos (con imágenes)
Cómo hacer un analizador de espectro de audio LED: el analizador de espectro de audio LED genera el hermoso patrón de iluminación de acuerdo con la intensidad de la música.Hay muchos kits de espectro musical LED DIY disponibles en el mercado, pero aquí vamos a hacer un espectro de audio LED. Analizador con NeoPixe
Cómo hacer un analizador de espectro de música de audio LED de 32 bandas con Arduino Nano en casa #arduinoproject: 8 pasos
Cómo hacer un analizador de espectro de música de audio LED de 32 bandas usando Arduino Nano en casa #arduinoproject: hoy haremos un analizador de espectro de música de audio LED de 32 bandas en casa usando Arduino, puede mostrar el espectro de frecuencia y reproducir música al mismo tiempo. debe estar conectado frente a la resistencia de 100k, de lo contrario el ruido del altavoz
Analizador de espectro de audio DIY FFT: 3 pasos
Analizador de espectro de audio DIY FFT: el analizador de espectro FFT es un equipo de prueba que utiliza análisis de Fourier y técnicas de procesamiento de señales digitales para proporcionar análisis de espectro. Usando el análisis de Fourier es posible que un valor en, por ejemplo, el dominio de tiempo continuo sea conver
Analizador de espectro de señal de audio Arduino DIY: 3 pasos
Analizador de espectro de señal de audio Arduino DIY: este es un analizador de audio muy simple con modos visuales cambiables
Analizador de espectro de audio (medidor VU): 6 pasos
Analizador de espectro de audio (medidor VU): ¿Qué es la música? Desde un punto de vista técnico, la música es básicamente una señal con voltaje y frecuencia variables. Audio Spectrum Analyzer es un dispositivo que muestra el nivel de voltaje de una frecuencia particular. Es un instrumento utilizado principalmente en lugares como