Arduino Nano - Heizsystem

Diese Anleitung erklärt, wie man einen Arduino Nano verwendet, um die Raumtemperatur mithilfe eines Heizelements und eines DS18B20-Temperatursensors zu steuern.

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×DS18B20 Temperatursensor (mit Adapter)
1×DS18B20 Temperatursensor (ohne Adapter)
1×4.7 kΩ Resistor
1×Relais
1×Heizelement
1×12V Netzteil
1×DC-Stromanschluss
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Kaufhinweis: Viele DS18B20-Sensoren auf dem Markt sind von geringer Qualität. Wir empfehlen dringend den Kauf des Sensors von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.

Über das Heizelement und den DS18B20-Temperatursensor

Das in diesem Tutorial verwendete Heizelement benötigt eine 12-V-Stromversorgung. Wenn dem Heizelement Strom zugeführt wird, erzeugt es Wärme. Um das Heizelement mit dem Arduino Nano zu steuern, muss ein Relais als Zwischenglied verwendet werden.

Wenn Sie mit dem Temperatursensor und dem Heizelement nicht vertraut sind, können Ihnen die folgenden Tutorials helfen:

Verdrahtungsdiagramm

  • Verdrahtungsdiagramm mit einem Steckbrett.
Schaltplan für das Heizelement mit Arduino Nano

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

  • Schaltplan mit einem Terminaladapter (empfohlen).
Schaltplan zur Steuerung eines Heizelements mit Arduino Nano

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

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

Wir empfehlen den Kauf eines DS18B20-Sensors zusammen mit dem passenden Verdrahtungsadapter für eine nahtlose Einrichtung. Dieser Adapter enthält einen integrierten Widerstand, wodurch kein zusätzlicher Widerstand in der Verkabelung mehr erforderlich ist.

Wie das System funktioniert

  • Arduino Nano erhält die Temperatur vom Temperatursensor.
  • Wenn die Temperatur unter einen bestimmten Grenzwert fällt, aktiviert der Arduino Nano die Heizelemente.
  • Wenn die Temperatur einen oberen Grenzwert überschreitet, deaktiviert der Arduino Nano das Heizelement.

Die Schleife wird kontinuierlich wiederholt.

Arduino Nano-Code für Kühlsystem mit DS18B20-Sensor

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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-nano/arduino-nano-heating-system */ #include <OneWire.h> #include <DallasTemperature.h> #define RELAY_PIN A5 // The Arduino Nano pin connected to the IN pin of relay module #define DS18B20_PIN 2 // The Arduino Nano pin connected to DS18B20 sensor's DQ pin const int THRESHOLD_OFF = 20; // upper threshold of temperature, change to your desire value const int THRESHOLD_ON = 15; // lower threshold of temperature, change to your desire value OneWire oneWire(DS18B20_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. DS18B20.begin(); // initialize the sensor pinMode(RELAY_PIN, OUTPUT); // initialize digital pin as an output } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures temperature = DS18B20.getTempCByIndex(0); // read temperature in Celsius if (temperature > THRESHOLD_OFF) { Serial.println("The heating element is turned off"); digitalWrite(RELAY_PIN, LOW); // turn off } else if (temperature < THRESHOLD_ON) { Serial.println("The heating element is turned on"); digitalWrite(RELAY_PIN, HIGH); // turn on } delay(500); }

Im oben genannten Code aktiviert der Arduino Nano das Heizelement, wenn die Temperatur unter 15 °C liegt, und lässt es eingeschaltet, bis die Temperatur 20 °C überschreitet.

Schnelle Schritte

  • Schließen Sie den Arduino Nano über ein USB-Kabel an einen Computer an.
  • Starten Sie die Arduino IDE und wählen Sie das richtige Board und den richtigen Port aus.
  • Klicken Sie auf das Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie nach „Dallas“, und finden Sie dann die DallasTemperature-Bibliothek, die von Miles Burton erstellt wurde.
  • Klicken Sie auf die Installieren-Schaltfläche, um die Bibliothek hinzuzufügen.
Arduino Nano Dallas-Temperatur-Bibliothek
  • Sie werden aufgefordert, die Abhängigkeit zu installieren. Klicken Sie auf den Alle installieren-Button, um die OneWire-Bibliothek zu installieren.
Arduino Nano OneWire-Bibliothek
  • Kopieren Sie den Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie auf die Hochladen-Schaltfläche in der Arduino IDE, um den Code zu kompilieren und auf den Arduino Nano hochzuladen.
  • Ändern Sie die Temperatur der Umgebung rund um den Sensor.
  • Überprüfen Sie die Temperatur des Heizelements und die Temperatur des Raums.

Fortgeschrittene Kenntnisse

Die oben beschriebene Regelungstechnik wird als Ein-Aus-Regler bezeichnet, der auch als Signaller oder 'Bang-Bang'-Regler bekannt ist.

Es existiert ein alternativer Ansatz, der als PID-Regler bekannt ist. Diese Methode der Temperaturregelung ist stabiler; sie ist jedoch schwer zu verstehen und in der Praxis umzusetzen. Daher wird der PID-Regler nicht häufig eingesetzt.

※ 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!