Verstaerker für Proportionalventile


Google-Suche auf MEINE-SCHALTUNG.de :





Dauerkalender


Temperaturmessung mit NTC
(Spannungsteiler, Arduino)


In dem Experiment messen wir Temperatur mithilfe eines Heißleiters. Bei einem Heißleiter (NTC - Negative Temperature Coefficient) handelt es sich um einen Widerstand, dessen Widerstand von Temperatur abhängig ist. Sein Widerstand sinkt mit steigender Temperatur. Bei einem PTC (Positive Temperature Coefficient) steigt dagegen der Widerstand mit steigender Temperatur. Das Verhalten eines temperaturabhängigen Widerstandes wird durch seine Thermistorkonstante (B) zum Ausdruck gebracht. Die Thermistorkonstante wird vom Hersteller in dem Datenblatt angegeben. In unserem Experiment kommt eine Messsonde mit einem temperaturabhängigen Widerstand zum Einsatz, dessen Charakteristik jedoch unbekannt ist. Die Messsonde wurde aus einem alten Schaltgerät ausgebaut, das beschädigt wurde. Die einzige verlässliche Information über die Sonde besagt, dass sie wasserdicht ist.

NTC-Messsonde

NTC-Messsonde

Zunächst muss man feststellen, mit welchem temperaturabhängigen Widerstand die Sonde ausgestattet wurde und seine Thermistorkonstante B ermitteln. Dazu wird im Vorfeld eine Messung des Widerstandes bei unterschiedlichen Temperaturen durchgeführt. Daraus ergab sich folgendes Diagramm:

Temperatur Diagramm

Temperatur Diagramm

Aus dem Verlauf der Kurve kann entnommen werden, dass es sich hier um einen NTC-Widerstand handelt. Der Widerstand des Sensors (Achse Y) sinkt mit steigender Temperatur (Achse X). Den Widerstandswert von 10 kOhm erreicht der Fühler bei ca. 23 °C.
Im nächsten Schritt müssen wir die B-Konstante ermitteln. Sie wird benötigt, um spätere Spannungswerte in Temperatur umzurechnen. Die Grundformel (Näherungsformel) für die Berechnungen eines NTC lautet:

Formel

NTC - Formel

Da jetzt mehrere empirisch ermittelte Werte bekannt sind, kann die B-Konstante schnell errechnet werden. Dazu kann der E-Rechner verwendet werden:

B-Konstante

Berechnung der B-Konstante

Berechnung der NTC-Widerstände

Die errechnete Thermistorkonstante B beträgt 3398. Den Widerstandswert von ca. 10 kOhm (10,11 k) erreicht der Fühler bei ca. 23 °C. Weitere Berechnungen anhand des Diagramms ergaben, dass wir mit dem so ermittelten Wert der Thermistorkonstante B theoretisch eine Messgenauigkeit von +/- 0,5 °C erreichen könnten. Bei dem praktischen Test stellte sich heraus, dass die Abweichungen höher liegen und Werte von über 1°C erreichten. Die Unterschiede sind hier auf die einfachen und ungenauen Messmethoden zurückzuführen. Für ein einfaches Thermometer sind die Ergebnisse jedoch durchaus zufriedenstellend.

Schaltplan

Die Schaltung gestaltet sich äußerst einfach. Der NTC-Widerstand wird in Reihe mit einem 10 kOhm festen Widerstand verschaltet und bildet so einen Spannungsteiler. Durch Änderung des Widerstandes des NTC wird sich auch die an ihm abfallende Spannung ändern. Diese Spannung wird einem analogen Eingang des Arduino zugeführt. Der Wert der Spannung wird dann im Programm in Temperatur umgerechnet. Der Spannungsteiler ist in dem Versuch an den 5V-Ausgang des Arduino angeschlossen. Damit die Ergebnisse nicht zu stark verfälscht werden, muss diese Spannung vermessen werden und bei den Berechnungen berücksichtig werden. In diesem Fall beträgt sie 5.2 V.

Schaltplan

Schaltplan

Testschaltung

Testschaltung

Testschaltung

Wie aus dem Schaltplan zu entnehmen ist, besteht die Schaltung neben den Spannungsteiler aus zwei weiteren Komponenten. Die Rechenaufgaben übernimmt Arduino Nano. Die Ergebnisse werden auf der 7-Segmentanzeige angezeigt. Bei der Anzeige handelt es sich um ein fertiges Modul, das aus der 7-Segmentanzeige und dem Treiber TM1637 besteht.

Arduino Nano

Arduino Nano

Anzeige

Anzeige

Arduino
Schaltungen_mit_TM1637


Testeinrichtung

Komplette Testeinrichtung


Das Programm

Die aktuelle Temperatur wird im Programm in drei Schritten ermittelt:
1. Berechnung der Spannung am analogen Eingang
2. Berechnung des Widerstandswertes des NTC-Widerstandes
3. Berechnung der aktuellen Temperatur

// *******************************************************************************************
// Temperatur-Messung mit NTC
// Spannungsteiler
// Arduino Nano, IDE 1.8.13
// *******************************************************************************************

#include <TM1637Display.h>                                // Anzeige Bibliothek
#define CLK 6
#define DIO 7

TM1637Display display(CLK, DIO);
int R = 9910;                                             // Spannungsteiler, fester Widerstand
float Rn = 10110;                                         // gemessen (Ohm)
float Tn = 23;                                            // gemessen (°C)
float B = 3398;                                           // Thermistorkonstante B (errechnet)

void setup() {
    display.setBrightness(10);
    display.clear();
}

void loop() {
                                                        
    float Analog_Wert = (float)analogRead (A0);           // analogen Wert A0 auslesen               
    float U_ntc = (5.2 * Analog_Wert) / 1023;             // Spannung
    float R_ntc = (U_ntc * Rn) / (5.2 - U_ntc);           // Widerstand
                                                          // Temperatur-Berechnung
        // Rt = Rn * e hoch B*(1/T - 1/Tn)                // Ausgangsformel
        // T = 1 / [(log(Rt/Rn)/B + 1/Tn] - 273,15        // umgestellt in °K
        // Tnk = 26,2 + 273,15                            // °K
    float A1 = log(R_ntc / Rn) / B;
    float A2 = A1 + 1 / (Tn + 273.15);
    float T = (1 / A2) - 273.15;

    display.showNumberDecEx(T, 0b00000000, false, 4, 4);  // Anzeige
    delay(1000);                                          // Wartezeit
}
// *******************************************************************************************   


Kurzvideo

Kurzvideo: Temperaturmessung mit NTC


Weitere Themen:


Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz