Схема dds генератора сигналов

Схема dds генератора сигналов

Функциональный DDS генератор сигналов "OSKAR-DDS"

Автор: Гармаш Геннадий, gennadiy.v@gmail.com
Опубликовано 17.02.2015
Создано при помощи КотоРед.

Все, что нельзя запрограммировать на ассемблере, приходится паять.

Казалось бы существует великое множество любительских генераторов сигналов, бери да повторяй, но не так все просто. Всегда считал что промышленные генераторы закроют все мои потребности, да и лучше они любительских. Но жизнь расставила все по местам, пришлось делать свой, который бы хоть на немного закрыл мои потребности. При всей своей простоте конструкции, его возможностей достаточно для применения радиолюбителями и не только. Выполнен на доступных деталях и прост в настройке.

Теперь кратко о технических характеристиках:

— Габариты п/п 67 *88 *19 мм, разработана специально для установки в корпус Z-19
— Дисплей 2*16 символов , светодиодная подсветка .
— Питание 3,7 — 5 вольт. 3 элемента типа ААА или литиевый аккумулятор или внешнее. Максимальное потребление 40 мА
— Выходное напряжение Vp-p аналоговый выход — 3,3v.
— Частота дискретизации DDS -1,6 МГц.
— Диапазон частот аналоговой части 0-600 кГц
— Встроенные отключаемые фильтра 30 кГц и 300 кГц
— Выходной делитель 1/10 для аналоговой части.
— Управление — энкодер с прогрессивной харракеристикой
— Базовые сигналы -синусоида, прямоугольник, пила прямая и обратная , треугольник, ЭКГ.
— Контроль источника питания, подзарядка аккумулятора, если есть.

Далее все подробно распишем по каждому режиму.

Вариант компоновки в корпусе Z-19. Вместо отсека для батареек можно расположить литиевый аккумулятор.
Гнезда для подключения можно расположить на передней панели и клеммы в плату не запаивать.

Схема генератора выполнена на доступных деталях и проста в настройке.

Скачать в формате sPlan 7.0 можно по ссылке в конце статьи.

Немного подробнее о схеме.
Ядром является микроконтроллер PIC18F26K22 фирмы "MICROCHIP", который собственно и выполняет все функции прибора. Аналоговая часть выполнена на сдвоенном операционном усилителе MCP6022 с полосой единичного усиления 10 МГц , цифровом сдвоенном переменном резисторе MCP41010, сдвоенном ОУ MCP602 и аналоговом коммутаторе.
Сдвоенный переменный резистор используется для регулировки уровня выходного сигнала и регулировки смещения по постоянному току выходного сигнала. Источник опорного напряжения и буфер виртуальной земли (аналоговая земля ) выполнен на MCP602.
ЗАПРЕЩАЕТСЯ соединять цифровую и аналоговую земли.
В качестве дисплея использован черно-белый символьный индикатор 2*16 BC1602 или совместимые.
Питание всей схемы выполняется от стабилизированного источника 3,3 вольта (LM2950-3.3). Управление питанием выполнено на транзисторах Т1 и Т2.
Питание аналоговой части, несмотря на применение ОУ Rail-to-Rail, выполнено с изюминкой. На D3 сделано смещение в минус, примерно 0,25V, и в плюс до напряжения питания, как минимум 0,2V (падение на LowDrop LM2950), чем обеспечивается высокое качество сигнала во всем диапазоне амплитуд.
Все элементы установлены на двухсторонней печатной плате с одной стороны, а дисплей с подсветкой, клеммы , кварц, гнездо питания и энкодер с другой. В итоге получается компактная , жесткая конструкция.

Скачать в формате *.lay можно по ссылке в конце статьи.

Для сборки нам понадобятся:

