Lineare PTC und NTC

Gast #272673
Lesenswert?

Leider nein,
es gibt zwar Schaltungen, wie man sie linearer machen kann, aber ganz
linear geht nicht.
Die Formel ist sogar ziemlich kompliziert, so dass meist eine Tabelle
verwendet wird.

Frage: was willst Du damit machen? Schreib uns das mal bitte.
Wenn du unbedingt einen R als Ausgang brauchst, gibt z.B. den Umweg
über einen Digitalen Temp-Sensor (TI TMP1xx, Dallas DS1xxx), µC und
digitales Poti.
Aber meist genügt als Ausgangsgröße eine Spannung, dafür gibt es genug
Sensoren, z.B. TMP36 oder LM34 / LM35).
Gast #272674
Lesenswert?

Na so kompliziert ist die Formel auch nicht. Die folgende Funktion
liefert bei mir Abweichungen von max. 0,2 Grad C ggü. einem DS1820 (im
Bereich 10-35 Grad C getestet).
1
float calculate_ntc_temp(void)
2
{
3
  float rth;
4
  float temp;
5

6
  // values and formula taken from datasheet at
7
http://www.vishay.com/docs/29049/23226403.pdf
8
  // NTC type used on SKP board is 2322 640 66103
9

10
  const float a = 3.354016e-3;
11
  const float b = 2.569355e-4;
12
  const float c = 2.626311e-6;
13
  const float d = 0.675278e-7;
14

15
  temp = ad1_value;
16
  rth = (temp * 7320.0) / (1024.0 - temp);  // now we have the resistance
17
in ohms
18

19
  temp = log(rth/10000.0);
20

21
  rth = (1.0/(a+b*temp+c*temp*temp+d*temp*temp*temp))-273.16;
22
  return rth;
23
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren