Comment faire fonctionner un comparateur d'opamp en mode déclencheur schmitt?

9

Contrôle du ventilateur avec opamp de manière problématique

Je veux contrôler un petit ventilateur de boîtier 12V. Je vais définir des valeurs de R 1 , R 2 et R 3 pour que le ventilateur fonctionne au-dessus des températures de 40 o C.

Je comprends que dans ce type de systèmes, il y aura une région indécise dans laquelle la sortie du comparateur passera rapidement de haut en bas. Dans ce cas pratique, lorsque la température est voisine de 40 o C, il y aura un comportement instable.

Existe-t-il un moyen de faire fonctionner ce circuit en mode de déclenchement schmitt (par exemple, arrêter en dessous de 38 o C, démarrer au-dessus de 42 o C et garder l'état précédent entre 38 o C et 42 o C) en le modifiant le moins possible, et sans utiliser de porte logique de déclenchement schmitt.

hkBattousai
la source
Votre demande est comprise MAIS vous avez une région morte de 40 à 42 :-). || Le principe de base est le cas 1: pour ajouter une "rétroaction positive" de sorte que lorsque la sortie monte haut, l'entrée apparente va encore plus haut et quand l'entrée va bas, l'entrée apparente va encore plus bas. OU Cas 2: ajoutez une rétroaction négative à la référence de sorte que lorsque la sortie monte, le point de déclenchement descend plus bas afin que le système doive refroidir avant que le point de déclenchement ne soit à nouveau atteint. || Cas 1: résistance de la sortie Opamp à l'entrée non inv. Ou Cas 2: résistance du drain M1 à l'entrée inverseuse.
Russell McMahon
Notez que les comparateurs d'amplificateurs opérationnels ont certains inconvénients par rapport aux comparateurs
Scott Seidman

Réponses:

11

Pour créer un déclencheur Schmitt, vous devez fournir une rétroaction positive, de la sortie de l'ampli op à l'entrée non inverseuse. Habituellement, cette entrée sera la tension de seuil, et elle prendra l'une des deux valeurs (c'est l'hystérésis) en fonction de la sortie de l'ampli op.

Dans votre cas, vous avez le signal sur l'entrée non inverseuse. Vous pouvez également le faire fonctionner de cette façon, mais je vous suggère de commuter les deux entrées, et également d'échanger R1 et PTC ont toujours le même comportement: une résistance PTC plus élevée diminuera l'entrée inverseuse, et lorsqu'elle atteindra le seuil, le ventilateur sera allumé. Faisons donc cela et ajoutons un R5 de sortie au nœud R2 / R3.

entrez la description de l'image ici

Vous mentionnez l'hystérésis en ° C, mais nous avons besoin des tensions. Faisons un calcul théorique avec un et comme seuils, et supposons un ampli op de sortie rail à rail. Ensuite, nous avons deux situations: le seuil haut et le seuil bas, et trois variables: R2, R3 et R5 ajouté. Nous pouvons donc choisir l'une des résistances, réparons R2.VHVL

Maintenant, en appliquant KCL (la loi actuelle de Kirchhoff) pour le nœud R2 / R3 / R5:

12VVLR3+0VVLR5=VLR2

et

12VVHR3+12VVHR5=VHR2

Il s'agit d'un ensemble d'équations linéaires à deux variables: R3 et R5, qui est facile à résoudre si vous pouvez remplir les tensions réelles pour et et un R2 librement choisi.VHVL

Supposons pour l'argument que, à 38 ° C, vous avez 6 V sur l'entrée inverseuse, et à 42 ° C, vous aurez 5 V. Choisissons une valeur 10 k pour R2. Ensuite, les équations ci-dessus deviennent Ω

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

ou

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

puis après avoir remplacé et mélangé, nous trouvons

{R3=12kΩR5=60kΩ


J'ai déjà dit que c'était moins courant, mais vous pouvez également utiliser le schéma actuel, et les calculs sont similaires. Encore une fois, ajoutez une résistance de rétroaction R5 entre la sortie et l'entrée non inverseuse. Maintenant, l'entrée de référence est fixée par le rapport R2 / R3, et l'hystérésis va déplacer votre tension mesurée de haut en bas, ce qui - au moins pour moi - a besoin d'un peu de temps pour s'y habituer.

entrez la description de l'image ici

Supposons que nous fixions la tension de référence à 6 V en égalisant R2 et R3. Encore une fois, nous calculons les courants au nœud PTC / R1 / R5, où PTC et PTC sont les valeurs PTC à 38 ° C et 42 ° C respectivement, et R1 et R5 sont nos inconnues. alors LH

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

Encore une fois, résolvez pour R1 et R5.

stevenvh
la source
@Kortuk - Oh, merde! :-) Oui, vous avez raison, je vais les ajouter. Juste une minute (ou 2, 3 ...)
stevenvh
@Kortuk - Voilà, c'est fait. Heureux? :-)
stevenvh
encore un peu court :) Vous avez sans doute remarqué que je n'ai pas vraiment downvote.
Kortuk
1
@Kortuk - Ouais, je savais que non. Je pense que je vous connais assez bien maintenant pour savoir que vous demandez d'abord. ;-)
stevenvh
votre réponse était assez bonne sans schéma, je pensais juste que c'était une amélioration mineure, votre réponse avait déjà un vote positif de ma part.
Kortuk
2

Vous devez ajouter quelques résistances de rétroaction positive pour ajouter une hystérésis à l'ampli-op.

entrez la description de l'image ici

Source d'image

miceuz
la source
1

entrez la description de l'image ici

C'est l'équation la plus générale au nœud qui provient de la loi actuelle de Kirchhoff:Vin

VinVddR1+VinVssR2+VinVoutRf=0

D'après les caractéristiques de l'ampli op, nous savons que:

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

Nous pouvons donc écrire deux équations distinctes pour ces deux états.

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

Exemple:

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

entrez la description de l'image ici

% 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
la source
1

Comme indiqué précédemment, l'utilisation de la rétroaction est la clé pour archiver l'hystérésis en utilisant des amplificateurs opérationnels.

Cet article d'Albert Lee montre de manière pratique comment le faire et comment faire les calculs pour calculer les niveaux d'hystérésis souhaités sur le système.

RHaguiuda
la source