サイトマップ

回路の素101 050 ヒステリシス付きコンパレータ 非反転型

回路の素101 050 ヒステリシス付きコンパレータ 非反転型

入力信号と基準電圧を比較することができる
信号に多少の雑音が含まれていても確実に判別できる

回路図作成

  • 基本的な構成

非反転の場合は、オペアンプの出力(比較の結果)を、
入力の信号側にフィードバックすることで、
Hi時 と Lo時 で閾値電圧を変更する

今回の場合、
入力電圧が高く、出力がHi(5V)の場合、閾値電圧は、
  V_{Hi} = \frac{(R_1 + R_2 + R_5) 2.5V - R_1 5V}{R_2 + R_5} = 2.27V
になり、この電圧を入力電圧が下回ったら出力がLoになる
逆に、入力電圧が低く、出力がLo(0V)の場合、閾値電圧は、
  V_{Lo} = \frac{R_1 + R_2}{R_2} 2.5V = 2.75V
になり、この電圧を入力電圧が上回ったら出力が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-050.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(n003)').get_wave(0)
ax1.plot(x * 1000, tmp1, label='V+', alpha=0.4)

ax1.legend(); ax1.grid()
ax1.set_xlabel('[ms]'); ax1.set_ylabel('[V]')

fig.tight_layout()

fig.savefig('PrimaryCircuit5-050_Graph1.png')

入力に0.2Vppのノイズを入れているが、ヒステリシス機能のおかげで、出力は安定している

入力電圧に、出力結果が加わり、オペアンプの正入力側の電圧が変化していることが分かる

参考文献

この記事は以下の書籍を参考にしましたが、
私の拙い知識で書いておりますので、誤り等ありましたらご指摘ください