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.
quelle
Antworten:
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.
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.
quelle
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: -
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:
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.
quelle
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).
quelle
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.
quelle
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.
quelle
Sie können Fensterkomparator-ICs kaufen, um Platz auf der Platine zu sparen. Zum Beispiel TPS3700 , LTC1042 , LMV7231 (hex) oder MAX969 (quad).
quelle
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.
quelle