Simplifier de nombreux comparateurs de fenêtres


10

J'ai 8 thermistances et je dois m'assurer que chacune d'elles est à l'intérieur d'une fenêtre de température. Ils ont tous la même fenêtre et je me fiche de savoir qui ou combien se trouvent dans la plage valide, j'ai juste besoin de savoir s'ils sont tous à l'intérieur de la (même) fenêtre ou non. Il s'agit d'une solution matérielle uniquement, il est donc hors de question de séquencer le logiciel des lectures ADC.

Ma meilleure solution est actuellement d'utiliser un tas de CI de comparateur et de mettre en œuvre un comparateur de fenêtre séparé pour chaque thermistance. Pour optimiser la solution, je peux utiliser un certain nombre de comparateurs quadruples, chacun avec une sortie à drain ouvert afin de pouvoir tous les connecter. Pourtant, c'est essentiellement le même circuit. Les tensions de référence / déclenchement que je peux faire une fois, tamponner, puis fournir à tous les comparateurs.

Je me sens stupide de simplement jeter un tas de comparateurs sur le problème. Je ne sais pas s'il n'y a pas de meilleur moyen, j'essaie surtout d'optimiser l'espace de la carte. Y a-t-il un moyen créatif que vous connaissez? Par exemple, sélectionnez les tensions min / max de toutes les thermistances et utilisez un comparateur à fenêtre unique (EDIT: deux comparateurs ofc), ce qui à mon humble avis conduirait à une solution plus large et n'est donc pas une bonne réponse, je le mentionne simplement pour inspiration.

EDIT: Je sais qu'une solution logicielle serait la meilleure. C'est pourquoi je l'ai mentionné dès le début et dès le départ pour empêcher tout le monde de le suggérer. La raison pour laquelle le problème est défini de cette façon est qu'il s'agit d'un circuit de sécurité et que les spécifications m'obligent à implémenter une solution matérielle uniquement en plus d'un moniteur logiciel. Donc, la solution logicielle est déjà là, j'ai "juste" besoin de trouver la meilleure façon de mettre en œuvre la solution matérielle.


1
Vous pouvez multiplexer les entrées sur un comparateur de fenêtre. Mais alors vous auriez besoin de quelque chose pour séquencer les mesures et combiner les résultats. La restriction "aucun logiciel" est pénible car vous pouvez faire tout cela avec un microcontrôleur avec un ADC intégré, ce qui entraînerait la plus petite empreinte comme je peux le voir. Comme je suis un amateur de matériel, je regrette de l'admettre, mais un uC et un petit programme sont difficiles à battre ici.
Bimpelrekkie

4
Si la précision que vous souhaitez n'est pas trop `` serrée '', vous pouvez utiliser une diode OU une porte avec une résistance de rappel pour la fenêtre haute liée par les thermistances via une diode de chacune. La tension de résistance sera la tension la plus élevée moins une chute de diode. Répétez l'opération pour une fenêtre basse avec une résistance de rappel et des diodes à polarité inversée. | Bien que vous ayez dit que cela ne devait pas être une solution logicielle - un Arduino dédié (ou simplement un processeur de choix effectuant uniquement cette tâche) est susceptible d'être aussi compact et peu coûteux.
Russell McMahon

1
"Le séquencement logiciel des lectures ADC est hors de question." Avec cela, vous avez jeté la solution la plus simple et la plus petite.
Oldfart

1
De quelle norme s'agit-il pour les deux systèmes indépendants dont l'un est uniquement matériel? J'ai vu des spécifications pour des systèmes mis en œuvre indépendamment, mais la redondance fournit la fiabilité nécessaire. Vous pouvez par exemple implémenter deux systèmes de vérification à base de micro pour l'espace d'un seul matériel.
Olin Lathrop du

2
Un FPGA est-il considéré comme un logiciel?
Eric Johnson

Réponses:


11

Un comparateur de fenêtre, un compteur 3 bits et un multiplexeur analogique 8: 1 pour connecter une thermistance au comparateur.

Si tout ce que vous devez savoir, c'est que tout va bien; c'est 3 jetons, le travail est fait. (74HC163, 74HC4051, comparateur, plus quelque chose comme un 555 pour le cadencer).

Comme le dit Andy, le MUX (par exemple 74HC4051) a une résistance ON assez faible, donc chaque thermistance se connecte à une entrée analogique, et une seule résistance de l'autre côté fournit un diviseur de tension. Si les thermistances sont toutes connectées à GND, la résistance passe à 5V.

schématique

simuler ce circuit - Schéma créé à l'aide de CircuitLab

