Forum: Mikrocontroller und Digitale Elektronik Rauschen und ADC


von Thomas (Gast)


Lesenswert?

Guten Morgen,

ich bin gerade dabei, mir ein Gerät zur Spannungsmessung mit 8 Kanälen 
zu bauen. Der verwendete ADC hat eine Auflösung von 14 Bit und die 
Referenzspannung beträgt 4,096V. Der Wandler ist an einen ATmega32 
angeschlossen, welcher die Messwerte einlesen und später auf 
7-Segment-Anzeigen ausgeben soll.

Zur Zeit habe ich etwa ein Grundrauschen von 5mV, was bedeutet, dass ich 
die unteren 5 Bit der Wandlung in die Tonne treten kann. Richtig heftig 
wird es, wenn ich meine Schaltung zur Protokollierung der Meßwerte an 
die serielle Schnittstelle hänge. Dann nämlich habe ich 50mV Rauschen, 
d. h. die unteren 8 Bit sind nutzlos.

D. h. eine galvanische Trennung zum PC ist zwingend notwendig. Ich frage 
mich aber, ob man die erwähnten 5mV mit vernünftigen Aufwand noch weiter 
drücken kann? Wünschenswert wäre natürlich, mit dem Rauschen unter das 
LSB (250µV) zu kommen. Aber ich denke, dass ist eher utopisch.

Oder was meint ihr? Kennt jemand gute PDFs, die sich mit rauscharmen 
Design befassen?


Thomas

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Gutes Layout, viel Masse, Analogteil vom Digitalteil masseseitig und 
räumlich trennen. Digitalsignale weit weg von Analogsignalen führen. Bei 
Schnittstellen die Digitalsignale über Serienwiderstände führen, um 
hochfrequente Reflektionen zu vermeiden. ADC über L/C-Filter mit 
Spannung versorgen.

von Michael (Gast)


Lesenswert?

Versuche mal Dein Rauschen näher zu ergründen. Ist es vielleicht 
Netzbrummen oder Spikes der Stromversorgung ?
Dann müssen diese Quellen abgestellt werden.

Ansonsten ist der Aufbau der Schaltung sehr entscheidend: Trennung von 
GND und AGND und ein einziger Verbindungspunkt zwischen diesen Signalen.

von holzi (Gast)


Lesenswert?

Wenn die Messung floating ist wird keine galvanische Trennung benoetigt, 
alles ist eine Layoutsache. Die Hersteller der ADC, National 
Semiconductor, Motorola, Analog Devices, Linear Technology, Maxim, ua. 
haben beliebig viele Application Notes zu diesem Thema.

holzi

von Falk (Gast)


Lesenswert?

Vielleicht hast du dir ne Masseschleife gebaut? Wie wird deine Platine 
versorgt? Nit einem geerdetem Netzteil?

MFG
Falk

von Bernhard S. (bernhard)


Lesenswert?

Manchmal hilft auch mehrfaches Messen und eine anschließende 
Mittelwertberechnung.

Bernhard

von Thomas (Gast)


Lesenswert?

Hallo,

danke erst mal für eure Antworten.

Es ist definitiv kein Netzbrummen, sondern hochfrequentes Rauschen. Die 
Schaltung wird durch ein nicht geerdetes, linear geregeltes Netzteil 
versorgt. Ich werde jetzt als erstes mal einen Optokoppler in die 
serielle einschleifen, um vom PC kommende Störungen auszuschließen. 
Sowas kann man ja eh immer mal gebrauchen.

Generell sieht es zur Zeit so aus, dass ich eine Platine habe, auf der 
der ADC sitzt und außerdem noch eine zweite Platine mit dem AVR.

Auf der analogen Platine sind AGND und DGND strikt getrennt, und werden 
über zwei Leitungen direkt an die GND-Klemme des Netzteils geführt. VCC 
(5V) für den Wandler wird auf der Analogplatine mit einem RC-Glied (10R, 
10uF) gefiltert. Die 8 Analogeingänge haben alle ebenfalls RC-Glieder 
(51R, 10nF). Ferner geht eine Flachbandleitung von der Analogplatine zur 
AVR-Platine, über welche die SPI-Signale laufen. Der SPI läuft mit 1MHz 
und funktioniert so, dass zuerst vom AVR 8 Bit via SPI an den ADC 
gesendet werden, worauf hin dieser die Wandlung startet. Er hat einen 
internen Oszillator, daher ist während der Wandlung ein externer Clock 
nicht notwendig. Störungen von dieser Seite sind daher ausgeschlossen. 
Ja und schließlich führt noch GND der AVR-Platine ebenfalls zur 
Netzteilklemme.

Ich werde mich jetzt auch mal der Stromversorgung widmen.

Thomas

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mach mal in sämtliche Leitungen vom AVR zum Wandler Serienwiderstände 
von 1k ´rein (außer GND natürlich).

von Wolfram (Gast)


Lesenswert?

