Op werkdagen vóór 14:00 uur besteld = dezelfde dag verzonden en in 98% van de gevallen de volgende dag in huis. Gratis retourneren 30 dagen bedenktijd 1 jaar garantie

Aansluitschema en codevoorbeeld

Zo sluit je de AD9850 DDS Signaal Generator Module aan op een Arduino UNO of ESP32, met een voorbeeldsketch die je direct kunt uploaden.

AD9850 DDS sinus- en blokgolfgenerator

Dit project stuurt een AD9850 DDS-module aan via een 4-draads seriële interface om nauwkeurige sinus- en blokgolffrequenties te genereren. De Arduino initialiseert de DDS-module en schakelt periodiek de uitgangsfrequentie tussen 1 kHz, 10 kHz en 100 kHz. Sluit een oscilloscoop of frequentieteller aan op ZOUT1 (sinusgolf) of QOUT1 (blokgolf) om het uitgangssignaal te bekijken.

Aansluitschema: AD9850 DDS Signaal Generator  Module op een Arduino UNO
Aansluitschema · Klik om te vergroten
Aansluittabel: AD9850 DDS Signaal Generator  Module op een Arduino UNO
Aansluittabel · Klik om te vergroten
AD9850_DDS_Sine_Square_Wave_Generator.ino · gecompileerd en getest
/*
 * ==================================================================
 *  Generated by Codey.online  —  https://www.codey.online
 * ==================================================================
 *  Project   : AD9850 DDS Sine & Square Wave Generator
 *  Board     : Arduino UNO (arduino:avr:uno)
 *  Parts     : AD9850 DDS Signal Generator Module
 *  Libraries : none (built-in)
 *
 *  Codey Online is an AI-powered browser IDE for Arduino and ESP32.
 *  Describe your project and Codey writes the code, draws the wiring
 *  diagram and uploads it to your board, straight from the browser.
 *  This code is free to use, modify and share, without warranty.
 * ==================================================================
 */

const int PIN_W_CLK = 8;
const int PIN_FQ_UD = 9;   // Labeled FU_UD on module
const int PIN_DATA  = 10;
const int PIN_RESET = 11;

const unsigned long AD9850_REF_CLOCK = 125000000UL; // 125 MHz reference oscillator

void pulsePin(int pin) {
  digitalWrite(pin, HIGH);
  delayMicroseconds(1);
  digitalWrite(pin, LOW);
  delayMicroseconds(1);
}

void ad9850Reset() {
  digitalWrite(PIN_RESET, HIGH);
  delayMicroseconds(1);
  digitalWrite(PIN_RESET, LOW);
  delayMicroseconds(1);
  pulsePin(PIN_W_CLK);
  pulsePin(PIN_FQ_UD);
}

void ad9850SetFrequency(double freqHz) {
  // Calculate 32-bit tuning word: (freq * 2^32) / ReferenceClock
  uint32_t tuningWord = (uint32_t)((freqHz * 4294967296.0) / (double)AD9850_REF_CLOCK);

  // Transmit 32-bit frequency tuning word (LSB first)
  for (int i = 0; i < 32; i++) {
    digitalWrite(PIN_DATA, (tuningWord >> i) & 0x01);
    pulsePin(PIN_W_CLK);
  }

  // Transmit 8 control/phase bits (all 0 for normal operation)
  for (int i = 0; i < 8; i++) {
    digitalWrite(PIN_DATA, LOW);
    pulsePin(PIN_W_CLK);
  }

  // Latch the updated frequency into the DDS core
  pulsePin(PIN_FQ_UD);
}

void setup() {
  pinMode(PIN_W_CLK, OUTPUT);
  pinMode(PIN_FQ_UD, OUTPUT);
  pinMode(PIN_DATA, OUTPUT);
  pinMode(PIN_RESET, OUTPUT);

  digitalWrite(PIN_W_CLK, LOW);
  digitalWrite(PIN_FQ_UD, LOW);
  digitalWrite(PIN_DATA, LOW);
  digitalWrite(PIN_RESET, LOW);

  Serial.begin(115200);
  while (!Serial) {
    ;
  }

  Serial.println(F("AD9850 DDS Generator Initialized"));
  ad9850Reset();
}

