Генератор сигналов цифровой dds. Функциональный dds rенератор на плис. Принципиальная схема прибора


Данный функциональный DDS-генератор сигналов собран на микроконтроллере AVR, обладает хорошей функциональностью и имеет амплитудный контроль.

Данный генератор базируется на алгоритме 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 БП от компьютера, где уже присутствуют все необходимые напряжения.

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

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


Что касается списка необходимых радиоэлементов для БП:
  • 3 линейных регулятора - LM7805, LM7812 и LM7912.
  • Диодный мост (B1).
  • 5 электролитических конденсаторов - C1, C7 (2х2000 мкФ) и C3, C5, C9 (3х100 мкФ).
  • 3 конденсатор (C4, C6, C10) - 0.1 мкФ.
  • Трансформатор (TR1) - 220В - 2x15В.
  • Плавкий предохранитель (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 2x16.
  • Кварц (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<-0? "\n\t"
"eor r19, r19 ;r19<-0? "\n\t"
"1:" "\n\t"
"add r18, %0 ;1 cycle" "\n\t"
"adc r19, %1 ;1 cycle" "\n\t"
"adc %A3, %2 ;1 cycle" "\n\t"
"lpm ;3 cycles" "\n\t"
"out %4, __tmp_reg__ ;1 cycle" "\n\t"
"sbis %5, 2 ;1 cycle if no skip" "\n\t"
"rjmp 1b ;2 cycles. Total 10 cycles" "\n\t"
:
:"r" (ad0),"r" (ad1),"r" (ad2),"e" (signal),"I" (_SFR_IO_ADDR(PORTA)), "I" (_SFR_IO_ADDR(SPCR))
:"r18?, "r19?
);}


Таблица форм DDS-сигналов размещена во флэш памяти МК, адрес которой начинается с 0xXX00. Эти секции определены в makefile, в соответствующих местах в памяти:

Данный DDS функциональный генератор (версия 2.0) сигналов собран на микроконтроллере AVR, обладает хорошей функциональностью, имеет амплитудный контроль, а также собран на односторонней печатной плате.

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

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

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

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

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

LCD-экран

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

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

Для установки шага изменения частоты предусмотрено отдельное значение. Это удобно, если вам необходимо менять частоту в широких пределах.

Генератор шума не имеет каких-либо настроек. Для него используется обычная функция rand() непрерывно подающиеся на выход DDS-генератора.

Высокоскоростной выход HS имеет 4 режима частоты: 1, 2, 4 и 8 МГц.

Принципиальная схема

Схема функционального генератора простая и содержит легкодоступные элементы:
- микроконтроллер AVR Atmega16, с внешним кварцем на 16 МГц;
- стандартный HD44780-типа LCD-экранчик 2×16;
- R2R-матрица ЦАП из обычных резисторов;
- операционный усилитель LM358N (отечественный аналог КР1040УД1);
- два потенциометра;
- пять клавиш;
- несколько разъемов.

Плата:

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


Программное обеспечение

Как я уже говорил выше, в основе своей программы я использовал алгоритм 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<-0″ "\n\t"
"eor r19, r19 ;r19<-0″ "\n\t"
"1:" "\n\t"
"add r18, %0 ;1 cycle" "\n\t"
"adc r19, %1 ;1 cycle" "\n\t"
"adc %A3, %2 ;1 cycle" "\n\t"
"lpm ;3 cycles" "\n\t"
"out %4, __tmp_reg__ ;1 cycle" "\n\t"
"sbis %5, 2 ;1 cycle if no skip" "\n\t"
"rjmp 1b ;2 cycles. Total 10 cycles" "\n\t"
:
:"r" (ad0),"r" (ad1),"r" (ad2),"e" (signal),"I" (_SFR_IO_ADDR(PORTA)), "I" (_SFR_IO_ADDR(SPCR))
:"r18″, "r19″
);}

Таблица форм DDS-сигналов размещена во флэш памяти МК, адрес которой начинается с 0xXX00. Эти секции определены в makefile, в соответствующих местах в памяти:
#Define sections where to store signal tables
LDFLAGS += -Wl,-section-start=.MySection1=0x3A00
LDFLAGS += -Wl,-section-start=.MySection2=0x3B00
LDFLAGS += -Wl,-section-start=.MySection3=0x3C00
LDFLAGS += -Wl,-section-start=.MySection4=0x3D00
LDFLAGS += -Wl,-section-start=.MySection5=0x3E00
LDFLAGS += -Wl,-section-start=.MySection6=0x3F00

Библиотеку для работы с LCD можно взять .

Не хочу вдаваться в подробное описание кода программы. Исходный код хорошо прокомментирован (правда на английском языке) и если будут какие либо вопросы по нему, то всегда можете воспользоваться нашим или в комментариях к статье.

Тестирование

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

В следующей версии генератора думаю реализовать сигнал нарастающей синусоиды.

Последнюю версию ПО (), исходник, файлы и можете скачать ниже.

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

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
Линейный регулятор

LM7805

1 В блокнот
Линейный регулятор

LM7812

1 В блокнот
Линейный регулятор

LM7912

1 В блокнот
B1 Диодный мост 1 В блокнот
C1, C7 2000 мкФ 2 В блокнот
C3, C5, C9 Электролитический конденсатор 100 мкФ 3 В блокнот
C4, C6, C10 Конденсатор 0.1 мкФ 3 В блокнот
TR1 Трансформатор 220В - 2x15В 1 В блокнот
F1 Плавкий предохранитель 1 В блокнот
S1 Переключатель 220В 1 В блокнот
X1 Разъём Сеть 220В 1 В блокнот
JP1 Разъём 4 контакта 1 Выход БП В блокнот
Основная плата
IC1 МК AVR 8-бит

ATmega16

1 В блокнот
IC2 Операционный усилитель

LM358N

1 КР1040УД1 В блокнот
C2, C3 Конденсатор 0.1 мкФ 2 В блокнот
C6, C7 Конденсатор 18 пФ 2 В блокнот
R1 Резистор

500 Ом

1 В блокнот
R2, R6, R8, R10, R12, R14, R16, R18 Резистор

10 кОм

8 В блокнот
R3, R21 Резистор

100 кОм

2 В блокнот
R20 Резистор

100 Ом

1 В блокнот
R22 Резистор

12 кОм

1 В блокнот
POT Подстроечный резистор 10 кОм 1

Всем доброго времени суток!
Сегодня хочу представить вниманию читателей обзор генератора сигналов произвольной формы JDS6600.
Данная модель генератора способна выводить информацию на цветной TTF дисплей 2,4 inch, выдавать сигнал на два независимых канала частотой до 15 МГц синусоидальной, прямоугольной, треугольной формы и частотой до 6МГц сигналов CMOS/TTL логики, импульсов и сигналов произвольной формы с размахом от 0 до 20 Вольт, имеет вход для измерения частоты, периода, длительности, скважности. Прибор позволяет изменять фазу сигнала от 0 до 359,9 градусов с шагом в 0,1 градуса, смещать сигнал от -9,99 до + 9,99 Вольт (в зависимости от амплитуды сигнала). В памяти генератора прописаны 17 стандартных сигналов, а так же имеется возможность редактировать (создавать/рисовать) необходимую форму сигнала и записывать в 60 ячеек памяти.
Генератор много чего может и, как радиогубитель средней руки, вряд ли всем буду пользоваться.
В линейке генераторов JDS6600 пять модификаций прибора с диапазонами частот – 15 МГц, 30 МГц, 40 МГц, 50 МГц и 60 МГц. В обзоре младшая модель – 15 МГц.
За подробностями приглашаю под кат (много фото).
Начну, пожалуй, не с красивых картинок, а с фотографии, которая дает представление о настольном или полочном рабочем позиционировании генератора с указанием габаритных размеров и таблицы с характеристиками всей линейки генераторов серии JDS6600. Таблица взята из мануала.




Мануал на русском языке можно изучить и .
Габаритные размеры в мануале немно другие, но один-два миллиметра роли не играют.
Приехал прибор в неказистой коробке, которую почта/таможня слегка повредила, но к содержимому отнеслись с почтением – все цело и ничего не потеряли.


