Forum: Mikrocontroller und Digitale Elektronik NTC nach AD Wandlung linearisieren


von absolvent (Gast)


Lesenswert?

Hallo zusammen,

ich lese einen Spannungswert von einem NTC mit dem AD Wandler
des ATmega 16 [10 Bit, interne Ref benutzt] ein. Dieser Wert soll in 
Grad Celsius umgerechnet werden und anschließend auf einem LCD [2*16] 
ausgegeben werden.
Da der NTC nicht linear ist müßte ich diese Wert noch linearisieren um 
genaue Temperaturwerte errechnen zu können. Für diese Problematik habe 
ich jedoch Softwarseitig keinen Lösungsansatz. Mit einer 
Konstantstromquelle Hardwareseitig möchte ich es eigentlich nicht lösen.
Kann vielleicht jemand auf die Sprünge helfen?

Danke schon vorab

von Benedikt K. (benedikt)


Lesenswert?

Schritt 1: Formel für Eingangsspannung -> ADC Wert erstellen
Schritt 2: Formel für ADC Spannung -> NTC Widerstand erstellen und mit 1 
kombinieren
Schritt 3: Kennlinie (Formel) im Datenblatt des NTCs nachschauen und mit 
Schritt 3 kombinieren.
Schritt 4: Ein paar Werte anhand de Formel berechnen und in die Software 
einbauen. Die restlichen Werte dazwischen linear interpolieren.

von absolvent (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
danke erstmal für deinen schnelle Antwort.
Leider habe ich zu diesem Temp.-Sensor nicht viele Daten.
Laut Datenblatt hat der Sensor bei 10°C einen Widerstand von 4.48kOhm.
Die Messspannung beträgt 2.44V ( Vorwiderstand 4.7 kOhm in Reihe). 
Gewandelt ergibt sich bei einer Quantisierung von 10 Bit die 976 Stufe.

20°C ->2.812kOhm ->748
30°C ->1.814kOhm ->556 usw.

Wie gesagt der Verlauf ist nicht linear und im Datenblatt gibt es keine 
weiteren Referenzdaten.

Mit deinem Ablauf kann ich leider nicht viel anfangen da mir vermutlich 
die erforderlichen Angaben fehlen. Oder??

Freue mich auf eine Antwort.

von Benedikt K. (benedikt)


Lesenswert?

Such mal hier im Forum nach NTC, da gibt es ein paar Formeln.
Mit den zwei gemessenen Werten kannst du den unbekannten B Wert (der für 
jeden NTC typisch ist) ausrechnen. Damit kannst du dann die anderen 
Werte berechnen.

von absolvent (Gast)


Lesenswert?

Danke,
ich schau mal nach.

von MichiB (Gast)


Lesenswert?

Hi,

alle NTCs beruhen auf einer e-Funktion.
Übernehm einfach die LUT aus dem Datenblatt und leg
ne e-Funktion mit Excel drüber.

von absolvent (Gast)


Lesenswert?

Hallo MichiB,
auch dir danke für deinen Beitrag.
Entschuldige die laienhafte Frage aber wie kann ich mit "Excel ein e 
Funktion darüberlegen"???
Und für was steht das Kürzel LUT?
Für eine logische Erklärung wäre ich dir sehr dankbar.


von Xorr (Gast)


Lesenswert?

LUT heisst Look up table.
Der beta Wert des NTC wird beim Haendler angegeben. Daher muss man nur 
noch die Gleichung rechnen.

von MichiB (Gast)


Lesenswert?

Hi,

erzeuge mit Excel ein Tabelle des Widerstands über der Temperatur.
Erzeuge ein Diagram (Widerstand über Temperatur). Rechte Maustaste auf 
Diagram, Trendlinie hinzufügen. Jetzt kannst du aus linear, 
e-Funktion,...
auswählen. Dort gibt es auch eine Einstellung, um sich die Funktion 
anzeigen zu lassen.

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.