Funktioniert diese ADC-Schaltung wie vorgesehen?

Hier ist Revision 6 der Schaltung. Wie sieht es aus? :)

(Dies ist eine Ohmmeterschaltung. Sie misst Widerstände von 1 bis 10 M Ohm mit einer Genauigkeit von 1 %. Der Widerstand (nicht gezeigt) wird zwischen J5 und J6 gemessen. Der Komparator geht zum Aufweckstift eines uC. Der uC wacht dann auf hoch und liest über die SPI-Schnittstelle am ADC.)

Geben Sie hier die Bildbeschreibung ein

Achten Sie auf Undichtigkeiten an Ihrem ESD-Schutz. 3,3 nA bewirken eine Messgenauigkeit von 1 % bei einem Widerstand von 10 Megaohm.
Ist der ADC zufällig ein MCP3550 ? Auf dem Schaltplan ist es nicht erwähnt.
Ja, es ist ein Microchip MCP3550. Ich habe es auf Digikey gefunden.
Sollte ich einen schwachen Pullup (wie 100k) auf das 1M-Transistorgate legen? Auf diese Weise ist es eingeschaltet, wenn der uC schläft, und zieht den Komparator + auf Masse. Sonst schwimmt das + nicht?
Der Klimmzug ist eine gute Idee, hätte man bei näherer Überlegung aber auch so lassen können, ohne U10 :-). Sie müssen nur R2 im Auge behalten, wenn Sie den Widerstandsteiler berechnen. (Übrigens würde ich ein anderes Refdes-Präfix für die FETs wählen, wie "Q"; "U" wird normalerweise für ICs verwendet).
Ich suche nach Operationsverstärkern für den ADC-Puffer. Einige, die ich mir angesehen habe, haben große Schwankungen im Offset, wie -4,5 mV bis +4,5 mV.

Antworten (2)

Vref
Da Sie dieselbe Spannung für den Widerstandsteiler und Vref verwenden, ist der ADC-Messwert unabhängig von dieser Spannung: Wenn Ihr ADC-Messwert 123 bei 3,3 V beträgt, beträgt er auch 123 bei 3,0 V. Der absolute Wert von Vref ist also nicht wirklich wichtig.

Trotzdem ist es eine gute Idee, eine Vref zu haben, die von anderen Schaltungen unabhängig ist. In Ihrem Schaltplan werden die 3,3 V auch verwendet, um den Komparator und den ADC mit Strom zu versorgen. Ich würde zumindest einen RC-Filter verwenden, um Vref von diesen 3,3 V zu erhalten. Wie ich bereits sagte, ist der tatsächliche Wert von Vref nicht wichtig, sodass Sie sich einen gewissen Spannungsabfall über dem Widerstand leisten können, was eine niedrigere Grenzfrequenz ermöglicht.

Komparator
Ihr Komparator funktioniert möglicherweise nicht. Ihre Referenzspannung liegt bei 0 V, was die niedrigste Spannung in der Schaltung ist. Viele Komparatoren haben eine eingebaute Hysterese, was bedeutet, dass der +Eingang etwas unter den -Eingang gehen muss, um den Ausgang wieder niedrig zu machen, und das können Sie nicht tun. Verwenden Sie einen Widerstandsteiler, um die Schwelle etwas zu erhöhen, etwa auf 50 mV.

1 % Genauigkeit
Tut mir leid, aber das wird überhaupt nicht funktionieren. Für den 1-Ω-Bereich haben Sie einen Widerstandsteiler von (10 kΩ + 1 Ω) | 100 kΩ. 1 Ω ist 0,01 % der 10 kΩ, mit denen es in Reihe geschaltet ist; Wenn Sie es mit einer Genauigkeit von 1 % wissen möchten, müssen Sie zunächst den 10-kΩ-Wert mit einer Genauigkeit von 1 ppm kennen. Eine Temperaturänderung von 1 °C übertönt bereits den 1-Ω-Wert.

Auch der Bereich von 1 Ω - 10 MΩ ist viel zu groß für einen einzelnen Teiler.

Geben Sie hier die Bildbeschreibung ein

Dieses Diagramm zeigt die Ausgabe des Teilers relativ zur vollen Skala des ADC. Beachten Sie, dass sich der Messwert zwischen 1 Ω und 1 kΩ kaum ändert. Selbst mit einem 22-Bit-genauen ADC liefern ein 1-Ω-Widerstand und ein 1,03-Ω-Widerstand denselben Wert. Beachten Sie, dass 22-Bit-Auflösung nicht 22-Bit-Präzision bedeutet. Lesen Sie das Datenblatt des ADC und stellen Sie fest, dass 1 LSB 0,25 ppm entspricht. Dann ist alles wichtig: Diese 5-cm-Leiterplattenspur kann beispielsweise mehr als einen LSB-Fehler einführen. Ein 22-Bit-ADC hilft hier nicht weiter. Ich würde für jedes Jahrzehnt unterschiedliche Teiler verwenden.