>Generell sieht es zur Zeit so aus, dass ich eine Platine habe, auf der
>der ADC sitzt und außerdem noch eine zweite Platine mit dem AVR.
ok
>Auf der analogen Platine sind AGND und DGND strikt getrennt, und werden
>über zwei Leitungen direkt an die GND-Klemme des Netzteils geführt
AGND und DGND separat halten und an einem! Punkt auf der Platine 
verbinden.
Was du da hast ist eine hübsche Antenne. Masseflächen nicht nur 
Masseleitungen.
>VCC (5V) für den Wandler wird auf der Analogplatine mit einem RC-Glied (10R,
>10uF) gefiltert.
der Wandler darf also maximal 0,5 A ziehen. Warum erzeugst du die 
Spannung nicht auf der Platine mit Linearregler, das ist besser, als das 
Rauschen über eine Leitung mit Spannungsabfall reinzuholen und dann zu 
probieren wieder rauszufiltern.
Ich vermute du denkst die Stabilisierung der Spannung mit 10uF ist 
ausreichend. Nimm da wenigstens noch einen 100nF Keramik Kondensator 
nahe ans IC.
Wird in deinem Flachbandkabel eigentlich GND mitgeführt, wenn nicht 
kannst du anhand deiner Verkabelung sehr schnell sehen wie gross die 
Leiterschleife ist in die induziert wird. (proportional Fläche) 
Verändere doch mal die Lage deiner GND Leitungen verändert sich das 
Rauschen?
Was ich komplett vermisse ist die Referenz ist die integriert? Wenn 
nicht hochwertige Referenzquelle verwenden und stabilisieren.
Wie kommen die Messsignale zu deinem ADC? Einzelne freilaufende Drähte?

von opacer (Gast)


Lesenswert?

Woher kommen die Signale die gemessen werden ? Von einem Netzteil (als 
beim Testen) oder einem Sensor (wenn ja, was für einer). Liegt der 
Sensor vielleicht irgendwo auf einer anderen Masse mit dem Gehäuse und 
schleift die so eine Masseschleife ein?

Außerdem hast du mit dem RC Filter eine Grenzfrequenz von Rund 312kHz 
wenn ich  mich nicht irre. Brauchst du die Bandbreite? Sonst passe den 
Filter an bzw. mache einen aktiven rein.

Ich habe einen SPI-Bus mit 20MHz an einem ADC und kein Rauschen. Ok, die 
Stromversorgung ist galvanisch getrennt, aber daran denke ich wird es 
nicht liegen.

von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

>>Auf der analogen Platine sind AGND und DGND strikt getrennt, und
>>werden über zwei Leitungen direkt an die GND-Klemme des Netzteils
>>geführt AGND und DGND separat halten und an einem! Punkt auf der
>>Platine verbinden.

>Was du da hast ist eine hübsche Antenne. Masseflächen nicht nur
>Masseleitungen.

Antenne, dass macht Sinn. Ja und was die Masseflächen angeht, so habe 
ich im Anhang mal das Layout gehängt.

>der Wandler darf also maximal 0,5 A ziehen.

Ist gegeben. Es handelt sich um den MAX1148, der benötigt so ca. 2mA.

>Warum erzeugst du die Spannung nicht auf der Platine mit
>Linearregler, das ist besser, als das Rauschen über eine
>Leitung mit Spannungsabfall reinzuholen und dann zu
>probieren wieder rauszufiltern.

Hab ich darüber nachgedacht, werde ich auf jeden Fall ausprobieren. 
Aufgrund des geringen Strombedarfs könnte man hier vielleicht wirklich 
auch einen aktiven Filter vorsehen.

>Nimm da wenigstens noch einen 100nF Keramik Kondensator
>nahe ans IC.

Habs vergessen zu erwähnen, 100nF sind vorhanden.

Was ich komplett vermisse ist die Referenz ist die integriert?

Ja, und sie wird auch an einen Pin des Wandlers geführt. An diesem Pin 
hängen 10nF gegen AGND.

>Wie kommen die Messsignale zu deinem ADC? Einzelne freilaufende
>Drähte?

Zum testen verwende ich 3V einer Lithium-Zelle, welche über kurze Drähte 
mit dem Wandler verbunden sind.

von Jörg B. (manos)


Lesenswert?

Wenn Du nicht differenziell misst bin ich mir nicht sicher ob das 
RC-Glied bei COM richtig ist.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Irgendwie scheint das VCC-Filter nicht korrekt angebracht zu sein, 
jedenfalls wie´s auf dem Layout aussieht. Der Strom sollte durch den R 
und das C sollte dann nach Masse abblocken. Den R würde ich auch durch 
ein L von 47µH ersetzen. Auch wenn im Datenblatt ein R zum Einsatz 
kommt.

von Thomas (Gast)


Lesenswert?

Hi,

so ich wollte mich dann jetzt mal bedanken für die konstruktiven 
Beiträge.

Es gab zwei Gründe für die erheblichen Schwankungen. Zum einen eine 
kalte Lötstelle am COM-Pin, dadurch war der offen und somit keine 
sinnvolle Messung möglich.

Der zweite Grund war verrückt, und zwar hatte ich auf der 
Referenzspannung eine ziemlich ekelhafte Störung von etwa 14MHz mit 
einer Amplitude von ca. 10mVss drauf, welches Schwankungen um +-20 LSB 
verursachte. Das witzige war, dass mein AVR zufällig auch mit 14,314MHz 
lief und ich dachte natürlich, dass da was durchschlägt. Dummerweise war 
die Störung auch noch da, nachdem ich das AVR-Modul komplett abgeklemmt 
und stromlos gemacht hatte. In einem Datenblatt von Linear stand, dass 
solche Wandler intern mit "switched capacitors" arbeiten, um 
irgendwelche Spannungsverschiebungen zu erreichen; keine Ahnung! 
Jdenfalls habe ich dann Vref mit 10µF Tantal parallel 10nF Keramik 
geblockt (statt vorher 2µ2 Tantal) und jetzt funktioniert es. Bei meinen 
Messungen im differentiellen, bipolaren Modus zittert etwas das LSB, 
aber das darf es :)

Naja und jetzt gehts weiter mit der Meßbereichserweiterung, schließlich 
will ich +- 200V DC messen.

Also nochmals besten Dank und die nächsten Probleme kommen bestimmt.

Thomas

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
Noch kein Account? Hier anmelden.