Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
de:examples:sensor:thermistor [2011/10/11 13:29] wittkoepperde:examples:sensor:thermistor [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 20: Line 20:
 Der Parameter B ist ein Koeffizient, welcher normalerweise im Datenblatt des Thermistors vorgegeben ist. Aber er ist nur in bestimmten Temperaturbereichen ausreichend konstant, z.B. in Bereichen zwischen 25 und 50 °C oder zwischen 25 und 85 °C. Wenn der gemessene Temperaturbereich größer ist, sollte das Datenblatt des Thermistors zu Rate gezogen werden um die Gleichung zu erhalten. Der Parameter B ist ein Koeffizient, welcher normalerweise im Datenblatt des Thermistors vorgegeben ist. Aber er ist nur in bestimmten Temperaturbereichen ausreichend konstant, z.B. in Bereichen zwischen 25 und 50 °C oder zwischen 25 und 85 °C. Wenn der gemessene Temperaturbereich größer ist, sollte das Datenblatt des Thermistors zu Rate gezogen werden um die Gleichung zu erhalten.
  
-Normalerweise wird ein Spannungsteiler genutzt um den Widerstand eines Thermistors zu messen. Dabei wird ein Widerstand durch einen Thermistor ausgetauscht wird und die Inputspannung ist konstant. Es wird die Outputspannung des Spannungsteilers gemessen, welche sich in Abhängigkeit der Widerstandsänderung des Thermistors verändert. Wenn Spannung anliegt, fließt Strom durch den Thermistor, wodurch sich dieser bedingt durch den Thermistorwiderstand aufheizt und damit den Widerstand verändert. Den Fehler durch das Aufheizen kann man ausrechnen, jedoch ist es einfacher einen Thermistor zu nutzen, welcher einen hohen Widerstand hat und sich nicht so viel aufheizt.+Normalerweise wird ein Spannungsteiler genutztum den Widerstand eines Thermistors zu messen. Dabei wird ein Widerstand durch einen Thermistor ausgetauscht wird und die Inputspannung ist konstant. Es wird die Outputspannung des Spannungsteilers gemessen, welche sich in Abhängigkeit der Widerstandsänderung des Thermistors verändert. Wenn Spannung anliegt, fließt Strom durch den Thermistor, wodurch sich dieser bedingt durch den Thermistorwiderstand aufheizt und damit den Widerstand verändert. Der durch das Aufheizen entstehende Fehler kann berechnet werden, jedoch ist es einfacher einen Thermistor zu nutzen, welcher einen hohen Widerstand hat und sich nicht so viel aufheizt.
  
-Mit begrenzten Ressourcen und weniger Anspruch auf Genauigkeit, werden vorberechnte Tabellen für die Temperaturen genutzt. Normalerweise haben die Tabellen Temperaturbereiche und die entsprechenden Werte an Widerstand, Spannung und ADC enthalten. Alle exponentiellen Berechnungen sind schon gemacht und der Nutzer muss nur noch die entsprechende Reihe finden und die Werte auslesen.+Bei begrenzten Ressourcen und geringerem Anspruch auf Genauigkeit, werden zuvor errechnete Diagramme und Tabellen für die Temperaturen genutzt. Normalerweise enthalten die Tabellen Temperaturbereiche und die entsprechenden Werte für Widerstand, Spannung und ADC. Alle exponentiellen Berechnungen wurden bereits durchgeführt sodass der Nutzer nur noch die entsprechende Reihe finden und die Werte auslesen muss.
  
 ===== Übung ===== ===== Übung =====
  
-Das Sensormodul des HomeLab ist mit einem NTC Thermistor mit 10 kΩ nominellen Widerstand ausgestattet. Bei Temperaturen von 25-50 °C ist der Parameter B des Widerstands 3900.  +Das Sensormodul des HomeLab enthält einen NTC Thermistor mit nominellem Widerstand von 10 kΩ. Bei Temperaturen von 25 bis 50 °C ist der Parameter B des Widerstands 3900.  
-Ein Pin des Thermistors ist an die 5+V Betriebsspannungs angeschlossen der Andere an Kanal 2 (Pin PF2) Ein typischer 10 kΩ Widerstand ist auch am gleichen Pin des Microcontrollers und an die Erde angeschlossenzusammen mit dem Thermistor entsteht so ein Spannungsteiler. Da wir mit ein NTC Thermistor arbeitenwo der Widerstand sinkt wenn die Temperatur steigt, wird die Outputspannung bei steigender Temperatur höher.+Ein Pin des Thermistors ist an die +Betriebsspannung angeschlossen der andere an Kanal 2 (Pin PF2)Ein typischer 10 kΩ Widerstand ist auch am gleichen Pin des Mikrocontrollers und an die Masse angeschlossen. So entsteht zusammen mit dem Thermistor ein Spannungsteiler. Da hier ein NTC Thermistor genutzt wirdbei welchem der Widerstand sinkt wenn die Temperatur steigt, wird die Outputspannung des Spannungsteilers bei steigender Temperatur höher.
  
-Wenn man den AVR nutzt, ist es praktisch eine Tabelle zu mit den Werten der Temperaturen und des ADC zu nutzen um die korrekte Temperatur zu finden. Es ist klug für jeden °C Temperatur des Messbereiches den entsprechenden Wert des ADC raus zu suchen, da eine Tabelle zu groß auf Grund der 10 Bit ADC Werte wird. Es wird empfohlen ein Tabellenkalkulationsprogramm (MS Excel, Openoffice Calc, etc.) zu nutzen um die Tabelle zu erstellen. +Während der Nutzung des AVR ist es nützlich, eine Tabelle mit den Temperaturwerten und den Werten des ADC zu verwenden, um die korrekte Temperatur zu finden. Es ist sinnvoll, für jede Gradzahl der gewünschten Temperaturstufe des Messbereichs den korrespondierenden ADC Wert aus der Tabelle herauszusuchen, da die Tabelle aufgrund der 10 Bit ADC Werte sehr groß sein wird. Es wird empfohlenein Tabellenkalkulationsprogramm (MS Excel, Openoffice Calc, etc.) zur Erstellung der Tabelle zu nutzen. Die //Steinhart-Hart// Gleichung, welche für den NTC angepasst wurde, gibt den zur entsprechenden Temperatur korrespondierenden Widerstand aus. Abgeleitet aus dem Widerstand, ist es möglich die Outputspannung des Spannungsteilers zu berechnen und daraus den Wert des ADC. Berechnete Werte können wie folgt in das Programm eingefügt werden:
-Die //Steinhart-Hart// Formel welche für den NTC angepasst wurde, gibt den Widerstand bei entsprechender Temperatur aus. Abgeleitet aus dem Widerstand, ist es möglich die Outputspannung des Spannungsteilers zu berechnen und daraus den Wert des ADC. +
-Berechnete Werte können wie folgt ins Programm eingefügt werden:+
  
 <code c> <code c>
Line 87: Line 85:
 } }
 </code> </code>
