Forum: Mikrocontroller und Digitale Elektronik Temperaturmessung MSP430 F149


von Christoph M. (ruuby)


Lesenswert?

Hallo, ich möchte den msp430 f149 für Temperaturmessungen benutzen. 
Scheint auch schon zu funktionieren, jedoch bin ich nicht ganz dahinter 
gekommen wie man den Wert des ADCs in Celsius umrechnen kann.

Ich benutze folgenden Code für die Messung:

int energ, temp;

    ADC12CTL0 &= ~ENC;     ADC12CTL1 = CSTARTADD_0 + SHS_0 + SHP + 
ADC12DIV_7 + CONSEQ_1 + ADC12SSEL_2;
    ADC12CTL0 = SHT0_15 + SHT1_15 + MSH + REFON + ADC12ON;
    Delay (1000);
    ADC12MCTL0 = 0xB + SREF_1;
    ADC12MCTL1 = 0xA + SREF_1 + EOS;
    ADC12CTL0 |= ENC + ADC12SC;
    while((ADC12IFG & 1) == 0 || (ADC12CTL1 & ADC12BUSY));
    ADC12CTL0 &= ~ENC;
    energ = ADC12MEM0;
    temp = ADC12MEM1;
    ADC12CTL0 &= ~(REFON + ADC12ON);


Bei Raumtemperatur erhalte ich hiermit Werte von ca. 3090.
Wäre für jede Hilfe dankbar.

von szimmi (Gast)


Lesenswert?

Die Schaltung wäre recht interessant. Der ADC-Wert sagt Dir nur, welche 
Spannung über dem NTC/PTC oder was Du auch immer verwendest, abfällt. 
Ohne Schaltungsbeschreibung kann man da wenig sagen...

von jens (Gast)


Lesenswert?

Die Spannung an der eingebauten Temperaturdiode ist laut Datenblatt

U = T * 3.55mV + 986mV

bei einer Referenzspannung von 1.5V ergibt das:

T = ADC * 0.103158 - 277.75

von Christoph M. (ruuby)


Lesenswert?

Danke für die rasche Antwort! Mit dieser Umwandlung komme ich dann auf 
etwa 41°Celsius. Raumtemperatur liegt in etwa bei 25°. Kann man den Wert 
mit einer Art "Negativen Offset" versehen um die Temperatur anzupassen, 
oder ist die Innentemperatur des MSPs einfach immer etwas höher?
Ist möglicherweise eine etwas dämliche Frage, ich habe jedoch zum ersten 
Mal mit Microcontrollern zu tun. ;-)

von jens (Gast)


Lesenswert?

Ja das ist eine gute Ide. Der Offset -277.75 ist nur der theoretische 
Wert. Du kannst ihn entsprechend anpassen.

von szimmi (Gast)


Lesenswert?

Oerks, sorry, ich dachte, Du misst eine externe Temperatur :-)
Werde wohl langsam alt...

von Christoph M. (ruuby)


Lesenswert?

Trotzdem DANKE an euch beide! Jetzt funkts!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.