Свежие обсуждения
Измерения

DDS-генератор на AVR - нужна помощь

1 170 189

DWD
просьба прокоментировать "Генератор VC2002"
http://www.powerportal.ru/detail_885.html

 

Судя по внешности это обычный аналоговый генератор со встроенными частотомером и вольтметром.

 

Дорисовал к схеме ЦАП DDS схему аттенюатора.
Лежит здесь (DjVu, 20КБ).

"ЦАП DDS" - из старых вариантов. Тот, что на трёх мс 74HC4053 и резистивной матрице R1-R16.

"УМ" - усилитель мощности с возможностью переключения КУ:
КУ=1 для получения на выходе калиброванного напряжения 0.775В (0дБ);
КУ=12.9 для получения на выходе напряжения 10В (+22дБ).
Думаю, что нет необходимости заводить переключатель КУ на управляющий МК. Вполне достаточно отдельного переключателя на подобие П2К.

Аттенюатор на резисторах R1-R7 и реле К1, К2. Управляться аттенюатор должен МК посредством транзисторов VT1, VT2 (выводы "Код уровня -20дБ, -40дБ").

Дополнительный энкодер, выполняющий функции регулятора уровня 0...-60дБ.
Энкодер, естественно, должен быть подключен к управляющему МК, который будет переводить его импульсы в "Код уровня 0...-20дБ" для подачи на "ЦАП Уровня" на мс 572ПА1, которая выдаст постоянное напряжение, величина которого будет определять амплитуду выходного напряжения "ЦАП DDS". "ЦАП Уровня" вырабатывает двухполярное напряжение Uref+ и Uref- для получения симметричного, по отношению к нулю, выходного напряжения генератора.

При 8-и разрядном "ЦАП Уровня" получим регулировку уровня 0...-20дБ с шагом 10мВ.
Шаг можно выбрать любой, в зависимости от разрядности этого ЦАП.

В общем, получаем "линейную" регулировку уровня выходного напряжения генератора в пределах 0...-60дБ одним энкодером без дополнительных ручных коммутаций. Алгоритм я описывал здесь.
Ну а с клавиатуры можно будет сразу вводить требуемый уровень.
На дисплей можно выводить значение выходного уровня в "В" и(или) в "дБ".

Но теперь встал вопрос о наличии свободных портов МК...
Ведь для управления предложенным аттенюатором нужно 8 портов для "Код уровня 0...-20дБ", 2 порта для "Код уровня -20дБ, -40дБ"). и 2 порта для энкодера. Итого - аж 12 портов!
Что делать? Ставить регистр?

 

DWD: Что делать? Ставить регистр? Может слишком это все накручено? ИМХО достаточно 3х ячеек аттенюатора 10дб., 20дб., 40дб. И просто переменный резистор со шкалой 0 - 10дб. На индикатор выводится от 0 до -70дб. еще смотрим на потенциометр где 0 -10дб. и просто для себя суммируем... Примеров таких приборов (с мелкими делениями ДБ на потенциометре) вполне изрядно.
Возможно крутилку сделать и в плюс до 10дб... тут дело в экранировке. Для простого конструктива, наверное, от 0дб. до +10дб логичнее, ибо заэкранировать так, чтобы до -80дб. иметь ослабление,- задачка еще та..

 

вопрос - предложение
возможен вариант применения клавиатуры как в варианте:
http://www.rlocman.ru/shem/schematics.html?di=107108
всего один порт задействован!

 

забыл знак-?

 

Vlad_Petr: И просто переменный резистор со шкалой 0 - 10дб. На индикатор выводится от 0 до -70дб. еще смотрим на потенциометр где 0 -10дб. и просто для себя суммируем...

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

 

_BBC_: возможен вариант применения клавиатуры как в варианте:
http://www.rlocman.ru/shem/schematics.html?di=107108
всего один порт задействован!

Теоретически - да. Практически - от программиста зависит. Захочет или нет.
Кнопки в современных ЖК мониторах подключены по такой схеме.

 

DWD: Думаю, получится, наоборот, сложнее - потребуется вольтметр. Нет пределов совершенства.. В генераторах, чаще всего, используется калиброванный выход без вольтметра. А вариантов всего три: выход в "дБ", выход в "мВ", выход в "мВ" + выход в "дБ"

В "дБ" с плавной регулировкой едениц проще всего... ИМХО и именно в таком варианте и будет разумная достаточность и без вольтметра.
Забавно и то, что создание дополнительной функции вольтметра ( если оччень хочется..) окажется проще, чем гребля с достаточно точным и широкодиапазонным, полностью дискретным, управляемым делителем выходного сигнала, ибо задача эта далеко не простая, граблей там предостаточно, особенно при малых уровнях выходного напряжения.

 

Vlad_Petr: В генераторах, чаще всего, используется калиброванный выход без вольтметра. А вариантов всего три: выход в "дБ", выход в "мВ", выход в "мВ" + выход в "дБ"

У нас будет точно так же.

Vlad_Petr: В "дБ" с плавной регулировкой едениц проще всего... ИМХО и именно в таком варианте и будет разумная достаточность и без вольтметра.

Конструкция вырисовывается блочная, по этому, при желании, можно выбрать другой вариант ЦАП DDS с простым усилителем, переменником на входе и 3-х звенным аттенюатором на выходе (на тумблерах)...

Просто в данном варианте, как-то просто получается довольно плавная и электронная регулировка уровня во всём диапазоне. Хотелось бы попробовать её реализовать.

Что касается проблем при цифровой обработке малых уровней сигнала, то согласен. Но у нас есть, своего рода, запас - амплитуду напряжения с ЦАП DDS можно выбрать относительно большой, увеличив величину шага.

Я пока привязался к значению 0,775В, а это напряжение опоры 1В и шаг напряжения с ЦАП уровня 3мВ при шкале 0...-20дБ.
Согласен с тем, что это довольно трудно будет реализовать...

По этому увеличим опорное, например, на максимум - 5В. В том же диапазоне 0...-20дБ получится шаг 19,5мВ. Тут даже ширпотребовские ОУ с большими напряжением смещения и его дрейфом не будут особо влиять на точность.
Напряжение на входе УМ будет меняться в пределах 5В...0.5В (0...-20дБ), для получения на выходе усилителя 0,775В делаем его КУ=0.22 или КУ=2.8 для получения на выходе 10В.

Думаю, с такими уровнями особых проблем не должно быть?..