シュミットトリガーモードでオペアンプコンパレーターを機能させるにはどうすればよいですか?


9

問題のある方法でのオペアンプによるファン制御

小さな12Vケースのファンを制御したい。R 1、R 2、およびR 3の値を設定して、ファンが40 o C 以上の温度で動作するようにします。

この種のシステムでは、コンパレータの出力がハイとローの間で急速に変化する決定的な領域があることを理解しています。温度が40の近傍にあるときに、この実用例では、O C、不安定な挙動が存在することになります。

シュミットトリガーモードでこの回路を機能させる方法はありますか(例:38 o C 未満で停止し、42 o Cを超えて開始し、38 o Cと42 o Cの間で以前の状態を維持します)、変更を最小限にします。シュミットトリガーロジックゲートを使用しません。


あなたのリクエストは理解されましたが、40から42までのデッドリージョンがあります:-)。|| 基本的な原則はケース1:正のフィードバックを追加して、出力が高くなると見かけ上の入力がさらに高くなり、入力が低くなると見かけ上の入力がさらに低くなるようにすることです。またはケース2:リファレンスに負のフィードバックを追加して、出力が高くなるとトリガーポイントが低くなり、トリガーポイントに再び到達する前にシステムを冷却する必要があります。|| ケース1:オペアンプ出力から非inv入力への抵抗。またはケース2:M1ドレインから反転入力への抵抗。
ラッセルマクマホン

オペアンプコンパレーターには、コンパレーターと比較していくつかの欠点があることに注意してください
Scott Seidman、2014年

回答:


11

シュミットトリガーを作成するには、オペアンプの出力から非反転入力への正のフィードバックを供給する必要があります。通常、この入力はしきい値電圧であり、オペアンプの出力に応じて2つの値(ヒステリシス)のいずれかを取ります。

あなたのケースでは、非反転入力に信号があります。このように動作させることもできますが、両方の入力を切り替えて、R1とPTCを入れ替えることも同じ動作です。PTC抵抗が高いと反転入力が減少し、しきい値に達するとファンが作動します。スイッチオン。それでは、それを実行して、出力からR5をR2 / R3ノードに追加します。

ここに画像の説明を入力してください

VHVL

次に、R2 / R3 / R5ノードにKCL(キルヒホッフの現在の法則)を適用します。

12VVLR+0VVLR5=VLR2

そして

12VVHR+12VVHR5=VHR2

VHVL

Ω

{12V5VR+0V5VR5=5V10kΩ12V6VR+12V6VR5=6V10kΩ

または

{7VR5VR5=5V10kΩ6VR+6VR5=6V10kΩ

それからいくつかの交換とシャッフルの後、私たちは見つけます

{R=12kΩR5=60kΩ


あまり一般的ではありませんが、現在の回路図を使用することもでき、計算も同様です。ここでも、出力と非反転入力の間にR5フィードバック抵抗を追加します。これで、リファレンス入力は比率R2 / R3で固定され、ヒステリシスによって測定電圧が上下にシフトします。少なくとも私にとっては、慣れる必要があります。

ここに画像の説明を入力してください

LH

{6VPTCH=12V6VR1+0V6VR56VPTCL=12V6VR1+12V6VR5

再び、R1とR5を解きます。


@Kortuk-ああ、がらくた!:-)はい、そうです、私はそれらを追加します。ほんの少し(または2、3 ...)
stevenvh

@Kortuk-完了しました。ハッピー?:-)
stevenvh 2012年

まだ少し短いです:)あなたはおそらく私が実際に反対投票していないことに気づいたでしょう。
Kortuk '19年

1
@Kortuk-ええ、私はあなたがそうしないことを知っていました。私はあなたが最初に尋ねることを知るのに十分なほどあなたをよく知っていると思います。;-)
stevenvh 2012年

あなたの答えは回路図なしで十分でした、私はそれを小さな改善だと思っていました、あなたの答えはすでに私から賛成票を持っていました。
Kortuk '19年


1

ここに画像の説明を入力してください

これは、 V キルヒホッフの現行法に由来するノード:

VVddR1+VVssR2+VVoあなたtRf=0

オペアンプの特性から、次のことがわかります。

Vin <= VIL ==> Vout = VOL (Low  State)
Vin >= VIH ==> Vout = VOH (High State)

したがって、これら2つの状態に対して2つの別々の方程式を書くことができます。

VLVddR1+VLVssR2+VLVOLRf=0VLR1//R2//Rf=VddR1+VssR2+VOLRfVL=R1//R2//Rf[VddR1+VssR2+VOLRf]VH=R1//R2//Rf[VddR1+VssR2+VOHRf]

例:

R1  = 100k
R2  = 100k
Vdd = +15V
Vss = -15V
VOH = +13V
VOL = -13V

ここに画像の説明を入力してください

% Matlab code for the plotting

R1              = 100000;
R2              = 100000;
Vdd             = +15;
Vss             = -15;
VOH             = +13;
VOL             = -13;

RMIN            = 10000;        % 10k
RMAX            = 10000000;     % 10M
VMIN            = -10.0;
VMAX            = +10.0;
POINTS          = (RMAX - RMIN) / 100;

Rf              = linspace(RMIN, RMAX, POINTS);
VIL             = zeros(1, POINTS);
VIH             = zeros(1, POINTS);

for i = 1 : 1 : POINTS
    VIL(i) = 1 / ((1/R1) + (1/R2) + (1/Rf(i))) * ((Vdd/R1) + (Vss/R2) + (VOL/Rf(i)));
    VIH(i) = 1 / ((1/R1) + (1/R2) + (1/Rf(i))) * ((Vdd/R1) + (Vss/R2) + (VOH/Rf(i)));
end;

close all;
hFig = figure;
hold on;
plot([0 10], [0 0], 'Color', [0.75 0.75 0.75]);
plot(Rf/1000000, VIL, 'Color', [0 0 1]);
plot(Rf/1000000, VIH, 'Color', [1 0 0]);
xlim([RMIN/1000000, RMAX/1000000]);
ylim([VMIN, VMAX]);
xlabel('R_f (M\Omega)');
ylabel('VIL & VIH (V)');
hold off;

1

前にコメントしたように、フィードバックを使用することは、オペアンプを使用してヒステリシスをアーカイブするための鍵です。

Albert Leeによるこの記事では、実際の方法でそれを行う方法と、システムで必要なヒステリシスレベルを計算するための数学を行う方法を示します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.