Генератор сигналов произвольной формы на AD9833 и Arduino
Данное устройство сделал для того чтобы опробовать AD9833 модуль. Совместное использование аппаратной SPI шины вызвало некоторые программные проблемы, которые необходимо решить. Изначально я не мог получить библиотеку дисплея ST7735 Adafruit , чтобы разделить шину SPI , так что я перешел на немного другой модуль TFT дисплея от BangGood. Он использует версию библиотеки Adafruit , которая была изменена с помощью QDTech для их собственных аппаратных средств отображения и которые используют контроллер Samsung S6D02A1.
Схема
Энкодер для ATmega328 подключен к D2 и D3 - которые запускают процедуру прерывания в программном обеспечении - контролирует частоту, которая записывается в AD9833 модуль (и к выходу). Приращение частоты с коэффициентом x1, x10, x100, X1000 и так далее. Фактический прирост устанавливается с помощью второго энкодера - программным обеспечением, а не с помощью прерывания. Выбранный множитель (x1, x10, и т.д.), отображается на дисплее, выделив нужную цифру в желтый цвет. Энкодер подключен к " back ", вращая ручку против часовой стрелки, он увеличивает приращение. В результате, подсвеченные цифра перемещается влево, если ручка поворачивается влево, и наоборот.
Источник питания
LTC1046 5v к -5v конвертер , в секции питания, обеспечивает -5v и + 5v. Большинство широкополосных усилителей, как правило, требуют ± 5v питания, так что это удобно. Я нашел, что это практически невозможно разработать и протестировать широкополосный усилитель на макете, так что имело смысл иметь объект, чтобы добавить его в качестве отдельной печатной плате.
Дополнительный буфер / усилитель / фильтр
Хотя не показано на схеме A5 соединяет ATmega328. Настроен как цифровой выход, он может, например, использоваться для переключения аттенюатора при квадратно - волновом (выводится из ИС AD9833). Квадратные волны выводятся на 5 вольт, тогда как синусоида и треугольник будут только около 600 мВ. Первоначальная идея сравание AD9850 и AD9833 модулей, я думаю, что AD9850 обеспечивает более чистый выходной сигнал в более широком диапазоне частот, но, если частота поддерживается на уровне ниже 1 МГц, то AD9833 имеет преимущество и обеспечивает треугольную форму волны. AD9850 использует эталонный 125MHz кварц для генерации синусоиды в то время как у AD9833 он только 25МГц. Модуль AD9850 также выгоден для 3 ступени фильтра нижних частот, чтобы удалить любые нежелательные гармоники.
Пример фильтра
Компоновка печатной платы
Сборка
Основные компоненты
1.8 "TFT-дисплей модуль |
Модуль AD9833 DDS |
50x130x100mm корпус |
Программирование ATmega328
Arduino библиотеки:
Adafruit_GFX Adafruit_GFX библиотека
Adafruit_ST7735 библиотека *
Adafruit_QDTech библиотека *
* Используйте библиотеку ST7735, если дисплей имеет ST7735 чип или библиотеку QDTech если дисплея который использует чип Samsung S6D02A1.
СКАЧАТЬ Программный код конструкции