Поръчано в работни дни преди 14:00 ч. = изпратено същия ден и в 98% от случаите пристига на следващия ден. Безплатно връщане 30 дни за размисъл 1 година гаранция

Схема на свързване и примерен код

Ето как да свържеш AD9850 DDS модул за генератор на сигнали към Arduino UNO или ESP32, с примерен sketch, който можеш да качиш веднага.

Генератор на синусоидална и правоъгълна вълна AD9850 DDS

Този проект управлява модул AD9850 DDS чрез 4-проводен сериен интерфейс, за да генерира прецизни честоти на синусоидална и правоъгълна вълна. Arduino инициализира DDS модула и периодично превключва изходната честота между 1 kHz, 10 kHz и 100 kHz. Свържете осцилоскоп или честотомер към ZOUT1 (синусоидална вълна) или QOUT1 (правоъгълна вълна), за да проверите изходния сигнал.

Схема на свързване: AD9850 DDS модул за генератор на сигнали на Arduino UNO
Схема на свързване · Кликни, за да увеличиш
Таблица на свързване: AD9850 DDS модул за генератор на сигнали на Arduino UNO
Таблица на свързване · Кликни, за да увеличиш
AD9850_DDS_Sine_Square_Wave_Generator.ino · компилирано и тествано
/*
 * ==================================================================
 *  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

DDS генератор на сигнал AD9850 с ESP32

Този проект генерира прецизни синусоидални и правоъгълни сигнали с помощта на модула AD9850 DDS, управляван от ESP32. Скетчът преминава през последователност от честоти (1 kHz, 10 kHz, 100 kHz и 1 MHz) на всеки 3 seconds. Свържете осцилоскоп или честотомер към ZOUT1 за синусоидален сигнал или към QOUT1 за правоъгълен изход.

Схема на свързване: AD9850 DDS модул за генератор на сигнали на ESP32 DevKit V1
Схема на свързване · Кликни, за да увеличиш
Таблица на свързване: AD9850 DDS модул за генератор на сигнали на ESP32 DevKit V1
Таблица на свързване · Кликни, за да увеличиш
AD9850_DDS_Signal_Generator_with_ESP32.ino · компилирано и тествано
/*
 * ==================================================================
 *  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 модул за генератор на сигнали

Генераторите на сигнали/функционалните генератори са изключително удобни от RF до вградена логика, но обикновено не са много евтини.

Добрата новина: с този AD9850 DDS модул, с малко монтаж, можете да си направите собствен гъвкав, функционален и лесен за използване Arduino честотен генератор!

С LED дисплей, ротационен потенциометър и Arduino можете да направите лесен за използване, самостоятелен генератор на сигнали. (Не забравяйте да закупите CP2102 USb към TTL Serial Converter, ако все още нямате такъв)

Можете също така да изберете да го комбинирате само с Arduino Uno на breadboard.

Напълно различен подход е да използвате този модул, за да направите собствено Software Defined Radio (SDR).

Накратко, чудесен модул, с който да започнете!

Характеристики:

  • 125 MHz тактова честота
  • Вграден високопроизводителен DAC и високоскоростен компаратор
  • DAC SFDR > 50 dB @ 40 MHz AOUT
  • 32-битов честотен дума за настройка
  • Опростен интерфейс за управление: паралелен байт или сериен формат на зареждане
  • Възможност за фазова модулация
  • Работа с едно захранване 3,3 V или 5 V
  • Ниска консумация: 380 mW @ 125 MHz (5 V); 155 mW @ 110 MHz (3,3 V)
  • Функция за изключване
  • Ултракомпактна SSOP опаковка с 28 извода

ПРИЛОЖЕНИЯ:

  • Честота/фаза—Agile синусоидална синтеза
  • Схеми за възстановяване и заключване на тактова честота за цифрова комуникация
  • Цифрово управляван ADC кодиращ генератор
  • Agile приложения за локален осцилатор
  • AD9850 DDS
  • 3,3 V of 5 V
  • LED дисплей
  • 125 MHz
При пускане видеото се зарежда от YouTube.

Защо да изберете този продукт?

  • Лесен за използване – За комбиниране с Arduino и breadboard.
  • Самостоятелен генератор – С дисплей, потенциометър и Arduino.
  • Изграждане на собствен SDR – Подходящ и за Software Defined Radio.
  • Ниска консумация на енергия – Работи с 380 mW или 155 mW.
  • Възможна фазова модулация – Поддържа фазова модулация.
Спецификации
Захранване3,3 V или 5 V
Тактова честота125 MHz
Мощност380 mW @ 125 MHz (5 V); 155 mW @ 110 MHz (3,3 V)
МоделAD9850
Опростен интерфейс за управлениепаралелен байт или сериен формат на зареждане
Ниска мощност380 mW @ 125 MHz (5 V); 155 mW @ 110 MHz (3,3 V)
Брой изводи28

Често купувани заедно

Общо: € 20,90

Отзиви

★★★★★ 5,0/5 1 отзив
  • ★★★★★Aad StekelenburgПотвърдена покупка

    Отлично

Напиши отзив
Твоята оценка

Доставка & връщане

Доставка

  • Пратка с track & trace€ 7,70В рамките на 24 часа
  • Вземане от локация на PostNL€ 7,40В рамките на 24 часа
  • Пратка за пощенската кутия€ 3,70В рамките на 2 работни дни
  • Пратка за пощенска кутия 24 часа€ 4,55В рамките на 24 часа
  • Вземане от магазинаБезплатно
Всичко за доставката

Връщане

Не си доволен? Имаш 30 дни след получаването, за да върнеш продукта.

Всичко за връщането

Наскоро разгледани