前回
でコンパレータの基本性質を主に見てきた。
今回はコンパレータ単体ではうまく出力を切り替えられない事例を紹介し、この解決策である「ヒステリシス」について解説していく。
ヒステリシス
以下のような状況を考えてみよう。
非反転入力端子には5Vの定電圧Vin+を、反転入力端子には4.99Vの定電圧Vin−を入力する。
両者とも理想的な定電圧であれば、Vin+>Vin−なので、出力電圧はVout(H)で一定になる(図1)。

しかし、実際の回路では理想的な定電圧は存在せず、ノイズ等の影響で大なり小なり電圧の変動が起こる。
もしVin+とVin−ともに±0.01Vの変動幅が存在している場合、Vin−がVin+を上回る、または下回るという挙動が繰り返し発生する。
すると、出力電圧はVout(H)とVout(L)を行き来する不安定な挙動を起こす(図2)。

この挙動をチャタリングと呼び、当然このチャタリングは回路動作として不適切である。
ではどうするか?
実は解決策はそこまで難しくない。
結論から言うと、Vin+とは別に、High出力からLow出力に切り替わる際の電圧値Vth(H)と、Low出力からHigh出力に切り替わる際の電圧値Vth(L)を設ければ良い。
具体的に考えてみよう。
非反転出力端子に5Vの定電圧Vin+、反転出力端子にはリニアに時間変化する電圧Vin−を入力する。
Vin−は最初リニアに降下し、5Vを下回った後でリニアに上昇させ、5Vを上回るようにする。
これまではVin−が5Vを下回ればHigh出力、5Vを上回ればLow出力だった(図3)。

この切り替わりの基準となる電圧値を別々にする。
例えば、Vin−がVth(L)=4.9Vを下回ったらHigh出力、Vin−がVth(H)=5.1Vを上回ったらLow出力となるようにするのである(図4)。

こうすれば、Vin−がVth(L)付近の定電圧でも一度Vth(L)を下回ればVoutはHigh出力で固定される(図5)。

また、Vin−がVth(H)付近の定電圧でも一度Vth(H)を上回ればVoutはLow出力で固定される(図6)。

これらVth(H),Vth(L)を閾値電圧と呼び、閾値電圧を持たせることを「ヒステリシスを設ける」という。
そして閾値電圧の差ΔVth=Vth(H)−Vth(L)をヒステリシス幅と呼ぶ。
ヒステリシスコンパレータ回路
ではここで具体的に、コンパレータにヒステリシスを設ける回路を見ていく。
いくつか種類があるが、最もオーソドックスな回路を図7に示す。

ただし、コンパレータはオープンコレクタ出力方式とする。
図7の回路ではVoutの値に応じて、非反転入力端子の入力電圧Vthが異なる値を取る。
まず出力がLow、すなわちVout=Vout(L)となる場合を考える。
このとき、コンパレータの出力は接地されているため、Vout=Vout(L)=0Vとなる。
よってLow出力時は図8のように、3つの抵抗から成る回路と等価となる。

よってキルヒホッフの法則より
Vref−Vth(L)R1=Vth(L)Rf+Vth(L)R2
となる。
これをVth(L)について解けば
Vth(L)=VrefR1(1R1+1R2+1Rf)−1
となる。
続いて出力がHigh、すなわちVout=Vout(H)となる場合を考える。
このとき、コンパレータの出力はオープンになっているため、Vpからの電流は抵抗Rfへと流れる。
よってHigh出力時は図9のように、4つの抵抗から成る回路と等価となる。

よってキルヒホッフの法則より
Vp−Vth(H)Rp+Rf+Vref−Vth(H)R1=Vth(H)R2
となる。
これをVth(H)について解けば
Vth(H)=(VpRp+Rf+VrefR1)(1R1+1R2+1Rp+Rf)−1
となる。
よってヒステリシス幅ΔVth=Vth(H)−Vth(L)は
ΔVth=(VpRp+Rf+VrefR1)(1R1+1R2+1Rp+Rf)−1−VrefR1(1R1+1R2+1Rf)−1
と求められる。
この結果を見ると、ヒステリシス幅は基準電圧Vrefに依存することがわかる。
そしてこの基準電圧の依存度は、抵抗値で操作することが可能だ。
具体的にはRf≫RpとしてRf+Rp≃Rfとみなせるようにする。
このとき
ΔVth≃(VpRf+VrefR1)(1R1+1R2+1Rf)−1−VrefR1(1R1+1R2+1Rf)−1=VpRf(1R1+1R2+1Rf)−1ΔVth≃VpRf(1R1+1R2+1Rf)−1
となり、基準電圧Vrefの依存が無視できるようになる。
ちなみにVout=Vout(H)にも着目するとキルヒホッフの法則より
Vp−Vout(H)Rp=Vout(H)−Vth(H)Rf
となるため、これを整理すると
Vout(H)=RfVp+RpVth(H)Rf+Rp
となる。
よってRf≫Rpのとき
Vout(H)≃Vp
となって出力がプルアップ電圧とほぼ同値となる。
LTspiceによるシミュレーション
ここで、実際にLTspiceでヒステリシスコンパレータ回路を動作させたシミュレーション結果を図10に示す。

本回路ではプルアップ抵抗Rpに対して100倍の抵抗をRfにあてている。
このとき、Low出力時の閾値電圧Vth(L)は
Vth(L)=VrefR1(1R1+1R2+1Rf)−1=5V51kΩ(151kΩ+151kΩ+1100kΩ)−1=1.992V≃2V
であり、High出力時の閾値電圧Vth(H)は
Vth(H)=(VpRp+Rf+VrefR1)(1R1+1R2+1Rp+Rf)−1=(5V51kΩ+5V100kΩ+1kΩ)(151kΩ+151kΩ+1100kΩ+1kΩ)−1=3.004V≃3V
である。
さらにRf≫Rpとして、Rf+Rp≃Rfの近似を適用すると、
Vth(H)=(VrefR1+VpRf)(1R1+1R2+1Rf)−1=(5V51kΩ+5V100kΩ)(151kΩ+151kΩ+1100kΩ)−1=3.007V≃3V
となり、小数点以下第3位以降の精度を要求しないなら適切な近似となる。
よって本回路ではヒステリシス幅は入力電圧に関係なく
ΔVth=Vth(H)−Vth(L)=1V
となる。
またHigh出力時の出力電圧Vout=Vout(H)は
Vout(H)=RfVp+RpVth(H)Rf+Rp=100kΩ×5V+1kΩ×3V100kΩ+1kΩ=4.98V≃5V
となり、プルアップ電圧Vpとほぼ同値である。
これはシミュレーション結果(赤線)からも確認できる。
終わりに
ヒステリシスコンパレータ回路には他にも種類があるが、今後扱う必要性が生じた際にまとめて記事にしようと思う。
ようやく回路設計らしい業務を開始できたので、初心者の内にできる範囲で習得できたことを言語化したいが、どこまでできるか…
END
コメント