Питание
Bat1 = 1 x 4-9V Держатель AAA для 3-х 33×51
Конденсаторы
C17 = 1 x 200p
C18 = 1 x 82p
C1,C2,C3,C4,C5,
C8,C9,C10,C13,
C16,C20,C21 = 12 x 0.1
C11,C12 = 2 x 27
C15,C19 = 2 x 1.0
C6,C7 = 2 x 100.0
Кварц
Cr1 = 1 x 20 MHz
Диоды
D1 = 1 x LL4148
D2 = 1 x 5v6
D3 = 1 x SS12
D4 = 1 x BAV99
D5 = 1 x BAT54S
Микросхемы
DA1 = 1 x MCP42010
DA2 = 1 x MCP602
DA3 = 1 x MCP6022
DD = 1 x PIC18F26K22
IC1 = 1 x 74hc4066
ЖКИ
LCD1 = 1 x BC1602(HD44780 и его аналоги)
Резисторы
R2 = 1 x 6k2
R7 = 1 x 220k
R8 = 1 x 11k
R13 = 1 x 910
R14 = 1 x 300
R16 = 1 x 2K
R17 = 1 x 3K
R20 = 1 x 100k
R21 = 1 x 4k7
R23 = 1 x 10K
R27 = 1 x 1
R1,R5 = 2 x 33
R10,R15 = 2 x 22k
R12,R18,R24,
R25,R26 = 5 x 100
R22,R38,R40,
R41,R42,R43,
R44,R45 = 8 x 1k 0,5%
R3,R4,R6,R9,
R11,R19,R28,
R29 = 8 x 10k
R30,R31,R32,
R33,R34,R35,
R36,R37,R39 = 9 x 2k 0,5%
Энкодер
S = 1 x re11ct2
Транзисторы
T1 = 1 x BC807
T4 = 1 x 2N7002
T2,T3 = 2 x BC817
Стабилизатор
VR1 = 1 x lp2950-3.3
Разъем
X1 = 1 x 5mm
Клеммник
126-02P(5.0мм) x5

А также терпение, умение и прямые руки.

Описание входов и выходов

Итак , клеммы подключения слева на право:

1 — AGND — Аналоговая виртуальная земля. Не соединять с цифровой землей.
2 — AUOT 1/10 — Аналоговый выход с делителем 1/10.
3 — AUOT 1/1 — Аналоговый выход. Максимальное напряжение по отношению к аналоговой земле +3,3/-3,3 вольт.
4 — Зарезервирован
5 — Зарезервирован
6 — Зарезервирован
7 — Зарезервирован
8 — Зарезервирован
9 — Зарезервирован
10 — Зарезервирован
На всех выходах включены защитные резисторы 100 Ом.
На всех входах включены защитные резисторы 10 кОм .

Все управление сделано одним энкодером. Есть следующие комбинации:
Длинное нажатие (более 1 сек.) Включение и выключение прибора. При выключении запоминаются все настройки и текущий режим. После включения будет в том же месте, с генерацией того же сигнала.
Короткое нажатие — выбор параметра для изменения.
Вращение — смена параметра, отображенного на дисплее. Вправо — увлечение. Влево — уменьшение.
Скорость изменения зависит от скорости вращения, так например в зависимости от скорости вращения изменение частоты может быть и 0,1 Гц и 10000 Гц на один щелчок. Это позволяет оперативно и точно настроить любые параметры и не утомляет оператора.

Читайте также:  Приготовление штукатурных растворов и смесей

