Hochauflösender ADC für verrauschte Sensoren unter variablen Bedingungen

9

Intro

Als Antwort auf diese Frage zu adaptiven Verstärkern wurde empfohlen, dass es für den Umgang mit variablen Bedingungen wirtschaftlicher sein kann, einfach einen ADC mit höherer Auflösung zu verwenden, damit ich mich nicht um die Verstärkung kümmern muss und Skalierung durchführen kann in Software.

Überblick

Ich versuche, eine Datenerfassungsschaltung für am Körper montierte textilbasierte Dehnungssensoren zu entwerfen. Das textile variiert Widerstand , wie es gestreckt ist (ca. 1 um eine Größenordnung, 10k -100k mit 30% Dehnung). Die genauen Bereiche ändern sich je nachdem, wie das Textil geschnitten wird, ob es schweißgebadet ist, wie hoch die Temperatur ist, wie alt das Material ist, wie es montiert ist usw. Das Ganze muss so klein wie möglich sein, da es an der Hand montiert ist Daher ist die Minimierung der Anzahl der Komponenten ein großes Plus.ΩΩ

Darüber hinaus möchte ich, dass die Schaltung für andere Anwendungen wiederverwendbar ist, die möglicherweise eine schlechtere Leistung aufweisen. Wenn ich beispielsweise eine billigere Version des Textils verwende, kann mein Widerstandsbereich so schlecht sein wie 100 bis 300 .ΩΩΩ

Signalpfad

[Textil] -> [Wheatstone Bridge] -> [Tiefpass] -> [Instrumentenverstärker] -> [ADC] -> [AVR]

Bedarf

Ich suche also einen ADC, der meine Anforderungen erfüllt. Der ADC sollte sein:

  1. 16 Bit +
  2. So einfach wie möglich zu bedienen: viel besser, wenn bereits Schnittstellencode für AVR / Arduino geschrieben wurde ...
  3. ... und gleichzeitig so umfassend wie möglich: Ich habe einige ADCs mit eingebauten Tiefpassfiltern und PGAs gesehen - umso besser, solange die Konfiguration dadurch nicht schwierig wird
  4. 8+ Kanäle oder, wenn es einfach genug zu implementieren ist, 2x 4+ Kanäle. EDIT: Wenn ich eine Wheatstone-Brücke verwende, möchte ich vielleicht 8 differentielle Eingangskanäle (also 16 Kanäle) ...
  5. Ich denke nicht, dass Betriebsspannung wichtig ist ... (am besten wenn nicht über 5V)
  6. Aufputzmontage
  7. Muss nicht billig sein (es ist einmalig)
  8. SPI vs. I2C spielt keine Rolle, denke ich ...
  9. 100+ Hz

Forschung

Bisher habe ich beim Googeln folgende Chips gefunden:

und die folgenden Tutorials:

Spannungsreferenz?

Schließlich haben einige Leute eine Präzisionsspannungsreferenz empfohlen, wie zum Beispiel die REF19x- Serie von Analog Devices . Halten Sie das für notwendig? Auflösung ist definitiv wichtig für mich.

Fazit

Lassen Sie mich wissen, wenn Sie Empfehlungen haben! Ich bin mir auch nicht sicher, wonach ich suche, daher sind auch Tipps zur Entscheidung willkommen.

Terrasse
quelle
Ich hoffe, diese Art von Geschichte zu vermeiden: arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1264346368
Terrasse
@msutherl - Wäre es eine große Sache, wenn Sie einen Mux verwenden müssten, um eine Verbindung zu diesem ADC herzustellen? Es fällt Ihnen schwer, einen 16-Kanal-ADC mit 16+ Bit zu finden, aber 1-Kanal- oder 2-Kanal-Teile sind ziemlich einfach ...
Kevin Vermeer
1
Bits allein bestimmen nicht den Dynamikbereich. 24-Bit-Wandler könnten theoretisch einen Dynamikbereich von 144 dB haben, aber echte Wandler sind etwa 100-120 dB. Sind Sie sicher, dass Sie so viel Auflösung für einen Dehnungssensor benötigen? Sie versuchen mit vielen verschiedenen Dehnungssensoren mit unterschiedlichen Werten umzugehen? Es wäre besser, nur einen Verstärker mit variabler Verstärkung zu verwenden, denke ich, und ihn für jeden anzupassen. Sie müssen diese Kalibrierung sowieso irgendwo durchführen.
Endolith
1
Benötigen Sie 100Hz + für jeden Sensor oder für alle? Bei Mehrkanal-ADCs erhalten Sie häufig 1 ADC und einen Mux, sodass Sie die SPS durch die Kanalanzahl teilen müssen (oder mehr, wenn das Mux / ADC-Paar die Kanäle nicht sehr schnell wechseln kann).
JPC
1
@msutherl Ja, ein manueller Gain-Poti oder ein programmierbarer Gain-Verstärker. So etwas wie ein PGA116 könnte es schaffen, alle Ihre Sensoren im Round-Robin- Verfahren mit jeweils unterschiedlichen Gewinnen abzutasten , wobei alles in Software erledigt wird?
Endolith

Antworten:

7

Der ADS1256 von TI verfügt über acht Single-Ended-24-Bit-Kanäle mit hochohmigem Eingangspuffer und PGA. Das OpenEXG-Projekt verfügt über einen PIC-Code für die Schnittstelle (es wird die Zweikanalversion ADS1255 verwendet, diese sollte jedoch identisch sein).

