mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Drift von ADC Wert


Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo, arbeite mit Renesas M32c84 µC (16MHz). Verwende den internen ADC 
mit einer Sample Rate von 25kHz um 5000 Werte aufzunehmen. Der ADC wird 
durch TimerInterrupt gesteuert und der DMAC speichert mir die 
aufgenommenen Werte in ein Array.

Wenn ich also ein Gleichspannung von 0V anlege, dann bekomm ich einen 
DigitWert von 512 am Beginn des Arrays und 495 am Ende des Arrays. D.h. 
dass der Wert iwie wegdriftet. Die außere Beschaltung (ein paar OPVs, 
Differenzverstärker, ..) geben es so vor, dass 0V 512 Digits sind, da 
ich auch negative Spannungen messen will/muss.

Wird der ADC zu warm und verändert sich dadurch die Spannung. Verwende 
SampleHold, 10-Bit Auflösung, Frequenzvorteiler beim ADC: 8

Ich hoffe, ihr könnt mir weiterhelfen... Schaltungen kann/darf ich 
leider nicht online stellen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probiers aus.
Häng anstelle deiner nicht zeigbaren Schaltung (wer baut die ein? die 
NASA, das Verteidigungsminitsterium, das DoD, Geheimdienst, KGB, ...) 
ein Poti an (ein Pin auf 0, ein Pin auf die Referenzspannung, Abgriff an 
den ADC) und mach den gleichen Versuch. Dann weisst du wer Schuld ist: 
der ADC oder deine ach so geheime Schaltung. Ich tippe auf die 
Schaltung.

Autor: noips (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn ich also ein Gleichspannung von 0V anlege, dann bekomm ich einen
>DigitWert von 512 am Beginn des Arrays und 495 am Ende des Arrays. D.h.
>dass der Wert iwie wegdriftet.

Sind die Werte wirklich kontinuierlich fallend von 512 am Anfang bis 495 
am Ende oder springen sie hin und her?

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann ja auch nichts dafür. Ist halt Firmenpolitik... Den Versuch 
kann ich leider nicht durchführen, da die HW scho eine fertige Platine 
ist und dan kann und will ich die Leitungen nicht mehr trennen. Ist iwie 
doch verständlich..
Hat sonst noch wer einen Ratschlag..??

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sie sinken konstant bis 495.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wizard schrieb:
> Ich kann ja auch nichts dafür. Ist halt Firmenpolitik... Den Versuch
> kann ich leider nicht durchführen, da die HW scho eine fertige Platine
> ist und dan kann und will ich die Leitungen nicht mehr trennen. Ist iwie
> doch verständlich..

Nö.

Du must irgendwie feststellen, ob der Fehler von Deiner Schaltung kommt 
oder vom MC.

Also entweder die Spannung direkt am MC nachmessen oder ne konstante 
Spannung an den MC anlegen.


Peter

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine konstante Spannung hab ich schon angelegt ----> Drift bis 495

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spannung am ADC-Eingang des uC bleibt gleich. Werde jetzt mal probieren, 
die Sample Rate von 25kHz zu reduzieren.. aber nur zu Versuchszwecken, 
weil ich brauche so kleine Schritte, da ich Sinussignale etc. messen und 
analysieren will.

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verdammmmttt. Bei einer Sample Rate von 5kHz driftet er nur um 4 Digits 
ab. (im Vergleich: 25kHz -> Drift von 20 Digits) D.h. meine geheime 
Schaltung ist nicht daas Problem..

Kann ich das iwie korrigieren?? Ich meine, solche Probleme muss doch 
jeder haben, der ein hochfrequentes Signal abtasten will, da man dazu 
eine sehr hohe Sample Rate benötigt.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wizard schrieb:
> Verdammmmttt. Bei einer Sample Rate von 5kHz driftet er nur um 4 Digits
> ab. (im Vergleich: 25kHz -> Drift von 20 Digits) D.h. meine geheime
> Schaltung ist nicht daas Problem..

Das ist nicht gesagt: Eine höhere Samplerate bedeutet, dass die S&H 
Stufe häufiger geladen werden muss. Somit ist der Eingangswiderstand des 
ADCs kleiner. Wenn deine geheime Schaltung also sehr hochohmig ist, dann 
liegt hier das Problem.
Schalte mal einen Kondensator mit 100nF zwischen den ADC Eingang und 
GND.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wizard schrieb:
> Eine konstante Spannung hab ich schon angelegt

Du hast aber gesagt, Du kannst den Eingang des MC nicht abtrennen?
Ich meinte direkt am Eingang des MC gegen AGND des MC.


> ----> Drift bis 495

Wann driftet er, nach Power-On, nach Reset, nach Start der Meßroutine?
Wie lange driftet er?
Oder driftet er immer weiter?


Peter

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ benedikt
okay, werd ich mal probieren... falls ich einen 100nF-kondensator iwo 
finde :)

