Generador de Onda Sinusoidal, Cuadrada y Triangular AD9833

Módulos

Generador de Onda Sinusoidal, Cuadrada y Triangular AD9833

$480 Quedan 2 unidades

Descripción eléctrica detallada: El módulo AD9833 es un generador de señal de frecuencia programable mediante interfaz serial (SPI), ideal para aplicaciones que requieren generaci…

MóduloPrototipoArduinoBajo stockCódigo

Pocas unidades disponibles: conviene confirmar stock y entrega por WhatsApp.

Stock confirmado por WhatsApp Envíos Montevideo e interior Ayuda técnica antes de pagar

Información técnica

Descripción eléctrica detallada: El módulo AD9833 es un generador de señal de frecuencia programable mediante interfaz serial (SPI), ideal para aplicaciones que requieren generación de formas de onda como sinusoidal, cuadrada y triangular. Funciona con un rango de frecuencia desde 0 hasta 12.5 MHz, controlado por un microcontrolador o Arduino.

Especificaciones:

Voltaje de operación: 2.3V a 5.5V Consumo de corriente: 20 mA (típico) Interfaz: Serial SPI Tipos de onda generados: Sinusoidal, cuadrada y triangular Rango de frecuencia: 0 a 12.5 MHz, ajustable mediante programación Resolución de frecuencia: 28 bits, permitiendo pasos de frecuencia muy finos Salida: Señal analógica de baja distorsión

Comprar Generador de Onda Sinusoidal, Cuadrada y Triangular AD9833 en Uruguay

En MicroUniversos podés consultar stock de Generador de Onda Sinusoidal, Cuadrada y Triangular AD9833, coordinar entrega en Montevideo o envío al interior y revisar compatibilidad antes de cerrar el pedido por WhatsApp.

Si estás armando un proyecto con Arduino, ESP32, sensores, displays o módulos de potencia, enviá placa, tensión y objetivo para confirmar que este producto sea adecuado.

Ejemplo de código

#include <SPI.h>

// Pines de conexión
const int FSYNC = 10; // Pin FSYNC conectado a SS (Chip Select)
const int SPI_SPEED = 1000000; // Velocidad de comunicación SPI

void setup() {
  pinMode(FSYNC, OUTPUT);
  SPI.begin();
  SPI.beginTransaction(SPISettings(SPI_SPEED, MSBFIRST, SPI_MODE2));
  digitalWrite(FSYNC, HIGH);

  resetAD9833(); // Resetea el módulo
  setFrequencyAD9833(1000); // Configura la frecuencia a 1 kHz
  setWaveformAD9833("sinusoidal"); // Configura la onda sinusoidal
}

void loop() {
  // El loop se deja vacío ya que la configuración inicial sigue generando la onda continuamente
}

// Función para enviar comandos al AD9833
void sendCommand(uint16_t command) {
  digitalWrite(FSYNC, LOW);
  SPI.transfer(highByte(command));
  SPI.transfer(lowByte(command));
  digitalWrite(FSYNC, HIGH);
}

// Resetea el AD9833
void resetAD9833() {
  sendCommand(0x0100); // Comando de reset
}

// Configura la frecuencia del AD9833
void setFrequencyAD9833(uint32_t frequency) {
  uint32_t freq_reg = (frequency * pow(2, 28)) / 25000000; // 25 MHz de reloj
  uint16_t freq_low = freq_reg & 0x3FFF;
  uint16_t freq_high = (freq_reg >> 14) & 0x3FFF;

  sendCommand(0x2100); // Configura FREQ0 y PHASE0
  sendCommand(0x4000 | freq_low); // Envía los bits bajos de frecuencia
  sendCommand(0x4000 | freq_high); // Envía los bits altos de frecuencia
  sendCommand(0x2000); // Sale del reset
}

// Configura el tipo de onda a generar
void setWaveformAD9833(String waveform) {
  if (waveform == "sinusoidal") {
    sendCommand(0x2000); // Onda sinusoidal
  } else if (waveform == "cuadrada") {
    sendCommand(0x2028); // Onda cuadrada
  } else if (waveform == "triangular") {
    sendCommand(0x2002); // Onda triangular
  }
}