Wenn Sie Differenzeingänge wünschen, gibt es ADS1298 mit 8 Kanälen, PGAs und A / Ds, interner Referenz sowie EKG / EEG-Schaltkreisen, die Sie ignorieren können. Ich bin mir jedoch nicht sicher, ob Sie einen Beispielcode für diesen finden können.

Wenn Sie nach einer Auflösung suchen, ist eine präzise, ​​rauscharme Referenz ein Muss.

Jaroslav Cmunt
quelle
5

Eine vielleicht unkonventionelle Idee, ich bin gespannt, was ihr darüber denkt:

Eine Größenordnung scheint groß genug zu sein, um sie direkt in einer Spannungsteilerschaltung zu messen.

Sie können dann einen kleineren ADC verwenden und den Strom durch den Sensor variieren. Eine gefilterte PWM-Spannungsquelle + ein Spannungsfolger (kann ein NPN-Transistor sein, wenn Sie sich im Weltraum befinden) können Ihren Dynamikbereich drastisch verbessern.

Sie können eine oder zwei davon verwenden und die Spannung umschalten, wenn Sie verschiedene Sensoren messen.

jpc
quelle
Gar nicht unkonventionell. Wenn er einen kleinen 8-Bit-Mikrocontroller verwenden möchte, kann er auf diese Weise vermeiden, mit 24-Bit-Werten umzugehen, und die Komplexität kann geringer sein als die Schnittstelle dieser hoch entwickelten ADCs. Der Dynamikbereich kann im Idealfall die Summe der Dynamikbereiche von ADC und PWM sein. Auf der anderen Seite scheint es, dass analoge Designs für viele Menschen schwieriger sind als digitale, so dass die Verwendung eines 24-Bit-ADC möglicherweise einfacher ist. Außerdem kann der Dynamikbereich von ADC durch Überabtastung und digitale Filterung erhöht werden ... nun, nicht mehr einfach.
Jaroslav Cmunt
@ Jaroslav Danke. 1. Er hat bereits eine Wheatstone-Brücke, also hat er wohl keine Angst vor dem analogen Teil. :) 2. 1 oder 2 Bit zusätzliche Auflösung sollten durch einen einfachen laufenden Summenfilter erreichbar sein.
JPC
1
Tatsächlich! Hier ist ein Link für OP: http://www.dspguide.com/ch15.htm
Jaroslav Cmunt
3

Wenn Ihre Hauptsorge darin besteht, einen großen Dynamikbereich für einen bestimmten "Sensor" zu haben, können Sie DACs (oder sogar nur MPU-Pin-gesteuerte Spannungsquellen) verwenden, um den Offset / die Verstärkung des Verstärkers anzupassen und die Systemleistung für verschiedene Materialien zu ändern.

Sie können dieser Stufe mit variabler Verstärkung auch eine Ladungsintegrationsschaltung folgen, um die Signalempfindlichkeit durch Einstellen der "Belichtungs" -Periode zu optimieren.

Spielzeugbauer
quelle
0

Wenn Sie über genügend Rechenleistung für die benötigte Abtastrate verfügen, sollten Sie die digitale Filterung in Betracht ziehen. Ein Savitzky-Golay- Filter, f / ex.

  • Sie können Algorithmen einfacher ändern als Teile.
  • Wenn Sie einen Teil der Filterung auf die Software übertragen, können Sie wahrscheinlich ein Teil mit niedrigeren Spezifikationen verwenden, als wenn das Teil selbst rauschresistenter sein müsste oder die gesamte Filterung durchführen müsste.
  • Sie werden eine Menge mehr über Ihre Eingaben und deren Anforderungen erfahren und können eine besser informierte Teileauswahl treffen, wenn Sie tatsächlich ein Teil mit höheren Spezifikationen benötigen.
  • Software und Fähigkeiten können problemlos auf Ihre anderen Anwendungen übertragen werden!
JRobert
quelle
Alle Filter werden auf einem PC in einer Echtzeit-Signalverarbeitungsumgebung durchgeführt.
Terrasse
0

Warum schalten Sie es nicht bis 11 auf, und nur die TI verwenden ADS1262 . Es ist ein 32-Bit-ADC mit 11 Eingängen und einem PGA!

ADS1262

Mit 32-Bit können Sie so ziemlich alles abtasten. Und es ist nicht einmal so teuer. Wenn Sie nur eine davon herstellen, erhalten Sie einfach eine kostenlose Probe .


Eine andere Möglichkeit ist die Verwendung eines PSoC. Hierbei handelt es sich um Mikrocontroller mit rekonfigurierbaren analogen und digitalen Blöcken, mit denen Sie alle Arten von Funktionen erstellen können. Sie können einen mit einem 16-Bit-ADC, einem PGA, einem DAC und einem digitalen Filter auswählen, um Ihren eigenen ADC mit automatischer Entfernungs-, automatischer Trimm-, Überabtastungs-, digitaler Filterung zu erstellen!

PSoC38xx

Das Programmieren dieser Dinge ist ein Kinderspiel, da Sie einfach den gewünschten Schaltplan zeichnen und vordefinierte Funktionen aus einer Liste auswählen. Dann schreibe einen C-Code und du bist weg.

Raketenmagnet
quelle