Комплект состоит из генератора, блока питания 5 Вольт 2 Ампера с заграничной вилкой, весьма приличного сетевого переходника, диска с ПО, кабеля для подключения к ПК и двух шнуров BNS-крокодилы. Генератор был замотан в пупырку, а все остальные составляющие упакованы в индивидуальные пакеты.

Подключение по USB в качестве источника питания тут не предполагается и потому БП с обычным штекером 2,1*5,5*10 мм. Но позже мы попробуем запитать генератор от другого БП, чтобы выяснить ток потребления на случай питания от Powerank.


Кабель USB тип A - USB тип B для подключения генератора к ПК длиной 1,55 метра.

Шнуры BNS-крокодилы длиной 1,1 метра, с гибкими проводами, припаянными к крокодилам.

Ну, и собственно, виновник обзора в разных ракурсах.
На передней панели расположились кнопка вкл/выкл, экран, ряд серых кнопок справа от него для управления параметрами сигнала, выбора режимов измерений и модуляции, кнопка WAVE выбора вида генерируемого сигнала, MOD активации режима модуляции, SYS системных установок, MEAS выбора режима измерений, стрелки выбора разряда значения частоты и т.д., кнопка ОК для подтверждения кучи всего и включения/отключения двух каналов, СН1/2 кнопки включения/выключения каждого канала, энкодер, измерительный вход и выходы двух каналов.
На тыльной стороне TTL коннектор, разъемы USB и питания, наклейка с наименованием модели и модификации 15М (15МГц), вентиляционные отверстия.


На боковых гранях кроме вентиляционных щелей ничего интересного. Верхняя крышка глухая.

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


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

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

При первом приближении на плате видим, что компонентов довольно много. Из выдающихся – чип мозговой деятельности фирмы Lattice, релюшки Omron, небольшой радиатор, логотип, наименование производителя и модели с ревизией – JDS6600Rev.11. Номер ревизии дает основание полагать, что производитель основательно занимается моделью, постоянно ее совершенствуя.

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

Остальное уберу под спойлер.











Чуть подробнее остановлюсь на компонентах скрытых под радиатором. Это пара высокоскоростных усилителей .

Радиатором их накрыли без термопасты, может и не критично, но при сборке ее добавил.
Плата управления вмещает куда меньше элементов. Следы флюса только в местах ручной пайки кнопки вкл/выкл, энкодера, шлейфа дисплея и разъема.


Кнопки тут вполне себе механические и должны служить долго.


Переходим к сути устройства.
Включение генератора сопровождается сообщением на экране о выборе языка – китайского или английского, процессе загрузки, модели, номере партии. Загрузка длится буквально 1-2 секунды.

Сразу после загрузки на экране появляется информация о предустановленных сигналах подаваемых на оба выхода генератора. Об активности выходов генератора свидетельствует надпись ON на экране и свечение зеленых светодиодов над разъемами выходов. Выключить оба выхода сразу можно нажатием кнопки ОК или по отдельности каждый канал кнопками СН1/2.
Информация о параметрах сигналов на каналах идентична для первого (верхнего) и второго (нижнего) каналов за исключением изображения формы сигнала.

В целом на освоение генератора уходит не так уж много времени, назначение и смысл кнопок интуитивно понятно. Описать словами так, чтобы было понятно читателям сложнее, чем пользоваться в реальности. Посему воспользуемся картинками из манула.
Еще раз о назначении органов управления, отображения информации.

Суть отображаемой информации и кнопок справа от экрана.

Назначение функциональных кнопок

После включения на двух выходах по умолчанию присутствует синусоидальный сигнал частотой 10 кГц, размахом 5 Вольт, заполнением 50%, смещением 0 Вольт и фазовым сдвигом между каналами 0 градусов. Серыми кнопками справа эти параметры меняются и рассказывать тут особо нечего. Выбрали нужный параметр, далее кнопками со стрелками выбрали разряд изменяемого параметра и энкодером меняем значение.
Наибольший интерес вызывают кнопки WAVE выбора вида генерируемого сигнала, MOD активации режима модуляции, SYS системных установок, MEAS выбора режима измерений.
При нажатии на кнопку WAVE на экране появляется следующее изображение и становится доступен выбор формы сигнала.

