Arduino UNO R4 - MAX6675 Thermoelement-Modul

Wenn Sie mit einem Arduino UNO R4 Temperaturen messen möchten, stehen Ihnen viele Sensoren zur Auswahl. Zu den beliebten Optionen gehören unter anderem die DHTxx-Serie, DS18B20, LM35 und TMP36, die jeweils eigene Funktionen und Fähigkeiten bieten, um den Anforderungen Ihres Projekts gerecht zu werden.

Aber was, wenn Sie die Temperatur von etwas so Heißem wie einem Vulkan (der weit über 1000°C bzw. 1800°F erreichen kann) oder von etwas extrem Kaltem wie flüssigem Stickstoff (etwa −195,8°C bzw. −320°F) messen möchten? In solchen Fällen würde ein normaler Temperatursensor entweder schmelzen oder komplett einfrieren.

Wie misst man also extrem heiße oder kalte Dinge? Mit einem raffinierten Paar elektrischer Leitungen, dem sogenannten Thermoelement. Ein Thermoelement ist ein Temperatursensor, der den thermoelektrischen Effekt nutzt, um Temperaturen von -330°F bis +2460°F zu messen.

Dieses Tutorial zeigt Ihnen, wie Sie das MAX6675-Thermoelement-Modul – eines der am häufigsten verwendeten, günstigen und dennoch genauen Thermoelement-Module – an einen Arduino UNO R4 anschließen. Doch zuerst frischen wir kurz die Grundlagen von Thermoelementen auf.

Arduino UNO R4 MAX6675 Thermoelement-Modul

Über das MAX6675-Thermoelement-Modul

Das MAX6675-Thermoelement-Modul besteht aus einer MAX6675-Breakout-Platine und einem Typ-K-Thermoelementfühler.

Pinbelegung des MAX6675-Thermoelement-Moduls
image source: diyables.io

Grundlagen von Thermoelementen

Ein Thermoelement ist ein Temperatursensor aus zwei verschiedenen Metalldrähten, die an einem Ende miteinander verbunden sind – der sogenannten Messstelle (heiße Lötstelle). Wird die Messstelle erwärmt, erzeugt sie eine winzige Spannung, die sich mit der Temperatur ändert. Dieses einfache Prinzip ermöglicht es einem Thermoelement, extrem hohe oder niedrige Temperaturen zu messen, die andere Sensortypen beschädigen würden.

Es gibt einige gängige Thermoelementtypen (J, K, E, T usw.), die jeweils aus einem anderen Metallpaar bestehen. Am weitesten verbreitet ist das Typ-K-Thermoelement, das aus Chromel- und Alumel-Drähten besteht und einen sehr großen Temperaturbereich von etwa -328°F bis +2300°F messen kann.

Die von einem Thermoelement erzeugte Spannung ist extrem klein und lässt sich nicht einfach direkt in einen Temperaturwert umrechnen. Deshalb benötigen wir einen speziellen Chip, der diese Aufgabe für uns übernimmt – und genau das macht der MAX6675-IC.

Pinbelegung des MAX6675-Moduls

Die Breakout-Platine liest das Signal des Thermoelementfühlers, wandelt es in einen Temperaturwert um und sendet diesen über SPI an den Arduino UNO R4. Sie kann Temperaturen von 0°C bis +1024°C mit einer Genauigkeit von etwa ±3°C messen und arbeitet mit einer Versorgungsspannung von 3,0V bis 5,5V.

  • VCC: Versorgungspin, mit 3V - 5V verbinden.
  • GND: Masse-Pin.
  • SCK: SPI-Takt-Pin.
  • CS: Chip-Select-Pin.
  • SO: Daten-Pin, sendet den Temperaturwert an den Arduino UNO R4.

Auf der anderen Seite des Moduls befindet sich eine 2-polige Schraubklemme für den Thermoelementfühler: Verbinden Sie den roten Draht mit + und den blauen Draht mit -.

Typ-K-Thermoelementfühler

Der mit dem Modul gelieferte Fühler ist etwa 18 Zoll lang und kann Temperaturen von 0°C bis 80°C messen. Der rote Draht ist die positive Leitung, der blaue Draht die negative Leitung.

Technische Daten

  • Betriebsspannung: 3,0V bis 5,5V
  • Schnittstelle: SPI
  • Temperaturbereich: 0 – 1024°C (MAX6675), 0 – 80°C (mitgelieferter Fühler)
  • Genauigkeit: ±3°C

Verdrahtungsdiagramm

Verbinden Sie den VCC-Pin des Moduls mit 5V am Arduino UNO R4 und den GND-Pin mit Masse. Verbinden Sie dann drei digitale Pins des Arduino UNO R4, die als SPI-Schnittstelle dienen. Schließen Sie zum Schluss den Thermoelementfühler an das Modul an: Verbinden Sie den roten Draht mit der '+'-Klemme des Moduls und den blauen Draht mit der '-'-Klemme.

Schaltplan Arduino UNO R4 MAX6675-Thermoelement-Modul

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.

Verdrahtungstabelle von MAX6675-Modul und Arduino UNO R4

