Como faço para que um comparador opamp funcione no modo de disparo de schmitt?

9

Controle de ventilador com opamp de maneira problemática

Quero controlar um pequeno ventilador de 12V. I irá definir valores de R 1 , R 2 e R 3 para que o ventilador irá funcionar acima das temperaturas 40 S C.

Entendo que, nesse tipo de sistema, haverá uma região indecisa na qual a saída do comparador mudará rapidamente entre alto e baixo. Nesse caso prático, quando a temperatura estiver próxima a 40 o C, haverá um comportamento instável.

Existe alguma maneira de fazer esse circuito funcionar no modo de disparo schmitt (por exemplo, pare abaixo de 38 o C, comece acima de 42 o C e mantenha o estado anterior entre 38 o C e 42 o C) alterando-o o mínimo possível, e sem usar nenhum portão lógico de gatilho schmitt.

hkBattousai
fonte
Sua solicitação é entendida, mas você tem uma região morta de 40 a 42 :-). || O princípio básico é o Caso 1: adicionar "feedback positivo" para que, quando a saída for alta, a entrada aparente seja ainda mais alta e quando a entrada for baixa, a entrada aparente seja ainda mais baixa. OU Caso 2: adicione feedback negativo à referência para que, quando a saída for alta, o ponto de disparo diminua, para que o sistema esfrie antes que o ponto de disparo seja novamente alcançado. || Caso 1: Resistor da saída Opamp para entrada não inv. Ou Caso 2: resistor do dreno M1 à entrada inversora.
Russell McMahon
Note-se que os comparadores op amp têm algumas desvantagens em comparação com comparadores
Scott Seidman

Respostas:

11

Para criar um gatilho Schmitt, você deve fornecer um feedback positivo, da saída do opamp à entrada não inversora. Normalmente, essa entrada será a tensão limite e será necessário um dos dois valores (que é a histerese), dependendo da saída do opamp.

No seu caso, você tem o sinal na entrada não inversora. Você também pode fazê-lo funcionar dessa maneira, mas eu sugiro que você alterne as duas entradas e também troque R1 e PTC ainda com o mesmo comportamento: uma resistência maior ao PTC diminuirá a entrada inversora e, quando atingir o limite, o ventilador estará ligado. Então, vamos fazer isso e adicionar um R5 da saída ao nó R2 / R3.

insira a descrição da imagem aqui

VHVeu

Agora, aplicando a KCL (lei atual de Kirchhoff) para o nó R2 / R3 / R5:

12V-VeuR3+0 0V-VeuR5=VeuR2

e

12V-VHR3+12V-VHR5=VHR2

VHVeu

Ω

{12V-5VR3+0 0V-5VR5=5V10kΩ12V-6VR3+12V-6VR5=6V10kΩ

ou

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

depois de algumas substituições e embaralhamento, encontramos

{R3=12kΩR5=60kΩ


Eu já disse que é menos comum, mas você também pode usar o esquema atual e os cálculos são semelhantes. Novamente, adicione um resistor de realimentação R5 entre a saída e a entrada não inversora. Agora, a entrada de referência é fixada pela razão R2 / R3, e a histerese muda sua tensão medida para cima e para baixo, o que - pelo menos para mim - precisa de algum tempo para se acostumar.

insira a descrição da imagem aqui

euH

{6VPTCH=12V-6VR1 1+0 0V-6VR56VPTCeu=12V-6VR1 1+12V-6VR5

Mais uma vez, resolva para R1 e R5.

stevenvh
fonte
@Kortuk - Oh, merda! :-) Sim, você está certo, eu vou adicioná-los. Apenas um minuto (ou 2, 3 ...)
stevenvh
@ Kortuk - Pronto, pronto. Feliz? :-)
stevenvh 19/06/12
ainda um pouco curto :) Você provavelmente percebeu que eu realmente não diminuí o voto.
Kortuk
11
@ Kortuk - Sim, eu sabia que você não faria. Acho que já te conheço bem o suficiente para saber que você primeiro pergunta. ;-)
stevenvh 19/06/12
sua resposta foi boa o suficiente, sem esquemas, eu apenas pensei que fosse uma pequena melhoria, sua resposta já teve um voto positivo de mim.
Kortuk
2

Você precisa adicionar alguns resistores de feedback positivo para adicionar histerese ao opamp.

insira a descrição da imagem aqui

Fonte da imagem

miceuz
fonte
1

insira a descrição da imagem aqui

VEun

VEun-VddR1 1+VEun-VssR2+VEun-VovocêtRf=0 0

A partir das características opamp, sabemos que:

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

Então, podemos escrever duas equações separadas para esses dois estados.

VEueu-VddR1 1+VEueu-VssR2+VEueu-VOeuRf=0 0VEueuR1 1//R2//Rf=VddR1 1+VssR2+VOeuRfVEueu=(R1 1//R2//Rf)[VddR1 1+VssR2+VOeuRf]VEuH=(R1 1//R2//Rf)[VddR1 1+VssR2+VOHRf]

Exemplo:

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

insira a descrição da imagem aqui

% 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
fonte
1

Como comentado anteriormente, o uso de feedback é a chave para arquivar a histerese usando Op-Amps.

Este artigo de Albert Lee mostra de maneira prática como fazê-lo e como fazer a matemática para calcular os níveis de histerese desejados no sistema.

RHaguiuda
fonte