Hallo, ich habe ein Problem bei dem ich nun nicht weiterkomme. Ich benutze eine ATxmega16D4. Ich lege nun an ADC4 keine Spannung an, sondern auf Masse. Ich nutze Freerun und 12 Bit. und lese den Wert ständig aus und gib den Wert auf dem Display aus. Nun habe ich aber das Problem das die Anzeige von 160 bis 170 schwingt. Das schwingen habe ich überall, auch wenn ich Diff Modus benutze. Weitere Eigenart ist, das ich je nach Einstellung von Prescaller Werte von 170 bis 1000 bekomme. Hatte jemand schon das Problem ? Meiner Ansicht müsste das ganze Ding schwingen ? Wenn ich ein Rauschen draufhabe dann dürfte es ein Unterschied machen ob ich Gain habe oder nicht. Das tuts aber nicht. Kann mir da jemand helfen. Seidenn die Referenzspannung würde schwingen, aber das kann ich mir nicht vorstellen. Wenn genaueres dazu gebraucht wird, liefere ich auch gerne das. Danke
Mike schrieb: > Ich nutze Freerun und 12 Bit. und lese den Wert ständig aus und gib den > Wert auf dem Display aus. Nun habe ich aber das Problem das die Anzeige > von 160 bis 170 schwingt. Ein schwingen von 3...5 Werten ist bei der Serie normal. Größere Abweichungen deuten auf Einstreuungen hin. Welche Quellimpedanz hast Du am ADC-Pin angeschlossen? Schließe mal probehalber direkt am ADC-Pin einen Keramikkondensator von 10nF nach Masse und beobachte Deine Messung. Mike schrieb: > Weitere Eigenart ist, das ich je nach Einstellung von Prescaller Werte > von 170 bis 1000 bekomme. Klingt nach zu hoher Quellimpedanz oder Software-Fehler bei der Triggerung und Abfrage des ADC. Mehr kann man sagen, wenn Du mit Details ´rausrückst.
Knut Ballhause schrieb: > Ein schwingen von 3...5 Werten ist bei der Serie normal. Größere > Abweichungen deuten auf Einstreuungen hin. Welche Quellimpedanz hast Du > am ADC-Pin angeschlossen? Schließe mal probehalber direkt am ADC-Pin > einen Keramikkondensator von 10nF nach Masse und beobachte Deine > Messung. Mike schrieb: > Ich lege nun an ADC4 keine Spannung an, sondern auf Masse. Das kann's also nicht sein. MfG Klaus
Klaus schrieb: > Mike schrieb: >> Ich lege nun an ADC4 keine Spannung an, sondern auf Masse. > > Das kann's also nicht sein. Okay, dann liegt´s am Layout und oder an der Versorgung. Außerdem gibt es noch ein Erratum, die Referenzspannung betreffend. Ist diese größer als 2.4V oder Vcc-0.6V, treten merkwürdige Effekte auf.
Ich habe ein ähnliches Problem mit dem 128A3. Hier schaukelt auch alles vor sich hin. Hatte allerdings fälschlicherweise 3.3V als Referenz benutzt. Das Layout war auch nicht optimal. Habe nun eine 2.5V Referenz und ein Redesign gemacht, aber leider noch nicht getestet. Knut
Danke für die schnellen Antworten. Leider hat kein Vorschlag zu besseren Ergebnissen geführt. Eigenartig war, dass wenn ich beide Eingänge mit Masse verbunden habe auch tatsächlich einen konstanten Wert erhalten habe im Diff - Modus. Desweiteren wundert es mich,, dass die Schwingung unabhängig von der Verstärkung ist. Meiner Meinung nach muss es dann etwas mit der 1V Konstantspannungsquelle zu tun haben ? Hat jemand mit dieser schon gearbeitet und perfekte Werte erhalten ? Ich verwende Freerun Modus ? hat es damit was zu tun ? Danke für die Hilfe.
Hallo Mike, wie schnell samplest du? Und wie hast du die Geschwindigkeit berechnet? Schaltest du den ADC-Kanal um? Dir ist klar, dass im freerunning modus jeder kanal mindestens zweimal gesamplet wird, selbst wenn du umschaltest?
Hallo, ich kann dir nur empfehlen noch mal die Errata genau zu lesen. Ich meine da schon mal etwas in Zusammenhang mit dem Freerun-Modus gelesen zu haben. Gruß Fabian
Hallo avion23, ich messe zur Zeit nur ein Kanal ohne Verstärkung und interne Referenz 1 V im Freerunning modus. Messung: Strom_a = 0; for (unsigned long a = 0; a<1000; ++a) { //ADCA_CTRLA = 0x05; while(!ADCA.CH0.INTFLAGS); ADCA.CH0.INTFLAGS=ADC_CH_CHIF_bm; Test = ADCA.CH0RES +2000; Strom_s = (unsigned long) Test; Strom_b = Strom_s; Strom_a = Strom_a + Strom_b; } Strom = (Strom_a / (1000) );//- 2300; ich versuchte auch den Mittelwert zu bilden, dort waren die Abweichungen dann nur noch 3 LSB. Median hab ich auch schon probiert. Beim Mittelwert scheint dann der Wert über die Zeit zu wandern. zB. von 882 auf 908 und wieder zu 900 unnd so weiter. Das Hilft mir dann auch net weiter.
Hi Mike, Mike schrieb: > ich messe zur Zeit nur ein Kanal ohne Verstärkung und interne Referenz 1 > V im Freerunning modus. Das ist schonmal gut. Kannst du einen neuen Testcode aufsetzen in dem nur das nötigste vorhanden ist? D.h. adc init und samplen? Spielchen wie Tiefpass würde ich erst viel später machen. Je mehr Code, destso mehr Fehler.
Mike schrieb: > Leider hat kein Vorschlag zu besseren Ergebnissen geführt. Eigenartig > war, dass wenn ich beide Eingänge mit Masse verbunden habe auch > tatsächlich einen konstanten Wert erhalten habe im Diff - Modus. Das riecht nach murksigem Layout. Möglich wäre außerdem eine falsche Init der Eingangsmultiplexer.
Die Quellen haben eine ziemlich hohe Impendanz (bedingt durch die Reihenwiderstände). Wenn der Kondensator nun unglücklich im Layout platziert ist kann ein Wechselspannungsanteil von 10LSB durchaus auftreten. Das Layout müsste man mal begutachten.
wie hoch ist deine Sampling Frequenz, es kann gut sein das die Zeit nicht ausreicht den Kondensator ausreichend zu laden wenn man ihn zu oft durch Sampling belastet.
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.