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.
Réponses:
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.
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
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: -
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: -
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.
la source
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).
la source
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.
la source
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.
la source
Vous pouvez acheter des CI de comparateur de fenêtre pour économiser de l'espace sur la carte. Par exemple, TPS3700 , LTC1042 , LMV7231 (hex) ou MAX969 (quad).
la source
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.
la source