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:
- 16 Bit +
- So einfach wie möglich zu bedienen: viel besser, wenn bereits Schnittstellencode für AVR / Arduino geschrieben wurde ...
- ... 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
- 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) ...
- Ich denke nicht, dass Betriebsspannung wichtig ist ... (am besten wenn nicht über 5V)
- Aufputzmontage
- Muss nicht billig sein (es ist einmalig)
- SPI vs. I2C spielt keine Rolle, denke ich ...
- 100+ Hz
Forschung
Bisher habe ich beim Googeln folgende Chips gefunden:
- Lineare Geräte bieten verschiedene 16-24-Bit-Delta-Sigma-ADCs an, von denen einige empfohlen wurden: http://parametric.linear.com/html/no_latency_delta_sigma_adcs?p=5312974
- Microchip bietet eine Reihe von Optionen, von denen einige empfohlen wurden: http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=11022&mid=10&lang=de&pageId=79
- Analoge Geräte verfügen über eine Reihe umfassender Datenerfassungschips mit Verstärkern und Filtern (keine externe Signalverarbeitung erforderlich):
- Ich habe mir die TI-Chips noch nicht angesehen ...
und die folgenden Tutorials:
- http://arduino.cc/blog/2010/11/29/tired-of-a-10-bit-res-hook-up-a-better-analog-to-digital-converter/ (LTC2400)
- http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1275676171 (TI ADS8341)
- http://forums.adafruit.com/viewtopic.php?f=31&t=12269 (MCP3424)
- http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1248751435 (LTC2410)
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.
Antworten:
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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!
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!
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.
quelle