Come faccio a far funzionare un comparatore opamp in modalità schmitt-trigger?


9

Controllo del ventilatore con opamp in modo problematico

Voglio controllare una piccola ventola da 12V. Imposterò i valori di R 1 , R 2 e R 3 in modo che il ventilatore funzioni a temperature superiori a 40 ° C.

Capisco che in questo tipo di sistemi ci sarà una regione indecisa in cui l'uscita del comparatore cambierà rapidamente tra alto e basso. In questo caso pratico, quando la temperatura è vicina a 40 ° C, si verificherà un comportamento instabile.

Esiste un modo per far funzionare questo circuito in modalità trigger schmitt (ad es. Fermarsi a 38 ° C, iniziare sopra 42 ° C e mantenere lo stato precedente tra 38 ° C e 42 ° C) cambiandolo il meno possibile, e senza usare alcun gate logico trigger schmitt.


La tua richiesta è compresa MA hai una regione morta da 40 a 42 :-). || Il principio di base è il caso 1: aggiungere "feedback positivo" in modo che quando l'uscita diventa alta, l'ingresso apparente diventa ancora più alto e quando l'ingresso diventa basso, l'ingresso apparente diventa ancora più basso. O Caso 2: aggiungere un feedback negativo al riferimento in modo che quando l'uscita aumenta il punto di trigger si abbassa in modo che il sistema debba raffreddarsi prima di raggiungere nuovamente il punto di trigger. || Caso 1: resistenza dall'uscita Opamp all'ingresso non inv. O Caso 2: resistenza da drain M1 all'inversione dell'ingresso.
Russell McMahon,

Si noti che i comparatori di amplificatori operazionali presentano alcuni svantaggi rispetto ai comparatori
Scott Seidman,

Risposte:


11

Per creare un trigger Schmitt devi fornire un feedback positivo, dall'output dell'opamp all'ingresso non invertente. Di solito questo ingresso sarà la tensione di soglia e prenderà uno dei due valori (questa è l'isteresi) a seconda dell'uscita dell'opamp.

Nel tuo caso hai il segnale sull'ingresso non invertente. Puoi anche farlo funzionare in questo modo, ma ti suggerisco di cambiare entrambi gli ingressi, e anche scambiare R1 e PTC ha ancora lo stesso comportamento: una resistenza PTC più alta diminuirà l'ingresso invertente e quando raggiungerà la soglia la ventola sarà acceso. Quindi facciamolo e aggiungiamo un R5 dall'output al nodo R2 / R3.

inserisci qui la descrizione dell'immagine

Lei menziona l'isteresi in ° C, ma abbiamo bisogno delle tensioni. Facciamo un calcolo teorico con un e come soglie e ipotizziamo un opamp di uscita rail-to-rail. Quindi abbiamo due situazioni: la soglia alta e quella bassa e tre variabili: R2, R3 e la R5 aggiunta. Quindi possiamo scegliere uno dei resistori, ripariamo R2.VHVL

Ora, applicando KCL (Kirchhoff's Current Law) per il nodo R2 / R3 / R5:

12VVLR3+0VVLR5=VLR2

e

12VVHR3+12VVHR5=VHR2

Questo è un insieme di equazioni lineari in due variabili: R3 e R5, che è facile da risolvere se è possibile inserire le tensioni effettive per e e un R2 scelto liberamente.VHVL

Supponiamo che, a 38 ° C, si abbia 6 V sull'ingresso di inversione, e a 42 ° C si avrà 5 V. Scegliamo un valore di 10 k per R2. Quindi diventano le equazioni precedenti Ω

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

o

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

poi dopo qualche rimpiazzo e mescolanza troviamo

{R3=12kΩR5=60kΩ


Ho già detto che è meno comune, ma puoi anche usare lo schema corrente e i calcoli sono simili. Ancora una volta, aggiungere un resistore di feedback R5 tra uscita e ingresso non invertente. Ora l'ingresso di riferimento è fissato dal rapporto R2 / R3 e l'isteresi sposta la tensione misurata su e giù, che - almeno per me - ha bisogno di un po 'di tempo per abituarsi.

inserisci qui la descrizione dell'immagine

Supponiamo di fissare la tensione di riferimento a 6 V rendendo uguali R2 e R3. Ancora una volta calcoliamo le correnti sul nodo PTC / R1 / R5, dove PTC e PTC sono i valori PTC a 38 ° C e 42 ° C rispettivamente, e R1 e R5 sono le nostre incognite. Poi LH

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

Ancora una volta, risolvi per R1 e R5.


@Kortuk - Oh, merda! :-) Sì, hai ragione, li aggiungerò. Solo un minuto (o 2, 3 ...)
stevenvh

@Kortuk - Ecco fatto. Contento? :-)
stevenvh

ancora un po 'corto :) Probabilmente hai notato che in realtà non ho effettuato il downgrade.
Kortuk,

1
@Kortuk - Sì, sapevo che non lo avresti fatto. Penso di conoscerti abbastanza bene ormai da sapere che per prima cosa chiedi. ;-)
stevenvh

la tua risposta è stata abbastanza buona senza schematica, ho solo pensato che fosse un miglioramento minore, la tua risposta ha già avuto un mio voto.
Kortuk,


1

inserisci qui la descrizione dell'immagine

Questa è l'equazione più generale nodo che deriva dalla Legge corrente di Kirchhoff:Vin

VinVddR1+VinVssR2+VinVoutRf=0

Dalle caratteristiche di opamp, sappiamo che:

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

Quindi possiamo scrivere due equazioni separate per questi due stati.

VILVddR1+VILVssR2+VILVOLRf=0VILR1//R2//Rf=VddR1+VssR2+VOLRfVIL=(R1//R2//Rf)[VddR1+VssR2+VOLRf]VIH=(R1//R2//Rf)[VddR1+VssR2+VOHRf]

Esempio:

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

inserisci qui la descrizione dell'immagine

% 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

Come commentato prima, usare il feedback è la chiave per archiviare l'isteresi usando Op-Amp.

Questo articolo di Albert Lee mostra in modo pratico come farlo e come fare la matematica per calcolare i livelli di isteresi desiderati sul sistema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.