Антинародный генератор с ультранизкими искажениями
#1

В эту тему я буду потихоньку выкладывать теорию, мысли и свои поделки. Пока рыба.

1) Общие соображения.Выбор структуры колебательного звена. Компенсация Q enhancement. Выбор ОУ.

В самом общем виде генератор можно представить как частотно-избирательную цепь и усилитель, охваченные ПОС. До замыкания ПОС необходимо выполнить условия генерации, т.е. произведение коэффициентов передачи
усилителя и частотно-избирательной цепи по модулю д.б. равен 1, а сдвиг фаз - 0 или кратен 360 на частоте генерации. Для поддержания Ку=1 используется петля АРУ.
Поскольку элемент петли АРУ, управляющий усилением, является нелинейным, необходимо уменьшать коэффициент включения этого элемента и амплитуду напряжения на нём.
Из практических соображений я рассматривал только реализации на активных RC-цепях второго порядка.
Можно сформулировать следующие требования:
1) Элементы, задающие частоту генерации, не должны влиять на коэффициент усиления;
2) Элементы, задающие частоту генерации, не должны влиять на добротность - она должна регулироваться независимо;
3) Низкая чувствительность коэффициента передачи и добротности к разбросу параметров пассивных элементов.
4) практическая возможность реализации больших значений добротности (в диапазоне 10-100) на реальных ОУ с частотой единичного усиления 60-100МГц при частотах генерации до 1 МГц.
5) Возможность использования всех ОУ в инвертирующем включении.
6) (Не обязательное, но весьма удобное свойство) Наличие выходов, сдвинутых на 90 по фазе.
Исходя из этого, я выбрал классическую реализацию на "фильтре переменных состояния" на 4-х ОУ. Наиболее подробное описание структур фильтров с кучей теории я нашёл в книге
Huelsman, Allen "Introduction_to_the_Theory_and_Design_of_Active_Filters" 1980г. издания.
Для меня остаётся загадкой, почему десятилетиями грамотные разработчики, в т.ч. и в Linear tech. используют мост Вина в качестве колебательного звена. Единственное преимущество - экономия на
количестве ОУ.

Q enhancement и как с ним бороться.
Типовые ОУ - кандидаты на применение в генераторе - имеют частоту единичного усиления 30-100МГц. Это AD8065\66, LME49720, LME49860, LME49990, OPA211, OPA827.
В диапазоне 100КГц-1МГц собственный фазовый сдвиг ОУ начинает заметно влиять на АЧХ фильтра, увеличивая добротность и неравномерность Ку. Я довольно долго и безуспешно пытался скомпенсировать
этот эффект дополнительными RC-цепями в ООС ОУ. Однако существуют специальные структуры, позволяющие в первом приближении исключить влияние конечной полосы ОУ на АЧХ фильтра. Они приведены в
приаттаченной части книги, посмотрите - это любопытно.



2) Перестройка частоты.
3) Построение цепи АРУ. Тип регулирующего элемента. Формирование АЧХ АРУ.
4) Детектор цепи АРУ.
5) Выходной буфер. Регулировка амплитуды выхода.
6) Управление всем этим делом. Сервис.

Для затравки радиотехническая поэма в прозе по теме:
.pdf Analog_Circuit_Design_small.pdf Размер: 1.21 MB  Загрузок: 108
The following 6 users say Thank You to shkal for this post:
  • nazar (04-09-2015), flipper (04-09-2015), begemot (04-09-2015), Nick (04-09-2015), Black_Jack (02-02-2021), alexeyfea (08-13-2021)
Ответ
#2

2) Перестройка частоты.