К серым кнопкам привязаны 4 основных сигнала (синусоида, меандр, импульс, треугольник) и произвольная форма, прописанная в первой ячейке памяти, зарезервированной для этого.
Гораздо большее количество сигналов можно выбрать, вращая ручку энкодера. Этот способ дает возможность выбрать:
17 предустановленных сигналов – Sine, Sguare, Pulse, Triangle, PartialSine, CMOS, DC, Half-Wave, Full-Wave, Pos-Ladder, Neg-Ladder, Noise, Exp-Rise, Exp-Decay, Multi-Tone, Sinc, Lorenz
и 15 произвольных сигналов Arbitrary. С завода эти 15 ячеек пустые, в них ничего не записано – на выходе 0 Вольт, 0 Герц. Их заполнение рассмотрим после установки ПО.
В мануале идет речь о амплитуде сигнала и ее регулировке от 0 до 20 Вольт. На самом деле о регулировке амплитуды можно говорить только для отдельных сигналов, в основном речь идет о размахе.

Синусоида размахом 5В (на генераторе ampl 5V, осциллограф показывает значение размаха, хоть и пишет про амплитуду).

Меандр 5В (на генераторе ampl 5V, осциллограф показывает значение размаха, но пишет про амплитуду).

Разницы между Sguare и Pulse на осциллограмме не заметил. Как был меандр, так и остается при переключении, поэтому скрин не выкладываю.
Исправлено благодаря qu1ck
До тех пор не видно разницы пока не начнешь менять коэффициент заполнения DUTY. DUTY меняется только в Pulse, в режиме меандр Sguare коэффициент заполнения меняется только на экране генератора - на осциллограмме это никак не отражается.

Треугольный сигнал (на генераторе ampl 5V, осциллограф показывает значение размаха, но пишет про амплитуду).

Следующий сигнал Partial Sine – частичный синус, но разницы с Sineна осциллограмме так же не заметил и скрин не выкладываю.
Исправлено благодаря qu1ck
Здесь ситуация, как и с сигналом Pulse, изменяем коэффициент заполнения и получаем изменения синусоиды. DUTY меняется только в Partial Sine, в режиме Sine коэффициент заполнения меняется только на экране генератора - на осциллограмме это никак не отражается.

Следующий сигнал CMOS.Здесь размах/амплитуда регулируется от 0,5 до 10 Вольт, несмотря на то что ручкой энкодера на экране выставляется до 20 Вольт.

Следующим идет сигнал DC, но на осциллограмме тишина.

Далее сигнал Half-Wave вот тут как раз мы видим амплитуду. Для сравнения на втором канале установил синусоиду. Хоть на генераторе указана амплитуда 5 вольт и осциллограф пишет ampl, но мы видим, что как раз измеряется размах синусоиды и амплитуда Half-Wave.

На Full-Wave так же видим измерение амплитуды и, при установленной частоте на генераторе 10 кГц, 20 кГц по осциллограмме.

Сигналы Pos-Ladder и Neg-Ladder задал на первом и втором каналах, соответственно. Снова видим размах.

Шумы на обоих каналах шумят независимо друг от друга с разными параметрами.

Снова для наглядности и экономии времени читателей сигналы Exp-Rise и Exp-Decay на разных каналах.

По той же схеме Multi-Tone и Sinc.

Сигналы Lorenz.

Что можно сказать исходя из вышеприведенных скринов предустановленных сигналов?
1. Есть треугольник, но нет пилы;
2. Измеряемая амплитуда/размах на разных сигналах даже на двух каналах одновременно отличается от установленных на генераторе 5 Вольт.
3. Не заметил разницы между Sguare и Pulse, Partial Sine и Sine

Следующая полезная функция прибора – функция измерения/счетчика. Прибор позволяет измерять сигнал частотой до 100 МГц. Активируется функция кнопкой Meas. Переключение между измерениями и счетчиком можно сделать тремя способами – кнопкой Funk, кнопками со стрелками и энкодером.

Кнопкой Coup выбираем открытый или закрытый вход, кнопкой Mode – частоту или периоды подсчета.
Обозреваемый JDS6600 позволяет измерять то, что он же и генерирует. Задаем параметры сигнала на выходе генератора и подключаем к измерительному входу.