Bearbeiten Sie die aktualisierte Schaltung
. Sie haben R1, R5, R7, R9 und R13 alle parallel, was einem einzelnen 9 & Omega-Widerstand entspricht. Ich wollte dies über Ihren R1 in der Originalschaltung hinzufügen, habe es aber vergessen. Es hat keinen Zweck, es reduziert nur den Messbereich für niedrige Widerstände um 10 %. Sie können in den Diagrammen sehen, dass Sie nur bis zu 90 % von FS gehen, und dafür ist R1 verantwortlich. Schmeiß es hin. Das gilt auch für die anderen, die ich zusammengefasst habe.
R2 wird immer parallel zu einem der anderen Widerstände sein, also müssen Sie diesen entweder ebenfalls schalten oder entfernen.

Ihre Widerstandsteilerspannung ist immer noch mit Vcc verbunden. Um spannungsunabhängige Messungen zu erhalten, muss es mit Vref verbunden werden.

Der von Ihnen verwendete Si5406 ist gut: Er hat einen Tiefpunkt v G S ( t h ) und R D S ( Ö N ) . Beachten Sie jedoch, dass es einen Leckstrom von bis zu 1 µA hat, der insbesondere Ihre hochohmigen Messungen verfälscht. (Dies ist eines der Dinge, die Präzisionsmessungen so schwierig machen.) Andere FETs schneiden jedoch nicht viel besser ab: Selbst sogenannte "Low Leakage" FETs können einen Wert in der Nähe haben, wenn auch höher v D S . Eine Lösung könnte darin bestehen, Reed-Relais anstelle von FETs zu verwenden.

Bearbeiten: Feinabstimmung und einige abschließende Gedanken
, ich weiß, das Hinzufügen von FET U10 war mein Vorschlag, aber ich habe meine Meinung geändert: Wir werden ihn wieder entfernen und dort einen festen 1-MΩ-Widerstand verwenden. Es spart uns nicht nur einen Teil, sondern es gab auch den Leckstrom des FET: Wir haben keinen guten Wert für den Ersatzwiderstand, den er darstellt, und wenn wir einen Festwiderstand verwenden, wissen wir, was wir haben.

Ich habe auch ein bisschen mit den verschiedenen Teilern gespielt und festgestellt, dass wir nur zwei brauchen: den 100 Ω und den 10 kΩ.

Geben Sie hier die Bildbeschreibung ein

Der linke Teil des Diagramms zeigt den Eingang des ADC relativ zu FS mit eingeschaltetem U6, der mittlere Teil mit eingeschaltetem U8 und der rechte Teil ohne beides, nur den festen 1 MΩ R2.

Geben Sie hier die Bildbeschreibung ein

Dieses Diagramm zeigt den Unterschied im ADC-Messwert für einen Unterschied von 1 % im Widerstandswert. Zum Beispiel ergeben ein 100 Ω und ein 101 Ω Widerstand eine Differenz von 10 000 Zählern, das sind mehr als 13 Bit! Selbst im schlimmsten Fall beträgt der Unterschied für 1 Ω und 10 MΩ mehr als 256 Zählwerte oder 8 Bit. Das bedeutet, dass wir auch hier einen 14-Bit-ADC hätten verwenden können. Das 22-Bit ist jedoch nicht schlecht: Es ist ein Sigma-Delta, das weniger unter Rauschen leidet.

Um die geforderte Genauigkeit von 1 % zu erreichen, müssen noch einige Dinge beachtet werden. Zuerst müssen die Widerstände für den Teiler natürlich Präzisionsteile sein: 0,1 %. Es gibt immer noch den Leckstrom des FET, der einen großen Fehler in den hohen Widerstandswerten verursachen kann. Sie erwähnen einen Preis von 5 Dollar für das Reed-Relais, aber ich habe einige gefunden, auch bei Digikey, die nur 1 Dollar kosten, und jetzt brauchen Sie nur noch zwei davon. Sie benötigen jedoch 5 V oder mindestens 3,75 V.

Andere Leckströme. Nehmen Sie für den Komparator eine CMOS-Version, dann ist der Eingangsruhestrom vernachlässigbar. Aber der ADC hat eine differenzielle Eingangsimpedanz von typisch 2,4 MΩ. Wenn es ein fester Widerstand wäre, könnten wir ihn einfach in die Berechnungen aufnehmen, aber er ist sehr unbekannt, also verwenden wir auch dort besser einen CMOS-Puffer-Operationsverstärker für das Signal.



edit re revision 4
Wenn Sie die Eingänge des Komparators vertauschen, benötigen Sie den Inverter nicht, und der Pull-up-Widerstand R14 wird auch nicht benötigt, wenn Sie einen MCP6541-Komparator verwenden, der einen Gegentaktausgang hat.

Ich bin etwas verwirrt über die 74ABP04-Puffer zum Ansteuern der Relais. Die Pin-Nummern stimmen nicht mit dem Datenblatt überein und die Pins 1 und 4 sehen aus wie Enable-Pins, die der '04 nicht hat. Ich hätte dort sowieso normale NPN -Transistoren verwendet , da sie viel billiger sind. Sie würden nur P1.2 und P1.11 benötigen. 4,7-kΩ-Basiswiderstände geben Ihnen 0,5 mA Basisstrom, genug für die Reed-Relais. Vergessen Sie nicht die Dioden über den Spulen der Relais.

