NGSPICE.js - генераторы колебаний на транзисторах

Продолжаем осваивать NGSPICE.

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

Простейший RC-генератор состоит из одного транзистора и представляет из себя усилительный каскад с общим эмиттером ОЭ, охваченный ПОС. Цепь ПОС состоит из трех фазовращающих RC-цепочек, каждая из которых обеспечивает сдвиг фаз 60 градусов т.е. в сумме. 180° и в результате ООС с коллектора на базу превращается в ПОС (180+180=360=0). При условии Rph1=Rph2=Rph3=R и Сph1=Сph2=Сph3=С такой генератор вырабатывает гармонические колебания с частотой f = 1/(2*π*sqrt(6)*R*C) ≈ 0.065/(R*C) = 0.065/(22000*10^-7) ≈ 29.5 Гц

В следующих схемах для симуляции использовалась SPICE модель популярного n-p-n транзистора 2N2222:

~$ wget -nc http://www.centralsemi.com/docs/csm/2N2222.LIB

схема RC-автогенератора с трехфазной фазирующей цепочкой | netlist | ngspice.js

screenshot

ngspice 1 -> source rc-phase-shift.net
ngspice 2 -> tran 0.4m 0.8
ngspice 3 -> plot v(out)

На картинке примерно 15 пупырышек за 400 миллисекунд что соответствует частоте 15/0.4 = 37.5 Гц, а разница с расчётами видимо связана с тем что входное сопротивление каскада явно < 22 КОм (судя по замерам порядка 5 КОм). У полевых транзисторов входное сопротивление значительно больше и поэтому они наверняка дадут лучшую расчётную точность в подобных схемах. Кстати по этой же причине выходное сопротивление Rc (и соответственно Re) тоже неплохо бы уменьшить эдак раз в 10, но тут главное не сорвать генерацию ведь от Rc зависит коэффициент усиления по напряжению.

screenshot

На высоких частотах широкое распространение получили LC-генераторы. Тут неплохо бы вспомнить об эффекте Миллера и схеме с ОБ. Каскад с общей базой фазу не сдвигает поэтому сигнал поданный с коллектора в эмиттер порождает ПОС.

схема генератор Колпитца (ёмкостная трёхточка) | netlist | ngspice.js

screenshot

ngspice 1 -> source colpitts.net
ngspice 2 -> tran 1n 10u 9.5u
ngspice 3 -> plot v(out)

Данная схема ввиду своей простоты и дешевизны часто применяется в бюджетных устройствах - радиоуправляемых моделях, жучках и т.д. Частота (scale=100) f = 1/(2*π*sqrt(L*C1*C2/(C1+C2))) = 1/(2*3.14*sqrt(150*10^-9*10^-10*10^-10/(10^-10+10^-10))) ≈ 58 МГц а фактическая частота на картинке 18/(0.5*10^-6) = 36 МГц - по всей видимости сказываются ёмкости p-n переходов транзистора.

screenshot

Одним из самых распространённых генераторов импульсов почти прямоугольной формы является Мультивибратор, обычно представляет собой двухкаскадный резистивный усилитель, охваченный глубокой положительной обратной связью. При попарном равенстве сопротивлений резисторов R1 и R4, R2 и R3, ёмкостей конденсаторов C1 и C2, а также параметров транзисторов Q1 и Q2 мультивибратор становится симметричным - он генерирует прямоугольные колебания («меандр») со скважностью 2, то есть сигнал у которого длительность импульса и длительность паузы одинаковы.

схема симметричный мультивибратор | netlist | ngspice.js

screenshot

ngspice 1 -> source symmetric-multivibrator.net
ngspice 2 -> tran 50u 50m 5m
ngspice 3 -> plot v(out)

Частота мультивибратора f = 1/(ln(2)*(R2*C1+R3*C2)) = 1/(l(2)*(47000*10^-7+47000*10^-7)) ≈ 153 Гц и фактическая частота 7/(50*10^-3) = 140 Гц.

screenshot

Далее операционный усилитель.

links

social