Стандартный вариант - сдвоенный переменный резистор - оказался непригоден по нескольким причинам:
1) Разрешающей способности резистора просто не хватает для установления частоты с нужной точностью (например, для попадания в минимум подавления Т-моста). Необходимо использование механических редукторов.
Я даже хотел заказать что-то из этого http://jlkolb.cts.com/site/vernier.htm
2) Разброс сопротивления секций приводит к разной амплитуде сигналов на SIN и COS выходах генератора. В случае применения детектора АРУ, работающего по принципу SQRT((sin(x))^2+(cos(x)^2))
это приводит к появлению на выходе детектора второй гармоники, которую необходимо давить. В идеальном случае на выходе такого детектора имелось бы постоянное напряжение, равное амплитуде входного синуса.
3) И основное. Генератор со сверхнизкими искажениями предназначен для измерений таких искажений, что подразумевает спектральный анализ длинных (до 10E6) последовательностей и многократное усреднение.
Это значит, что за время измерения генератор не имеет права убежать более, чем на половину полосы бина. И тут выяснилось, что механические вибрации приводят к модуляции сопротивления переменного резистора
(видимо, контакта проводящий слой-движок), что приводит к модуляции частоты генерации. В моём случае картина гармоник начинала "плавать" уже ниже -120дб. Я использовал для опытов ALPS RK27, какой-то пихер.
Дорогих двухсекционных резисторов - датчиков положения у меня не было. Возможно, они и обеспечивают механическую стабильность, но стоимость их совершенно негуманна.
Моё решение - это 12-битный ЦАП, собраный на рэле и резисторах. Первые 5 разрядов сделаны масштабными резисторами 1.5К-24К (чтобы не терять глубину ООС) , остальные - цепочкой R-2R. Применены резисторы susumu RR1220 и С2-10 :-) .
Рэле Takamisawa AL5WN-K, поляризованные, с одной катушкой. В качестве драйвера рэле используются LM324 c дифференцирующей RC-цепочкой на входе, питаемые от +-5В - ничего проще и дешевле я не придумал. Удивительно, никто не делает специализированные микросхемы драйверов поляризованных рэле. Управляется это дело по SPI от МК, на входе два 595-х регистра преобразуют данные, прнятые по SPI в параллельный код. Выглядит таким образом:
       

Замечание1: сначала я по традиции нарисовал ЦАП в токовом включении, потом сообразил, что нужно включение в режиме "по напряжению" т.е ключи стоят между входом и весовыми резисторами, поскольку в этом случае при изменении кода меняется входная (паразитная) ёмкость, а ёмкость на инвертирующем входе ОУ остаётся постоянной.
Замечание 2: У переключающего рэле существует довольно заметное время пролёта (порядка 1 мс), когда разомкнуты оба контакта. В этом случае при ситуации, когда все рэле переключаются (например, при переходе 0b011111111111-0b100000000000), ООС размыкается, генерация прекращается, а ОУ улетает в насыщение. Поэтому в управляющем софте необходимо проверять эту ситуацию и вставлять промежуточное состояние. К сожалению, это делает невозможным программный свип.
The following 2 users say Thank You to shkal for this post:
  • Nick (04-16-2015), nazar (04-20-2015)
Ответ
#3

shkal Написал:Исходя из этого, я выбрал классическую реализацию
Эта топология наименее требовательна к частотным параметрам ОУ.
Хотя применение композитов вместо одиночного ОУ во многом снимает эту проблему.
Но 1Мгц-это конечно очень амбициозно.
И по каналу сигнала и для детектора. Особенно если ещё хочется хорошую стабильность поддержания амплитуды при перестройке частоты.
В список ОУ можно добавить OPA1611/12.

Nobody Is Perfect
Ответ
#4

Есть у меня один вопрос связанный с стабильностью системы стабилизации амплитуды, который не могу для себя решить.
В принципе, работают те же правила что и для стабильности в общем. Неважно, стабильность ли это усилителя с ОС,
стабильность частоты в PLL, амплитуды генератора и т.д. Просто меняются сигналы образующие петлю.
Для стабилизации амплитуды это сигнал детектора, далее некий фильтр (интегратор или что-то более сложное) и К передачи
в системы управления амплитудой.
Но вот этот К, точнее его инерционность зависит от того как возникают колебания, насколько велик разбалланс в системе регулирования,
насколько избирательна (добротна) колебательная система и т.д.
Как вообще можно учесть инерционность процесса возникновения/затихания колебаний чтоб скорректировать остальные элементы петли?

Nobody Is Perfect
Ответ
#5

Я позже это подробно опишу. Коротко - Генератор как объект управления амплитудой есть интегратор, частота единичного усиления которого Fген/Q.
+
Ответ
#6

А где нибудь это расписано? Я чего-то нигде не встречал. Может правда не обращал внимание

Nobody Is Perfect
Ответ
#7

Да, я тоже очень долго искал вывод этого утверждения. Нашёл. Выложу потом, опять потерял.

Вот
.pdf W2247.pdf Размер: 196.69 KB  Загрузок: 719
The following 3 users say Thank You to shkal for this post:
  • Nick (04-16-2015), nazar (04-20-2015), begemot (04-30-2015)
Ответ
#8

