Hallo zusammen, Problemstellung: analoges Messsignal 0...10V mit mindestens 16 Bit auflösen. Zur Verfügung steht 10Bit ADW der jedoch mehrfach gemultiplext werden kann. Da das Signal relativ zeitunkritisch ist (eine Messung jede ms genügt), würde ich gerne den ADW des ATmega168 nutzen (die Messung ist Teil eines großen Projektes, deswegen muss dieser Controller verwendet werden). Die 10 Bit Auflösung des ADWs onboard genügen jedoch nicht den Anforderungen. Gibt es eine elektronische Schaltung, wie ich das Signal aufteilen kann, damit ich es multiplexen kann. Mit einem einfachen Spannungsteiler funktioniert das ja nicht, da der ADW nur einen PIN-Eingang hat, oder? Danke, Chris
Mit einem Kanal grob messen, mit dem anderen fein? War hier mal vor einiger Zeit als April-Scherz vorgeschlagen... geht nicht. Ein paar Bits mehr kannst du durch Mitteln des Rauschens über mehrere Messwerte rausholen, aber 16 nicht. Du brauchst einen echten 16Bit Adc. Dessen Appnotes, vor allem zur Versorgungsspannung und Platinenlayout, exakt befolgen. Sonst sind von den 16 Bit 4 auch nur Zufallszahlen.
STM32F373 hat eingebaute Sigma-Delta-ADC mit 16Bit und 56kSamples/Sec.
Danke, mehr wollte ich nicht. An die "Grob/Fein" Messung hatte ich schon gedacht, hatte mir aber irgendwie eine OPV-Schaltung vorgestellt, bin allerdings kein Elektroniker. Dann eben doch ein externer ADW... Danke für die schnellen Antworten.
Chris Bauer schrieb: > Problemstellung: > analoges Messsignal 0...10V mit mindestens 16 Bit auflösen. Zur > Verfügung steht 10Bit ADW der jedoch mehrfach gemultiplext werden kann. Vergiss es. Du kannst nicht mit zwei billigen 8-Bit-Wandlern einen 16-Bit-Wandler aufbauen. Bei der DAC-Richtung ist die Problematik die selbe, aber es wird einfacher klar: bei einem 8-Bit-Wandler kann das letzte Bit z.B. um 1/2 LSB abweichen. Das ist als 1/512 vom Endwert. Wenn du dahinter dann noch einen "Sub-Bit-Wandler" mit weitern 8 Bit hängst, dann wird das Ergebnis trotzdem nie besser sein können als der erste DAC, der ja schon viel zu große Abweichungen im LSB hat. Somit ist die Stetigkeit des Signals nicht gewährleistet. Ein Zähler, der von 0...65535 zählt, wird evtl. so eine "Rampe" erzeugen:
1 | * |
2 | * |
3 | * |
4 | * |
5 | * |
6 | * |
7 | * * |
8 | * * |
9 | * * |
10 | * * |
11 | * * |
12 | * * |
13 | * |
14 | * |
15 | * |
16 | * |
17 | 0... 255 |
18 | 256 .... |
Von 0..255 gibt der "MSB-DAC" 0 aus, der "LSB-DAC" seine stetige Rampe. Beim Übergang von 255 nach 256 schaltet der "LSB-DAC" auf 0 um, der MSB-DAC gibt eine 1 aus. Der hier eingesetzte MSB-DAC ist sehr gut und hat nur eine kleine(!!) Abweichung. Die muss aber um den Faktor 256 hochskaliert werden, damit ein Bit den 256-fachen Wert hat, und deshalb wirkt sich diese Nichtlinearität des DAC signifikant aus. Und mit ein wenig Nachdenken kommst du drauf, dass genau das selbe Problem auch in deiner Konstellation auftreten wird. Nur eben in der anderen Richtung...
Stichwort oversampling. Das erhöht nur die Auflösung, nicht die Genauigkeit.
ja, danke. Meine Idee war auch mehr eine elektronische (externe Schaltung), sprich, ich teile die Messpannung wirklich in 2 einzelne Spannungen auf um sie den (einen) ADC (gemultiplext) separat zuzuführen. Dann würde ich 2 einzelne Spannungen mit 10Bit auflösen und würde so wirklich zu meiner erhöhten Genauigkeit kommen.
Einen idealen ADC vorausgesetzt, kann man auf das Eingangssignal ein Dreiecksignal addieren und dann durch synchrone Mehrfachabtastung zusätzliche Subbits auslesen. Addiert man ein Rauschen oder 50Hz Netzbrummen, erhält man zwar auch Subbits, nur sind die dann irgendwas, aber linear sind sie nicht. Man kann sie also getrost in der Pfeife rauchen oder sich in die eigene Tasche lügen.
Chris Bauer schrieb: > Meine Idee war auch mehr eine elektronische (externe Schaltung), sprich, > ich teile die Messpannung wirklich in 2 einzelne Spannungen auf um sie > den (einen) ADC (gemultiplext) separat zuzuführen. Dann würde ich 2 > einzelne Spannungen mit 10Bit auflösen und würde so wirklich zu meiner > erhöhten Genauigkeit kommen. Deine Ideee dabei: so 1 Bit zusätzlich gewinnen? Und für die restlichen 5 Bit das Ganze einfach noch ein paar mal hintereinander schalten? Du hast nicht verstanden, was ich da geschrieben habe, oder? Es ist prinzipiell egal, ob du deine 16 Bits in 8+8 oder 10+6 oder 15+1 aufteilst. Du wirst das Problem mit der Stetigkeit immer haben...
Mit einer, auf den jeweiligen Bereich angepassten Spannungslupe könnte es gehen. Allerdings sind die Anforderungen an die vorgeschaltete Elektronik entsprechend groß. Unter dem Strich also dürfte ein passender Wandler besser und billiger werden.
Amateur schrieb: > Mit einer, auf den jeweiligen Bereich angepassten Spannungslupe könnte > es gehen. Soweit die Theorie... > Allerdings sind die Anforderungen an die vorgeschaltete > Elektronik entsprechend groß. Die Genauigkeit und Konstanz dieser Lupe muss besser sein als die Nichtlinearität des LSB des nachgeschalteten Wandlers. Fazit: in der Praxis nicht handhabbar. Oder andersrum: es lohnt den Aufwand nicht, weil es ja schon fertige und billige 16-Bit-Wandler gibt...
:
Bearbeitet durch Moderator
Chris Bauer schrieb: > Meine Idee war auch mehr eine elektronische (externe Schaltung), Ja, eine solche "externe Schaltung" wäre ein >=16Bit-Wandler und auch bei dem kannst Du, je nach Deinen Kenntnissen in Präzisions- Elektronik, die letzten Bitstellen "wegschmeissen", weil eben Genauigkeit immer schlechter als Auflösung ist. Gruss Harald
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.