Vereinfachung vieler Fensterkomparatoren

10

Ich habe 8 Thermistoren und muss sicherstellen, dass sich jeder in einem Temperaturfenster befindet. Sie haben alle das gleiche Fenster und es ist mir egal, welche oder wie viele sich innerhalb des gültigen Bereichs befinden. Ich muss nur wissen, ob sich alle im (gleichen) Fenster befinden oder nicht. Dies soll eine reine Hardwarelösung sein, sodass eine Software-Sequenzierung von ADC-Lesevorgängen nicht in Frage kommt.

Meine derzeit beste Lösung besteht darin, eine Reihe von Komparator-ICs zu verwenden und für jeden Thermistor einen separaten Fensterkomparator zu implementieren. Um die Lösung zu optimieren, kann ich eine Reihe von Quad-Komparatoren mit jeweils offenem Ausgang verwenden, damit ich sie alle miteinander verbinden kann. Im Wesentlichen handelt es sich jedoch um dieselbe Schaltung. Die Referenz- / Triggerspannungen, die ich einmal machen kann, puffern und dann an alle Komparatoren liefern.

Ich fühle mich dumm, einfach ein paar Komparatoren auf das Problem zu werfen. Ich bin mir nicht sicher, ob es keinen besseren Weg gibt. Ich versuche hauptsächlich, den Platz auf dem Board zu optimieren. Gibt es einen kreativen Weg, den Sie kennen? Wählen Sie zum Beispiel die Min / Max-Spannungen aller Thermistoren aus und verwenden Sie einen einzelnen Fensterkomparator (EDIT: zwei Komparatoren von c), was meiner Meinung nach zu einer größeren Lösung führen würde und daher keine gute Antwort ist. Ich erwähne dies nur als Inspiration.

EDIT: Ich weiß, dass eine softwarebasierte Lösung die beste wäre. Deshalb habe ich es gleich zu Beginn und im Voraus erwähnt, um zu verhindern, dass alle es vorschlagen. Der Grund, warum das Problem auf diese Weise definiert wird, liegt darin, dass es sich um eine Sicherheitsschaltung handelt. Gemäß den Spezifikationen muss ich zusätzlich zu einem Software-Monitor eine reine Hardwarelösung implementieren . Die softwarebasierte Lösung ist also bereits vorhanden. Ich muss "nur" den besten Weg finden, um die hardwarebasierte zu implementieren.

ultimA
quelle
1
Sie können die Eingänge zu einem Fensterkomparator multiplexen. Aber dann brauchen Sie etwas, um die Messungen zu sequenzieren und die Ergebnisse zu kombinieren. Die Einschränkung "Keine Software" ist ein Problem, da Sie all dies mit einem Mikrocontroller mit integriertem ADC tun können, was zu dem geringsten Platzbedarf führen würde, wie ich sehen kann. Da ich ein Hardware-Typ bin, muss ich es leider zugeben, aber ein uC und ein kleines Programm sind hier schwer zu schlagen.
Bimpelrekkie
4
Wenn die gewünschte Genauigkeit nicht zu hoch ist, können Sie ein Dioden-ODER-Gatter mit einem Pulldown-Widerstand für die hohe Fenstergrenze verwenden, die von den Thermistoren über jeweils eine Diode angesteuert wird. Die Widerstandsspannung ist die höchste Spannung abzüglich eines Diodenabfalls. Wiederholen Sie diesen Vorgang für ein niedriges Fenster mit einem Pull-up-Widerstand und Dioden mit umgekehrter Polarität. | Während Sie sagten, dies sei keine Softwarelösung - ein dedizierter Arduino (oder nur ein Prozessor der Wahl, der nur diese Aufgabe erledigt) ist wahrscheinlich nahezu so kompakt und kostengünstig.
Russell McMahon
1
"Software-Sequenzierung von ADC-Lesevorgängen kommt nicht in Frage." Damit haben Sie die einfachste und kleinere Lösung weggeworfen.
Oldfart
1
Welcher Standard erfordert die beiden unabhängigen Systeme, von denen eines nur Hardware ist? Ich habe Spezifikationen für unabhängig implementierte Systeme gesehen, aber die Redundanz liefert die erforderliche Zuverlässigkeit. Sie können beispielsweise zwei mikrobasierte Prüfsysteme für nur eine Hardware implementieren.
Olin Lathrop
2
Wird ein FPGA als Software betrachtet?
Eric Johnson

