Подключение AD9850 к Arduino

12-03-2020, 16:08 1 комментариев
Сегодня постараемся разобрать подключение AD9850 к Arduino, а также все базовые параметры и нюансы применения данного устройства. Речь идет о частотном генераторе, который ныне широко используется в различных проектах. Он несложен в сборке, достаточно бюджетен, при этом функционален. Обо всем этом поговорим детальнее.

И начнем со сферы применения модуля. Цифровой DDS генератор задействуют во многих областях современной электроники (радиоэлектроники в том числе) – для определения и конфигурации технической характеристики тактов сигнальных волн, регулировки компонентов приемников (которые передают радиоволны), для создания аналоговых синтезаторов, с целью поиска оптимальных местоположений для трубопроводов и кабелей (даже на дальних расстояниях) и т.д. Сфер очень много, а потому модуль несомненно достоин полноценного информационного обзора!

Обратите внимание на технические характеристики синтезатора частот:
  • напряжение питания: 3,3 – 5V;
  • энергопотребление: 380 мВт при 5В, 155 мВт при 3,3В;
  • частота тактового сигнала: 125 МГц (MAX);
  • частота меандр: 0 – 1 МГц;
  • диапазон рабочих температур: –40°C … +85°C;
  • размеры: 45 х 25 х 15mm;
  • вес: около 6 г.
Устройство обладает высококачественным ЦАП и быстродействующим компаратором, а также имеет функцию пониженного энергопотребления.

Теперь рассмотрим подробнее подключение AD9850 к Ардуино. Для реализации простого проекта нам понадобятся такие аппаратные элементы:
  1. Микроконтроллер Arduino Uno (Nano также подойдет)
  2. Модуль генератора AD9850
  3. LCD-дисплей
  4. Соединительные провода
  5. USB-провод
Так выглядит наша схема подключения:

С платой Нано схема будет немного иной:
Для оптимизации процесса прошивки советуем скачать и инсталлировать специализированное ПО – в этом случае библиотеку Rotary. Открыть архив с приложением следует в папке libraries (среда разработки IDE).

Прописываем программный скетч:
/*
 * Rotary encoder library for Arduino.
 */

#ifndef rotary_h
#define rotary_h

#include "Arduino.h"

// Enable this to emit codes twice per step.
//#define HALF_STEP

// Enable weak pullups
#define ENABLE_PULLUPS

// Values returned by 'process'
// No complete step yet.
#define DIR_NONE 0x0
// Clockwise step.
#define DIR_CW 0x10
// Anti-clockwise step.
#define DIR_CCW 0x20

class Rotary
{
  public:
    Rotary(char, char);
    // Process pin(s)
    unsigned char process();
  private:
    unsigned char state;
    unsigned char pin1;
    unsigned char pin2;
};

#endif
Учитываем тот факт, что управление датчиком может быть параллельным или последовательным.
На этом пока всё. Изучайте Arduino и развивайтесь во всех направлениях!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

В новом информационном обзоре рассматриваем GSM модуль SIM800L к Arduino. Почему выбрано именно это устройство? Во-первых, оно достаточно известно и популярно...

В этой статье мы рассмотрим подключение ADS1115 к Ардуино. Речь идет о 16-битном аналого-цифровом преобразователе, оснащенном 4 входами непосредственно для...

Наш новый информационный обзор посвящен подключению AD9833 к Ардуино. Мы постараемся рассмотреть базовые особенности устройства, его преимущества и схему...

Модуль энкодер KY-040 является электромеханическим устройством, а точнее - датчиком угла поворота и вращения оси различных девайсов. Непосредственно сам прибор...

1 комментария
  1. Первый
    18 апреля 2023 16:35 Первый

    Статья шляпа. Автор с 8-ми летним стажем работы в своих влажных мечтах.

    replyОтветить
Оставить комментарий