Tabla de contenido:
Video: Generador de señales AD9833: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Un generador de señales es una pieza muy útil de equipo de prueba. Este usa un módulo AD9833 y un Arduino Nano, eso es todo, ni siquiera un PCB. Opcionalmente, puede agregar una pantalla OLED. El AD9833 puede generar ondas sinusoidales, triangulares y cuadradas de 0,1 Hz a 12,5 MHz; el software de este proyecto está limitado a 1 Hz a 100 kHz.
Ha habido otros Instructables usando un Arduino y un AD9833, aquí y aquí. Esto es más simple y se puede utilizar como generador de barrido. Los generadores de barrido ayudan a probar la respuesta de frecuencia de filtros, amplificadores, etc. A diferencia de los otros diseños de Instructables, este no incluye un amplificador o control de amplitud, pero puede agregarlos si lo desea.
Paso 1: generador de señales más simple
Para obtener el generador de señales más simple, simplemente suelde el módulo AD9833 en la parte posterior del Arduino Nano. No se necesita PCB.
El módulo AD9833 que elegí es similar a este. No digo que sea el mejor o el más barato proveedor, pero debes comprar uno que se parezca a esa foto (o la foto de arriba).
Las conexiones entre los módulos son:
- tierras conectadas entre sí
- D2 = FSync
- D3 = Clk
- D4 = Datos
- D6 = Vcc de AD9833
El AD9833 se alimenta desde el pin de datos D6 del Arduino; el Arduino puede suministrar suficiente corriente. Agregué un capacitor de desacoplamiento de 100n porque pensé que "debería" hacerlo, pero no pude ver ninguna diferencia; ya hay un capacitor de desacoplamiento en la placa del módulo AD9833.
Si fueras elegante, es posible que te preocupes por la "tierra analógica" frente a la "tierra digital", pero si fueras elegante, estarías gastando más de £ 4.
El generador de señales más simple se controla y alimenta a través de un cable USB desde una PC. El USB emula un puerto serie que se ejecuta a 115200bps (8 bits, sin paridad). Los comandos son:
- '0'.. '9': cambia el dígito a la matriz de frecuencia "mínima"
- 'S': establece la frecuencia AD9833 y produce una onda sinusoidal
- 'T': establece la frecuencia y produce una onda triangular
- 'Q': establece la frecuencia y produce una onda cuadrada
- 'R': reinicia el AD9833
- 'M': copia la matriz de frecuencia "min" en la matriz "max"
- 'G': barrido de "min" a "max" durante 1 segundo
- 'H': barrido de "min" a "max" durante 5 segundos
- 'I': barrido de "min" a "max" durante 20 segundos
El programa Arduino contiene dos matrices de 6 caracteres "min" y "max. Si transmite un dígito, se cambia a la matriz" min ". Si envía una 'S', los caracteres de la matriz" min "se convierten en un frecuencia de pulsación larga y se envía al AD9833. Así que enviando la cadena
002500S
establecerá la salida del AD9833 en una onda sinusoidal de 2500Hz. Siempre debe enviar los 6 dígitos. La frecuencia mínima es 000001 y la frecuencia máxima es 999999.
Si envía una 'M', la matriz "min" se copia en la matriz "max". Si envía una 'H', el AD9833 emite repetidamente una frecuencia que aumenta gradualmente durante 5 segundos. Comienza en la frecuencia "mínima" y 5 segundos después está en la frecuencia "máxima". Entonces
020000M000100SH
barre de 100Hz a 20kHz. El cambio de frecuencia es logarítmico, por lo que después de 1 segundo la frecuencia será 288Hz, después de 2 segundos 833Hz luego 2402, 6931 y 20000. La frecuencia se cambia cada milisegundo.
El bucle se detiene cuando Arduino recibe otro carácter, así que tenga cuidado de no enviar el comando seguido de retorno de carro o avance de línea. Ese carácter adicional terminaría el ciclo. Si está utilizando el Monitor en serie, hay un cuadro en la parte inferior derecha que podría decir, por ejemplo, "Ambos NL y CR" que (creo) envía caracteres después de su comando. Ajústelo en "Sin final de línea".
Puede descargar el programa Windows EXE a continuación, que enviará los comandos necesarios o puede escribir los suyos propios. El archivo INO de Arduino también está aquí.
Paso 2: agregue un OLED
Si agrega un OLED y dos botones, el generador de señal puede funcionar solo sin una PC.
Aquellos de ustedes que hayan leído mi osciloscopio Instructable reconocerán la similitud. El módulo AD9833 se puede agregar a mi osciloscopio para producir un "Osciloscopio y generador de señales en una caja de cerillas".
La pantalla es un OLED de 1.3 que funciona a 3.3V que está controlado por un chip SH1106 a través de un bus I2C.
Busca en eBay OLED de 1,3 ". No quiero recomendar a un vendedor en particular, ya que los enlaces quedan obsoletos rápidamente. Elige uno que se parezca a esa foto, diga" I2C "o" IIC "y que tenga cuatro pines etiquetados como VDD GND SCL SDA. (Algunas pantallas parecen tener los pines en un orden diferente. Compruébelos. El nombre correcto para el reloj de I2C es "SCL", pero en eBay los tableros se pueden etiquetar como "SCK" como el mío en la foto).
Una descripción más completa de la biblioteca OLED está en mi osciloscopio Instructable en el Paso 8. Debe descargar e instalar la biblioteca de controladores SimpleSH1106.zip que está en el Paso 8. (No quiero cargar otra copia aquí y tengo que mantener dos copias.)
El archivo INO se puede descargar a continuación. Los números de pin usados para el OLED se declaran alrededor de la línea 70. Si ha construido mi "Osciloscopio y generador de señal en una caja de cerillas" y desea probar este archivo INO con él, los números de pin alternativos están habilitados a través de un #define.
He mostrado un diseño de stripboard para el circuito. Hay dos stripboards: uno para el Nano y el AD9833 y otro para la pantalla. Deben formar un sándwich. Las placas se muestran desde el lado del componente. Alambres finos y flexibles unen las dos tablas. Coloque las tablas juntas con separadores soldados. En mi diagrama, el cobre de la placa se muestra en cian. Las líneas rojas son enlaces de cables en la placa de tira o cables flexibles que unen las placas. No he mostrado los cables de potencia y "señal".
El módulo AD9833 está soldado en el lado de cobre de la placa, en el lado opuesto del Nano. Suelde los pines en las tiras de cobre, luego coloque el AD9833 en ellos y suéldelo.
La pantalla muestra una sola frecuencia o las frecuencias "mínima" y "máxima".
Hay dos botones: un botón "Horizontal" para seleccionar un dígito de las frecuencias y un botón "Vertical" para cambiar ese dígito.
Enciendo el generador de señal desde el circuito que estoy desarrollando; siempre tengo 5 V disponibles en mi estación de trabajo.
Paso 3: Desarrollos futuros
¿Podría funcionar con pilas? Sí, solo agregue un 9V PP3 conectado al pin RAW del Nano. Por lo general, usa 20 mA.
¿Podría funcionar con una sola celda de litio? No veo por qué no. Debe conectar el OLED Vdd y su resistencia pull-up a la batería de 3.7V (dudo que la salida de 3.3V del Arduino funcione correctamente).
Un generador de barrido es más útil cuando se prueba la respuesta de frecuencia de un filtro si puede graficar la amplitud frente a la frecuencia. Medir la amplitud de una señal es complicado: debe compensar la caída de su detector de envolvente frente a la ondulación para las frecuencias bajas y el tiempo de respuesta para las frecuencias altas. Habiendo construido su detector de amplitud, podría alimentar su salida al ADC del Arduino del "Generador de señal más simple" y luego enviar el resultado, junto con la frecuencia actual a la PC.
Esta página es un punto de partida útil para buscar en Google "detector de sobre" o "detector de picos". En el circuito sugerido arriba, debe configurar la frecuencia de la señal, esperar a que se estabilice, configurar el pin Arduino A0 en salida digital baja, esperar a descargar C, configurar A0 en entrada, esperar, luego medir con el ADC. Déjame saber cómo te va.
Recomendado:
Cómo utilizar el generador de señales de frecuencia Arduino DDS AD9850: 7 pasos
Cómo usar el generador de señal de frecuencia Arduino DDS AD9850: En este tutorial aprenderemos cómo hacer un generador de señal de frecuencia usando un módulo AD9850 y Arduino.¡Mire el video! peor con las frecuencias más altas
Revisión completa del generador de señales Vintage: 8 pasos
Revisión completa de Vintage Signal Generator: Adquirí un generador de señal de RF Eico 320 en una reunión de intercambio de radioaficionados por un par de dólares hace unos años, pero nunca pude hacer nada con él hasta ahora. Este generador de señales tiene cinco rangos conmutables de 150 kHz a 36 MHz y con ha
Generador de música basado en el clima (generador Midi basado en ESP8266): 4 pasos (con imágenes)
Generador de música basado en el clima (Generador Midi basado en ESP8266): Hola, hoy explicaré cómo hacer tu propio generador de música basado en el clima. Está basado en un ESP8266, que es como un Arduino, y responde a la temperatura, la lluvia y la intensidad de la luz. No espere que haga canciones completas o programas de acordes
ALTERNATIVA DEL GENERADOR DE SEÑALES DE CONTROL PARA CONTROL ELECTRÓNICO DE VELOCIDAD (ESC): 7 pasos
ALTERNATIVA DEL GENERADOR DE SEÑALES DE CONTROL PARA CONTROL ELECTRÓNICO DE VELOCIDAD (ESC): Hace un tiempo publiqué un video (https://www.youtube.com/watch?v=-4sblF1GY1E) en mi canal de YouTube donde mostraba cómo hacer una turbina eólica de un motor de CC sin escobillas. Hice el video en español y explicaba que este motor se le había dado a
Generador - Generador de CC con interruptor de lengüeta: 3 pasos
Generador - Generador de CC con interruptor de láminas: Generador de CC simple Un generador de corriente continua (CC) es una máquina eléctrica que convierte la energía mecánica en electricidad de corriente continua. cambios