Die Offset-Spannung des Puffer-Operationsverstärkers ist in der Tat ein Problem. Ich habe den MCP6071 gefunden , der einen sehr niedrigen Eingangsruhestrom hat (1 pA typisch, 100 pA maximal), aber die Offsetspannung beträgt immer noch 150 µV. Die Rückkopplung vom Ausgang zum invertierenden Eingang sollte auch die gleiche Impedanz haben wie die Impedanz am nicht invertierenden Eingang, aber das ist nicht konstant. Sie können den Offset mit einem Potmeter und einem hohen Serienwiderstand wie 100 kΩ zum invertierenden Eingang wegtrimmen.

Vergessen Sie nicht die Entkopplungskondensatoren für die Stromversorgung des Komparators und des ADC.



edit re revision 5
Fast geschafft! Die Widerstände in Reihe mit den Relais sind nicht erforderlich; Der Widerstand der Relaisspule begrenzt den Strom, und außerdem senkt der Serienwiderstand die Spulenspannung, sodass das Relais möglicherweise nicht aktiviert wird. Ich würde den Eingang des Komparators vom gepufferten Ausgang nehmen, so dass der Widerstandsteiler nur den Eingang des Puffers sieht. Und der Offset-Trimmer wird funktionieren, aber zu empfindlich auf die geringste Drehung des Trimmers reagieren. Reduzieren Sie die Empfindlichkeit, indem Sie einen 470-kΩ-Widerstand zwischen den Schleifer des Potis und den invertierenden Eingang des Operationsverstärkers schalten.

Welche Software hast du für die Grafiken verwendet? Das scheint ziemlich praktisch zu sein.
@BSEE - Mathematica
Major oops auf den parallelen Widerständen. Was dachte ich? Ich weiß nicht. Der Zweck von R2 gegen Masse bestand darin, eine Spannung für den Komparator zu haben, wenn die Sonden verwendet wurden.
Ich habe Digi-Key auf Reed-Relais überprüft und sie kosten jeweils etwa 5 US-Dollar. Ich denke, es ist am besten, mein Genauigkeitsziel für kleine und große Widerstände zu senken.
Ich habe nach SMD-Reedschaltern gesucht, aber die von Ihnen erwähnten TH gefunden. Ich habe ein 74ABT-Pufferteil gefunden, um die Reed-Schalter anzusteuern, bin mir aber nicht sicher, wonach ich im ADC-Puffer suchen soll. Ich gehe von einem Operationsverstärker-Follower mit extrem geringer Verzerrung und CMOS-Eingängen aus. Ist das korrekt?
Wird in den NPN-Transistoren nicht zu viel Strom fließen? Die Spule hat nur einen Widerstand unter oder um (schätzungsweise) 8 Ohm. Wenn Ib*hfe=Ic dann nein, aber wenn Ic/Vbe=Gce dann ja?
Ich entwerfe eine Leiterplatte für diese Schaltung. stevenh: Ich werde Sie über meine Fortschritte und die Leistung der Strecke informieren, wenn sie fertig ist.
@BSEE - Ein normales Relais benötigt ungefähr 400 mW, das Reed-Relais , an das ich gedacht habe, hat nur 50 mW mit einem Spulenwiderstand von 500 Ohm. benötigt also nur 10 mA @ 5 V. 8 Ohm wären 3 W gewesen, und das Relais würde heiß werden ! Erfolg!
Gotcha, ich hätte das Datenblatt überprüfen sollen.

Die Stabilisierung von Vref ist obligatorisch, wenn Sie genaue, stabile Messwerte wünschen. Außerdem sehe ich dort keine Entkopplungskondensatoren, aber es stimmt auch, dass ich nicht weiß, ob dies eine andere Platine oder nur ein Stück einer größeren ist. trotzdem werden sie gebraucht. Die IC-Versorgung benötigt es möglicherweise nicht so sehr wie die Sonden, daher sollte ein Stabilisierungs-IC verwendet werden (z. B. LT1084-3.3). Was die Kondensatoren zur Stabilisierung betrifft, könnten Sie einen parallel zu R2 hinzufügen, aber auch mit einer antiparallelen Diode, ein BAT54 reicht aus (oder 1N4148, je nachdem, welche Mindestwerte unter GND die ICs akzeptieren, siehe deren Datenblätter).

Ich bin mir nicht sicher, ob ich es verstehe. Für den LT1084-Vorschlag habe ich einen Regler, der die Batteriespannung von 4,8 V auf 3,3 V bringt. Welchen Zweck hat die Diode?
Zum Ableiten eventuell unerwünschter Spannungen über den Kondensatoren. Ein Kondensator parallel zu R2 sollte auch eine antiparallele Diode mit Anode an Masse haben. Aber das ist nur, wenn Sie sich entscheiden, sie hinzuzufügen, deshalb sagte ich "könnte". (Bearbeiten) Ich sehe, dass sich der Schaltplan geändert hat, der Link hat mich direkt zur Antwort geführt. Die Dioden werden nicht mehr benötigt, da die MOSFETs jeweils eine haben.