@peda
Er driftet immer während der Messroutine.

z.B.:
1. Anlegen von 0V
2. Start ADC.... Array[0] = 511
                 Array[4999] = 495
   ADC wird gestoppt

3. Ich warte ....
4. Starte zum zweiten mal ADC  ...Array[0] = 511
                                  Array[4999] = 495

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wizard schrieb:
> Er driftet immer während der Messroutine.

Dann würde ich auch sagen, Deine Schaltung ist zu hochohmig.
Schalte mal ein Voltmeter parallel zum MC und dann starte die Messung.


Peter

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe ein Voltmeter an den ADC-Eingang angeschlossen. Spannung am 
Voltmeter bleibt gleich, Drift ist ebenfalls vorhanden...

Was ich gerade in der Schaltung gesehen habe ist, dass am ADC-Eingang 
ein Tiefpass (R=4k7 C=1n) vorhanden ist. Vielleicht braucht ja wer diese 
info. ;)

Autor: Schluck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Schalte mal einen Kondensator mit 100nF zwischen den ADC Eingang und
>GND.

Den hat er schon, glaube ich. Dieser wird langsam entladen.

Autor: Schluck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ein Tiefpass (R=4k7 C=1n)

Überbrücke die 4K7 mit 100 Ohm.

Autor: noips (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Schalte mal ein Voltmeter parallel zum MC und dann starte die Messung.

Oder eher Oszi bei 25kHz Sample-Rate.

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nööö, ist noch nicht in der Schaltung...

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich geh mal zu unseren HW-Guru und lass mich beraten... mal schauen was 
der dazu sagt

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Er wird sichs anschauen. das ergebnis werd ich in den nächsten Tagen 
hier posten... :)
Danke für eure hilfe

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach einigen Wochen habe ich noch immer das gleiche Problem. HW Guru hat 
auf Anhieb auch keinen Rat und so wende ich mich wieder an das Forum. 
Hat iwer noch eine Idee??

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was erwartest du?
Dein Hardware Guru kennt/sieht die Schaltung und kann sich das Programm 
ansehen.

Hier zeigst du nichts davon her (noch nicht mal in Ausschnitten).

Dein Hardware-Guru findet nichts obwohl er alle Infos hat.

Die hier üblicherweise verwendeten Glaskugeln sind zwar gut, aber so gut 
sind sie dann auch wieder nicht. Vielleicht sollten sich die üblichen 
Verdächtigen hier im Forum als Zigeunerin verkleiden, ein Kopftuch 
aufsetzen und einen Raben auf die Schulter setzen. Aber ich bezweifle, 
dass das Bild in ihren Glaskuglen dann schärfer wird.

Autor: X- Rocka (x-rocka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du dir alle 5000 werte angekuckt?
tritt die "drift" vielleicht nur in den ersten samples auf? oder 
kontinuierlich von 0..4999?
ganz genau das datenblatt des uC-ADC geprüft?
applikationshinweise, wie man den ADC ansteuert?
versorgungsspannung des ADC? extra pin? gut genug gepuffert/getrennt?
Masse analog / digital?

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Karl heinz Buchegger:
und so was nennt sich Moderator. tzzz

@ x-rocka:
jap, drift von index 0 bis index 4999.
jap, Datenblat studiert. Die schaltung, welche am Eingang des ADCs liegt 
kann 10kOhm haben. Hab auch schon den Widerstand 4,7k überbrückt, 
Kondensatoren dazugeschaltet und entfernt.
Die Versorgungsspannung des ADC liegt direkt bei der 
Versorgungsspannung. Mein HW Guru hat gesagt, dass die Masse der 
Schaltung ziemlich schlecht ist. Vielleicht ist das die Ursache. Er 
glaubt es aber nicht.

Danke an alle, die eine produktive Antwort liefern. :)
wizard

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die schaltung, welche am Eingang des ADCs liegt
>kann 10kOhm haben. Hab auch schon den Widerstand 4,7k überbrückt,

Die 10k Quellenwiderstand sind zu hoch. Hier hilft nur ein OPV als 
Puffer.
Taste probehalber einmal nur mit 2,5kHz ab. Dann sollte die Drift 
deutlich geringer sein und meine Vermutung bestätigen.


>@ Karl heinz Buchegger:
>und so was nennt sich Moderator. tzzz

Solch ein Kommentar stößt bei Allen hier auf Abscheu!
Karl-Heinz ist jemand, der sich oft auf noch so wirklich dumme 
Fragesteller einläßt und geduldig Ratschläge gibt, wo ich schon längst 
ein ganzes Kartenspiel mit Roten Karten auf den Tisch gelegt hätte.

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Mach die 4,7K raus und lege direkt eine stabiele Netzteilspannung an
deinen µC. Wenn der Wert immernoch wandert hau den µC weg.
Wenn stabiel, hau deine geheime Schaltung weg und nimm eine öffentliche.
Achja, wenn du an die Ref.Spannung rankommst, beobachte mal diese wärend 
einer Messung.

