Thermistor Vorwiderstand und Referenzspannung

Hallo Zusammen,
ich habe die Artikel hier durchgelesen.
https://learn.adafruit.com/thermistor/using-a-thermistor

hier beschreibt die Berechnung der ADC Werte,

ADC value = R / (R + 10K) * Vcc * 1023 / Varef

What is nice is that if you notice, if Vcc (logic voltage) is the same as the ARef, analog reference voltage, the values cancel out!

meine Frage ist, warum Vcc ist gleich wie Varef, wenn beide 10k sind, muss Vcc 5V und Varef 2.5V sein. Es sei denn, die gemessene Temperatur sehr niedrig ist und R_thermistor sehr groß im Vergleich zu Vorwiderstand ?

Kann jemand mal kurzen Tipp geben ??

Danke!
Gruß

Denke der Tipp steht auch auf der Homepage:
"Note that this code specifies an EXTERNAL voltage reference. To work properly, you must make the additional connection to the AREF pin as shown in the diagram above."
=> du hast also selbst in der Hand wie groß Varef ist und dein zitierter Text sagt ja nur das sich Vcc und Varef aufheben wenn sie gleich sind.
Oder verstehe ich die Frage nicht? :upside_down_face:

Ich verstehe deine Frage nicht.

Wenn du das Verhältnis in einem Spannungsteiler messen willst, ist es am einfachsten, wenn Gesamtspannung und Referenzspannung identisch sind.
In der Mitte zwischen zwei gleichen widerständen sollest du beim 10bit ADC immer 512 messen, egal wie groß Vcc genau ist.

Danke für deine Antwort.
ja sie haben eine Verbesserung External Voltage Reference gemacht, aber steht es trotzdem keine Änderung z.B 5V/3.3V im Quellcode, warum nehmen Sie nicht die 5V und 3,3V in die Gleichung rein ? die Beiden kann man nicht wegstreichen.
// convert the value to resistance
** average = 1023 / average - 1;**
** average = SERIESRESISTOR / average;**

mein Problem ist, wenn es kein External Ref_Spannung gibt, für NTC würde der Widerstand kleiner wenn die Temperatur steigt. d.h. die Ref_Spannung wird noch kleiner im Vergleich zu Vcc.

oder habe ich falsch verstanden.

Danke noch mal im Voraus!

Hallo Michael,
Danke
ein ADC Wert ist zwischen 0 bis 1023 ist klar, mein Problem ist wie hoch ist die Spannung repräsentiert. z.B 1023 bedeutet hier 5V oder 3.3 V oder wenn keine External angeschlossen ist.
in vielen Quellcode verwenden sie gleiche Gleichungen, wie im Artikel oben.

Gruß
lj

Das ist bei NTC auch normal.
NTC=negative temperature coefficient, also fallender Widerstand bei steigender Temperatur.

Sowohl die ref Spannung als auch die Vcc sind in der Regel konstant. Die gemessene Spannung (über den ADC Wert) ändert sich entsprechend. Über den ADC Wert kann auf die gemessene Spannung und damit letztlich auf den Widerstand zurück gerechnet werden. Für die meisten Temperatur Sensoren gibt es aber Bibliotheken die einem das rechnen abnehmen und schon direkt einen Wert als °C liefern...

Achso vielleicht ist das fehlende puzzle Teil auch hier enthalten:

Eins kann ich dir sagen, nimm nicht die VCC als Referenz, nur die Interne Referenz, sonst gibt es andere Werte was angezeigt werden wenn du zB. mall über USB anderes mall über andere Quelle deine AVR versorgst, die Spannungen sind nicht gleich.
Möglichkeit -> die VCC messen und im Sketsch berücksichtigen

Ich hingegen sage dir, du kannst bei deiner Spannungsteiler-Messung genausogut Vcc als Referenz nehmen, wenn du auch die Mess-Schaltung damit versorgst.

NTC

ADC value = R / (R + 10K) * Vcc * 1023 / Varef

Frage 1:
nehmen wir an Vcc = 5V , wenn wir V0 = Varef = 5V versorgen, die Gleichung ist im Code zwar richtig, aber wozu brauchen wir Vorwiderstand 10K ??

Frage 2:
wenn wir Varef kleiner als 5V z.B 3.3V nehmen und Vcc = 5V, dann kann man Vcc und Varef nicht wegstreichen. habe ich richtig verstanden?

Danke an allen !!

V0 ist nicht = VAref. V0 wird am ADC mit VAref „verglichen“.

Ohne den Vorwiderstand hast du immer 5V an dem Pin (wenn theoretisch die Stromquelle keinen Innenwiderstand hat). Je kleiner R vom NTC wird, desto mehr Strom wird fließen. Bis zum Kurzschluss.

1 Like

Hallo,

wie andere schon geschrieben haben. Nimm Vcc von der Versorgungsspannung vom Controller als Referenzspannung für den ADC, was beim ADC default Einstellung ist. Damit ist jede Messung unabhängig einer Schwankung der Versorgungsspannung, weil sie auf beide wirkt. Damit das weiter Sinn macht rechnest du weiterhin nur mit den Digitwerten vom ADC. Am Ende machst du eine 2 Punkt Kalibrierung. minDigit=MinTemp und maxTemp=MaxTemp. Oder noch mehr Stützwerte falls der NTC keine einigermaßen lineare Kennlinie haben sollte. Damit leidest du immer deine aktuelle Temperatur/Berechnung ab. Am Ende heißt es immer das irgendein Digitwert einem Temperaturwert entspricht. Ein Spannungswert kommt darin nicht vor. Denn der würde die Berechnung verfälschen.

