Hallo, ich benutze den analogen 12-Bit Eingang des XMC2GO Controller von Infineon und möchte damit über einen Potentiometer eine Weglänge messen. Dafür habe ich den nun Digital gewandelten Wert in 5 ASCII Zeichen umgewandelt, welche den Aufbau <Hunderter> <Zehner> <Einer> <Zehntel> <Hundertstel> darstellen und den Wert so in mm angeben. Das Problem ist nun, das der Ausgegebene (LCD-Display) bei den hinteren drei Zeichen dauernd schwankt trotz konstantem analogen Eingang. Im Einerbereich um +-2 Ziffern. Also nur Zehner und Hunderter Zeichen sind konstant. Woran kann das liegen? Kann man die Genauigkeit elektronisch irgendwie verbessern, dass zumindest der Einerbereich konstant ist?
Bildest du bereits einen Mittelwert aus einigen wenigen Messungen?
Nein, das könnte ich mal noch versuchen. Jedoch muss ich bestimmte Zeiten einhalten daher wäre das eher eine Notlösung. Aber ist das normal dass die Auflösung trotz 12Bit so grob ist? Rechnerisch sollte ich ja erkennen können wenn sich der Sensor um 0,03662 mm verändert. Muss ich zwar nicht, aber Millimeter und noch besser zehntel wäre schon von Vorteil. Gibt es sonst keine andere Möglichkeit?
Mikrocontroller X. schrieb: > Aber ist das normal dass die Auflösung trotz 12Bit so grob ist? JA. Da braucht's ne gehörige Portion an Schaltungsaufwand, Wissen, Erfahrung...., um am ADC-Eingang ein sauberes Signal zu erhalten!
Die erste Frage wäre mal mit welcher Samplerate der ADC betrieben wird -- und ob du einen passenden analogen Tiefpass vor den Eingang gebaut hast?
Wenigstens ein bisschen mitteln - soviel Zeit muss sein :-) Einen Kondensator an die Referenzspannung des AD-Wandler hilft auch.
Pink S. schrieb: > Wenigstens ein bisschen mitteln - soviel Zeit muss sein :-) Ein einzelner Messwert des ADC darf nicht um dutzende oder gar hunderte LSB schwanken, da ist was anderes falsch.
Das Poti nimmt also einen Wegbereich von 150 mm auf, d.h. die Anzeige geht von 0,00 mm bis 150,00 mm. Eine Schwankung von ±2 in der Einerstelle bedeutet, dass der angezeigte Wert eine Streubreite von mindestens 3,01 mm hat (bspw. zwischen 3,99 mm und 7,00 mm). Das ergibt eine effektive Auflösung von log₂(150 mm / 3,01 mm) bit = 5,6 bit D.h. mehr als die letzten 6 der 12 ADC-Bits sind Rauschen. Das ist wirklich schlecht. 8 oder 9 bit effektive Auflösung sollte mindestens möglich sein, was einer Wegauflösung von 0,6 mm bzw. 0,3 mm entspräche. Nutzt du den vollen Messbereich des ADC, d.h. entsprechen 0 mm einem ADC-Wert von 0 und 150 mm einem ADC-Wert von 4095? Wenn ja, dann hast du vermutlich deutliche Störungen auf dem Messsignal, der Referenz- oder der Versorgungsspannung des ADC. Hast du dir diese Spannungen mal mit dem Oszi angeschaut? Edit 1: Sind die Versorgungsspannung und die Referenzspannung ordentlich mit Kondensatoren versehen? Ist das Poti mit dem ADC vielleicht über eine zu lange Leitung verbunden? Ist das Poti für die Leitungslänge möglicherweise zu hochohmig? Edit 2: Die letzten beiden Punkte hat Matthias S. bereits vor meiner ersten Änderung im Folgebeitrag angesprochen.
Je nach Innenwiderstand des Potis ist auch schon Einstreuung ein Thema. Es lohnt sich hier vermutlich, abgeschirmtes Signalkabel und ein recht niederohmiges Poti (5k-10k) zu benutzen, und einen RC Tiefpass nach Gusto.
Leute, denkt doch auch mal an den ADC als solchen. Die meisten ADC's in µC sind ungepuffert, weil es eben schwierig ist, in einem digitalen Chip einen wirklich guten RRIO-OpV zu bauen. Aber auch die SAR-ADC's stellen eine dynamische Last dar und brauchen deshalb eine eher niederohmige Ansteuerung, im einfachsten Fall einen passenden Keramik-C, besser aber einen ordentlichen OpV davor. Und nun guckt euch mal diesen XMC to Go an: Dieser Schlüsselanhänger ist nicht im Geringsten nach wirklichen Analog-Prioritäten gemacht. Ob man da mit 12 Bit Analog überhaupt zu Potte kommen kann, wage ich leise in Zweifel zu ziehen. Allerdings sind 6 wacklige Bits von 12 schon ein starkes Stück, weswegen vielleicht ein näherer Blick in die gewählte chipinterne Verschaltung lohnen würde. Könnte ja sein, daß der TO versehentlich irgend einen anderen Pin als Referenzeingang ausgewählt hat - falls das der Chip hergibt. Ich selber halte diese XMC-Togo nur für ne billige Quelle, um den dort befindlichen Seggerschen J-Link-OB abzulöten und woanders draufzutun, dann hat man wenigstens nen ordentlichen J-Link. W.S.
Immer wieder gern gesehen ist natürlich auch die zu hochohmige Anbindung in Verbindung mit schneller Wandlerrate (das ist nicht dasselbe wie die Samplefrequenz).
W.S. schrieb: > Aber auch die SAR-ADC's stellen > eine dynamische Last dar und brauchen deshalb eine eher niederohmige > Ansteuerung, im einfachsten Fall einen passenden Keramik-C, besser aber > einen ordentlichen OpV davor. Das ist wohl wahr. Ich habe ein wenig mit den 12-bit Wandlern des STM32 rumgespielt und die klangen bei Audio nur dann einigermassen erträglich, wenn ich sie mit Opamps/AA Tiefpass und höchstens 100 Ohm Quellimpedanz angesteuert habe. Schliesslich musste dann aber doch ein externer AD mit I²S Anbindung her - das onchip Gruschelmuschel erzeugt einfach zu viele Störungen.
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.