Code
und habe einen LDO auf 3V3
Okay, danke für die Rückmeldung.
Was mich noch wundert ist, dass der ADC Eingang mit der geposteten Schaltung übersteuert wird.
Für den Messbereich 0R bis 36kR erhalte ich eine Aussteuerung von 1,62V bis 2,45V. Bei 32kR erhalte ich 2,4V. Die Referenzspannung ist kleiner und beträgt 2.063V.
Ansonsten hier noch ein paar Ideen und Fragen.
- Mit welchem Clock läuft die ADC, sprich wie hoch ist der peripheral clock und wie ist der prescaler für die ADC eingestellt?
- Welche sampling time ist eingestellt?
- Welcher conversion mode? single ended signed, unsigned, differential
- pullup/pull-down am Eingang deaktiviert?
- Man kann INTPUT_DISABLE Bit im PINnCTRL register setzten.
- Testweise PLL abschalten, hängt auch an AVCC
- keine Ports schalten während der Messung, wie bereits von dir angemerkt.
Kannst du dein Programm posten? Oft beantworten sich dem Leser viele Fragen, wenn man Ihnen den Programmcode mitteilt.
Mir ist auch eine Idee gekommen warum der Ausreiser bei ungefähr 7/8*FullScale entsteht.
Die sukzessive Conversion vergleicht zuerst mit ref/2, dann mit ref/4 oder 3/4ref, und dann mit 1/8, 3/8, 5/8, oder 7/8ref, und so weiter.
Angenommen der Messwert liegt etwas unterhalb 7/8ref, dann können Schwankungen beim Messwert oder bei der Referenzspannung bewirken, dass bereits beim dritten Konversationsschritt frühzeitig eine falsche Entscheidung getroffen wird und sich daraus ein statistisch höherer Mittelwert ergibt als in Wirklichkeit vorhanden ist.
Gruß
Thomas
Attachments
Filename: | thorstenAdcAusteuerung.png |
Filesize: | 43.15 KB |
Title: | |
Download counter: | 120 |