TC1047 - Code zur Anzeige

Gast #3568545
Lesenswert?
• ▲
▼
Ich habe einen Temperaturfühler TC1047 an einem analgogen Eingang eines 
Controllers (AN0). ANO müsste also eine zur Temp. linear steigenden Wert 
liefern (Gleichung siehe unten.

Den analogen Wert kann ich mir ohne Probleme anzeigen lassen.
Mir geht es jetzt um die Umrechnung nach Datenblatt um mir die genaue 
Temp. anzeigen zu lassen.
1
V_out = (10mV/°C)*Temp in °C + 500mV

Nach der Temp. aufgelöst bekomme ich also
1
Temp in °C = (V_out in V - 0,5V)/ 0,01V

V_out müsste doch direkt der Wert sein der an AN0 ausgegeben wird??
Ich bekomme unrealsite Werte angezeigt (meist 250°C)

Was habe ich nicht bedacht?

Danke
Gast #3569001
Lesenswert?
• ▲
▼
Es handelt sich um einen 10 BIT ADC. und der PIC läuft mit 3,3V 
Versorgungsspannung. d.h. V_OUT ergibt sich bei mir aus dem
1
V_OUT =(ANALOG-DIGITAL_GEWANDELTEN_WERT)/1024*3,3V
, richtig??

Kennt sich jemand mit dem PIC24E aus und kann mir etwas über die 
richtige Initialisierung des ADC sagen?

Ich hbas wie folgt gemacht, aber mehr als unsicher ob das so hinkommt:
1
 // ADC
2
    ANSELBbits.ANSB0 = 1;   // AN0 is analog
3
    TRISBbits.TRISB0  = 1;    //input
4
    AD1CON1 = 0x84E4;            // Turn on, auto sample start, auto-convert, 12 bit mode (on parts with a 12bit A/D)
5
    AD1CON2 = 0x0404;            // AVdd, AVss, int every 2 conversions, MUXA only, scan
6
    AD1CON3 = 0x1003;            // 16 Tad auto-sample, Tad = 3*Tcy
7
// AD1CSSL = 1<<5;                // Scan pot
8
        AD1CSSLbits.CSS0 = 1;   // scanne AN0
#3569012
Lesenswert?
• ▲
▼
Ralf schrieb:

> =(ANALOG-DIGITAL_GEWANDELTEN_WERT)/1024*3,3V [/c], richtig??

Vorsicht:
Erst multiplizerien, dann dividieren. Oder dafür sorgen, dass die 
Division schon in Gleitkomma erledigt wird.

ALles in allem: zeige den Code in der Umrechnung, inklusive der 
Datentypen der beteiligten Variablen.

Wenn du Dinge ausgeben kannst (was du offensichtlich kannst), dann lass 
dir auch mal die Werte der Zwischenresultate anzeigen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.