Hallo miteinander, ich habe mal eine Frage betreffend dem LM35 Temperatursensor. Der reguläre Temperaturbereich geht von 2°C bis 150°C. Laut Datenblatt wird der Messbereich durch eine negative Versorgungsspannung von -250mV auf -25°C bis 125°C verschoben. Wo bleibt dann aber der Offset von 2°C? Eigentlich dürfte er doch dann erst bei -23°C anfangen, oder? Und gibt es ein IC, dass mir die -250mV aus einer unsymmetrischen Versorgungsspannung bereitstellt? Ich möchte ungern einen Trafo mit Mittelanzapfung und Spannungsteiler einsetzen, zumal laut Datenblatt nur 50µA benötigt werden. Der Umweg über einen Max232 erscheint mir auch ein wenig umständlich. Eine andere Beschaltung, die ich noch gesehen hatte, war über zwei verschaltete 7805 und 7905. Mir stehen aber nur 5V zur Verfügung, sodass ich damit wohl kaum hinkommen dürfte. Vielen Dank für jeden Ratschlag Grüße M. Schwaikert.
Martin Schwaikert schrieb: > ich habe mal eine Frage betreffend dem LM35 Temperatursensor. Der > reguläre Temperaturbereich geht von 2°C bis 150°C. Laut Datenblatt wird > der Messbereich durch eine negative Versorgungsspannung von -250mV auf > -25°C bis 125°C verschoben. Wo bleibt dann aber der Offset von 2°C? > Eigentlich dürfte er doch dann erst bei -23°C anfangen, oder? Datenblatt nochmal lesen, du hast da einiges falsch verstanden.
Es gab nie einen Offset, er kam nur ohne negative Spannung nicht ganz an 0V/0GradC ran.
MaWin schrieb: > Es gab nie einen Offset, er kam nur ohne negative Spannung > nicht ganz an 0V/0GradC ran. D.h. mit negativer Versorgungsspannung erreicht er dann auch tatsächlich die -25°C? Dann bleibt nur noch die Frage, woher die 250mV- nehmen, wenn nicht stehlen?
Hallo Martin So wie ich das verstehe, liefert der LM35 genau 10mV pro Grad Celsius, wobei bei 0 Grad auch 0mV ausgegeben werden. Wenn ich ihn mit Vs=+5V versorge, misst er nur im Bereich von 0 (oder 2) bis 150 Grad. Für Temperaturen unter Null müsste er eine negative Spannung ausgeben, was mit +5V wohl nicht geht. Also muss man den Ausgang mit einem Widerstand gegen -Vs ziehen, damit negative Temperaturen angezeigt werden können. Im Datenblatt steht: R1 = -Vs/50uA, im Bsp. also 100k Ich probiers morgen mal aus...
Hallo Ralph, nett, dass Du mir antwortest, aber das ist jetzt schon über ein Jahr her :)
Für Temperaturen unter 0°C ist der LM35 genau die falsche Wahl. Der LM335 gibt Kelvin aus, also sind 2,7316 V = 273,16 K = 0° C. Billig zu kriegen, einfach anzuwenden - wozu also dem LM35, wenn es auch mal frostig werden kann???
Hallo, ich kämpfe nun schon seit drei Tagen mit dem LM35. Er zeigt mir im seriellen Monitor meist um die 35 Grad Celsius an. Ich halte es aber gefühlt für angenehme Wohnzimmertemperatur - also etwa 10 Grad Celsius weniger. Bekannte, die zugegen waren, haben mir das bestätigt. Ich habe den LM35 ganz normal (ohne Widerstände o.ä.) - und ich bin mir ziemlich sicher, auch richtig - an einen Arduino angeschlossen und die Berechnung per analogRead in der Form (value/1024*5000/10) durchgeführt. Diese Berechnungsweise habe ich an zwei verschiedenen Stellen (O'Rei... Kochbuch und Internet) gefunden, so dass ich davon ausgehe dass sie stimmt. Da der LM35 nicht kalibriert werden muss, sollte die Temperatur doch eigentlich stimmen, oder? Ich habe dann angenommen, dass der Sensor kaputt ist und mir einen neuen LM35 (diesmal CZ anstatt DZ) bestellt. Dieser zeigt fast die selbe Temperatur an. Dann wären ja beide auf die selbe Art und Weise kaputt. Äußerst unwahrscheinlich, nicht wahr? Das Datenblatt habe ich mir auch durchgelesen. Jetzt weiß ich nicht mehr weiter. Ach ja ... meine Ausstattung: - Arduino Due - Arduino Entwicklungsumgebung 1.5.2 Vielleicht hat jemand eine Idee? Ich bin übrigens Anfänger. Also bitte nur heimlich lachen, falls ich einen sehr dummen Fehler gemacht haben sollte :)
>Er zeigt mir im seriellen Monitor meist um die 35 Grad Celsius an Den Wert kannste mit einem Spannungsmesser(Multimeter) an den LM35-pins nachmessen und damit die Genauigkeit deines Arduinos verifizieren.
Stefan Hölscher schrieb: > Berechnung per analogRead in der Form (value/1024*5000/10) durchgeführt. Hmm... der LM35 gibt 10mV/°C aus, sollte also bei 250mV liegen. Miss das, wie schon erwähnt, mit einem Multimeter direkt am Pin nach. Welche Konfiguration hast Du gewählt? Wahrscheinlich Single-Supply ohne negative Spannung am Ausgang? Nicht dass Du hier einen falschen Wert hast. Mit 2,56V Referenz hast Du eine Auflösung von 2,5mV, also 0,25°C. Da der LM35 im mittleren Temperaturbereich (um die 15-25°C) maximal +-0,25°C Genauigkeit besitzt, ist das kein Problem (darunter und darüber liegt er bei +-0,75°C). > (value/1024*5000/10) Irgendwie verstehe ich die Rechnung nicht so ganz. In welcher Reihenfolge haut der Compiler das durch? ((value/1024)*5000)/10 oder (value/(1024*5000))/10 oder .... ? Also wenn man das der Reihe nach durchhackt: Value = 25°C = 250mV = 100 (=Wert) 100 / 1024 = 0,09775 * 5000 = 488,28 / 10 = 48,8°C?? Rechne ich den von Dir genannten Weg mit der Formel rückwärts, dann würde ich auf 18°C kommen. Wohlfühltemperatur ist das aber auch nicht.
Hallo, vielen Dank für die schnelle Hilfestellung!! Über Pfingsten hatte ich Zeit, euren Hinweisen nachzugehen. Der gemessene Strom war tatsächlich 232 mA, was auf einen intakten Sensor schließen ließ. Ich habe mir dann auch den Wert (von analog zu digital gewandelt) direkt ausgeben lassen, der vom Arduino Board an den PC übertragen wird. Der lag bei 72. Da die Skala bis 1024 geht, war der - mit der genannten Formel errechnete - Wert von ca. 35 Grad Celsius sogar richtig. Die Formel war speziell für Arduino so abgedruckt. Das habe ich noch mehrfach kontrolliert. Die Lösung ist jedoch denkbar einfach: Beim Arduino Duo handelt es sich um ein 3,3 Volt Modell und nicht um ein 5 Volt Modell. Der analoge Input Pin des Arduino verteilt die 1024 Schritte also auf 3,3 Volt und nicht auf 5 Volt. Die Formel muss daher angepasst werden: (value/1024*3300/10) anstatt (value/1024*5000/10) wobei value = 72 ist und (value/1024*3300) die Millivolt ergibt. Da der LM 35 ab 0 Grad bzw. 0mV gezählt pro Grad 10mV Spannung auf den analog Pin gibt, muss der Wert noch durch 10 geteilt werden um an die Temperatur zu kommen. Ich hoffe das hilft dem ein oder anderen weiter. Zwei Fragen hätte ich allerdings noch. Worum handelt es sich bei der genannten Referenzspannung von 2,56V und wie lässt sich daraus die Auflösung in Abhängigkeit von der Temperatur ermitteln? Vielen Dank nochmal!
Stefan Hölscher schrieb: > Über Pfingsten hatte ich Zeit, euren Hinweisen nachzugehen. Der > gemessene Strom war tatsächlich 232 mA, was auf einen intakten Sensor > schließen ließ. Spannung, nicht Strom. Stefan Hölscher schrieb: > Zwei Fragen hätte ich allerdings noch. Worum handelt es sich bei der > genannten Referenzspannung von 2,56V und wie lässt sich daraus die > Auflösung in Abhängigkeit von der Temperatur ermitteln? Ich hoffe ich habe das noch richtig im Kopf, also ohne Pistole: Zu 1) Ganz einfach. Der am ADC Eingang anliegende Wert wird über einen Komparator mit einem Sägezahn verglichen, dessen Scheitelspannung 2,56V beträgt. Der Wert ist deshalb so "krumm", da 2,56 eine 2er Potenz ist, und somit Rundungsfehler minimiert werden. Dieser Sägezahn besitzt eine bekannte Frequenz. Beim Nulldurchgang wird die Zeitmessung begonnen und bei Erreichen des Wertes der Referenzspannung beendet. Sollte der Komparator zuschlagen, wird die Zeitdifferenz aus Stopp- und Startpunkt gebildet. Über die gemessene Zeit lässt sich direkt die anliegende Spannung ableiten. Diese Frequenz bestimmt daher auch die maximale Samplingrate. Zu 2) Indem obiges Anwendung findet. Hast Du einen 8 Bit ADC teilt er immer in 256 Schritte. Da die Referenzspannung den maximal am Eingang liegenden Wert repräsentiert (0xFF bei 8 Bit) kann also bei einem Eingang von 2,56V bei einer Referenzspannung von 2,56V genau 0xFF herauskommen. Bei 0V und 2,56V Referenz sind es entsprechend 0x00. Da jetzt der Ausgangsbereich 256 Schritte besitzt, und die interne Referenz 2,56V besitzt ergibt sich daraus eine Auflösung von 2,56V / 256 Schritte = 0,01V pro Schritt. Vergisst man an dieser Stelle Rundungs- und Linearitätsfehler, so erreicht unter obiger Vorraussetzung der ADC eine Auflösung von 0,01V. Jetzt wirst Du sicherlich bemerken, warum die Referenzspannung so wichtig ist. Stell Dir mal obiges Beispiel mit einer Referenz von 5,12V vor (so das denn gehen würde, da die Referenz nicht höher als die Betriebsspannung sein darf). Da der ADC 8 Bit macht, teilt er jetzt die 5,12V in 256 Schritte, sodass sich nun zwar der Spannungsbereich verdoppelt, die Auflösung allerdings auf 0,02V pro Schritt halbiert. Da jetzt auch die Eingangsspannung am ADC nicht höher als die Referenzspannung sein darf, zeigt sich nun, dass die Konfiguration des ADC immer vom zu erwartenden Eingangssignal abhängt. Am Beispiel des LM35 könnte man z.B. annehmen: Er mach 10mV pro °C und somit bei Raumtemperatur 210mV. Jetzt wird es bei uns niemals heißer als 50°C, also 500mV. In den heißesten Flecken dieser Erde wird es maximal 70°C war, also würden, mit ein bisschen Reserve, maximal 800mV am Ausgang anliegen. Jetzt könnte man also die Referenz wegen der besseren Teilbarkeit auf 1024mV festsetzen. Bei einem ADC mit 10Bit Genauigkeit (=1024 Schritte) ergäbe das 1mV pro Schritt und damit eine Auflösung auf 0,1°C. Jetzt macht das Teil aber einen minimalen Fehler von +-0,25°C und eine 1,024V Referenz ist nicht gerade billig (z.B. ein Intersil ISL21010 gute 90ct. das Stück). Genau deshalb kann man sie ändern, und genau deshalb macht man auch nie mehr, als unbedingt notwendig ist. PS: Mit 10Bit und 2,56V erreicht das Teil genau +-0,25°C ;)
Martin Schwaikert schrieb: > Ganz einfach. Der am ADC Eingang anliegende Wert wird über einen > Komparator mit einem Sägezahn verglichen Nicht so ganz. Tatsächlich nähert man sich dem Bit für Bit von oben nach unten und benötigt dafür einen DAC, einen Komparator und 10 eigentliche Messschritte. Sukzessive Approximation heisst das Stichwort.
A. K. schrieb: > Martin Schwaikert schrieb: >> Ganz einfach. Der am ADC Eingang anliegende Wert wird über einen >> Komparator mit einem Sägezahn verglichen > > Nicht so ganz. Tatsächlich nähert man sich dem Bit für Bit von oben nach > unten und benötigt dafür einen DAC, einen Komparator und 10 eigentliche > Messschritte. Sukzessive Approximation heisst das Stichwort. Ja, wie gesagt, ohne Pistole. Der im Atmel verbaute ADC ist ja auch nicht der einzige Typ den es gibt.
Martin Schwaikert schrieb: > Ja, wie gesagt, ohne Pistole. Der im Atmel verbaute ADC ist ja auch > nicht der einzige Typ den es gibt. Welcher in µCs integrierte ADC verwendet denn das vor die beschriebene Single Slope Messverfahren? Das ist derart antiquiert, das auch die Chips aus der Anfangszeit digitaler Multimeter wie 7106/7 das bessere Dual Slope Verfahren verwenden. Aber auch das ist bei Controllern irrelevant. Tatsächlich sind mir in den gängigen Mikrocontrollern (non-DSP Markt) bisher nur die sukzessive Approximation und Delta-Sigma-Wandler begegnet.
Bei Verwendung der internen Referenz wäre zu beachten, dass die zwar leidlich stabil, aber der absolute Wert ziemlich ungenau ist. Wenn man die für LM35/335 verwendet, dann sollte man sie zunächst nachmessen und einen entsprechenden Korrekturfaktor einbauen (und dann ists Essig mit der Zweierpotenz ;-).
A. K. schrieb: > Martin Schwaikert schrieb: >> Ja, wie gesagt, ohne Pistole. Der im Atmel verbaute ADC ist ja auch >> nicht der einzige Typ den es gibt. > > Welcher in µCs integrierte ADC verwendet denn das vor die beschriebene > Single Slope Messverfahren? Das ist derart antiquiert, das auch die > Chips aus der Anfangszeit digitaler Multimeter wie 7106/7 das bessere > Dual Slope Verfahren verwenden. Aber auch das ist bei Controllern > irrelevant. Wie gesagt, die Pistole. Ich habe das vor ein zwei Jahren gehört, aber so wirklich im Kopf geblieben ist mir das auch nicht. Allerdings sind diese Single Slope? Wandler recht gut zu verstehen. Es kann natürlich sein, dass der ein oder andere Professor von uns eben in der Steinzeit lebt. Unterm Strich ist mir die Verwendung der Referenzspannung klar, und wie der Wandler nun tatsächlich arbeitet, ist mir eigentlich ziemlich egal. A. K. schrieb: > Bei Verwendung der internen Referenz wäre zu beachten, dass die zwar > leidlich stabil, aber der absolute Wert ziemlich ungenau ist. Wenn man > die für LM35/335 verwendet, dann sollte man sie zunächst nachmessen und > einen entsprechenden Korrekturfaktor einbauen (und dann ists Essig mit > der Zweierpotenz ;-). Wie gesagt bietet der LM35 kaum mehr als 0,25°C Genauigkeit. Inwieweit man damit den ADC des µC fordert, ist dabei dann wohl eher untergeordneter Rolle. Auf 0,5°C genau macht durchaus Sinn, mehr würde ich nicht nehmen. Ansonsten gibt es ja noch temperaturkompensierte Referenzdioden, die schon ein annehmbares Maß an Genauigkeit besitzen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.