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.
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.
>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?
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..??
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
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.
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.
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.
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
@ 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
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
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. ;)
>Schalte mal einen Kondensator mit 100nF zwischen den ADC Eingang und >GND. Den hat er schon, glaube ich. Dieser wird langsam entladen.
>Schalte mal ein Voltmeter parallel zum MC und dann starte die Messung.
Oder eher Oszi bei 25kHz Sample-Rate.
Ich geh mal zu unseren HW-Guru und lass mich beraten... mal schauen was der dazu sagt
Er wird sichs anschauen. das ergebnis werd ich in den nächsten Tagen hier posten... :) Danke für eure hilfe
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??
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.
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?
@ 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
>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.
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
>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).
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
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
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.
EDIT: War von mir vielleicht falsch formuliert. Die Signale die ich abtaste, haben maximal eine Frequenz von 3.5kHz
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.
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.
>>@ 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
>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-Shannon-Abtasttheorem Grüße Loup
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
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.
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.
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.
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. ;)
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.