Wenn in deiner Schaltung der Vorwiderstand von 10k fehlen würde, hättest du keinen sich änderten Spannungabfall wenn sich der Widerstand vom NTC ändern würde. Du kannst nichts abgreifen. Es würde sich nur der Strom durch den NTC ändern.

2 Likes

Wurde sagen ist dafür um Spannungsteiler bauen, sonnst wird immer die VCC gemessen, und wie du schreibst irgend wann ist der NTC hinüber, oder wird Kurzschluss gebaut

Vo ist der Messwert, nicht die Referenz-Spannung.
Wenn du die Funktion analogReference gar nicht verwendest oder analogReference(DEFAULT);
ist am AREF Pin auch Vcc ( nom. 5V )
und
ADC value = R / (R+10k) *1023
(unabhängig vom genauen Wert von Vcc)

1 Like

Das stimmt im meinem Post #8 war ich aus der Formel ADC value = R / (R + 10K) * Vcc * 1023 / Varef ausgegangen, welsche ist in den meisten Beispielen gezeigt

Du verwechselst die Ausgangsspannung des Spannungsteilers mit der Referenzspannung des AD/Wandlers.

Der "Vorwiderstand" ist eigentlich kein Vorwiderstand sondern der Widerstand, der zusammen mit dem NTC einen Spannungsteiler bildet.
Wahl des Widerstandes:
Ein solcher Spannungsteiler ist am empfindlichsten (Kleine Änderungen am NTC bringen größtmögliche Änderungen in der Ausgangsspannung) wenn beide Widerstände (Festwiderstand und NTC) gleich groß sind. Darum sollte man den Widerstand so wählen, daß dieser gelich groß ist, wie der NTC im Arbeitspunkt. Will man zB Zimmertemperatur messen dann ist das der Wirderstand des NTC bei 20°C. Will man im Eisschrank messen dann ist das der Widerstand des NTC bei ca 4°C.

Es gibt 2 Möglichkeiten für die Referenzsspannung:

  • Bei analogen Sensoren wo die Ausgang proportional zur Versorgungsspannung ist (wie zB bei einem Spannungsteiler mit einem veränderlichen Widerstand als Sensorelement), ist es günstig wenn Vref mit Vcc verbunden ist. Dadurch heben sich Spannungsschwankungen in der Versorgungsspannung im Messignal auf. Versorgungsspannung von USB Buchsen kann zwischen 5,2 und 4,6V liegen, also alles andere als Konstant. Der genue Wert hängt vom Gerät ab.
    Man nennt das ratiometrisch.

  • Bei analogen Signalen die unabhängig von der Versorgungsspannung ist. ZB Stromwandler wo die Ausgangsspannung nur Proportional zum Meßstrom ist.
    In diesem Fall ist es besser wenn die Referenzspannung unabhängig von der Versorgungsspannung ist. Man kann die interne Referenzspannung wählen ( 1,1V; bzw / und 2,56V je anch Modell des ATmega) oder man wählt die optin Externe Referenzspannung und Speist an Aref Pin zB die 3,3V des on board Spannungsstabilisators ein. Zu bedenken ist, daß der AD/Wandler 1023 bei einer Meßspannung gleich oder größer Verf mißt. Die Meßspannung darf größer als Vref sein, muß aber immer kleiner als VCC sein da ansonsten der Eingang Schaden nehmene kann. Auß muß die zu messende Spannung der Referenzsspannung angeglichen werden. Bie 1,1V referenz soll die Meßspannung von 0 bis 1,1V liegen damit der ganze Bereich des AD/Wandler ausgenutzt werden kann.

Grüße Uwe

2 Likes

Danke euch, mit euer Hilfe hab mein Problem gelöst.

mir war nicht klar V0 von Spannungsverteiler zwischen 0 bis Vcc liegt, und repräsentiert ADC Werte 0 bis 1023. ein gleicher fix Widerstand 10k im Schaltplan führt dazu dass ADC Wert gleich 512 or 511, an der Stellen kann man natürlich andere fix Widerstand nehmen je nach NTC kalibrierter Widerstand an bestimmtem Temperaturbereich.

ein Schönes WE alle !!

Verstehe nicht was du damit meinst. Weis auch nicht wie ist den Wissen über NTC, NTC ist nicht Linear wen es geht um Widerstand zu Temperatur.
Dazu noch kommt die B Konstante so wie Genauigkeit des NTC in Spiel.
Bei 10% Toleranz und 10K NTC sind +- 2,5°C bei 25°C
Der 10K wert bedeutet den Widerstand bei 25°C.
Das umrechnen ist nicht so trivial wie man denkt. :wink:
Such mall im Forum nach NTC nur ein von unzähligen Beispielen

Ich interpretiere das als Arbeitspunkt, oder anders gesagt mittlerer Widerstandswert im gewünschten Temperaturmeßbereich.

Grüeß Uwe

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.