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

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

1 168 189

....Господа, давайте не будем трогать гордый профиль GM, Если Гуру считает , что сложно по двум каналам одновременно "перестраиваться", то пусть не перестраивается или с задержкой на период, при наших "скоростях"....кто это заметит???

 

_BBC_: при наших "скоростях"....кто это заметит???
Ей Богу!

 

ATLab: Только здесь почему то не учитывается влияние фильтра на сдвиг фаз при изменении частоты генераторов.
А это реальные цифры? Вообще это как-то учитывается в расчетах фильтра в самом деле? И сильно ли нам это может помешать?
Спасибо.

 

Vlad_Petr: Если ЦАПы имеют на выходе ОУ (преобр. тока в напр.), то при малых уровнях станут вылезать шумы этих ОУ.

Так ЦАП же будет включен в цепи постоянного напряжения. Поставить на его выходе электролит и ни какие шумы не пролезут.

Vlad_Petr: ...идеальным является применение миниатюрных релюшек в известной схеме ряда резистивных звеньев.

Дорого и для мелкого дискрета очень неудобно (уже обсуждали).

Tadas: Если поступиться народностью, то можно попробовать что нибудь из этого:
http://www.psemi.com/content/products/DSAs/dsa_50-ohm.html

И сколько же это удовольствие стоит?

GM: В принципе должно остаться 7 ног под аттенюатор, не получится - поставим регистр на расширение ног.

Я тут прикидываю... Получается, что кнопок у прибора может получиться ну очень много. Одной клавой 4х3 не обойдёмся...

 

GM: Немного не так. Полный динамический диапазон цап-8: 20lg256=48dB.

Конечно же Вы правы!
Да и ЦАП-ом не получится менять уровень с логарифмическим шагом.
Кстати, а как это реализовать?..

GM: ...нужно поставить грубый атт 0/20/40 и цап-8, который регулирует 0-20 дБс шагом 0.25.

Вчера вечером я тоже пришёл к такому мнению, только шаг в дБ не получается. Правда приоритет потерян...

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

Для регулировки уровня используем отдельный энкодер. Регулировка осуществляется программно следующим образом.

Аттенюаторы на реле на выходе усилителя не задействованы и выход усилителя подключен к нагрузке напрямую. "ЦАП уровня" выдаёт постоянное напряжение 2.56В, так как на его входе управляющий код 256 а напряжение опоры равно 2.56В.
Уровень сигнала на выходе максимален, симметричен по отношению к нулю, и его амплитуда равна 2.56В.

Крутим энкодер уровня влево, управляющий мк по каждому "щелчку" уменьшает код "ЦАП уровня" на единицу, а напряжение на его выходе уменьшается с 2560мВ с шагом 10мВ. Когда код на "ЦАП уровня" уменьшиться до значения 25, что соответствует амплитуде выходного напряжения 25*10мВ=250мВ (и уменьшению уровня в 2560/250=10.24 раза или чуть больше -20дБ), выдаётсся команда на включение первой ячейки аттенюатора на -20дБ и одновременно выставляется управляющий код 256 на "ЦАП уровня".

Продолжая дальше крутить влево энкодер уровня, будем уменьшать выходное напряжение "ЦАП уровня" снова с 2560мВ с шагом 10мВ. Но на выходе усилителя первая ячейка аттенюатора будет понижать уровень на -20дБ, и получится, что теперь выходной уровень будет меняться с -20дБ до -40дБ.
Ну и по достижении значения -40дБ даётся команда на включение второй ячейки выходного аттенюатора - 40дБ и установка кода на "ЦАП уровня" в значение 256. Теперь уровень будет меняться с -40дБ до -60дБ.

При вращении энкодера уровня вправо, всё должно меняться в обратном порядке.
В общем, получим "плавную" регулировку уровня сигнала на выходе от нуля до -60дБ с шагом -10мВ - будет регулятор уровня выходного сигнала.

Шаг, конечно, не логарифмический а линейный, но...

При срабатывании реле ячеек аттенюатора выводим индикацию - высвечиваем 0дБ, -20дБ, или -40дБ соответственно.

При прямом вводе выходного уровня на клавиатуре управляющий МК срау выставит требуемый код на "ЦАП уровня" и включит ту или иную ячейку аттенюатора. Сразу получим на выходе заданную амплитуду сигнала.

Тут даже вольтметра не потребуется. На дисплей будет сразу выводится расчитанное значение напряжения в Вольтах (можно и в дБ).
Для этого выходной уровень сигнала должен быть "калиброван", но так как его максимальное значение задаётся постоянным напряжением опоры на "ЦАП уровня" и КУ усилителя, то его можно застабилизировать каким нибудь хорошим стабилизатором напряжения и выставить КУ поточнее.

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

Наверно, нужно будет предусмотреть два отдельных усилителя (или коммутировать КУ одного) - один с КУ равным 2.56В/1.41/0.775В=-2.3 (для получения стандартного уровня 0,775В), а другой - с КУ 10В*1.41/2.56В=5.5 для получения напряжения на выходе до 10В.

 

GM: Нужно ли нам два канала одновременно и предполагается ли использовать два генератора синхронно?

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

 

explorer: А это реальные цифры? Вообще это как-то учитывается в расчетах фильтра в самом деле? И сильно ли нам это может помешать?

Ну, если учесть, что любой фильтр - это линия задержки, то...

 

DWD: И сколько же это удовольствие стоит?
Стоит то оно не так уж и много - пару баксов, труднее найти где купить.
В Digi-Key кажется есть.

 

DWD: Ну, если учесть, что любой фильтр - это линия задержки, то...
Тадыт его в качель! Век живи, век учись. Чем больше я узнаю тем больше понимаю что ничего не знаю!

 

explorer: Вообще это как-то учитывается в расчетах фильтра в самом деле? И сильно ли нам это может помешать?
Конечно учитывается, это называется "фазо-частотная характеристика", которая зависит от типа фильтра (Бесселя, Чебышева, эллиптический...) и в фильтрах высокого порядка является существенно нелинейной.

Чем может помешать, например:
- оба генератора настроены на 1 кГц
- на частоте 1кГц задали сдвиг фазы второго канала относительно первого на +45 градусов.
- покрутили настройку частот и синхронно перестроили генераторы на 5 кГц, в результате сдвиг фаз будет (условно!) 90 градусов.
Генераторы на уровне ЦАП продолжают работать нормально, там сдвиг фаз остался прежним +45 градусов, дополнительный сдвиг получился из-за ФНЧ.

И что теперь? Измерять ФЧХ каждого фильтра и вводить ее учет в программу? Для дома нереально да и смысла нет.
Поэтому я и говорю: двухканальный генератор - совсем не обязательная опция, а уж синхронная перестройка двух генераторов... Игра изощренного ума GM

Пойдем дальше, и закроем глаза на ФЧХ.
Пусть первый генератор настроен на частоту 1 кГц, а второй - на 2 кГц и начинаем синхронно их перестраивать.
А что, собственно, значит "синхронно"? Синхронно = одновременно.
А как при этом должно выглядеть соотношение частот генераторов?
Например, первый генератор перестроился с 1 кГц на 2 кГц, а второй с 2 кГц перестроится на 4 кГц? или на 3? Или на какое-то другое значение? Это значит, что на каждый канал нужен свой частотомер или двухканальный частотомер?
Вам не кажется, что тут происходит уже слишком много совершенно не нужных в обычной практике наворотов?
Маленький аккуратный проект превращается в монстра...