Antworten:

11

Ein Fensterkomparator, ein 3-Bit-Zähler und ein analoger 8: 1-Mux zum Anschließen eines Thermistors an den Komparator.

Wenn alles, was Sie wissen müssen, ist, dass sie alle in Ordnung sind; Das sind 3 Chips, Arbeit erledigt. (74HC163, 74HC4051, Komparator und so etwas wie ein 555 zum Takten).

Wie Andy sagt, hat der MUX (z. B. 74HC4051) einen ziemlich niedrigen Einschaltwiderstand, sodass jeder Thermistor an einen Analogeingang angeschlossen ist und ein einzelner Widerstand auf der anderen Seite einen Spannungsteiler bereitstellt. Wenn alle Thermistoren an GND angeschlossen sind, geht der Widerstand auf 5V.

schematisch

simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab

Wenn Sie aufzeichnen / anzeigen müssen, welche nicht den Spezifikationen entsprechen, fügen Sie Schaltkreise wie einen 3-8-Zeilen-Decoder (einen weiteren IC, 74HC138) hinzu, um acht LEDs anzusteuern. Die Schuldigen blinken abwechselnd weiter.

Wenn Sie mehr als das benötigen, entscheiden Sie sich für die MCU und die Software.

Brian Drummond
quelle
Die Anregungsquelle (Widerstand) könnte sich auf der "1" -Seite des MUX (MUX mit niedrigem Ohm) befinden, aber ansonsten +1, um mich zu schlagen.
Andy aka
@Andyaka Deshalb habe ich mich nicht um einen Schaltplan gekümmert! Außerdem kann ich 74 (HCT) 4051, 74x163, 74x138 im Online-Sch-Editor nicht finden ... Ich werde dieses Detail ausfüllen, aber wenn Sie mehr ausfüllen möchten, ist es ein oder zwei Stimmen wert.
Brian Drummond
Du bist auf einer Rolle, Brian, also lasse ich es bei dir.
Andy aka
1
Okay, interessante Idee. Es gibt ein kleines Problem am Ausgang, da wenn der einzelne Thermistor beispielsweise außerhalb des Bereichs liegt, der Ausgang dies mir buchstäblich nur in 1/8 der Fälle sagt. Wahrscheinlich keine so große Sache, dass ich die Ausgabe von win.comp füttern könnte. zu einem Schieberegister mit Open-Drain-Ausgängen. Ich müsste es takten, aber das gleiche, was den Multiplexer stößt, könnte das wahrscheinlich auch tun. Auf jeden Fall eine Idee, der es sich zu folgen lohnt. Lassen Sie mich versuchen, ein vollständigeres Schema zu erstellen, und ich werde mich hier bei Ihnen melden.
UltimA
Wenn Sie es mit 4 Hz takten und die Zeitkonstante Ihres thermischen Systems> 2 Sekunden beträgt, ist dies (a) in Ordnung und (b) ergibt eine ziemlich ausgeprägte Blinkrate (Buzz-Rate, was auch immer). Sie kennen die Systemmerkmale, kann ich nur erraten.
Brian Drummond
13

Ich denke, Brians Nicht-SW-Antwort ist die beste, aber hier ist eine rein analoge Lösung. Verwenden Sie eine Schaltung, die von Natur aus den Eingang mit der höchsten Spannung (von mehreren) auswählt und diesen an den Ausgang legt. Das Gleiche gilt für die Schaltung für die niedrigste Spannung.

Betrachten Sie den Präzisionsgleichrichter: -

Geben Sie hier die Bildbeschreibung ein

Es erzeugt eine Ausgangsspannung, die über ihren gesamten positiven Bereich der Eingangsspannung folgt. Überlegen Sie nun, was passiert, wenn Sie zwei Eingaben wie diese haben:

Geben Sie hier die Bildbeschreibung ein