Питание от однополярного источника напряжением от 3,7 до 5 вольт. Превышение 5 вольт приводит к порче прибора.
Внутненее питание от стабилизатора 3,3 вольт.
Допустимо использовать :
— три батарейки по 1,5 вольт ( конструктив рассчитан на установку батарейного отсека 3*ААА.
— Литиевый аккумулятор со схемой защиты , монтажный или от мобильного телефона.
— Внешний источник стабилизированного напряжения 5 вольт/200мА, благо сейчас полно USB зарядок. Если при этом есть встроенный аккумулятор, то он будет заряжаться. Как такового контроллера заряда нет, зарядка идет ограниченным током. По этому следует ограничивать время заряда и не применять аккумуляторы емкостью менее 900мА/час. Также обязательным условием является схема защиты на самом аккумуляторе. (от мобильных все имеют).
Изолированное питание позволяет применять генератор для устройств под напряжением, в том числе под напряжением сети. Следует проявлять осторожность и меры защиты от поражения электрическим током.

В генераторе есть два подключаемых активных фильтра НЧ с частотами среза 300 кГц и 20кГц

Частотная характеристика без фильтра (для синусоидального сигнала)

Частотная характеристика с фильтром 300 кГц (для синусоидального сигнала)

Частотная характеристика с фильтром 20 кГц (для синусоидального сигнала)

— Диапазон частот от 0,09 Hz до 600 кГц. Рекомендуется включать соответствуюшие фильтра для качественного сигнала.
— Максимальная амплитуда Vp-p 3.3 вольт. Регулировка 256 шагов
— Смещение по постоянному току +/- 1,65 вольт. Регулировка 256 шагов

Иллюстрации отображения на индикаторе

Выбран режим генератора синусоиды, вращение енкодера — смена режима, нажатие — установки режима.
Стрелочки слево и вправо обозначают что при вращении режим будет изменен.

звездочка и название параметра обозначают, какой именно параметр будет меняться при вращении.

Сдвиг по постоянному уровню

Выбран режим установок, вращение енкодера — смена режима, нажатие — установки режима.
Стрелочки слево и вправо обозначают, что при вращении режим будет изменен.

Подключение фильтров. Изменение — вращение.
Фильтры отключены. Подключен фильтр 300 кГц. Подключен фильтр 20кГц

Глобальные настройки — SETUP. Изменение — вращение.

Начальный экран. Настройка контраста дисплея. Вкл/выкл подсветки. Напряжение питания.

Иллюстрации осциллограмм сигнала с генератора

Синусоида 1000 Гц.

Синусоида 90 кГц без применения фильтров. Видны ступеньки.

Синусоида 90 кГц с фильтром на 300 кГц. Теперь все хорошо

Синусоида 300 кГц с фильтром на 300 кГц. Картинка красивая, незначительно упала амплитуда, согласно АЧХ.

Синусоида 600 кГц с фильтром на 300 кГц. Картинка не очень красивая, упала амплитуда, согласно АЧХ. Для частоты свыше 300к — нужен нормальный внешний фильтр НЧ с частотой среза 600к.

Синусоида 5 кГц с фильтром на 300 кГц. Сдвиг по постоянному уровню в плюс.

Синусоида 5 кГц с фильтром на 300 кГц. Сдвиг по постоянному уровню в минус.

Генератор прямоугольного, пилообразного, обратного пилообразного, треугольного сигнала.

Диапазон частот от 0,09 Hz до 200 кГц. Рекомендуется отключать фильтра для качественного сигнала.
Все остальные параметры, режимы, управление соответствуют генератору синусоидального сигнала.
Так же доступны все дополнительные режимы и их регулировки.

Иллюстрации отображения на индикаторе

Генератор прямоугольного сигнала

Генератор пилообразного сигнала

Генератор треугольного сигнала

Иллюстрации осциллограмм сигнала с генератора

Прямоугольник 5000 Гц.

Обратная пила 5000 Гц.

Треугольник 5000 Гц.

Генератор сигнала ЭКГ.

Диапазон частот от 0,09 Hz до 24 Гц. Рекомендуется подключать фильтр 20 кГц для качественного сигнала.
Настраиваемые параметры: Частота, амплитуда, сдвиг по постоянному уровню.

Правильно собранный генератор из исправных деталей необходимой точности не нуждается в настройке.
Что следует проверить
Линейность работы ЦАП на матрице R-2R.
Для этого запустить генератор пилообразного напряжения и проверить линейность наклонного участка. Если видна большая нелинейность то следует применить резисторы R30-R45 более высокого класса точности или подобрать. Для 8-битного ЦАП требуемая точность 0,5%. Но реально подобрать из вдвое большего количества обычных, 5%.
Точность остальных резисторов и конденсаторов ,кроме блокировочных по питанию и переходных достаточна 5%.
Еще замечание, как оказалось 74HC4066 не все одинаково хороши, с микросхемами некоторых фирм наблюдается завал на ВЧ участке. Я стараюсь применять ST.
Теперь осталось только одно, установить в корпус ,по желанию. У меня прижилось в половинке корпуса Z-19 с литиевым аккумулятором и пружинными клеммами.

Читайте также:  Схема умное зарядное устройство

Данный генератор базируется на алгоритме DDS-генератора Jesper, программа была модернизирована под AVR-GCC C со вставками кода на ассемблере. Прибор имеет два выходных сигнала: первый — DDS сигналы, второй — высокоскоростной (1–8МГц) «прямоугольный» выход, который может использоваться для оживления МК с неправильными фузами и для других целей.

Высокоскоростной сигнал HS (High Speed) берется напрямую с микроконтроллера Atmega16 OC1A (PD5). DDS-сигналы формируются с других выходов МК через резистивную R2R-матрицу и через микросхему LM358N, которая позволяет осуществить регулировку амплитуды (Amplitude) сигнала и смещение (Offset).

Смещение и амплитуда регулируются при помощи двух потенциометров. Смещение может регулироваться в диапазоне +5В…-5В, а амплитуда — 0–10В. Частота DDS-сигналов может регулироваться в пределах 0–65534 Гц, этого более чем достаточно для тестирования аудио-схем и других радиолюбительских задач.

Основные характеристики DDS-генератора сигналов и конструктивные особенности

  • простая схема с распространенными и недорогими радиоэлементами;
  • односторонняя печатная плата;
  • встроенный блок питания;
  • отдельный высокоскоростной выход (HS) до 8МГц;
  • DDS-сигналы с изменяемой амплитудой и смещением;
  • DDS-сигналы: синус, прямоугольник, пила и реверсивная пила, треугольник, ЭКГ-сигнал и сигнал шума;
  • 2х16 LCD экран;
  • интуитивная 5-ти кнопочная клавиатура;
  • шаги для регулировки частоты: 1, 10, 100, 1000, 10000 Гц;
  • запоминание последнего состояния после включения питания.

На представленной ниже блок-схеме приведена логическая структура функционального генератора:

Как вы можете видеть, устройство требует наличия нескольких питающих напряжений: +5В, -12В, +12В. Напряжения +12В и -12В используются для регулирования амплитуды сигнала и смещения. Блок питания сконструирован с использованием трансформатора и нескольких микросхем стабилизаторов напряжения:

Блок питания собран на отдельной плате:

Если самому собирать блок питания нет желания, то можно использовать обычный ATX БП от компьютера, где уже присутствуют все необходимые напряжения.

  • Смотрите также схему измерителя емкости конденсаторов

Все действия отображаются через LCD-экранчик. Управление генератором осуществляется пятью клавишами.

Клавиши вверх/вниз используются для перемещения по меню, клавиши влево/вправо — для изменения значения частоты. Когда центральная клавиша нажата, начинается генерирование выбранного сигнала. Повторное нажатие клавиши останавливает генератор.

Система меню генератора:

Для установки шага изменения частоты предусмотрено отдельное значение. Это удобно, если вам необходимо менять частоту в широких пределах. Генератор шума не имеет каких-либо настроек. Для него используется обычная функция rand(). Высокоскоростной выход HS имеет 4 режима частоты: 1, 2, 4 и 8 МГц.

DDS-генератор сигналов — схема, плата, радиоэлементы

Схема функционального генератора простая и содержит легкодоступные элементы.

Что касается списка необходимых радиоэлементов для БП:

  • 3 линейных регулятора — LM7805, LM7812 и LM7912.
  • Диодный мост (B1).
  • 5 электролитических конденсаторов — C1, C7 (2х2000 мкФ) и C3, C5, C9 (3х100 мкФ).
  • 3 конденсатор (C4, C6, C10) — 0.1 мкФ.
  • Трансформатор (TR1) — 220В — 2×15В.
  • Плавкий предохранитель (F1).
  • Переключатель (S1) — 220В.
  • 2 разъём (X1 и JP1) — Сеть 220В и 4 контакта (Выход БП) соответственно.

Список радиоэлементов для основной платы:

  • МК AVR 8-бит (IC1) — ATmega16.
  • Операционный усилитель (IC2) — LM358N (КР1040УД1).
  • 4 конденсатора — C2, C3 (2х0.1 мкФ) и C6, C7 (2х18 пФ).
  • 13 резисторов — R1 (500 Ом); R2, R6, R8, R10, R12, R14, R16, R18 (10 кОм); R3, R21 (100 кОм); R20 (100 Ом); R22 (12 кОм).
  • 3 подстроечных резистора POT (10 кОм), POT1 (1 кОм) и POT2 (47 кОм).
  • LCD-дисплей — HD44780 2×16.
  • Кварц (Q1) — 16 МГц.
  • 6 кнопок (BUTTONS, RESET).
  • 3 разъёма — HS, DDS (2 контакта, BNC); ISP (PLD-6, Разъём ISP); JP1 (4 контакта, разъём питания).

Плата:

Функциональный генератор собран в пластиковом боксе:

Программное обеспечение DDS-генератора сигналов

Как уже говорилось выше, в основе своей программы использован алгоритм DDS-генератора Jesper. Было добавлено несколько строчек кода на ассемблере для реализации остановки генерирования. Теперь алгоритм содержит 10 ЦПУ циклов, вместо 9.

void static inline Signal_OUT(const uint8_t *signal, uint8_t ad2, uint8_t ad1, uint8_t ad0)<
asm volatile( "eor r18, r18 ;r18 dds-generator.rar

Тестирование DDS-генератора сигналов

Генератор был протестирован с осциллографом и частотомером. Все сигналы хорошо генерируются во всем диапазоне частот (1–65535 Гц). Регулирование амплитуды и смещения работает нормально.

  • Возможно вас также заинтересует электрическая схема генератора синусоиды

Видео о сборке DDS-генератора своими руками:

Описание опубликовано в журнале «Радио» № 8 за 2009 г., стр. 15. 17 Лабораторный генератор сигналов на DDS.

Генератор синусоидального сигнала является одним из наиболее распространенных приборов в любой измерительной лаборатории. Генераторы сигналов промышленного производства имеют большие габариты, вес и довольно высокую стоимость. С появлением микросхем прямого синтеза частоты DDS (Direct Digital Synthesizer) появилась возможность изготовить генератор синусоидальных сигналов, имеющий довольно высокие параметры при относительно простой схеме и конструкции.

Читайте также:  Какой краской покрасить ламинированную дверь

Генератор позволяет плавно перестраивать частоту в диапазоне 0,1 Гц. 6 мГц с шагом 0,1 Гц. 1 мГц, амплитуда может регулироваться от 0 до 7 В. Возможно смещение выходного напряжения относительно нуля в пределах до +/- 5 В. В генераторе использована одна из самых дешевых микросхем прямого синтеза частоты – AD9832 с тактовой частотой 25 мГц. Управляющий контроллер PIC16F84 или PIC16F628. Установленная частота и период отображаются на ЖКИ индикаторе.

Принципиальная схема лабораторного генератора сигналов на DDS показана на рисунке. Выходной сигнал с микросхемы DDS генератора проходит через пассивный LC фильтр c частотой среза 10 мГц, который улучшает спектр сигнала, фильтруя высшие гармоники. Поскольку микросхема DDS работает с однополярным питанием, необходима схема сдвига уровня. Она выполнена на «ОУ с активной обратной связью» типа AD8130. Кроме сдвига уровня на этом ОУ реализован активный фильтр нижних частот второго порядка с частотой среза 10 мГц и коэффициентом передачи 2, который дополнительно подавляет высшие гармоники.

Отфильтрованный и симметричный относительно нуля сигнал с выхода ОУ подается на регулятор амплитуды — обычный переменный резистор. Применение обычного резистора, а не электронного аттенюатора обусловлено стремлением упростить и удешевить конструкцию. Да и в практической работе гораздо удобнее поворачивать ручку, а не заходить в меню, многократно нажимая кнопки. Хотя выходной ток AD8130 может достигать 40 мА, длительная работа с таким током приведет к перегреву и выходу из строя кристалла. Поэтому в схему введен дополнительный защитный резистор R26, который ограничивает выходной ток до безопасного уровня даже при длительном коротком замыкании выхода. При работе на низкоомную нагрузку этот резистор можно закоротить тумблером SA2.

Работой генератора прямого синтеза управляет микроконтроллер DD1. Индикатор HG1 – двухстрочный по 16 символов в строке на основе контроллера HD44780. В нижней строке отображается частота с точностью до 0,1 Гц. Ввод требуемого значения частоты осуществляется кнопками SB1…SB4. Можно плавно перестраивать DDS генератор в диапазоне частот 0,1 Гц. 6 мГц с любым шагом из ряда 0,1 Гц; 1 Гц; 10 Гц;. 1 мГц. В верхнюю строку индикатора выводится период в микросекундах для частот менее 300 Гц или в наносекундах для частот более 300 Гц.

Программа работает следующим образом. Вначале, исходя из введенной частоты, рассчитываются значения коэффициентов, загружаемых в DDS синтезатор. Затем по этому значению производится расчет периода генерируемой частоты. Результат, особенно на частотах менее 10 Гц, может несколько отличаться от того, который получился бы при расчете по формуле T=1/F. Это связано с тем, что частота в DDS синтезаторе может быть установлена не любая, а только с шагом FMCLK/2^32. Для тактовой частоты 25 мГц это около 0,006 Гц. Вопреки широко распространенному мнению о примитивности и несовершенстве системы команд PIC контроллеров двух килобайт внутренней памяти и 35 команд вполне достаточно для проведения всех расчетов без каких-либо упрощений и округлений. Поэтому точность установки частоты определяется только точностью и стабильностью тактового генератора DDS. Разработаны варианты программы для тактовой частоты 25 и 20 мГц.

Монитор питания DA1 использован не стандартно. В PIC контроллерах, в отличие от некоторых AVR, внутренняя память не склонна к искажению при медленном нарастании или снижении напряжения питания. Поэтому принимать специальные меры для внешнего сброса контроллера при включении и выключении нет необходимости. Монитор питания подключен к выводу порта RB0 и служит для подачи команды контроллеру на сохранение установленной частоты в EEPROM PIC при снижении напряжения питания ниже 4,7 В

В генераторе можно использовать как устаревший, но широко распространенный контроллер PIC16F84A, так и более новый, имеющий аналогичную цоколевку PIC16F628. Индикатор HG1 типа MT 16S2Q-2YLG производства фирмы МЭЛТ. Теоретический предел генерируемой частоты в DDS равен половине тактовой. На практике на частотах выше 1/4 тактовой начинается резкий спад амплитуды первой гармоники, который в какой-то степени можно скомпенсировать усложнением схемы фильтра. Но настройка генератора сигналов при этом резко усложняется, поэтому в данной конструкции верхняя частота принята равной 6 мГц. Однако, учитывая, что радиолюбители предпочитают реализовывать возможности своих приборов по максимуму, программно верхняя рабочая частота DDS генератора ограничена значением 11 мГц.

Ссылка на основную публикацию
Adblock detector