- Labornetzteil AliExpress         
Ergebnis 1 bis 7 von 7

Thema: PIC18F442 - ADC Problem

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Hallo ruNN0r

    Bei 25 Grad Celsius hat der KTY81-220 einen min und einen max Wert.
    1960 bis 2040 Mittig also 2000 Ohm
    Wenn wir jetzt mal die worst case Werte berechnen für min und max:
    ergeben sich folgende Spannungen bzw. ADU Werte:

    bei min 5/(4700+1960)*1960 = 1,4714714714714714714714714714715 Volt ==> 301 ADU steps
    bei max 5/(4700+2040)*2040 = 1,5133531157270029673590504451039 Volt ==> 310 ADU steps

    Da können also rund 9 counts Differenz sein, das wäre innerhalb der Spezifikation des Datenblattes vom KTY
    Wenn es genauer werden soll, müstest DU den KTY81-210 benutzen.


    Zu deinem Programmcode:

    Deine Funktion ADC_read soll einen "unsigned char" zurück liefern ??? das sind nur Werte von 0..255
    Dein ADU hat aber Werte von 0..1023
    Aber wie ich deiner Funktion entnehme liefert sie garnichts zurück. oder da fehlt ein Stück Code, kann ja sein.
    Oder Du wertest denn temp2 Wert direkt aus, das kann ich deinem Code jetzt nicht entnehmen, aber ich hoffe er ist auch als 16 Bit Wert definiert.

    warum schiebst DU den ADRESH 6 mal links ?? Du überschreibst Dir Bit 6 und 7 vom vorher gelesenem ADRESL Ergebnis.
    Du hast im ADCON1 RIGHT JUSTIFIED ausgewählt also ADFM = 1
    damit müste dein Auslesen meiner Meinung nach so aussehen:
    Code:
    
    temp2 = ADRESL;
    temp2 += (ADRESH << 8); 
    Ich vermute mal, genau hier liegt das Problem......

    ADCON1 = 0b11001110; /* right justified */

    Zum timing:
    minimun TAD time is 1,6µsec
    ADCS2 ADCS1 ADCS0 = 101 ergibt FOSC/16 wären dann bei 4Mhz / 16 = 4 mikro Sekunden.
    Das sollte okay sein.

    ich hoffe ich konnte Dir weiterhelfen
    Siro
    Geändert von Siro (21.02.2012 um 23:12 Uhr)

Ähnliche Themen

  1. ATMega32 UART problem --> Problem gelöst
    Von ChristophB im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 12.03.2010, 19:45
  2. Problem mit Atmega644P Erkennung (Bascom-Versions-Problem)
    Von Rohbotiker im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 11.08.2008, 19:52

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen