Einleitung
Das National Institute of Standards and Technology (NIST) hat die Datenbank verschiedener Thermoelemente als NIST ITS-90 Thermocouple Database veröffentlicht.
Die Datenbank bestehen aus drei Teilen für jedes Thermoelement:
-
Tabelle der elektromotorischen Kräfte gegenüber 0 Grad Celsius für je 1 Grad Celsius Temperaturunterschied
-
(Koeffizienten für) Näherungsformel für die Umrechnung von Temperatur in thermoelektromotorische Kraft
-
(Koeffizienten für) Näherungsformel für die Umrechnung von thermoelektromotorischer Kraft in Temperatur
Diese Bibliothek bietet Funktionen, die auf 2. und 3. oben basieren. Dies ermöglicht die gegenseitige Umrechnung zwischen der elektromotorische Kraft des Thermoelements und der Temperatur in Bezug auf $0\,\degree\mathrm{C}$.
Funktionen
Die folgenden Funktionen werden von dieser Bibliothek bereitgestellt.
Ersetzen Sie X im Funktionsnamen durch den Thermoelementtyp (B, E, …).
-
FLOAT temp2emf_X(FLOAT temperature) -
Berechnet die elektromotorische Kraft (emf, electromotive force) aus der angegebenen Temperatur
temperature. Es wirdNAN(not a number, keine Zahl) zurückgegeben, wenn die angegebene Temperatur außerhalb des Bereichs liegt.
-
FLOAT emf2temp_X(FLOAT emf) -
Berechnet die Temperatur aus der gegebenen elektromotorische Kraft
emf(in Bezug auf $0\,\degree\mathrm{C}$). Es wirdNAN(not a number, keine Zahl) zurückgegeben, wenn die emf außerhalb des Bereichs liegt,
Typ
Der Typ FLOAT ist als double definiert, wenn er mit der Definition
NIST_ITS90_USE_DOUBLE kompiliert wurde, und ansonsten als float.
Einheiten
Die Einheit für Temperatur ist $\degree\mathrm{C}$, und die Einheit für emf ist mV.
Anleitung der Bibliothek
Rufen Sie zunächst die Datei aus dem Repository ab.
git clone https://github.com/TPKato/nist-its90Die folgenden Dateien werden mindestens benötigt.
-
nist-its90.c -
nist-its90-X.c(Xsollte durch den Thermoelementtyp (B, E, …) ersetzt werden) -
nist-its90.h -
nist-its90-config.h
Wenn Sie diese Bibliothek mit Ihrem C-Quellcode verwenden:
-
Bearbeiten Sie
nist-its90-config.hnach Bedarf. -
Fügen Sie folgende Zeilen in Ihren Code ein:
#include <math.h> /* Nur für den Typ K (der exp() benötigt) */ #include "nist-its90.h" -
Der Kompiliervorgang läuft wie folgt ab:
gcc -c nist-its90.c gcc -c nist-its90-K.c gcc -o [execfile] [your source].c nist-its90.o nist-its90-K.o -lm
Für Arduino ist die Vorgehensweise fast die gleiche.
-
Kopieren Sie die erforderlichen Dateien in das Projektverzeichnis.
-
Bearbeiten Sie
nist-its90-config.h, falls erforderlich. -
Fügen Sie der
.ino-Datei folgende Zeile hinzu.#include "nist-its90.h"
Beispiel
Berechnung der Messstellentemperatur t aus der erhaltenen
elektromotorischen Kraft emf und der Vergleichsstellentemperatur t_amb
bei der Messung mit dem Thermoelement vom Typ K:
t = emf2temp_K(emf + temp2emf_K(t_amb));Dateien
Diese Bibliothek besteht aus den folgenden Dateien.
-
Makefile -
Diese Datei wird verwendet, um
nist-its90-*.cundnist-its90.haus der NIST-Datenbank zu erzeugen. -
nistcoeff.pl -
Ein Skript zur Erzeugung von
nist-its90-*.cundnist-its90.haus der NIST-Datenbank -
nist-test.pl -
Test der generierten Programme
-
nist-its90.c -
Berechnung von Polynomen (nach dem Horner-Schema)
Im Folgenden sind die von nistcoeff.pl erzeugten Dateien.
Diese Dateien können mit Hilfe der obigen Dateien generiert werden,
aber Sie müssen sie normalerweise nicht selbst generieren, da sie
schon im Repository enthalten sind.
-
nist-its90-B.c -
nist-its90-E.c -
nist-its90-J.c -
nist-its90-K.c -
nist-its90-N.c -
nist-its90-R.c -
nist-its90-S.c -
nist-its90-T.c -
nist-its90.h
Erzeugen
Führen Sie die folgenden Schritte aus, wenn Sie diese Dateien selbst erstellen möchten.
Da die Datenbankdatei des NIST nicht in diesem Repository enthalten
ist, müssen Sie
All Thermocouple Types
von der Seite Download Tables
der
NIST ITS-90 Thermocouple Database.
herunterladen.
Dann führen Sie aus:
make
make test(make test ist optional).
Siehe auch
Siehe Korrektur der Temperaturdaten von MAX31855 für Informationen über die Verwendung dieser Bibliothek mit MAX31855 (Cold-Junction Compensated Thermocouple-to-Digital Converter von Maxim Integrated).
Repository
Lizenz
-
MIT License