Welcher von V1 und V2 am höchsten ist, gewinnt den Kampf um die Ausgangsleitung. Schritt und Wiederholung für 8 Eingänge, dann machen Sie dasselbe mit rückwärts angeschlossenen Dioden und Sie haben eine Lösung, die zwei Ausgangsspannungen erzeugt, die den höchsten und den niedrigsten Pegel aus mehreren verschiedenen Spannungsquellen darstellen.

Ich bin nicht 100%, aber ich denke, Sie können die Operationsverstärker für die niedrigsten Spannungen wiederverwenden. Vielleicht irre ich mich dabei?

Verwenden Sie dann Komparatoren in beiden Zeilen, um festzustellen, ob einer der acht außerhalb des Bereichs liegt.

Andy aka
quelle
Wir hatten vor einiger Zeit ungefähr die gleiche Frage, und ich denke, diese Lösung ist ein verstecktes Juwel.
Janka
@Janka vielleicht kannst du es finden und verlinken? Ich würde es gerne sehen.
Andy aka
+1 Ich mag das. Vielleicht 4 LM324s + ein Kabel- oder LM393 und Sie sind fertig. Er kann die * & * $$ herausfiltern, um falsche Auslöser zu verhindern.
Spehro Pefhany
Ich hatte den Eindruck, dass es nicht mehr als einen Monat her war und das Wort Größe darin war, aber ich glaube, ich habe mich geirrt: Ich kann es nicht finden.
Janka
Hallo! Vielen Dank für Ihre Antwort. Ich denke jedoch, dass dies die Kosten in jeder Hinsicht erhöht. Für den naiven Bau von 8 Fensterkomparatoren wie in der ursprünglichen Frage sind 16 Komparatoren erforderlich. Diese vorgeschlagene Lösung benötigt auch 16 nur zum Erstellen von min + max, dann weitere 4 für den tatsächlichen Vergleich plus eine Reihe von Dioden. Natürlich ist der Unterschied in der Anzahl der tatsächlichen ICs aufgrund von Quad-Operationsverstärkern geringer, aber es ist dennoch kein Gewinn.
UltimA
3

Vorschläge zur Verbesserung der Multiplex-Lösungen zur Verwendung als Sicherheitsschaltung: Stellen Sie einen der Multiplexer-Eingänge auf einen Eingang ein, der außerhalb des Sicherheitsfensters bekannt ist (oder sogar zwei Eingänge, einen unter einem oben). Überprüfen Sie, ob der Komparator eine Antwort "außerhalb des Fensters" gibt, wenn die relevanten Eingänge am Multiplexer ausgewählt sind.

Am besten treiben Sie den Multiplexer mit einem (synchron ist am besten) Zähler an, der eine Bit mehr Auflösung hat als Sie benötigen (und doppelt so schnell getaktet wird): Das niedrigstwertige Zählerbit erzeugt ein großartiges Triggersignal, in das Sie den Status des Komparators laden können Ein flankengetriggertes D-Flipflop, nachdem es genügend Zeit zum Einsetzen hatte - und dieses Triggersignal kann je nach Zählerzustand auch logisch sicher auf verschiedene D-Flipflops übertragen werden (z. B. eines für jeden Thermistor oder eines für die Thermistoren und eines für das Selbst -Testkanäle, die ich oben vorgeschlagen habe).

Um noch sicherer zu sein, duplizieren Sie die gesamte Schaltung. Während die Thermistoren und die zugehörigen Eingänge theoretisch immer noch ein einzelner Fehlerpunkt sind, sollte die Tatsache, dass Sie einen Fensterkomparator verwenden, verhindern, dass ein vollständiger Kurzschluss oder eine Unterbrechung eines Thermoelements als falsches OK falsch interpretiert wird (Vorspannung entsprechend).

Rackandboneman
quelle
3

Hier ist ein 6 x Fensterkomparator-IC und hier ist ein Quad-Fensterkomparator-IC .
Leider keine Acht.

Sie könnten den Bedarf mit 4 x ye alten LM339 Quad Open Drain Komparatoren decken.
Diese sind in
1,7 mm x 1,7 mm (3 mm x 3 mm einschließlich Pads) QFN
oder 6,4 x 5 mm TSSOP erhältlich

Datenblatt hier

Sie benötigen außerdem obere und untere Fensterreferenzspannungen (3 Widerstände) und einen einzelnen Pullup-Ausgang.