MAX6675-Modul Arduino UNO R4
VCC → 5V
GND → GND
SCK → 5
CS → 4
SO → 3

Arduino UNO R4 Code

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-r4/arduino-uno-r4-max6675-thermocouple-module */ #include "max6675.h" // Define the Arduino UNO R4 pins the MAX6675 module is connected to int SO_PIN = 3; // Serial Out (SO) pin int CS_PIN = 4; // Chip Select (CS) pin int SCK_PIN = 5; // Clock (SCK) pin // Create an instance of the MAX6675 class with the specified pins MAX6675 thermocouple(SCK_PIN, CS_PIN, SO_PIN); void setup() { Serial.begin(9600); delay(500); } void loop() { // Read the current temperature and print it to the Serial Monitor // Read the temperature in Celsius Serial.print("Temperature: "); Serial.print(thermocouple.readCelsius()); Serial.print("\xC2\xB0"); // shows degree symbol Serial.print("C | "); // Read the temperature in Fahrenheit Serial.print(thermocouple.readFahrenheit()); Serial.print("\xC2\xB0"); // shows degree symbol Serial.println("F"); delay(1000); }

Schnelle Schritte

Befolgen Sie diese Anweisungen Schritt für Schritt:

  • Wenn Sie den Arduino Uno R4 WiFi/Minima zum ersten Mal verwenden, lesen Sie das Tutorial zum Einrichten der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
  • Verbinden Sie das MAX6675-Modul gemäß dem bereitgestellten Schaltplan mit dem Arduino Uno R4.
  • Verbinden Sie das Arduino Uno R4 Board über ein USB-Kabel mit Ihrem Computer.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino Uno R4 Board (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
  • Klicken Sie auf das Symbol Libraries auf der linken Seite der Arduino IDE.
  • Suchen Sie nach "MAX6675" und finden Sie die Bibliothek von Adafruit.
  • Klicken Sie auf die Schaltfläche Install, um die MAX6675-Bibliothek hinzuzufügen.
  • Search for MAX6675 library created by Adafruit and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Library Manager
Type:
All
Topic:
All
MAX6675 library by Adafruit
Arduino library for interfacing with MAX6675 thermocouple amplifier More info
1.1.2
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
Arduino Uno R4 WiFi on COM15
1
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf den Arduino UNO R4 hochzuladen.
  • Bringen Sie das Thermoelement in Kontakt mit dem zu messenden Material.
  • Öffnen Sie den seriellen Monitor.
  • Überprüfen Sie die Ergebnisse im seriellen Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Temperature: 25.00°C | 77.00°F Temperature: 25.25°C | 77.45°F Temperature: 26.50°C | 79.70°F Temperature: 28.75°C | 83.75°F Temperature: 31.00°C | 87.80°F
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

※ Notiz:

Wenn sich die im seriellen Monitor angezeigte Temperatur nicht ändert oder falsch erscheint, überprüfen Sie die Verdrahtung zwischen dem Modul und dem Arduino UNO R4 und stellen Sie sicher, dass der Typ-K-Thermoelementfühler fest mit den Klemmen '+' und '-' verbunden ist.

Code-Erklärung

Der Sketch beginnt mit dem Einbinden der MAX6675-Headerdatei. Sie ermöglicht dem Arduino UNO R4 die Kommunikation mit dem MAX6675-Modul.

#include "max6675.h"

Im globalen Bereich werden drei Ganzzahlen SO_PIN, CS_PIN und SCK_PIN deklariert, die die Pins des Arduino UNO R4 angeben, die mit den Pins Serial Out (SO), Chip Select (CS) und Clock (SCK) des Moduls verbunden sind.

int SO_PIN = 3; // Serial Out (SO) pin int CS_PIN = 4; // Chip Select (CS) pin int SCK_PIN = 5; // Clock (SCK) pin

Als Nächstes wird eine Instanz der Klasse MAX6675 namens thermocouple erstellt. Sie initialisiert das thermocouple-Objekt mit den definierten Pins SCK, CS und SO.

MAX6675 thermocouple(SCK_PIN, CS_PIN, SO_PIN);

Die Funktion setup() initialisiert die serielle Kommunikation mit dem Computer mit einer Baudrate von 9600.

void setup() { Serial.begin(9600); delay(500); }

In loop() lesen wir das MAX6675-Thermoelement aus und geben das Ergebnis mit zwei Bibliotheksfunktionen im seriellen Monitor aus:

  • Thermocouple.readCelsius(): gibt die Temperatur in Celsius zurück.
  • Thermocouple.readFahrenheit(): gibt die Temperatur in Fahrenheit zurück.
Serial.print("Temperature: "); Serial.print(thermocouple.readCelsius()); Serial.print("\xC2\xB0"); // shows degree symbol Serial.print("C | "); Serial.print(thermocouple.readFahrenheit()); Serial.print("\xC2\xB0"); // shows degree symbol Serial.println("F");

Die Schleife läuft endlos weiter und liest und gibt die Temperatur jede Sekunde erneut aus.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!