Si vous devez enregistrer / afficher QUI sont hors spécifications, vous commencez à ajouter des circuits tels qu'un décodeur 3-8 lignes (un IC supplémentaire, 74HC138) pour piloter huit LED; les coupables clignoteront à tour de rôle.

Si vous avez besoin de plus que cela, optez pour le MCU et le logiciel.


La source d'excitation (résistance) pourrait être du côté "1" du MUX (MUX à faible ohm) mais sinon +1 pour m'avoir battu.
Andy aka

@Andyaka C'est pourquoi je n'ai pas pris la peine d'un schéma! De plus, je ne trouve pas 74 (HCT) 4051, 74x163, 74x138 dans l'éditeur de sch en ligne ... Je remplirai ce détail mais si vous voulez en ajouter plus, cela vaudra un vote ou deux.
Brian Drummond

Vous êtes sur une lancée Brian donc je vous laisse.
Andy aka

1
D'accord, idée intéressante. Il y a un léger problème à la sortie, en ce sens que si une seule thermistance est hors de portée, par exemple, la sortie ne me le dirait littéralement qu'au 1/8 du temps. Probablement pas un gros problème car je pourrais alimenter la sortie de win.comp. vers un registre à décalage avec sorties à drain ouvert. J'aurais besoin de le synchroniser, mais la même chose qui pique le multiplexeur pourrait probablement le faire aussi. Certainement une idée qui mérite d'être suivie, permettez-moi d'essayer de trouver un schéma plus complet et je vous reviendrai ici.
ultimA

Eh bien, si vous le synchronisez à 4 Hz et que la constante de temps de votre système thermique est> 2 secondes, c'est (a) OK et (b) donne un taux de clignotement assez important (taux de buzz, peu importe). Vous connaissez les caractéristiques du système, je ne peux que deviner.
Brian Drummond

13

Je pense que la réponse non SW de Brian est la meilleure mais voici une solution purement analogique. Utilisez un circuit qui choisit intrinsèquement l'entrée de tension la plus élevée (parmi plusieurs) et la met à la sortie. Idem le circuit pour la tension la plus basse.

Considérez le redresseur de précision: -

entrez la description de l'image ici

Il produit une tension de sortie qui suit la tension d'entrée sur toute sa plage positive. Considérez maintenant ce qui se passe lorsque vous avez deux entrées comme celle-ci: -

entrez la description de l'image ici

La valeur la plus élevée de V1 et V2 gagnera la bataille pour conduire la ligne de sortie. Étape et répétez pour 8 entrées, puis faites de même avec les diodes à connexion inversée et vous avez une solution qui génère deux tensions de sortie qui représentent les niveaux le plus élevé et le plus bas à partir de plusieurs sources de tension différentes.

Je ne suis pas à 100% mais je pense que vous pouvez réutiliser les amplificateurs opérationnels pour les tensions les plus basses. Peut-être que je me trompe là-dessus?

Utilisez ensuite des comparateurs sur les deux lignes pour déterminer si l'un des huit peut être hors de portée.


Nous avions à peu près la même question il y a quelque temps, et je pense que cette solution est un joyau caché.
Janka

@Janka, vous pouvez peut-être le trouver et le lier? J'aimerais le voir.
Andy aka

+1 J'aime ça. Peut-être 4 LM324 + un LM39 filaire ou et vous avez terminé. Il peut en filtrer les * et * $$ pour éviter les faux déclencheurs.
Spehro Pefhany

J'avais l'impression qu'il n'y avait pas plus d'un mois et j'avais le mot magnitude , mais je pense que j'avais tort: ​​je ne le trouve pas.
Janka

Salut! Merci pour votre réponse. Je pense que cela augmente en fait les coûts dans tous les aspects. Construire naïvement 8 comparateurs de fenêtres comme dans la question d'origine nécessite 16 comparateurs. Cette solution proposée nécessite également 16 uniquement pour la construction min + max, puis 4 supplémentaires pour la comparaison réelle plus un réseau de diodes. Ofc la différence dans le nombre de circuits intégrés réels est plus petite en raison de quadruple amplis, mais néanmoins ce n'est pas une victoire.
ultimA du

3

Suggestions pour améliorer les solutions multiplexées à utiliser comme circuit de sécurité: Faites prérégler l'une des entrées du multiplexeur sur une entrée connue en dehors de la fenêtre de sécurité (ou même deux entrées, une en dessous d'une au-dessus). Vérifiez qu'il y a une réponse de "fenêtre extérieure" du comparateur lorsque les entrées pertinentes sont sélectionnées sur le multiplexeur.

