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
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.
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.
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
Vielleicht hast du dir ne Masseschleife gebaut? Wie wird deine Platine versorgt? Nit einem geerdetem Netzteil? MFG Falk
Manchmal hilft auch mehrfaches Messen und eine anschließende Mittelwertberechnung. Bernhard
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
Mach mal in sämtliche Leitungen vom AVR zum Wandler Serienwiderstände von 1k ´rein (außer GND natürlich).
>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?
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.
>>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.
Wenn Du nicht differenziell misst bin ich mir nicht sicher ob das RC-Glied bei COM richtig ist.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.