はっくはっくキッチン
Hack Hack Kitchen

Bibliothek für Thermoelemente basierend auf der NIST ITS-90 Datenbank

 2022/01/29

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:

  1. Tabelle der elektromotorischen Kräfte gegenüber 0 Grad Celsius für je 1 Grad Celsius Temperaturunterschied

  2. (Koeffizienten für) Näherungsformel für die Umrechnung von Temperatur in thermoelektromotorische Kraft

  3. (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 wird NAN (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 wird NAN (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-its90

Die folgenden Dateien werden mindestens benötigt.

  • nist-its90.c

  • nist-its90-X.c (X sollte durch den Thermoelementtyp (B, E, …) ersetzt werden)

  • nist-its90.h

  • nist-its90-config.h

Wenn Sie diese Bibliothek mit Ihrem C-Quellcode verwenden:

  1. Bearbeiten Sie nist-its90-config.h nach Bedarf.

  2. 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"
  3. 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.

  1. Kopieren Sie die erforderlichen Dateien in das Projektverzeichnis.

  2. Bearbeiten Sie nist-its90-config.h, falls erforderlich.

  3. 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-*.c und nist-its90.h aus der NIST-Datenbank zu erzeugen.

nistcoeff.pl

Ein Skript zur Erzeugung von nist-its90-*.c und nist-its90.h aus 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).

Lizenz

  • MIT License