回路の素101 049 ヒステリシス付きコンパレータ 反転型
入力信号と基準電圧を比較することができる
信号に多少の雑音が含まれていても確実に判別できる
回路図作成
- 基本的な構成
オペアンプの出力(比較の結果)を、
入力側(R1とR2の間)にフィードバックすることで、
Hi時 と Lo時 で閾値電圧を変更できる
今回の場合、
入力電圧が低く、出力がHi(5V)の場合、R1とR2の間の電圧(オペアンプの正入力)は、
になり、この電圧を入力電圧が上回ったら出力がLoになる
逆に、入力電圧が高く、出力がLo(0V)の場合、R1とR2の間の電圧(オペアンプの正入力)は、
になり、この電圧を入力電圧が下回ったら出力がHiになる
応答性確認
シミュレーションを tranモード(デフォルト) で実行し、応答を見る
import matplotlib.pyplot as plt import numpy as np from PyLTSpice import RawRead fig = plt.figure(figsize=(6, 3)) ax1 = fig.add_subplot(1, 1, 1) fname = 'PrimaryCircuit5-049.raw' LTR = RawRead(fname) x = LTR.get_trace('time').get_time_axis(0) tmp1 = LTR.get_trace('V(vin+)').get_wave(0) ax1.plot(x * 1000, tmp1, label='Vin+') tmp1 = LTR.get_trace('V(vout)').get_wave(0) ax1.plot(x * 1000, tmp1, label='Vout') tmp1 = LTR.get_trace('V(n002)').get_wave(0) ax1.plot(x * 1000, tmp1, label='V+') ax1.legend(); ax1.grid() ax1.set_xlabel('[ms]'); ax1.set_ylabel('[V]') fig.tight_layout() fig.savefig('PrimaryCircuit5-049_Graph1.png')
入力に0.5Vppのノイズを入れているが、ヒステリシス機能のおかげで、出力は安定している
オペアンプの正入力側の電圧(閾値電圧)が、出力の切り替わりに合わせて変化していることも分かる
参考:ヒステリシスのない回路の場合
ヒステリシス機能のない反転出力のコンパレータの動作
応答性確認
import matplotlib.pyplot as plt import numpy as np from PyLTSpice import RawRead fig = plt.figure(figsize=(6, 3)) ax1 = fig.add_subplot(1, 1, 1) fname = 'PrimaryCircuit5-049-2.raw' LTR = RawRead(fname) x = LTR.get_trace('time').get_time_axis(0) tmp1 = LTR.get_trace('V(vin+)').get_wave(0) ax1.plot(x * 1000, tmp1, label='Vin+') tmp1 = LTR.get_trace('V(vout)').get_wave(0) ax1.plot(x * 1000, tmp1, label='Vout') tmp1 = LTR.get_trace('V(n002)').get_wave(0) ax1.plot(x * 1000, tmp1, label='V+') ax1.legend(); ax1.grid() ax1.set_xlabel('[ms]'); ax1.set_ylabel('[V]') fig.tight_layout() fig.savefig('PrimaryCircuit5-049_Graph2.png')
ヒステリシス機能がない場合、
ノイズがあると、ノイズによって判定が切り替わってしまい、
出力にもノイズが乗ってしまう
参考文献
この記事は以下の書籍を参考にしましたが、
私の拙い知識で書いておりますので、誤り等ありましたらご指摘ください