Viel Erfolg, Uwe

Autor: Lutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Achja, wenn du an die Ref.Spannung rankommst, beobachte mal diese wärend
>einer Messung.

>>Die Versorgungsspannung des ADC liegt direkt bei der
>>Versorgungsspannung.

Sollte dann nichts bringen (wenn ich das so interpretiere, daß die 
Versorgungsspannung des µC auch direkt als Versorgungsspannung des ADC 
angeklemmt ist).

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
>>Achja, wenn du an die Ref.Spannung rankommst, beobachte mal diese wärend
>>einer Messung.

>>>Die Versorgungsspannung des ADC liegt direkt bei der
>>>Versorgungsspannung.

>Sollte dann nichts bringen (wenn ich das so interpretiere, daß die
>Versorgungsspannung des µC auch direkt als Versorgungsspannung des ADC
>angeklemmt ist).

Referenzspannung hat erstmal nichts mit Versorgungsspannung zu tun.
(könnte auch noch versaut sein, aber da zappeln die Werte anders)
Beim AVR ist sie herausgeführt und sollte mit einem C gestützt werden.
Was wizard hat weiss ich doch nicht und das Datenblatt lese ich
jetzt nicht extra.

Viel Erfolg, Uwe

Autor: Loup (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Zu Deinem Drift-Problem bei Gleichspannung kann ich zwar nichts neues 
beitragen (außer, dass ich die 10k Quellenwiderstand auch bisschen hoch 
finde), aber mir ist beim durchlesen noch was anderes aufgefallen:

>Sample Rate von 25kHz

>ich brauche so kleine Schritte, da ich Sinussignale etc. messen
>und analysieren will

Signalverarbeitung?

>am ADC-Eingang ein Tiefpass (R=4k7 C=1n) vorhanden ist

Wie hoch werden denn die Eingangsfrequenzen die Du messen willst?

Wenn Du mit 25kHz abtastest darf dein Eingangssignal höchstens(!) 
12.5kHz haben, sonst verletzt Du das Abtasttheorem und Du bekommst 
Aliasing-Effekte! (Was aber möglicherweise bei Deiner Anwendung gar 
keine Rolle spielt. Da Du uns aber nicht sagst, was Du genau machen 
willst...)

Der oben genannte TP ist als Anti-Aliasing-Filter aber gar nicht 
geeignet, da die Grenzfrequenz überschlagweise erst bei

liegt und Du außerdem wegen des flachen TP 1. Ordnung ordentlich 
überabtasten müsstest.

Hat die Schaltung oder die ADC noch irgendwo einen anderen TP eingebaut? 
Falls nicht musst Du, je nach Anwendung, aufpassen ob Du Dir da Probleme 
einhandelst.

Das ganze hat zwar nichts mit dem ursprünglichen Problem zu tun, aber es 
ist mir eben aufgefallen. (Hoffe meine Ausführungen stimmen soweit ;)

Grüße
Loup

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Info.
Ich werde Signale mit eine maximalen Frequenz von 3.5kHz abtasten. Der 
TP ist mittlerweile weg. ;)

Hab noch was rausgefunden:
Abtastfrequenz des ADC     |    Drift    |   Drift in Volt
25kHz                           23 Digits      0,112V
8kHz                            10             0,048
500Hz                           6              0,03

Je geringer die Abtastfrequenz, desto geringer wird auch der Drift.

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
EDIT:
War von mir vielleicht falsch formuliert.
Die Signale die ich abtaste, haben maximal eine Frequenz von 3.5kHz

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vom 8.09. bis heute hast Du alle notwendigen Anregungen bekommen, um 
dieses einfache Problem endgültig zu lösen. Mich wundert, daß das bis 
heute nicht gelungen ist.

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil ich mich anderen Aufgaben in der zwischenzeit zugewendet habe und 
jetzt bin ich wieder auf das Problem gestoßen und will es endlich lösen.

Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>@ Karl heinz Buchegger:
>>und so was nennt sich Moderator. tzzz

>Solch ein Kommentar stößt bei Allen hier auf Abscheu!
>Karl-Heinz ist jemand, der sich oft auf noch so wirklich dumme
>Fragesteller einläßt und geduldig Ratschläge gibt, wo ich schon längst
>ein ganzes Kartenspiel mit Roten Karten auf den Tisch gelegt hätte.

genau, das habe ich auch empfunden, als ich diese Bemerkung las

MfG