3-4) АРУ и детектор.
Структура генератора :
   
D1 - детектор огибающей
К - некий элемент с коэфициентом передачи, управляемым напряжением.
ОУ Х7 с обвязкой формирует АЧХ петли АРУ. Все номиналы в схеме условны.

Основными источниками искажений в генераторе являются
1) Нелинейность элемента К, управляющего коэфициентом передачи в цепи ПОС;
2) Гармоники основного сигнала на выходе детектора, прошедьшие через интегратор на элемент К. Поскольку элемент К фактически является перемножителем, они бьются с основной гармоникой.
3) Собственные искажения ОУ.
4) Искажения пассивных элементов.
При правильном выборе элементной базы 1) и 2) доминируют.
Варианты построения детекторов.
К детектору предъявляются следующие требования:
1) Минимальный уровень пульсаций на выходе
2) Минимальная ошибка в диапазоне частот генератора, желательно < 0.1-0.3%
3) Небольшая стоимость :-)
Известны следующие типы детекторов:
1) Выпрямитель - двухполупериодный или многофазный, поскольку в структуре генератора уже присутствуют сигналы, сдвинутые на 90
2) Детектор, работающий по формуле SQRT(sin(x)^2+cos(x)^2)
3) Детектор по схеме "пиковый детектора с синхронным сбросом + УВХ"

Детектор типа 1 - наиболее простой в реализации, встречается повсеместно в генераторах на фиксированную частоту. Но в перестраиваемом генераторе с нижним диапазоном 10-100Гц не применим.
Высокий уровень пульсации на выходе приводит к тому, что частоту среза АЧХ АРУ приходиться делать очень низкой, что в свою очередь приводит к времени установления амплитуды в десятки секунд.
Пользоваться таким генератором практически невозможно.

Детектор типа 2
имеет (в теории) нулевые пульсации на выходе
   

Однако, если амплитуды sin и cos составляющих не совпадают, то на выходе такого детектора появляется второя гармоника входного сигнала с амплитудой, равной разности амплитуд составляющих. Если считать точность номиналов элементов в интеграторах генератора равной 1%, подавление пульсаций не будет выше 40дб.
У такого детектора существует и целый ряд чисто практических недостатоков, связаных с тем, что реальные перемножители очень далеки от свойх идеальных прототипов.
1) Диапазон входных напряжений ограничен значением SQRT(Uout max). Для AD633 максимальное выходное напряжение +-12В при питании +-15, соответственно максимальное входное напряжение +-3.5В в пике.
2) Частотный диапазон для AD633 - примерно до 200-300К, AD734 - до 3МГц
3) Смещение входных каскадов +-50мв для AD 633 и +-15мв для AD 734
4)Точность операций перемножения и извлечения корня для AD633 будет порядка 1%
5) Перемножители очень сильно шумят. Плотность напряжения входного шума примерно на три порядка выше, чем у хорошего ОУ.
6) Перемножитель дороги. Даже AD633 стоит по $7 шт, а AD734 больше $20

Резюме: такой тип детектора вполне работоспособен, если частотный диапазон генератора ограничен 100К, а амплитуда - величиной 3В. С таким детектором и AD8066 в качестве ОУ был получен результат -135Дб по 2-ой гармонике и -142 по 3-ей.. на 20КГц
The following 5 users say Thank You to shkal for this post:
  • begemot (04-30-2015), nazar (04-30-2015), Nick (05-01-2015), Сергей Кор (07-20-2015), belka (08-21-2015)
Ответ
#9

Тож. хотел так когда-то делать. В реальной схеме без особых напрягов должно получаться подавление на уровне -50дБ.
Если конечно достаточно точные элементы фильтров.
И практически не вносит задержек в петлю.
А зачем третий перемножитель? Сумма квадратов уже DC.

Nobody Is Perfect
Ответ
#10

Без квадратного корня коэфф. передачи детектора будет зависеть от амплитуды сигнала, а там и так с формированием АЧХ петли всё не очень удобно.
Ответ
#11

shkal Написал:Рэле Takamisawa AL5WN-K, поляризованные, с одной катушкой. В качестве драйвера рэле используются LM324 c дифференцирующей RC-цепочкой на входе, питаемые от +-5В - ничего проще и дешевле я не придумал. Удивительно, никто не делает специализированные микросхемы драйверов поляризованных рэле. Управляется это дело по SPI от МК, на входе два 595-х регистра преобразуют данные, прнятые по SPI в параллельный код.