Следующая функция модуляции. Активируется кнопкой MOD. Здесь доступны три режима: генератор качающейся частоты - Sweep Frequency, генератор импульсов – Pulse Generator и генератор пачки импульсов – Burst. Режимы выбираются кнопкой Func.
Свипирование возможно на двух каналах, но не одновременно - либо первый, либо второй.

Стрелками или энкодером выбираем канал, устанавливаем начальную и конечную частоту сигнала (форму сигнала выбираем заранее в режиме Wave), линейную или логарифмическую зависимость и включаем ON.
Логарифмическая.

Линейная

Режим Pulse Generator (только первый канал).


Режим генерации пачек импульсов Burst (первый канал).

Здесь можно задать количество импульсов в пачке от 1 до 1 048 575 и выбрать режимы
Две пачки импульсов

Сто пачек импульсов

471 пачка.

Обратите внимание на изменение Vmin, Vmax с ростом количества пачек. При малом их количестве импульсы имеют отрицательную полярность, дальше картина иная. Кто может объяснить, прошу прояснить в комментариях.
Исправлено благодаря qu1ck , который указал на ошибку в выборе режима AC coupling на осциллографе. При изменении на DC все встало на свои места, за что прошу отметиться в карме qu1ck.

В режиме Burst четыре вида синхронизации (Как я понял. Если ошибаюсь поправьте) – от второго канала генератора – CH2 Trig, внешняя синхронизация – Ext.Trig (AC) и Ext.Trig (DC) и Manual Trig – ручная.
Следующая функциональная кнопка – это кнопка SYS, открывающая доступ к установкам генератора. Возможно следовало описать эту часть в начале, но двигался по наибольшей востребованности функций.

Кроме включения/отключения звуковых сигналов при нажатии кнопок, регулировки яркости экрана, выбора языка (китайский, английский) и сброса до заводских настроек, здесь можно поменять количество отображаемых/вызываемых ячеек произвольных сигналов (с завода 15, можно установить все 60), загрузить/записать 100 ячеек памяти и синхронизировать каналы по форме сигнала, частоте, амплитуде (размаху), заполнению, смещению.

Суть 60 ячеек и 100 ячеек станет понятна чуть позже, после подключения к ПК.
Для подключения генератора к компьютеру необходимо с диска из комплекта установить ПО.
Распаковав архив, сначала нужно установить драйвер CH340Q из папки h340 drive (архив Ch340.rar), далее установить программый драйвер VISA из папки VISA (установщик setup.exe), а уже потом установщик управляющей программы из папки English\JDS6600 application\Setup.exe
При подключенном к компьютеру генераторе и запуске программы необходимо выбрать виртуальный СОМ, куда подключен прибор и кликнуть кнопку Connect. Если порт выбран правильно, то увидим такую картинку.

Оболочка интерфейса представлена четырьмя вкладками – первая Configuration для соединения c ПК.
Вторая вкладка – Control Panel – панель управления генератором. Здесь все тоже самое, что и при управлении с лицевой панели прибора, но гораздо удобнее.

Все опции собраны на одном экране и привычные манипуляции мышью очень облегчают манипуляции с генератором. Кроме того, на этой вкладке одновременно с операциями над сигналами доступна синхронизация каналом, что с лицевой панели генератора нужно было делать через системные настройки генератора.
Далее вкладка Extend Function – аналог действиям кнопок MEAS и MOD на лицевой панели прибора, только на одном экране. Но есть и разница – не нашлось места в виртуальной среде для функции Pulse Generator в режиме Modulation Mode (MOD). С лицевой панели в режиме MOD доступны три функции – качения частоты, генератор импульсов и генератор пачек импульсов. С компьютера доступны только Sweep Frequency и Burst.

И последняя вкладка Arbitrary позволяет создавать свои формы сигналов и записывать их в изначально пустые ячейки памяти генератора (60 штук).

Можно начать с чистого листа, как на скрине выше, а можно взять за основу предустановленный сигнал (17 штук) и изголяться над ним, а потом записать в одну из 60 ячеек произвольных сигналов.

Для наглядности записал в ячейку памяти Arbitrary 01 такой сигнал.