Il est préférable de piloter le multiplexeur avec un compteur (synchrone est le meilleur) qui a une résolution un peu supérieure à celle dont vous avez besoin (et qui est cadencé deux fois plus vite): le bit de compteur le moins significatif fait un excellent signal de déclenchement afin que vous puissiez charger l'état du comparateur dans une bascule D déclenchée par un bord après avoir eu beaucoup de temps pour se stabiliser - et ce signal de déclenchement peut également être déclenché en toute sécurité par la logique en fonction de l'état du compteur pour différentes bascules D (par exemple, une pour chaque thermistance, ou une pour les thermistances et une pour l'auto -les canaux de test que j'ai suggérés ci-dessus).

Pour être encore plus sûr, dupliquez tout le circuit. Bien que les thermistances et les entrées associées soient toujours théoriquement un seul point de défaillance, le fait que vous utilisez un comparateur de fenêtre devrait empêcher un court-circuit complet ou une ouverture sur un thermocouple d'être mal lu comme un faux OK (biais en conséquence).


3

Voici un CI de comparateur de fenêtre 6 x et voici un CI de comparateur de fenêtre Quad .
Pas de 8, hélas.

Vous pourriez répondre au besoin avec 4 comparateurs à drain ouvert quadruple LM339.
Ceux-ci peuvent être disponibles en
QFN 1,7 mm x 1,7 mm (3 mm x 3 mm avec tampons)
ou TSSOP 6,4 x 5 mm

Fiche technique ici

Vous auriez également besoin de tensions de référence de fenêtre supérieure et inférieure (3 résistances) et d'un pullup de sortie unique.


Bonjour. Oui, j'ai également mentionné dans la question d'origine qu'il était possible d'utiliser des matrices, ce qui abaissait incontestablement le nombre de circuits intégrés. Je suppose que la question était plus de savoir s'il est possible de réduire le nombre de composants en utilisant une architecture différente que d'utiliser simplement des périphériques d'intégration plus élevés. J'ai accepté la réponse de Brian, car en utilisant seulement 5-6 composants physiques, vous pouvez construire un circuit pour 16 ou même 32 thermistances avec cette solution. Peut-être pas pour un petit nombre de NTC tels que <8, mais quelque chose de plus que cela et cette solution est clairement gagnante. Néanmoins, merci (également pour vos commentaires plus tôt).
ultimA

2

Pourquoi si complexe?

U2 + sera max (entrées) - chute de diode.

U1- sera min (entrées) + chute de diode.

R3,4,5 fixe des seuils. S'il est trop bas sur une entrée, U1- tombe en dessous du seuil sur U1 +, U1out passe à l'état haut. S'il est trop élevé sur une entrée, U2 + dépasse le seuil. U2out monte haut.

Je ne sais pas ce que vous voulez réellement faire dans les deux cas, mais pensez à un transistor / FET / SCR.



-2
J'essaie surtout d'optimiser l'espace de la carte.
Je me sens stupide de simplement jeter un tas de comparateurs sur le problème.

La solution évidente consiste à utiliser un microcontrôleur avec au moins 8 entrées A / N. Le reste est un firmware.

Même un micro lent peut suivre 8 thermistances. Vous pouvez par exemple créer un système qui répond en moins d'une milliseconde. Cela devrait être tellement plus rapide que le temps de réponse des thermistances pour être effectivement instantané.

Vous dites que le séquençage des lectures A / D est "hors de question", mais n'a donné aucune justification à cette exigence arbitraire. Un petit microcontrôleur prendra moins d'espace sur la carte qu'un tas de comparateurs. Étant donné que l'optimisation de l'espace de la carte est principalement ce que vous visez, c'est quelque chose que vous devez explorer sérieusement.


6
Ouais, non tu te trompes. Il n'y a aucune religion impliquée, il y a simplement des moments où une solution basée sur le matériel est une exigence, point final. Je ne vois pas pourquoi j'ai besoin de justifier mes exigences, car même si vous pensez que l'exigence est un non-sens, la bonne réponse a une valeur pédagogique pour tout le monde. Mais bien sûr, il y a une raison à cela, que j'ai fournie dans un montage à la fin de la question.
ultimA

6
La construction d'un dossier de sécurité pour un système logiciel (comme la question éditée le précise peut être nécessaire) peut être beaucoup plus coûteuse que la construction d'un simple système matériel indépendant.
Brian Drummond

3
Quoi que vous disiez ne change pas le fait que votre réponse soit incorrecte, grossière et inutile
MCG

3
Sonner juste parce que je peux. La solution "Utiliser un micro", bien que pertinente dans de nombreux cas, n'est vraiment pas pertinente ici. C'est après tout un forum électronique et publier des réponses sur la façon de le faire de manière linéaire est une réponse plus pédagogique. Si pour aucune autre raison que de mettre en évidence combien moins cher et plus petit ce serait d'utiliser un micro.
Trevor_G
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.