ADC Ergebnis PIC18F26K80

Gast #4454867
Guten Abend,

ich versuche mich gerade am 12bit A/D-Wandler eines PIC18F26K80, leider 
komme ich mit den Ergebnissen nicht klar.
Liegen die Eingänge auf 0V (=Vrefn) erhalte ich als Ergebnis 
0x7f7e..0x7f7d, liegen die Eingänge auf 3,3V (=Vrefp) erhalte ich als 
Ergebnis 0x0f7a..0x0f7f.

Es ist bekannt (Errata), dass der Wandler +-25LSB Offsetfehler hat, 
daher könnte ich auf Kanal 5 gegen GND messen, aber 0x7f7e bringt mich 
als Nullwert irgendwie ins Schleudern.
Die interne 1,024V Referenz ergibt als ADC-Wert 0x0467, halbwegs 
plausibel.

Wo stehe ich hier auf dem Schlauch bzw. wo könnte ich noch suchen?
1
    ANCON0bits.ANSEL0 = 1;
2
    ANCON0bits.ANSEL1 = 1;
3
    ANCON0bits.ANSEL2 = 1;
4
    ANCON0bits.ANSEL3 = 1;
5
    ADCON2bits.ACQT   = 0b100;    // Taqc = 8*Tad
6
    ADCON2bits.ADCS   = 0b110;    // fosc/64, Tad=1us
7
    ADCON2bits.ADFM   = 1;        // Ergebnis rechtsbündig
8
    ADCON0bits.ADON   = 1;
9
    ADCON0bits.CHS    = 0;         
10
    ADCON0bits.GO     = 1;      
11

12
    // Bisschen sonstiges Programm (UART, digitale Ausgänge, I2C)
13
    while(1)
14
        if (ADCON0bits.GO == 0)
15
        {
16
            i2c_reg_map[0x10 + (ana_chan << 1)] = ADRESH;    
17
            i2c_reg_map[0x11 + (ana_chan << 1)] = ADRESL;
18
            ana_chan++;
19
            if (ana_chan > 3)
20
                ana_chan = 0;
21
            ADCON0bits.GO = 1;  
22
        }
23
    }
Gast
Fehler gefunden. Die PLL muß bei INTOSC mit OSCTUNE.PLLEN=1 aktiviert 
werden, #pragma config PLLCFG=ON bewirkt hier nichts. Deshalb lief alles 
mit 16MHz, was bei einem Teiler von 64 zu einer zugroßen Tad führt und 
der Wandler komische Ergebnisse liefert.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.