-Der Algorithmus sucht den Bereich aus der Tabelle in dem der ACD Wert liegt und nimmt die niedrigere Nummer dieses Bereiches. Die Ranknummer markiert die Gradzahl und beim Addieren der primären Temperatur wird eine Genauigkeit von 1°C erreicht.+ 
 +Der Algorithmus sucht den Bereich aus der Tabelle in dem der ACD Wert liegt und wählt die niedrigere Nummer dieses Bereiches. Die Ranknummer markiert die Gradzahl und durch das Addieren der anfänglichen Temperatur wird eine Genauigkeit von 1°C erreicht.
  
 Umrechnungstabelle und Funktion sind schon in der HomeLab Bibliothek enthalten, sie müssen somit nicht extra für diese Aufgabe erstellt werden. In der Bibliothek heißt die Umrechnungsfunktion //thermistor_calculate_celsius//. Hierbei muss beachtet werden, dass die Funktion nur korrekt ist, wenn sie mit dem Thermistor des Sensormoduls aus dem HomeLab verwendet wird. Werden andere Thermistoren genutzt, muss eine entsprechende Umrechnungstabelle erstellt und eine komplexere Funktion verwendet werden, welche im Handbuch der Bibliothek beschrieben wird. Das Beispielprogramm dieser Übung ist ein Thermometer, welches Temperatur in °C mißt und sie auf dem alphabetischen LCD ausgibt. Umrechnungstabelle und Funktion sind schon in der HomeLab Bibliothek enthalten, sie müssen somit nicht extra für diese Aufgabe erstellt werden. In der Bibliothek heißt die Umrechnungsfunktion //thermistor_calculate_celsius//. Hierbei muss beachtet werden, dass die Funktion nur korrekt ist, wenn sie mit dem Thermistor des Sensormoduls aus dem HomeLab verwendet wird. Werden andere Thermistoren genutzt, muss eine entsprechende Umrechnungstabelle erstellt und eine komplexere Funktion verwendet werden, welche im Handbuch der Bibliothek beschrieben wird. Das Beispielprogramm dieser Übung ist ein Thermometer, welches Temperatur in °C mißt und sie auf dem alphabetischen LCD ausgibt.
de/examples/sensor/thermistor.1318339766.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0