Jak sprawić, by komparator opamp działał w trybie Schmitta-Trigera?

9

Problematyczne sterowanie wentylatorem za pomocą opampa

Chcę kontrolować mały wentylator skrzynkowy 12V. Ustawię wartości R 1 , R 2 i R 3, aby wentylator pracował powyżej temperatur 40 o C.

Rozumiem, że w tego rodzaju systemach pojawi się niezdecydowany region, w którym moc komparatora będzie szybko zmieniać się z wysokiej na niską. W tym praktycznym przypadku, gdy temperatura jest zbliżona do 40 o C, zachowanie będzie niestabilne.

Czy istnieje jakikolwiek sposób, aby ten obwód działał w trybie wyzwalania Schmitta (np. Zatrzymać poniżej 38 o C, rozpocząć powyżej 42 o C i zachować poprzedni stan między 38 o C a 42 o C), zmieniając go jak najmniej, i bez użycia bramki logicznej wyzwalacza Schmitta.

hkBattousai
źródło
Twoje zapytanie jest zrozumiałe, ALE masz martwy region od 40 do 42 :-). || Podstawową zasadą jest przypadek 1: dodanie „pozytywnego sprzężenia zwrotnego”, aby gdy sygnał wyjściowy był wysoki, pozorny sygnał wejściowy był jeszcze wyższy, a gdy sygnał wejściowy był niski, poziom wejściowy był jeszcze niższy. LUB Przypadek 2: dodaj ujemne sprzężenie zwrotne do referencji, aby gdy sygnał wyjściowy osiągnął wartość wysoką, punkt spustowy obniżył się, aby system musiał ostygnąć, zanim ponownie zostanie osiągnięty punkt wyzwalający. || Przypadek 1: Rezystor z wyjścia Opamp na wejście nie-inv. Lub Przypadek 2: rezystor od drenażu M1 do wejścia odwracającego.
Russell McMahon,
Zauważ, że komparatory wzmacniacza operacyjnego mają pewne wady w porównaniu do komparatorów
Scott Seidman

Odpowiedzi:

11

Aby stworzyć wyzwalacz Schmitta, musisz dostarczyć pozytywne informacje zwrotne, od wyjścia opampa do nieodwracającego wejścia. Zwykle to wejście będzie napięciem progowym i przyjmie jedną z dwóch wartości (to jest histereza) w zależności od mocy wyjściowej opampa.

W twoim przypadku masz sygnał na wejściu nieodwracającym. Możesz również sprawić, aby działało w ten sposób, ale sugeruję, aby przełączyć oba wejścia, a także zamiana R1 i PTC nadal mają takie samo zachowanie: wyższy opór PTC zmniejszy wejście odwracające, a gdy osiągnie próg, wentylator będzie włączony. Zróbmy to i dodajmy R5 z wyjścia do węzła R2 / R3.

wprowadź opis zdjęcia tutaj

Wspominasz o histerezie w ° C, ale potrzebujemy napięcia. Zróbmy obliczenia teoretyczne za pomocąV.H. i V.L.jako progi i przyjmij opamp wyjściowy szyna-szyna. Następnie mamy dwie sytuacje: górny i dolny próg oraz trzy zmienne: R2, R3 i dodane R5. Więc możemy wybrać jeden z oporników, naprawmy R2.

Teraz, stosując KCL (obecne prawo Kirchhoffa) dla węzła R2 / R3 / R5:

12V.-V.L.R3)+0V.-V.L.R5=V.L.R2)

i

12V.-V.H.R3)+12V.-V.H.R5=V.H.R2)

Jest to zestaw równań liniowych w dwóch zmiennych: R3 i R5, który jest łatwy do rozwiązania, jeśli można podać rzeczywiste napięcia dla V.H. i V.L. i dowolnie wybrany R2.