Russell McMahon
quelle
Hallo. Ja, ich habe in der ursprünglichen Frage auch erwähnt, dass es möglich ist, Arrays zu verwenden, was die IC-Anzahl unbestreitbar senkt. Ich denke, die Frage war mehr, ob es möglich ist, die Anzahl der Komponenten mit einer anderen Architektur zu senken als nur mit Geräten mit höherer Integration. Ich habe Brians Antwort akzeptiert, weil Sie mit dieser Lösung mit nur 5-6 physischen Komponenten eine Schaltung für 16 oder sogar 32 Thermistoren bauen können. Vielleicht nicht für eine geringe Anzahl von NTCs wie <8, aber mehr als das und diese Lösung ist ein klarer Gewinner. Trotzdem danke (auch für deine Kommentare früher).
UltimA
2

Warum so komplex?

U2 + ist max (Eingänge) - Diodenabfall.

U1- ist min (Eingänge) + Diodenabfall.

R3,4,5 legt Schwellenwerte fest. Wenn an einem Eingang zu niedrig, fällt U1- unter den Schwellenwert an U1 +, U1out geht hoch. Wenn ein Eingang zu hoch ist, steigt U2 + über den Schwellenwert. U2out geht hoch.

Sie sind sich nicht sicher, was Sie tatsächlich tun möchten, wenn eine der beiden Bedingungen eintritt, aber denken Sie daran, einen Transistor / FET / SCR anzusteuern.

Magoo
quelle
1

Sie können Fensterkomparator-ICs kaufen, um Platz auf der Platine zu sparen. Zum Beispiel TPS3700 , LTC1042 , LMV7231 (hex) oder MAX969 (quad).

τεκ
quelle
-2
Ich versuche hauptsächlich, den Platz auf dem Board zu optimieren.
Ich fühle mich dumm, einfach ein paar Komparatoren auf das Problem zu werfen.

Die naheliegende Lösung besteht darin, einen Mikrocontroller mit mindestens 8 A / D-Eingängen zu verwenden. Der Rest ist Firmware.

Selbst ein langsames Mikro kann mit 8 Thermistoren mithalten. Sie können ein System erstellen, das beispielsweise in weniger als einer Millisekunde reagiert. Das sollte so viel schneller sein als die Reaktionszeit der Thermistoren, dass es effektiv augenblicklich ist.

Sie sagen, dass die Sequenzierung von A / D-Lesevorgängen "nicht in Frage kommt", gaben aber keine Rechtfertigung für diese willkürliche Anforderung. Ein kleiner Mikrocontroller benötigt weniger Platz auf der Platine als eine Reihe von Komparatoren. Da die Optimierung des Board-Raums hauptsächlich das ist, was Sie anstreben, müssen Sie dies ernsthaft untersuchen.

Olin Lathrop
quelle
6
Ja, nein, du liegst falsch. Es gibt keine Religion, es gibt einfach Zeiten, in denen eine hardwarebasierte Lösung erforderlich ist. Ich verstehe nicht, warum ich meine Anforderungen rechtfertigen muss, denn selbst wenn Sie der Meinung sind, dass die Anforderung Unsinn ist, hat die richtige Antwort für alle einen Lehrwert. Aber natürlich gibt es einen Grund dafür, den ich in einer Bearbeitung am Ende der Frage angegeben habe.
UltimA
6
Das Erstellen eines Sicherheitsnachweises für ein Softwaresystem (wie aus der bearbeiteten Frage hervorgeht, kann erforderlich sein) kann erheblich teurer sein als das Erstellen eines einfachen unabhängigen Hardwaresystems.
Brian Drummond
3
Was auch immer Sie sagen, ändert nichts an der Tatsache, dass Ihre Antwort falsch, unhöflich und nicht hilfreich ist
MCG
3
Nur weil ich kann. Die in vielen Fällen relevante "Use a Micro" -Lösung ist hier wirklich irrelevant. Dies ist immerhin ein Elektronikforum, und das Veröffentlichen von Antworten zur linearen Vorgehensweise ist eine eher lehrreiche Antwort. Wenn es keinen anderen Grund gibt, als hervorzuheben, wie viel billiger und kleiner es wäre, ein Mikro zu verwenden.
Trevor_G