И на осциллограмме видим следующее:

Здесь можно поменять амплитуду, смещение, фазу, но почему-то нельзя изменить коэффициент заполнения.
Вот теперь хочу вернуться к 60 и 100 ячейкам. Методом научного тыка и сравнений результатов вычислил, что кнопкой SYS на панели генератора можно открыть и сделать доступными до 60 ячеек произвольных сигналов (с завода 15), которые можно создать с помощью ПО и записать их в эти 60 ячеек.
Таким образом, становится доступны с панели генератора и вкладки Control Panel 17 стандартных и 60 произвольных сигналов.
Но, если и этот набор не достаточен, если какие-то сигналы Вами востребованы, а каких-то нет вообще (как, например, отсутствие прямой и обратной пил) и их нельзя создать с помощью ПО (например, из-за невозможности манипуляций с коэффициентом заполнения из программной оболочки), то новый сигнал можно создать с панели генератора, изменив любой параметр. Далее нужно в меню SYS выбрать номер ячейки от 00 до 99 (те самые 100) и кнопкой SAVE записать сигнал в эту ячейку. Теперь, когда он Вам понадобится, заходим в SYS, выбираем номер ячейки с этим сигналом и кнопкой LOAD загружаем его из памяти.
Т.е. по факту можно использовать 177 сигналов!!! 17 предустановленных + 60 произвольных + 100 загружаемых из памяти, когда это требуется.

В завершающей части обзора посмотрим, до каких частот генератор сохраняет приличные формы сигнала.
Синусоида 100 кГц 5В и 1 МГц 5В.

Синусоида 6 МГц 5В и 10 МГц 5В

Как видим, имеет место снижение размаха сигнала и оно не зависит от величины нагрузки. Без нагрузки вовсе, 1 кОм, 10 кОм, 47 кОм – снижение размаха есть всегда, но всегда в районе 0,5 Вольта.
В районе 13 МГц размах снижается на 0,7 вольт, но далее, при установленных 5 Вольтах размаха, падение не увеличивается.

Синусоида 15 МГц 10 Вольт – тут снижение размаха уже больше. Но это уже 15 МГц.

Дальше была выявлена особенность генератора JDS6600-15M – заявленная амплитуда в 20 Вольт, касается только сигналов (любой формы) частотой до 10 МГц. Ожидаемо амплитуда/размах ниже установленных значений. Щуп 1/10.

В диапазоне 10-15 МГц максимально возможная амплитуда/размах составляет 10 Вольт. Энкодером или в программе устанавливаем 20 Вольт (на экране генератора видим установленные 20 Вольт), потом частоту выше 10 МГц и показания амплитуды на экране прибора переключаются на 10 Вольт. Соответственно на выходе 10 Вольт. Такая особенность.

С формой синусоиды будто бы все в порядке, посмотрим меандр.
10 кГц 5В и 100 кГц 5В.

1МГц 5В и 6 Мгц 5 В.

6МГц 10В и 6 МГц 20В.
Здесь уже видно, что на высоких частотах меандр стремится к синусоиде, что присуще многим генераторам.

Треугольник 100 кГц 5В и 1 МГц 5В.

С повышением частоты и амплитуды форма сигнала начинает изменяться.
5 МГц 5В и 5 МГц 12В.

Формы сигналов на больших частотах далеки от идеальных, но к этому был готов. Опытным людям цена прибора многое скажет, для не искушенных пользователей материал изложил – надеюсь, он будет полезен. В описании генератора присутствует маркетинг и я, наверняка изложил, не все, что можно выжать из прибора, но основное показал. Возможно, старшие модели в линейке 6600 грешат меньше, но и стоят они дороже. Предоставленный экземпляр можно охарактеризовать как, генератор начального, бюджетного уровня для своего круга задач – ознакомление, обучение, радиолюбительство, быть может, какое-то не особо сложное и требовательное производство.
Из минусов отмечу снижение амплитуды/размаха сигнала с ростом частоты, отсутствие пил (но можно самому сгенерировать, изменив коэффициент заполнения и записав в ячейку).
Разработчику хотелось бы пожелать не увлекаться маркетингом, допилить чуть ПО.
Из плюсов все таки широкий фукнционал, возможность редактировать сигналы, записывать их в ячейки памяти, интуитивно понятное управление, два независимых канала.
В завершении замена штатного блока питания и измерение тока потребления.