Dla argumentu załóżmy, że w 38 ° C masz 6 V na wejściu odwracającym, aw 42 ° C masz 5 V. Wybierzmy 10 kΩwartość dla R2. Potem stają się powyższe równania

{12V.-5V.R3)+0V.-5V.R5=5V.10kΩ12V.-6V.R3)+12V.-6V.R5=6V.10kΩ

lub

{7V.R3)-5V.R5=5V.10kΩ6V.R3)+6V.R5=6V.10kΩ

potem po pewnym zastąpieniu i przetasowaniu znajdujemy

{R3)=12kΩR5=60kΩ


Powiedziałem już, że jest to mniej powszechne, ale możesz również użyć bieżącego schematu, a obliczenia są podobne. Ponownie dodaj rezystor sprzężenia zwrotnego R5 między wyjściem a wejściem nieodwracającym. Teraz wejście odniesienia jest ustalone przez stosunek R2 / R3, a histereza przesunie zmierzone napięcie w górę i w dół, co - przynajmniej dla mnie - wymaga trochę przyzwyczajenia.

wprowadź opis zdjęcia tutaj

Załóżmy, że ustalamy napięcie odniesienia na 6 V, wyrównując R2 i R3. Ponownie obliczamy prądy w węźle PTC / R1 / R5, gdzie PTCL. i PTCH.są wartościami PTC odpowiednio w 38 ° C i 42 ° C, a R1 i R5 są naszymi niewiadomymi. Następnie

{6V.P.T.doH.=12V.-6V.R1+0V.-6V.R56V.P.T.doL.=12V.-6V.R1+12V.-6V.R5

Ponownie rozwiąż dla R1 i R5.

stevenvh
źródło
@Kortuk - O cholera! :-) Tak, masz rację, dodam je. Zaledwie minuta (lub 2, 3 ...)
stevenvh
@Kortuk - Tam, gotowe. Szczęśliwy? :-)
stevenvh
wciąż trochę krótki :) Prawdopodobnie zauważyłeś, że tak naprawdę nie głosowałem.
Kortuk
1
@Kortuk - Tak, wiedziałem, że nie. Myślę, że znam cię już wystarczająco dobrze, by wiedzieć, że najpierw pytasz. ;-)
stevenvh
twoja odpowiedź była wystarczająco dobra bez schematu, pomyślałem, że to niewielka poprawa, twoja odpowiedź już ode mnie została oceniona.
Kortuk
2

Musisz dodać kilka rezystorów pozytywnego sprzężenia zwrotnego, aby dodać histerezę do opampa.

wprowadź opis zdjęcia tutaj

Źródło obrazu

miceuz
źródło
1

wprowadź opis zdjęcia tutaj

Jest to najbardziej ogólne równanie na V.jan węzeł pochodzący z obecnego prawa Kirchhoffa:

V.jan-V.rereR1+V.jan-V.ssR2)+V.jan-V.outRfa=0

Z cech opamp wiemy, że:

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

Możemy więc napisać dwa oddzielne równania dla tych dwóch stanów.

V.jaL.-V.rereR1+V.jaL.-V.ssR2)+V.jaL.-V.OL.Rfa=0V.jaL.R1//R2)//Rfa=V.rereR1+V.ssR2)+V.OL.RfaV.jaL.=(R1//R2)//Rfa)[V.rereR1+V.ssR2)+V.OL.Rfa]V.jaH.=(R1//R2)//Rfa)[V.rereR1+V.ssR2)+V.OH.Rfa]

Przykład:

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

wprowadź opis zdjęcia tutaj

% 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;
hkBattousai
źródło
1

Jak skomentowano wcześniej, użycie sprzężenia zwrotnego jest kluczem do zarchiwizowania histerezy za pomocą wzmacniaczy operacyjnych.

Ten artykuł od Alberta Lee pokazuje w praktyczny sposób, jak to zrobić i jak matematyka oblicza żądane poziomy histerezy w systemie.

RHaguiuda
źródło