Fork me on GitHub

NGSPICE.js - компаратор и триггер Шмитта на ОУ

Продолжаем осваивать NGSPICE вообще и ОУ в частности.

Компаратор сравнивает два аналоговых сигнала и выдаёт двоичный результат в виде 0 или 1 на выходе. Простейшую схему компаратора на ОУ мы уже построили ранее - на один из входов операционного усилителя подается известное опорное напряжение, на другой - сравниваемый аналоговый сигнал, например сигнал с датчика. Так как в схеме отсутствует обратная связь, то идеальный ОУ может быть только в режиме насыщения и соответственно либо с минимальным либо максимальным уровнем напряжения питания на выходе. В зависимости от того на какой из дифференциальных входов подаётся опорное напряжение компаратор может быть соответственно инвертирующим и неинвертирующим.

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

~$ wget http://cds.linear.com/docs/en/software-and-simulation/LT1007CS.txt

неинвертирующий компаратор с однополярным питанием | netlist | ngspice.js

screenshot

ngspice 1 -> source comparator-single.net
ngspice 2 -> tran 10u 4m
ngspice 3 -> plot v(out) v(in)

Опорное напряжение задано делителем Rf1/Rf2 и очевидно равно 5В. При этом на вход поступает сигнал сложной формы. Компаратор отработал логически правильно сработав четырежды т.к. входное напряжение четырежды перевалило отметку 5В, однако на практике зачастую требуется иное поведение если предположить что провал напряжения посредине это была помеха. Для борьбы с этим неприятным явлением в компаратор с помощью ПОС добавляют гистерезис и называется такое решение триггером Шмитта.

screenshot

Как видно на следующей схеме, триггер Шмитта очень похож на обычный компаратор за исключением положительной обратной связи через резистор Rf. Гистерезис добавляет задержку выключения компаратора и тем самым обеспечивается более высокая помехоустойчивость схемы.

инвертирующий триггер Шмитта с однополярным питанием | netlist | ngspice.js

screenshot

ngspice 1 -> source shmitt-trigger-single.net
ngspice 2 -> tran 10u 4m
ngspice 3 -> plot v(out) v(in)

Приблизительный расчёт напряжений срабатывания с гистерезисом:

  • верхний порог V1*Rf2/(Rf2+Rx) = 15*15000/(15000+29876) ≈ 5 В, где Rx = (Rf1*Rf)/(Rf1+Rf) = 47000*82000/(47000+82000) ≈ 29876 Ом

  • нижний порог V1*Rx/(Rf1+Rx) = 15*12680/(47000+12680) ≈ 3.2 В, где Rx = (Rf2*Rf)/(Rf2+Rf) = 15000*82000/(15000+82000) ≈ 12680 Ом

Ну а фактически на картинке верхний порог срабатывания получился чуть меньше 5 Вольт, тогда как нижний чуть больше 3 Вольт.

screenshot

Далее немного о выходных каскадах усилителей.

Comments !

links

social