Ток потребления не превышает одного Ампера и можно питать генератор от Power bank, обзаведясь соответствующим шнуром.
Если чего то не показал, то формулируйте подробный вопрос - генератор на столе, проведу опыт.

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

Планирую купить +14 Добавить в избранное Обзор понравился +42 +55

Уже давно пользуюсь генератором сигналов UDB1005S , построенном по DDS технологии, куплен он был на али за 30$.

Если кратко, то серия UDB100 x включает в себя 3 модели UDB1002, UDB1005, UDB1008, последняя цифра определяет максимальную рабочую частоту, а буква S на конце, если она есть, говорит о том, что генератор поддерживает sweep_mode . В основе генератора лежит связка плис + мк, мк обслуживает периферию(кнопки, энкодер, дисплей), а плис занимается генерацией сигнала.

Генератор имеет один аналоговый выход с возможностью регулировки амплитуды и смещения по постоянному напряжению, один цифровой с TTL уровнями, может работать в режиме счётчика импульсов и в режиме частотомера.

Теперь давайте рассмотрим основные особенности.

Аналоговый выход:

  • Форма выходного сигнала: синусоидальный, прямоугольный, пилообразный
  • Амплитуда выходного сигнала ≤9Vp-p(без нагрузки)
  • Выходное сопротивление 50Ω±10%
  • Смещение по постоянному напряжению ±2.5V(без нагрузки)
  • Частотный диапазон

    0.01Hz~2MHz(UDB1002S)
    0.01Hz~5MHz(UDB1005S)
    0.01Hz~8MHz(UDB1008S)

  • Точность частоты ±5×10-6
  • Стабильность частоты ±1×10-6
  • Время нарастания и спада прямоугольного сигнала ≤100ns
  • Коэффициент заполнения прямоугольного сигнала 1%-99%
TTL выход:
  • Частотный диапазон

    0.01Hz~2MHz(UDB1002S)
    0.01Hz ~5MHz(UDB1005S)
    0.01Hz ~8MHz(UDB1008S)

  • Амплитуда >3Vp-p
  • Нагрузочная способность >20TTL
Функция счётчика:
  • Диапазон счётчика импульсов 0~4294967295
  • Диапазон частотомера 1Hz~60MHz
  • Диапазон входных напряжений 0.5Vp-p~20Vp-p
Генератор качающей частоты (sweep_mode ):
  • Частотный диапазон fM1~fM2 (частоты предварительно устанавливаются)
  • Временной диапазон 1s~99s
Дополнительная возможность: сохранять и загружать конфигурации M0~M9 (по умолчанию M0)

Что касается генератора качающей частоты , для его настройки необходимо задать два значения частоты и время, за которое частота генератора изменится от fM1 до fM2 . Это очень удобно если надо узнать как реагирует схема на разные частоты, например, с помощью генератора качающей частоты можно легко найти резонансную частоту контура с неизвестными элементами. Для этого через последовательно включённый резистор номиналом несколько сотен Ом подключаем генератор к контуру, а щупом осциллографа к выводам контура. Если контур последовательный, то на резонансной частоте амплитуда колебаний будет максимальна, а если параллельный - минимальна. Фиксируя амплитуду на экране осциллографа можно узнать резонансную частоту контура.

Но не буду отходить от темы, ниже приведу несколько осциллограмм для разных видов колебаний и разных частот.
Синус 1КHz


Синус 10КHz


Синус 100КHz


Синус 1МHz


Синус 5МHz

Пила 1КHz


Пила 10КHz


Пила 100КHz


Пила 1МHz


Пила 5МHz


Еще можно изменять наклон пилы


Меандр 1КHz


Меандр 10КHz


Меандр 100КHz


Меандр 1МHz


Меандр 5МHz

Меандр 100KHz с TTL выхода


Меандр 1МHz с TTL выхода


Меандр 5МHz с TTL выхода