У меня в весьма похожей конструкции сделано чуть по другому - если есть два 595-х, значит есть 16 выходов, а реле всего 12, т.е. для их управления нужно 13 сигналов. Дальше продолжать? :)

P.S. И не надо никаких 358-й с дифф. цепочками, особенно если взять TPIC6B595.
Ответ
#12

Продолжай :-)
Ответ
#13

*в теории :)*
два 595-х... фигачим четыре, без всяких там умощнителей и т.д.))
макс ток у микрушки указан общий через VCC/GND, т.е. можно с одного пина включенного прокачать вполне достаточно, чтоб релюшку переключить.
каждую катушку подключаем на два выхода шифтрега. кормими 00 для поддержания нуля, 01 вкл и 10 выкл.
пробегаем поочередно микроконтролером по каждой релюшке - и таким образом ток не превышаем максимальный)
минусы - не синхронно, нет защиты выхода от ЭДС, много дорожек, сложней программить МК, поди знай как работать будет и когда таки вылетет))
плюсы - халява))

Аминь.
Ответ
#14

shkal Написал:Продолжай :-)
Дык - 12 выходов на релюшки Coil-A, 13-й - на все вместе соединенные Coil-B, ну а дальше чисто программирование, за две посылки - одной включаешь все в одной полярности, при 0 на общем выходе. Там где на выходах "1" - включаться, (что было включено, так и останется), там где "0" - с ними ничего не произойдет.
Затем второй - выключаешь требуемые в другой полярности при "1" на общем (что было выключено. таковым и останется).

Главное - чтобы у 13-го выхода хватило току на 12 реле. Тот 595-й что я выше писал - у него очень мощные выходы.
В крайнем случае - 13-й можно усилить пушпулом на 2-х транзисторах.

Ну а если поставить три 595-х, т.е. 3*8=24 выхода, то можно за 12 посылок управлять каждой релюшкой последовательно. Дольше, зато в каждой посылке будет ток только одной релюшки, и можно "обычные" 595-е ставить. а не умощненные.
В любом случае, думаю 3х595 займет меньше места на плате (и разводить ее будет проще), чем 2х595 + 6хОУ+диффцепочки.

P.S. вопрос с противо-ЭДС в реле типа 1-Coil Latch обычно решается параллельным зенером.
Ответ
#15

Спасибо идея понятна. Только ОУ у меня 3 корпуса, а не 6, они ж счетверённые.
И у тебя отдельной ногой нужно программно формировать строб для tpic595
Ответ
#16

shkal Написал:Спасибо идея понятна. Только ОУ у меня 3 корпуса, а не 6, они ж счетверённые.
А, ну да, у меня в голове обычно сдвоенные вертятся, т.к. счетверенные как правило, со всей обвязкой мало дают выигрыша по месту на плате, а вот трассировку сильно осложняют. В любом случае лишний 595-й займет меньше места чем три счетверенных ОУ.
shkal Написал:И у тебя отдельной ногой нужно программно формировать строб для tpic595

Это обычно не проблема, но можно просто прогнать одну посылку со всеми нулями, но вообще конкретно для 1-Coil Latch реле они не подходят - у них выходы открытый дрейн.
Но для других примеений - они супер, у них еще и ключи 50-вольтовые, и клемпы на выходах встроенные - никакие зенеры/диоды от противо-ЭДС не нужны.
Они, зараза, правда втрое дороже "обычных" 595-х, но для единичных поделок это не страшно и можно получить массу у бонусов.
Ответ
#17

Подходят, если один вывод обмотки коммутировать между землёй и воздухом, а вторые (объединённые) между +5 и -5.
Ответ
#18

tpic595 = обычная 595 + ULN2003 (или как их там, есть на 7 и 8 выходов с похожим названием). в итоге прикрутить ULNку это плюс один корпус, но дешевле TPIC595 и легко доставуемо в любых условиях :)

Аминь.
Ответ
#19

shkal Написал:Подходят, если один вывод обмотки коммутировать между землёй и воздухом, а вторые (объединённые) между +5 и -5.

А интринсик куда денем? Как только дашь -5, так они все и переключаться, причем невзирая на то, что там с 595-й придет.
Ответ
#20

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

Аминь.
Ответ


Возможно похожие темы ...
Тема / Автор Ответы Просмотры Последний пост
Последний пост от Zebra
01-18-2020, 11:08 PM

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)