슈미트 트리거 모드에서 opamp 비교기를 작동 시키려면 어떻게해야합니까?


9

문제가있는 방식으로 opamp를 사용한 팬 제어

소형 12V 케이스 팬을 제어하고 싶습니다. 팬이 40oC 이상의 온도에서 작동하도록 R 1 , R 2 및 R 3 값을 설정합니다 .

이러한 종류의 시스템에는 비교기 출력이 높거나 낮은 사이에서 빠르게 변화하는 결정적인 영역이 있음을 이해합니다. 이 실제적인 경우, 온도가 40oC 근처에 있을 때 불안정한 동작이 발생합니다.

확인의 방법이 슈미트 트리거 모드에서이 회로 작업이 (예; 38 미만 정지 O C가 42 이상으로 시작 O C와 38 사이에 이전의 상태를 유지 O C 42 O C) 가능한 한 적게 변경하여, 및 슈미트 트리거 로직 게이트를 사용하지 않습니다.


귀하의 요청은 이해되지만 40 ~ 42 :-)의 죽은 지역이 있습니다. || 기본 원칙은 사례 1입니다. "양의 피드백"을 추가하여 출력이 높을 때 겉보기 입력이 더 높아지고 입력이 낮을 때 겉보기 입력이 더 낮아집니다. 또는 사례 2 : 출력에 높을 때 트리거 포인트가 낮아져 트리거 포인트에 다시 도달하기 전에 시스템이 냉각되도록 레퍼런스에 네거티브 피드백을 추가합니다. 사례 1 : Opamp 출력에서 ​​비 입력으로의 저항. 또는 사례 2 : M1 드레인에서 반전 입력으로의 저항.
Russell McMahon

연산 증폭기 비교기는 비교기와 비교할 때 몇 가지 단점이 있습니다.
Scott Seidman

답변:


11

슈미트 트리거를 생성하려면 opamp의 출력에서 ​​비 반전 입력에 이르기까지 포지티브 피드백을 제공해야합니다. 일반적으로이 입력은 임계 값 전압이되며 opamp의 출력에 따라 두 가지 값 (히스테리시스) 중 하나를 사용합니다.

귀하의 경우 비 반전 입력에 신호가 있습니다. 이 방법으로도 작동시킬 수 있지만 두 입력을 모두 전환하고 R1과 스왑을 교체하는 것이 좋습니다. PTC 저항이 높을수록 반전 입력이 감소하고 임계 값에 도달하면 팬이 작동합니다. 스위치를 켰습니다. 그렇게하고 출력에서 ​​R2 / R3 노드로 R5를 추가합니다.

여기에 이미지 설명을 입력하십시오

VHVL

이제 R2 / R3 / R5 노드에 KCL (Kirchhoff의 현행법)을 적용합니다.

12VVLR3+0VVLR5=VLR2

12VVHR3+12VVHR5=VHR2

VHVL

Ω

{12V5VR3+0V5VR5=5V10kΩ12V6VR3+12V6VR5=6V10kΩ

또는

{7VR35VR5=5V10kΩ6VR3+6VR5=6V10kΩ

교체 및 셔플 링 후

{R3=12kΩR5=60kΩ


이미 덜 일반적이라고 말했지만 현재 회로도를 사용할 수도 있으며 계산은 비슷합니다. 다시, 출력과 비 반전 입력 사이에 R5 피드백 저항을 추가하십시오. 이제 기준 입력은 비율 R2 / R3에 의해 고정되며 히스테리시스는 측정 된 전압을 위아래로 이동 시키므로 적어도 나에게는 익숙해 져야합니다.

여기에 이미지 설명을 입력하십시오

LH

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

다시, R1 및 R5를 해결하십시오.


@Kortuk-오, 쓰레기! :-) 네, 맞습니다. 추가하겠습니다. 그냥 분 (또는 2, 3 ...)
stevenvh

@Kortuk-끝났습니다. 행복? :-)
stevenvh 2016 년

아직도 조금 짧습니다 :) 당신은 아마 내가 실제로 downvote하지 않았다는 것을 알았습니다.
Kortuk

1
@ Kotuk-네, 당신이하지 않을 줄 알았습니다. 나는 당신이 먼저 묻는다는 것을 알기에 지금까지 당신을 잘 알고 있다고 생각합니다. ;-)
stevenvh 2016 년

당신의 대답은 도식없이 충분했습니다. 나는 단지 약간의 개선이라고 생각했습니다.
Kortuk


1

여기에 이미지 설명을 입력하십시오

Vin

VinVddR1+VinVssR2+VinVoutRf=0

opamp 특성에서 우리는 다음을 알고 있습니다.

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

따라서이 두 상태에 대해 두 개의 개별 방정식을 작성할 수 있습니다.

VILVddR1+VILVssR2+VILVOLRf=0VILR1//R2//Rf=VddR1+VssR2+VOLRfVIL=(R1//R2//Rf)[VddR1+VssR2+VOLRf]VIH=(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

앞에서 언급했듯이 피드백을 사용하는 것은 Op 앰프를 사용하여 히스테리시스를 보관하는 핵심입니다.

Albert Lee 의이 기사 는 실제 방법으로 시스템에서 원하는 히스테리시스 레벨을 계산하는 방법과 계산 방법을 보여줍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.