Skip to end of metadata
Go to start of metadata

Bei der Bestellung des Saunaofens war ein NTC-Sensor mit integrierter Thermosicherung mit im Paket gelegen.
Eigentlich wollte ich einen 1-Wire Fühler installieren, aber über 85C° sollen diese nicht mehr so zuverlässig sein und generell habe ich dabei ein mulmiges Gefühl weil die 1-Wire Sensoren mit Sicherheit niemals für solche Anwendungen konzipiert wurden, bzw ab und an auch mal ausfallen.
Nun habe ich aber nirgendwo eine Anleitung zum Auslesen von NTC-Sensoren gefunden, also habe ich mal nachgeforscht welche Möglichkeiten es gibt und bin am Ende auf die Lösung mittels 2 Formeln gekommen, die Erste ermittelt den Widerstand des NTC und die zweite Formel ermittelt anhand des Widerstandes die Temperatur ( Steinhart-Hart-Gleichung ).

Schritt-für-Schritt-Anleitung

  1. Ermitteln um welchen NTC es sich handelt ( am Einfachsten bei ca. 25C° mit dem Multimeter messen )
  2. Die Widerstandswerte entsprechend den Temperaturen in die Blauen Zellen eintragen ( Standard NTC 20K )
  3. In den gelben Zellen kann man nun mit den Werten der Versorgungsspannung und des Vorwiderstandes spielen um zu sehen welche Messspannung dann am NTC bzw. an unserem Analogen Eingang ansteht.
  4. Nachdem ich mich für die Versorgungsspannung von 15V und den Vorwiderstand von 20K Ohm entschieden hatte ( um den Analogeingang 0-10V so gut wie möglich auszunutzen ) geht es nun im zweiten schritt um die Ermittlung des Koeffizienten für die Steinhart-Hart-Gleichung dazu habe ich mit dem Wert in der Roten Zelle so lange rum gespielt bis die Temperaturwerte in der orangenen Zelle mit den Werten vorne übereingestimmt haben.

Informationen zum Spannungsteiler:
Vorwiderstand  ( obere ) 10K Ohm  / NTC 10K Ohm ( bei 25C° )
Vcc = Versorgungsspannung
Vo   = Spannungabfall am NTC = Anschluss für unseren Analogeingang

Die Formel lautet wie folgt:

1/((LOG(I2/((15 - I1)/I1)/I2))/1864+(1/298,15))-273,15

Der AI1 ist der Wert vom Analogeingang und der AI2 ist der Wert des Vorwiderstandes ( kann man natürlich auch direkt in die Formel übernehmen )
Die Kursiven Fetten Werte müssen anhand der vorher bestimmten Werte aus der Excel Tabelle geändert werden:
15     = 15 Volt Vcc/Uss
1864 = Koeffizient

 

 

  

 

Verwandte Artikel

 

 

 

USSVorwiderstand       Log     
1520        1864     
                
TempNTCR Gesamt Volt  NTC ErgebnissR/Ro    Temp Ergebniss
70,290,20,1662971211,67405763,325942350,2849002870,2 3,510,5453071160,000292550,00364656274,2308181,08081765 
10°41,5661,560,2436647210,12670574,873294350,4812319541,56 2,0780,3176455430,000170410,00352443283,73405410,5840544 
20°25,3545,350,330760758,384785016,615214990,7889546425,35 1,26750,1029479685,523E-050,00340925293,31998720,1699865 
30°15,8935,890,417943726,641125668,358874341,2586532415,89 0,7945-0,0999061-5,3598E-050,00330042302,99185629,8418559 
40°10,2130,210,496524335,069513419,930486591,9588638610,21 0,5105-0,29200425-0,000156650,00319736312,7578539,6078501 
50°6,7226,720,561377253,7724550911,22754492,976190486,72 0,336-0,47366072-0,000254110,00309991322,59036449,440364 
60°4,5224,520,611745512,7650897212,23491034,424778764,52 0,226-0,64589156-0,000346510,00300751332,50118459,3511841 
70°3,123,10,649350652,0129870112,9870136,45161293,1 0,155-0,8096683-0,000434370,00291965342,50739169,3573906 
80°2,1222,120,678119351,4376130213,5623879,433962262,12 0,106-0,97469413-0,00052290,00283111353,21811780,0681174 
90°1,5421,540,696378831,072423413,927576612,9870131,54 0,077-1,11350927-0,000597380,00275664362,76043489,6104338 
100°1,1221,120,710227270,7954545514,204545517,85714291,12 0,056-1,25181197-0,000671570,00268244372,79443399,6444333 
110°0,8220,820,72046110,590778114,409221924,39024390,82 0,041-1,38721614-0,000744210,0026098383,170865110,020865 
120°0,6120,610,727802040,4439592414,556040832,78688520,61 0,0305-1,51570016-0,000813140,00254087393,565585120,415585 
                