Autor: Loup (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die Signale die ich abtaste, haben maximal eine Frequenz von 3.5kHz

Wenn sichergestellt ist, dass die Eingangsfrequenz keinesfalls höher 
werden kann, dann kannst Du den TP natürlich weglassen (außer der war 
für einen anderen Zweck drin, etwa als Schutzbeschaltung für den 
ADC-Eingang).

Es genügt dann auch, mit mindestens der doppelten Frequenz abzutasten. 
Ich würde aber sicherheitshalber etwas mehr nehmen.

Mehr dazu: 
http://de.wikipedia.org/w/index.php?title=Nyquist-...

Grüße
Loup

Autor: Kai Klaas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Wolfgang,

>genau, das habe ich auch empfunden, als ich diese Bemerkung las

Es ist auch ein Votum, wenn sich bestimmte Fachleute hier garnicht erst 
an der Diskussion beteiligen.

Es ist schon unglaublich, welche Arroganz und Selbstgefälligkeit von 
blutigen Laien hier teilweise an den Tag gelegt wird. Aber "iwie" klar, 
wenn sich einer schon "wizard" nennt.

Wizard, löse deinen Scheiß selber und lerne erst mal Umgangsformen...

Kai Klaas

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kai Klaas schrieb:

> Es ist schon unglaublich, welche Arroganz und Selbstgefälligkeit von
> blutigen Laien hier teilweise an den Tag gelegt wird. Aber "iwie" klar,
> wenn sich einer schon "wizard" nennt.

Es ist schon ok für mich.
Ich seh das nicht so ernst.

Das einzige was mich ärgert:
In diesem Thread gibt es so gut wie keine verwertbare Information. Alles 
ist top secret. Keine Schaltung, kein Programm, kein gar nichts.

Da sieht sich ein Fachman vor Ort die Schaltung an (der sieht sie, der 
kann drann messen) und findet nichts.
Und nach über einem Monat ungelöstem Problem kommt die Frage:

Hat noch wer eine Idee?


Wenn wer eine Idee gehabt hätte, dann hätte er sich bei der 
Ursprungsfrage schon gemeldet. Hier im Forum gibt es niemanden der sich 
Tag und Nacht nur den Kopf darüber zerbricht, welchen Schaltungsmüll 
(der nicht zeigbar ist) wieder gemacht wurde.

Und sowas ärgert mich einfach. Gib endlich vernünftige Informationen. 
Schaltplan, ev ein Photo vom Aufbau, Programm. Das übliche Programm. 
Alles andere ist Stochern im Nebel.

Kein Mensch verlangt, dass der komplette Schaltplan gepostet wird. Der 
Teil mit der ADC Beschaltung reicht fürs erste völlig. Dazu noch der 
Ausgangsteil der mit dem ADC verbunden wird. Ich kann mir nicht 
vorstellen, dass eine ADC Beschaltung so top secret ist, dass niemand 
sie sehen darf.

Und in Zukunft sollten wir Moderatoren uns mal überlegen, ob Postings 
die mit (kann/darf ich nicht zeigen) anfangen nicht einfach gelöscht 
werden sollten. Da kommt sowieso meistens nichts raus. Schliesslich 
gehen wir alle auch selber zum Arzt, damit sich der die Sache ansehen 
kann und sagen nicht: Du darfst mich nicht sehen.

Autor: H.J.Seifert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz deiner Meinung, deshalb habe ich mich auch komplett rausgehalten. 
Z.T. aber schon lustig, wieviel Mühe sich manche geben....
Was kann schon geheim sein an einer Analogschaltung, wenn man nur den 
letzten Teil zeigt? Richtig, gar nichts.
Ebenso ein lauffähiges abgespecktes Programmstückchen, welches die Daten 
nur in das Array speichert, aber den Fehler zeigt. Geheim? Dass ich 
nicht lache.
Und wer wirklich so im Dunklen arbeitet, muss sich eben entsprechende 
Fachleute und Equipment kaufen.
Habe fertig.

Autor: TrippleX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich könnte mir vorstellen das dass der ADC selber ist.
Leider hab ich kein Datenblatt so den µC gefunden also
konnte ich mir kein Diagramm von den ADC anschauen ( solche Werte
sind daimmer angegeben )

Nur weil die Eingangspannung undendlich Kontant ist, ist der
ADC trotzdem nicht in der Lage immer die selben Werte auszuspucken.

Mir ist zwar nicht klar was du machen willst aber wen du die Werte
mittelst dann wird das passen.

Autor: wizard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es war höchstwahrscheinlich der ADC selber. ;) Bin auch draufgekommen, 
dass der drift nur in den ersten 100 Samples vorgekommen ist, danach war 
der Wert (+/-6Digits) konstant.

Fehler nun behoben. :) Danke an alle und wenn ich wieder ein Frage 
poste, dann mit mehr infos. ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.