void loop() {
  const double testFrequencies[] = {1000.0, 10000.0, 100000.0};

  for (int i = 0; i < 3; i++) {
    double freq = testFrequencies[i];
    ad9850SetFrequency(freq);
    Serial.print(F("Output frequency set to: "));
    Serial.print(freq);
    Serial.println(F(" Hz"));
    delay(3000);
  }
}

Wiring diagram and example code generated by Codey.online — https://www.codey.online

AD9850 DDS-signaalgenerator met ESP32

Dit project genereert nauwkeurige sinus- en blokgolf-signalen met behulp van de AD9850 DDS-module, aangestuurd door een ESP32. De sketch doorloopt elke 3 seconden een reeks frequenties (1 kHz, 10 kHz, 100 kHz en 1 MHz). Sluit een oscilloscoop of frequentieteller aan op ZOUT1 voor een sinusgolf of op QOUT1 voor een blokgolfuitgang.

Aansluitschema: AD9850 DDS Signaal Generator  Module op een ESP32 DevKit V1
Aansluitschema · Klik om te vergroten
Aansluittabel: AD9850 DDS Signaal Generator  Module op een ESP32 DevKit V1
Aansluittabel · Klik om te vergroten
AD9850_DDS_Signal_Generator_with_ESP32.ino · gecompileerd en getest
/*
 * ==================================================================
 *  Generated by Codey.online  —  https://www.codey.online
 * ==================================================================
 *  Project   : AD9850 DDS Signal Generator with ESP32
 *  Board     : ESP32 DEVKIT V1 (esp32:esp32:esp32doit-devkit-v1)
 *  Parts     : AD9850 DDS Signal Generator Module
 *  Libraries : none (built-in)
 *
 *  Codey Online is an AI-powered browser IDE for Arduino and ESP32.
 *  Describe your project and Codey writes the code, draws the wiring
 *  diagram and uploads it to your board, straight from the browser.
 *  This code is free to use, modify and share, without warranty.
 * ==================================================================
 */

// AD9850 DDS Signal Generator Demo on ESP32
const int W_CLK_PIN = 18;
const int FU_UD_PIN = 19;
const int DATA_PIN  = 23;
const int RESET_PIN = 5;

// 125 MHz reference clock crystal on board
const double REF_CLK = 125000000.0;

const double testFrequencies[] = {1000.0, 10000.0, 100000.0, 1000000.0};
const int numFrequencies = sizeof(testFrequencies) / sizeof(testFrequencies[0]);
int currentFreqIndex = 0;

void pulseHigh(int pin) {
  digitalWrite(pin, HIGH);
  delayMicroseconds(1);
  digitalWrite(pin, LOW);
  delayMicroseconds(1);
}

void resetAD9850() {
  pulseHigh(RESET_PIN);
  pulseHigh(W_CLK_PIN);
  pulseHigh(FU_UD_PIN); // Enable serial load mode
}

void sendFrequency(double frequency) {
  uint32_t tuningWord = (uint32_t)((frequency * 4294967296.0) / REF_CLK);

  // Send 32-bit frequency tuning word (LSB first)
  for (int i = 0; i < 32; i++) {
    digitalWrite(DATA_PIN, (tuningWord >> i) & 0x01);
    pulseHigh(W_CLK_PIN);
  }

  // Send 8 control/phase bits (0x00 for 0 phase offset)
  for (int i = 0; i < 8; i++) {
    digitalWrite(DATA_PIN, LOW);
    pulseHigh(W_CLK_PIN);
  }

  // Latch new frequency to output
  pulseHigh(FU_UD_PIN);
}

void setup() {
  Serial.begin(115200);
  delay(500);
  Serial.println("AD9850 DDS Signal Generator Initializing...");

  pinMode(W_CLK_PIN, OUTPUT);
  pinMode(FU_UD_PIN, OUTPUT);
  pinMode(DATA_PIN,  OUTPUT);
  pinMode(RESET_PIN, OUTPUT);

  digitalWrite(W_CLK_PIN, LOW);
  digitalWrite(FU_UD_PIN, LOW);
  digitalWrite(DATA_PIN,  LOW);
  digitalWrite(RESET_PIN, LOW);

  resetAD9850();
  Serial.println("AD9850 ready!");
}

void loop() {
  double freq = testFrequencies[currentFreqIndex];
  sendFrequency(freq);

  Serial.print("Output frequency set to: ");
  Serial.print(freq, 0);
  Serial.println(" Hz");

  currentFreqIndex = (currentFreqIndex + 1) % numFrequencies;
  delay(3000);
}

Wiring diagram and example code generated by Codey.online — https://www.codey.online

AD9850 DDS Signaal Generator Module

Signaalgeneratoren/ Functiegeneratoren zijn superhandig van RF tot embedded logica maar ze zijn meestal niet super goedkoop.

Goed nieuws: met deze AD9850 DDS Module maak je met enige montage je eigen flexibele, functionele en gebruiksvriendelijke Arduino frequentiegenerator!

Met een LED display, rotary Potentiometer, en een Arduino maak je een makkelijk te gebruiken, vrijstaande signaalgenerator. (Vergeet dan niet om een CP2102 USb naar TTL Serial Converter aan te schaffen indien je er nog geen in huis hebt)

Ook kun je er voor kiezen deze enkel te combineren met Arduino Uno op een breadboard.

Een volledig andere route is het gebruiken van deze module om je eigen Software Defined Radio (SDR) te maken.

Kortom, een mooie module om mee aan de slag te gaan!

Kenmerken:

  • 125 MHz kloksnelheid
  • On-Chip High Performance DAC en hoge snelheid Comparator
  • DAC SFDR > 50 dB @ 40 MHz AOUT
  • 32-bits frequentie-afstemwoord
  • Vereenvoudigde besturingsinterface: parallelle byte of serieel Laadformaat
  • Mogelijkheid tot fasemodulatie
  • Werking met één voeding van 3,3 V of 5 V
  • Laag vermogen: 380 mW @ 125 MHz (5 V); 155 mW @ 110 MHz (3,3 V)
  • Uitschakelfunctie
  • Ultrakleine SSOP-verpakking met 28 afleidingen

TOEPASSINGEN:

  • Frequentie/fase—Agile sinusgolfsynthese
  • Klokherstel en vergrendelingscircuits voor digitaal communicatie
  • Digitaal gestuurde ADC-coderingsgenerator
  • Agile Local Oscillator-toepassingen
  • AD9850 DDS
  • 3,3 V of 5 V
  • LED display
  • 125 MHz
Bij afspelen wordt de video van YouTube geladen.

Waarom kiezen voor dit product?

  • Makkelijk te gebruiken – Te combineren met Arduino en breadboard.
  • Vrijstaande generator – Met display, potentiometer en Arduino.
  • Eigen SDR bouwen – Ook inzetbaar voor Software Defined Radio.
  • Laag stroomverbruik – Werkt met 380 mW of 155 mW.
  • Fase-modulatie mogelijk – Ondersteunt fasemodulatie.
Specificaties
Voeding3,3 V of 5 V
Kloksnelheid125 MHz
Vermogen380 mW @ 125 MHz (5 V); 155 mW @ 110 MHz (3,3 V)
ModelAD9850
Vereenvoudigde besturingsinterfaceparallelle byte of serieel Laadformaat
Laag vermogen380 mW @ 125 MHz (5 V); 155 mW @ 110 MHz (3,3 V)
Aantal afleidingen28

Vaak samen gekocht

Totaal: € 20,90

Beoordelingen

★★★★★ 5,0/5 1 beoordeling
  • ★★★★★Aad StekelenburgGeverifieerde koop

    Uitstekend

Schrijf een beoordeling
Jouw beoordeling

Verzenden & retourneren

Verzending

  • Pakket met track & trace€ 7,70Binnen 24 uur
  • Ophalen bij PostNL locatie€ 7,40Binnen 24 uur
  • Brievenbuspakketje€ 3,70Binnen 2 werkdagen
  • Brievenbuspakketje 24 uur€ 4,55Binnen 24 uur
  • Afhalen in de winkelGratis
Alles over verzenden

Retourneren

Niet tevreden? Je hebt 30 dagen bedenktijd na ontvangst om het product terug te sturen.

Alles over retourneren

Eerder bekeken