На осциллограммах видно, что стабильность частоты сильно отличается от заявленной, также хотелось отметить, что если частота прямоугольного сигнала превышает 1MHz, сигнал начинает сильно дрожать.
Сигнал для проверки частотомера взял с калибратора осциллографа, по паспортным данным на его выходе должен быть меандр с частотой 1KHz, частотомер показал ровно 1KHz. Режим счётчика импульсов не тестировал.

Всё вышеперечисленное можно отнести к плюсам, ну а чего можно хотеть от генератора сигналов за 30$? А теперь минусы, их всего два за то какие.....
В общем, в этом генераторе присутствует импульсная система питания, которая очень шумит. На осциллограмме ниже видно, что происходит на выходе генератора в отсутсвие сигнала.


но это мелочь по сравнению с регулировкой амплитуды, при вращении ручки регулировки амплитуды, последняя изменяется скачками, поэтому выставить нужную амплитуду с погрешность 100mV очень сложно .

Быстрый поиск на ютубе по запросу «генератор сигналов с али» показал, что генератора сигналов, у которого можно точно выставить амплитуду стоит, гораздо дороже, поэтому по соотношению цена-возможности этот генератор вне конкуренции.
Генератор покупал .

$15,3

Прежде всего, DDS — Direct Digital Synthesizer или цифровой синтезатор сигналов или электронный прибор, предназначенный для синтеза сигналов произвольной формы и частоты из опорной частоты.

Зачем в хозяйстве радиолюбителя нужен генератор объяснять не буду. Готовые генераторы стоят недешево и весят прилично, поэтому их пересылка тоже дорогая. Поэтому решено было присмотреться к DDS модулям без корпуса и блока питания.

Выбор DDS-модулей на просторах интернет оказался невелик. Из более-менее недорогих и с нормальным набором функций я нашел только 2 вида. Они одинаковые по функционалу, отличаются только расположением органов управления и питанием. Для работы одного из них было нужно три напряжения (+12В, -12В и +5В), второй работает от одного напряжения 7-9В. Это было решающим, проще потом запитать его от готового блока питания и не придется специально городить схему питания.

Из описания на сайте:

Operating voltage: DC7-9V
DDS frequency range: 1HZ-65534Hz.
High-speed frequency (HS) output up to 8MHz;
DDS signal amplitude of the offset amount can be adjusted separately by two potentiometers;
DDS signals: sine wave, square wave, sawtooth, reverse sawtooth, triangle wave, the ECG wave and noise wave.
1602 LCD menu;
Intuitive keyboard.
Section into the value: 1,10,100,1000,10000 Hz;
The power automatically restore the last used configuration.
Offset: 0.5pp-5Vpp
Amplitude amount: 0.5Vpp-14Vpp

Сама плата сделана очень качественно, пайка приличная, флюс смыт.

Так как под руками не нашлось блока питания на 9В с подходящим разъемом подключил блок питания на 5В. Как ни странно, все заработало. Пришлось только чуть подкорректировать контрастность LCD дисплея. Для этого под самим дисплеем имеется подстроечный резистор.

У генератора удобный алфавитно цифровой LCD дисплей 1602 с синей подсветкой и немало кнопок управления и 2 ручки настройки. Пойдем по порядку. Разъем питания 8-9В (как уже выяснили и от 5В работает уверенно). Кнопка включения/выключения питания. Светодиод, сигнализирующий включение.

  • вверх и вниз — выбор формы сигнала (функции);
  • вправо и влево — выбор частоты генерации (шаг задается в меню Freq Step).
  • центральная кнопка — старт/стоп генерации.

Две рукоятки управления:

  • амплтиуда;
  • оффсет 0,5 — 5В.

Сбоку 2 BNC разъема. Один для вывода DDS, второй для высокочастоного сигнала.

Генератор может формировать следующие формы импульсов:

  • ECG = электрокардиограмма (in the OFF state, the «left «and «right» keys to set the output frequency. Middle button start, all of the following waveform set)
  • NOISE = шум.
  • SawTooth = пила.
  • Rev Sawtooth = обратная пила.
  • Triangle = треугольные.
  • Sine=синусоида.
  • Square = прямоугольные.



glavpom.ru - Подстанции. Силовая электроника. Экология. Электротехника