Arkisin ennen klo 14.00 tilatut tuotteet lähetetään samana päivänä ja ovat 98 %:ssa tapauksista perillä seuraavana päivänä. Ilmainen palautus 30 päivän harkinta-aika 1 vuoden takuu

Kytkentäkaavio ja koodiesimerkki

Näin kytket AD9850 DDS Signaaligeneraattori -moduuli:n Arduino UNOon tai ESP32:een, mukana esimerkkisketsi, jonka voit ladata heti.

AD9850 DDS -siniaallon ja kanttiaallon generaattori

Tämä projekti ohjaa AD9850 DDS -moduulia 4-johtimisella sarjaliitännällä tuottaakseen tarkkoja siniaallon ja kanttiaallon taajuuksia. Arduino alustaa DDS-moduulin ja vaihtaa lähtötaajuutta ajoittain välillä 1 kHz, 10 kHz ja 100 kHz. Kytke oskilloskooppi tai taajuuslaskuri ZOUT1:een (siniaalto) tai QOUT1:een (kanttiaalto) tarkastellaksesi lähtösignaalia.

Kytkentäkaavio: AD9850 DDS Signaaligeneraattori -moduuli laitteessa Arduino UNO
Kytkentäkaavio · Klikkaa suurentaaksesi
Kytkentätaulukko: AD9850 DDS Signaaligeneraattori -moduuli laitteessa Arduino UNO
Kytkentätaulukko · Klikkaa suurentaaksesi
AD9850_DDS_Sine_Square_Wave_Generator.ino · käännetty ja testattu
/*
 * ==================================================================
 *  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-signaaligeneraattori ESP32:lla

Tämä projekti tuottaa tarkkoja sini- ja kanttiaalto-signaaleja AD9850 DDS-moduulilla, jota ohjaa ESP32. Sketch käy läpi taajuusjakson (1 kHz, 10 kHz, 100 kHz ja 1 MHz) 3 seconds välein. Kytke oskilloskooppi tai taajuuslaskin ZOUT1-liitäntään siniaaltolähtöä varten tai QOUT1-liitäntään kanttiaaltolähtöä varten.

Kytkentäkaavio: AD9850 DDS Signaaligeneraattori -moduuli laitteessa ESP32 DevKit V1
Kytkentäkaavio · Klikkaa suurentaaksesi
Kytkentätaulukko: AD9850 DDS Signaaligeneraattori -moduuli laitteessa ESP32 DevKit V1
Kytkentätaulukko · Klikkaa suurentaaksesi
AD9850_DDS_Signal_Generator_with_ESP32.ino · käännetty ja testattu
/*
 * ==================================================================
 *  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 Signaaligeneraattori -moduuli

Signaaligeneraattorit / funktiogeneraattorit ovat erittäin käteviä RF:stä sulautettuun logiikkaan, mutta ne eivät yleensä ole kovin edullisia.

Hyvä uutinen: tällä AD9850 DDS -moduulilla voit pienellä kokoonpanolla tehdä oman joustavan, toimivan ja helppokäyttöisen Arduino-taajuusgeneraattorin!

LED-näytöllä, rotary Potentiometerilla ja Arduinolla voit tehdä helposti käytettävän, itsenäisen signaaligeneraattorin. (Älä unohda hankkia CP2102 USb naar TTL Serial Converter jos sinulla ei vielä ole sellaista)

Voit myös valita tämän yhdistämisen vain Arduino Unoon breadboardilla.

Täysin toinen vaihtoehto on käyttää tätä moduulia oman Software Defined Radio (SDR) -ratkaisun tekemiseen.

Lyhyesti: hieno moduuli, jonka kanssa on mukava aloittaa!

Ominaisuudet:

  • 125 MHz kellotaajuus
  • On-Chip High Performance DAC ja nopea Comparator
  • DAC SFDR > 50 dB @ 40 MHz AOUT
  • 32-bittinen taajuuden virityssana
  • Yksinkertaistettu ohjausliitäntä: rinnakkaisbyte tai sarja Latausmuoto
  • Vaihemodulaation mahdollisuus
  • Toiminta yhdellä 3,3 V tai 5 V virtalähteellä
  • Alhainen teho: 380 mW @ 125 MHz (5 V); 155 mW @ 110 MHz (3,3 V)
  • Sammutustoiminto
  • Ultrakompakti SSOP-pakkaus 28 johdolla

KÄYTTÖKOHTEET:

  • Taajuus/vaihe—Agile siniaaltosynteesi
  • Kellon palautus- ja lukituspiirit digitaaliseen viestintään
  • Digitaalisesti ohjattu ADC-koodausgeneraattori
  • Agile Local Oscillator -sovellukset
  • AD9850 DDS
  • 3,3 V tai 5 V
  • LED-näyttö
  • 125 MHz
Toistettaessa video ladataan YouTubesta.

Miksi valita tämä tuote?

  • Helppo käyttää – Yhdistettävissä Arduinoon ja koekytkentäalustaan.
  • Itsenäinen generaattori – Näytöllä, potentiometrillä ja Arduinolla.
  • Oman SDR:n rakentaminen – Soveltuu myös Software Defined Radioon.
  • Alhainen virrankulutus – Toimii 380 mW:lla tai 155 mW:lla.
  • Vaihemodulaatio mahdollinen – Tukee vaihemodulaatiota.
Tiedot
Virtalähde3,3 V tai 5 V
Kellotaajuus125 MHz
Teho380 mW @ 125 MHz (5 V); 155 mW @ 110 MHz (3,3 V)
MalliAD9850
Yksinkertaistettu ohjausliittymärinnakkainen tavu- tai sarjalatausmuoto
Pieni virrankulutus380 mW @ 125 MHz (5 V); 155 mW @ 110 MHz (3,3 V)
Poikkeamien määrä28

Usein ostettu yhdessä

Yhteensä: € 20,90

Arvostelut

★★★★★ 5,0/5 1 arvostelu
  • ★★★★★Aad StekelenburgVahvistettu ostos

    Erinomainen

Kirjoita arvostelu
Arvostelusi

Toimitus & palautukset

Toimitus

  • Paketti seurannalla€ 7,7024 tunnin sisällä
  • Nouto PostNL:n toimipisteestä€ 7,4024 tunnin sisällä
  • Kirjelaatikko-paketti€ 3,702 arkipäivän kuluessa
  • Kirjelaatikko­paketti 24 tuntia€ 4,5524 tunnin sisällä
  • Nouto myymälästäIlmainen
Kaikki toimituksesta

Palautukset

Etkö ole tyytyväinen? Sinulla on 30 päivää aikaa vastaanotosta palauttaa tuote.

Kaikki palautuksista

Aiemmin katsotut