Gast
#3718848
Ich benutze einen PIC18LF25K80 mit 8MHz Quart und 4xPLL --> 32 MHz Takt, VDD ist 3.3V Der ADC wird wie folgt konfiguriert:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
Wegen dem 32MHz-Takt benutze ich einen Teiler von FOSC/64 (im Datenblatt steht FOSC/32 bis 40MHz, habe in einem anderen DB gefunden, dass bei Low-Power(LF) devices der Teiler bei der Taktfrequenz von 32MHz auf FOSC/64 gesetzt werden muss). Allerdings nahezu unabhängig von der Einstellung des Teilers und der Aquisition-Time (ACQT) bleibt das Ergebnis das selbe. Am Pin AD1(RA1) hängt ein Widerstands-Schalter (Button1=450R, Button2=215R, Button3=100R, nichts gedrückt=10kR) mit Pull-Up von 715R auf 3.3V, der Abgriff zum ADC ist mit 100nF abgeblockt. Wenn kein Knopf gedrückt ist wechselt der ADC-Wert zwischen 0x0F00 (was 3.09V entspricht und korrekt wäre) und 0xFFFF (in den negativen Bereich). Bei Button3 (100R) schwankt der Wert zwischen den korrekten 0x01E0 und 0xFFFF. Also immer an den Grenzen der Referenzsspannung kommt sporadisch der Fehlerwert (ca. jeder 2. Wert). Für Button1 und 2 steht der Wert auf 0x060F bzw. 0x039F stabil ohne aussetzer - also OK. Bei kurzgeschlossenem Eingang schwankt der Wert zwischen 0xFFF8 bzw. 0xFFFC. Habe ähnliche Projekte mit anderen PICs und AVRs gemacht, aber solche Sprünge kamen dort nicht vor. Hat von euch jemand eine Idee, woran das liegen könnte? MfG Dirk