7 Comments

  1. Tom

    Ott Vielen Dank hat mir ebenfalls geholfen, super Beitrag!

    In der Spalte J ist noch ein der Wert 20 fix eingetragen, dieser muss man ebenfalls noch anpassen wenn der NTC z.B auf 10 ändert (smile)

    Noch Ergänzend. Habe das Ganze mit einem 10K NTC mit 12 V Eingangsspannung berechnet. Meine Formel würde aber nun so aussehen

    (1/(((LOG((I2/((12-I1)/I1))/10))/1748)+(1/298.15)))-273.15

  2. Hi Tom, Ott, 


    danke für die ausführliche Erklärung. 

    Ich habe einen NTC mit 6,8kOhm und eine Vorwiderstand von 6,8kOhm. Dies habe ich an die Versorgungsspannung mit 23.8V angeschlossen.

    Als roten Log Wert habe ich 1240 verwendet. Die Formel sieht dann wie folgt aus.


    1/((LOG(6,8/((23,8 - I1)/I1)/6,8))/1240+(1/298,15))-273,15


    Das Problem ist dass meine Eingangsspannung zu hoch ist. Erst bei 40°C komme ich auf 9,2V, was natürlich schlecht ist auf dem 0-10V analog Eingang. Wie habt ihr das gemacht mit der niedrigeren Spannungsversorgung? Habt ihr ein Netzteil dazugenommen mit 12V oder 15V?

    Danke für einen Tipp

    1. Ott


      Hallo Mark,

      ja ich habe dafür extra ein DC/DC Wandler verbaut, so kann ich separat die Spannung für den Spannungsteiler justieren. 

      https://www.ebay.de/sch/i.html?_from=R40&_trksid=p2380057.m570.l1311.R1.TR12.TRC2.A0.H0.XDC%2FDC.TRS0&_nkw=dc+dc+wandler&_sacat=0

      Generell gilt noch zu beachten das Eingangswiderstand des Analogeingangs auch noch mit berücksichtigt werden muss ( waren glaube ich 10K ) das hat mich ein wenig Zeit und nerven gekostet. Aber letzen Endes stimmt die Temperatur auf +/- 2 C° mit der Analogen Anzeige in der Sauna überein.

       MFG

  3. Hallo Ott, 

    ich hab nun eine 12V DC Spannung angelegt. 

    Die 10kOhm Eingangswiderstand, ist dieser dann parallel zum NTC? Wie hast du den in die Formel mit eingebunden? 

    Kannst du mir nochmal weiterhelfen, ich bekomme es so nicht richtig hin.

    MFG

    Mark

  4. Ott

    Hallo Mark, 

    Also ich habe ca. 20V Spannung angelegt, Von dem DC Wandler geht es über einen 10K Widerstand zum NTC und dann zum Analogeingang. Hier habe ich mal die Verschaltung:

    Die Formel sieht wie folgt aus :

    1/((LOG(I2/((20 - I1)/I1)/I2))/1800+(1/298,15))-273,15


    Ciao Christian

  5. Hi Ott,

    I use NTC sensors to floorheating, I have right now a NTC to ModBus converter, with accurate readings, but if theres a possibility to have readings direct to AI on MS, I would like that.

    I have tried your Excel spreadsheet, but cant find a suitable "red" number, I use 25c/15kR NTC, and my focus is between 0 - 40c, am I doing it wrong?



  6. Hallo an alle.

    Da ich gerade am starten bin mit meiner Lox Installation im Haus, habe ich mir das Thema nun mal angeschaut, da ich wie der Kollege Jacob die Analogen Eingänge verwenden werde für NTC Temp. Fühler im Fußboden.


    Damit das ganze aber für mich sinnvoll funktioniert war eine Grundvoraussetzung, das ich hochwertige Sensoren verwenden kann, ohne zusätzliche Bauteile. D.h. Konkret:

    Um das ganze zu realisieren, habe ich den Spannungsteiler berechnet ( https://www.elektroniktutor.de/analogtechnik/u_teiler.html → Achtung es wird hier der Belastete Spannungsteiler benötigt wegen dem Innenwiderstand des MS)

    Als Vorwiderstand habe ich dann einen 22kOhm definiert um eine möglichst ideale 1-10V Kurve zu bekommen.

    Wobei ich diese dann folgendermaßen am MS verschalte: 

    R1 = Gira Fühler (=NTC)

    R2 = 22kOhm

    RL = Innenwiderstand MS = 11kOhm

    das ergibt einen Gesamt/Ersatzwiderstand von Rers=7333,33Ohm (=R2//RL)

    U2 wird demnach als Messspannung am Analog Input des MS gemessen. ( 0°C = 1,5V | 50°C = 9,46V)


    Da vom Gira ja eine ganze Tabelle an Werten bekannt ist, kann ich nun die Schwellwerte für die Bodenheizung schon ganz einfach direkt über die gemessen Spannungswerte mit dem Baustein "Analogwertüberwachung" definieren und in die Heizungssteuerung füttern.


    Da ich mir aber auch die korrekte Temperatur mir Anzeigen lassen wollte dachte ich dies einfach über den Baustein "Skalierer" umsetzten zu können. Das funktioniert aber nicht, da dieser ein ganz interessante Kurve kalkuliert die dann im Mittelbereich (bei 0-50°C) etliche Grade daneben ist. Von daher musste etwas anderes her.

    Ich bin dann hier fündig geworden: http://www.controllersandpcs.de/lehrarchiv/pdfs/elektronik/pass01_03x.pdf

    Hab mir für den Gira den B-Wert berechnet = 4138 → Nach Kontrolle habe ich diesen aber auf 3950 geändert, da ich dann im Bereich von 0-35°C sehr genau (also unter 0,4°) Abweichung bin. Da dieser Wertebereich für Fußbodenheizung ja wichtiger ist als weiter oben rauf.


    Damit ich dann dynamisch für jeden Spannungswert die Richtige Temperatur berechnen kann, habe ich mit obiger Grün markierter Formel dann auf R1 umgeformt, und so über den gemessen U2 Wert am Miniserver wieder den dazu passenden R1 (=Gira Fühler) zu errechnen.

    das schaut in der Config so aus:


    Formel 1:

    I3*I2/I1-I3

    I3 = Rers

    I2 = U

    I1 = Gemessene Spannung


    Danach Berechnung der Temperatur über den Errechneten Widerstandswert:


    Formel 2 (Detail Siehe Bild unten):

    (I3+10)/(1-((I3+10)/I2)*ln(I4/I1))-I3

    Die Formel ist auf 10°C ausgelegt, daher die Fett +10, zu beachten auch beim dazu passenden Widerstandswert des NTC.

    (Temperaturwerte sind in der Formel in Kelvin zu rechnen, damit am Ende aber wieder °C raus kommen ist dann noch das "-I3" hinten dran)

    I1 = Ergebnis auf Formel 1

    I2 = B-Wert = 3950

    I3 = 273,15K = 0°C

    I4 = 66785 Ohm (NTC Wert bei 10°C)


    Ich hoffe das hilft dem einen oder anderen weiter. Bei mir funktioniert es so nun super.

    Angaben und Berechnungen ohne Gewähr, auch wenn jemand die Widerstände am Spannungsteiler falsch anschließt und den MS abschießt.