Паяем генератор Клаппа с частотой 11 МГц

18 октября 2018

Если вы давно почитываете этот блог, то уже знакомы по крайней мере с двумя генераторами — мультивибратором и таймером 555. Однако такие генераторы не подходят, если вам нужно получить высокочастотный сигнал. LC-генераторы, с другой стороны, способны выдавать сигналы с частотой где-то до 500 МГц. Звучит, как что-то полезное. Давайте же попробуем спаять такой генератор.

Генератор Клаппа: теория

Как мы убедились, благодаря первому эксперименту из поста Первые эксперименты с осциллографом Rigol DS1054Z, LC-контур умеет создавать колебания. Проблема в том, что колебания эти затухают за счет паразитного сопротивления в цепи, от которого никуда не деться. Но что, если время от времени «подталкивать» контур, не давая колебаниям затухнуть? На этом принципе и работают все LC-генераторы.

Существует несколько схем LC-генераторов — это генератор Хартли, генератор Колпитца, генератор Клаппа, и другие. В рамках этого поста мы сосредоточим свое внимание на генераторе Клаппа. Этот генератор отличается от прочих своей стабильностью.

Схем генератора Клаппа также существует несколько вариантов. Я использовал следующую:

Схема генератора Клаппа

LC-контур находится в правой части схемы, см L2 и C5. Главным образом, эти два компонента и задают частоту генератора. Находящиеся рядом конденсаторы C2 и C3 определяют feedback ratio. Обычно C2 и C3 берут намного больше C5, чтобы они не сильно влияли на частоту. Левая часть схемы является усилительным каскадом с общей базой. L1 представляет собой RFC. Она нужна для того, чтобы усилительный каскад получал стабильный постоянный ток. Чем больше индуктивность L1, тем лучше. С колебательного контура сигнал идет на усилительный каскад. Оттуда усиленный сигнал возвращается на колебательный контур с фазовым сдвигом 360° и «подталкивает» его. В конечном счете образуются стабильные периодические колебания. При указанных на схеме номиналах частота сигнала на выходе составит 2.3 МГц.

В общем случае частота определяется по формуле:

import math
C2 = 1/1000/1000/1000   #  1 nF
C3 = 10/1000/1000/1000  # 10 nF
C5 = 1/1000/1000/1000   #  1 nF
L2 = 10/1000/1000       # 10 uH
1 / (2*math.pi*math.sqrt(L2*(1/(1/C2+1/C3+1/C5))))
2306374.2413629955

Значения R1 и R2 подбирались в симуляторе CircuitJS таким образом, чтобы при сопротивлении R5 в 500 Ом через него шел ток около 1 мА. R5 изображен в виде потенциометра, потому что для правильной работы генератора его приходится подстраивать. У меня схема заработала, если выставить R5 в 270 Ом.

Вы можете изучить работу приведенной схемы в CircuitJS, перейдя по следующей ссылке. Также в исходниках к статье вы найдете схему для этого симулятора, сохраненную в текстовом виде. Обратите внимание, что при симуляции в CircuitJS время шага симуляции должно быть выставлено намного меньше периода генератора. Сделать это можно в меню Options → Other Options… → Time step size. Для частоты 2.3 МГц неплохо работает значение «10n».

Следует отметить, что есть и альтернативное объяснение работы LC-генераторов. LC-контур можно рассматривать, как полосно-пропускающий фильтр, который подавляет все частоты, кроме своей резонансной частоты. В цепи всегда присутствует какой-то шум. Этот шум усиливается каскадом с общей базой. Затем LC-контур отфильтровывает из шума все ненужные частоты и возвращает усилителю. Цикл повторяется снова и снова, пока не останется только резонансная частота.

Добавляем эмиттерный повторитель

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

Для решения этой проблемы я использовал эмиттерный повторитель (emmitter follower, он же common-collector amplifier):

Схема эмиттерного повторителя

Приведенная схема не увеличивает амплитуду сигнала, но усиливает его по току. На входе у нее должен быть конденсатор, но здесь он будет лишним, поскольку у нас уже есть C6 на выходе генератора. Схема неплохо работает для входного сигнала с амплитудой где-то до 3.3 В. Однако как экспериментально, так и благодаря CircuitJS, мы видим, что генератор выдает сигнал амплитудой в 10 В. К счастью, нам ничего не нужно делать для решения этой проблемы. Дело в том, что генератор видит эмиттерный повторитель, как нагрузку, а поскольку генератор не может выдавать большой ток, амплитуда сигнала сама падает где-то до 3 В.

Номиналы R3, R4 и резистора на эмиттере были рассчитаны, как описано в 4-ой главе «Practical Electronics for Inventors, 4th Edition»:

import math
Vcc = 5         # напряжение питания
Iq = 0.1        # требуемый ток
hFE = 300       # hFE транзистора
Rload = 50      # сопротивление нагрузки
Re = (Vcc/2)/Iq # резистор на эмиттере
R3 = R4 = (hFE*Re/10)*2

F_3db = 1000
Rinac = hFE*((Re*Rload)/(Re+Rload))
Rin = 1/(1/R3 + 1/R4 + 1/Rinac)
Cin = 1/(2*math.pi*F_3db*Rin)
Cout = 1/(2*math.pi*F_3db*Rload)
Cin * 1000 * 1000 * 1000
Cout * 1000 * 1000 * 1000

Fun fact! Согласно даташуту [PDF], hFE транзистора 2N2222 может находится где угодно от 35 до 300 и, помимо прочего, зависит от напряжения и протекающего через транзистор тока. При проектировании схемы, использующей транзисторы, следует позаботиться о том, чтобы она правильно работала при любых возможных значениях hFE.

Re у меня получился всего 25 Ом. Я решил разбить его на два последовательно соединенных резистора по 12 Ом, поскольку один резистор заметно грелся.

Емкость конденсаторов на входе и выходе повторителя (Cin, Cout) меня не сильно интересовали. Вообще-то, они образуют RC-фильтры высоких частот (Cin — с Rin, Cout — с Rload), и потому могут быть вредны для нашего сигнала. Но если просто взять Cin и Cout, скажем, по 100 нФ, то фильтры будут резать какие-то килогерцы, мы же выдаем мегагерцы. Брать же Cin и Cout поменьше, для фильтрации нежелательных мегагерцовых сигналов, имеет мало смысла, так как у нас уже есть крутейший полосно-пропускающий фильтр в самом генераторе.

Генератор Клаппа: практика

Генератор на 2.3 МГц нетрудно собрать на макетке. Но мне хотелось получить генератор более высокой частоты, и тут макетка уже не особо работает. Было решено развести плату в KiCad, перенести ее на фольгированный текстолит при помощи фоторезиста и вытравить перекисью водорода с лимонной кислотой.

Вот, что у меня получилось в итоге:

Самодельный генератор Клаппа

С учетом имевшихся у меня под рукой компонентов, того факта, что амплитуда генерируемого сигнала постепенно падает с увеличением частоты, а также серии экспериментов, были выбраны C2 = 1 нФ, C3 = 1 нФ, C5 = 100 пФ, L2 = 2.2 мкФ. Заметьте, что в подобных цепях, вроде генераторов и фильтров, стоит отдавать предпочтение конденсаторам NPO, чьи свойства мало меняются с температурой. Потенциометр R5 был поставлен в 14 Ом. Полученный генератор выдает сигнал с частотой около 11 МГц:

Синусоида с частотой 11 МГц

Расчетная частота при этом заметно выше, 11.75 МГц. Впрочем, такая несостыковка вполне укладывается в 10-и процентную погрешность компонентов. Для корректировки частоты на месте C5 можно было бы использовать переменный конденсатор. Отмечу, что для подстройки переменных конденсаторов рекомендуется использовать керамическую отвертку, а не металлическую.

Что же до спектра сигнала, то он выглядит так:

FFT сигнала, полученного от LC-генератора

При получении обоих скриншотов использовалась нагрузка в 50 Ом.

Заключение

Следует учитывать, что подобные схемы чувствительны к наводкам, качеству источника питания, паразитным емкостям, и так далее. Для решения этих проблем рекомендуется делать ножки компонентов как можно короче (еще лучше — делать все на SMD компонентах) и использовать линейный блок питания.

Обратите внимание, что амплитуда сигнала постепенно падает с увеличением частоты — 2.7 В при частоте 2.3 МГц и 0.6 В при частоте 11 МГц. Похоже, чтобы получить генератор на большую частоту, придется переделать схему на питание от 10-15 В и/или каскад с общим эмиттером (common-emitter amplifier). Последний способен увеличивать не только ток, но и напряжение.

Все исходники к посту вы найдете в этом репозитории на GitHub. Вас может заинтересовать файл frequencies.txt, содержащий полученные экспериментально номиналы, необходимые для генерации сигналов разных частот. Также в репозитории вы найдете проект для Qucs с симуляцией генератора Клаппа. При работе с высокими частотами Qucs более удобен, чем CircuitJS.

А доводилось ли вам паять LC-генераторы, и если да, то какие?

Метки: .

Понравился пост? Узнайте, как можно поддержать развитие этого блога.

Также подпишитесь на RSS, Facebook, ВКонтакте, Twitter или Telegram.