Inhaltsverzeichnis:
- Schritt 1: Bereiten Sie Ihr Gerät vor
- Schritt 2: Zweipunktkalibrierung
- Schritt 3: Nutzen Sie die Werte, die Sie erhalten, richtig
Video: Kalibrierung des DS18B20-Sensors mit Arduino UNO - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
HAFTUNGSAUSSCHLUSS:
Das Gerät, das Sie auf den Bildern sehen, wird in einem anderen Projekt als Thermostat für den Filmentwicklungsprozess verwendet. Dieses Projekt finden Sie hier. Um einen oder mehrere Sensoren zu kalibrieren, benötigen Sie nur das, was Sie in diesem Projekt finden, nicht mehr, und es ist auch ziemlich einfach! Lass uns gehen!
Schritt 1: Bereiten Sie Ihr Gerät vor
Hier ist eine Liste mit dem, was Sie brauchen:
- Arduino UNO (oder MEGA)
- DS18B20-Sensor(en)
- 4kOhm - 5kOhm Widerstand (ich habe einen 5k1Ohm verwendet)
- LCD-Bildschirm zum Ablesen von Werten (Sie können auch einen Laptop verwenden und sie einfach auf einem seriellen Monitor ablesen)
- Eine Skizze, die den Sensor verwendet und irgendwie die Werte zeigt
Zuerst müssen Sie Ihre Module und Sensoren an Ihren Controller anschließen. Ich überlasse Ihnen den komplizierten Teil des LCD, damit Sie im Internet suchen können, und ich werde Ihnen nur sagen, wie Sie den Sensor anschließen.
Normalerweise werden diese Sensoren mit drei farbigen Drähten geliefert: Schwarz, Rot, Gelb. Die ersten beiden sind für Energie und die dritte für die Daten. Verbinden Sie das Schwarze mit GNN, das Rote mit Vcc (5V) und das Gelbe mit einem analogen Eingang, sagen wir A0.
Verbinden Sie nun den Widerstand zwischen Gelb und Rot, um die Verbindungen abzuschließen.
Schließen Sie auch das LCD an (ich schlage ein einfaches 16x2 LCD mit i2c-Anschluss vor, um insgesamt nur 4 Drähte zu verwenden) und Sie sind mit Drähten und Kabeln fertig.
Nun die supereinfache Skizze:
#include "OneWire.h"
#include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1(ONE_WIRE_BUS_1); DallasTemperatursensor1(&ourWire1); #include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C lcd(0x27, 16, 2); float RawValue = 0;
Void setup () {lcd.init (); LCD-Rücklicht(); sensor1.begin(); sensor1.setResolution(11); aufrechtzuerhalten. Void Schleife () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex(0); lcd.setCursor(0, 0); lcd.print("Sens.1"); lcd.print (RohWert, 1); }
Wie Sie sehen, verwenden wir die Dallas Temperature Library und einen LCD-Bildschirm mit i2c-Anschluss.
Im Setup initialisieren wir LCD und Sensor und in der Schleife fragen wir einfach die Temperatur ab und speichern den Wert in der Variablen RawValue, um ihn auf dem LCD anzuzeigen.
Wenn Sie es einfacher halten möchten, verwenden Sie einfach den seriellen Monitor mit der folgenden Skizze
#include "Wire.h"#include "OneWire.h" #include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1(ONE_WIRE_BUS_1); DallasTemperatursensor1(&ourWire1);
float RawValue = 0;
Void-Setup () {
Verzögerung (1000); Serial.begin (9600); sensor1.begin(); sensor1.setResolution(11);
}
Void Schleife () { sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex(0); Serial.print ("Sens. 1"); Serial.println (RawValue, 1); }
Folgen Sie mir nun im Kern des Projekts, um den Sensor zu kalibrieren.
Schritt 2: Zweipunktkalibrierung
Zuerst etwas wissen
Um einen Thermosensor zu kalibrieren, müssen Sie etwas messen, dessen Temperatur Sie kennen. Der einfache Weg, dies zu Hause zu tun, ist die Verwendung von kochendem Wasser und einem Bad aus schmelzendem Eis, auch "Triple-Point"-Bad genannt. In diesen Fällen wissen wir, dass Wasser auf Meereshöhe bei 100 °C siedet. Denken Sie daran, dass Sie für eine genaue Messung Ihre Höhe kennen und dort die richtige Siedetemperatur berechnen sollten.
Sie können es hier überprüfen!
Um ehrlich zu sein, sollten Sie den Luftdruck und nicht die Höhe überprüfen. Aber dieser Weg ist genau genug.
Das Tripelpunktbad oder Eisbad ist die Temperatur, bei der Wasser in den drei Zuständen fest, flüssig und gasförmig vorliegt, diese Temperatur beträgt 0, 01°C. Zur Vereinfachung verwenden wir 0°C.
Wenn wir den Wert kennen, den der Sensor liest und den Wert, der sein sollte, können wir den Rohwert des DS18B20 in einen korrekteren Wert ändern.
HINWEIS: Sie können auch eine höhere Temperatur verwenden, um den Sensor zu kalibrieren, indem Sie ihn einfach in eine andere Substanz geben, deren Siedepunkt Sie kennen, wie Ether (35°C), Pentan (36, 1°C), Aceton (56°C) oder Ethanol (78, 37°C), aber diese kochenden Stoffe erzeugen hochentzündliche Gase! Also Tu es nicht!
Kochendes Wasser:
Geben Sie etwas Wasser in einen Topf und erhitzen Sie es, bis es kocht (Gasblasen entwickeln sich und das Wasser rührt sich selbst). Tauchen Sie Ihren Sensor dort ein, wo er nichts außer Wasser berührt. Warten Sie ein paar Minuten und lesen Sie das LCD oder den seriellen Monitor ab
Die Temperatur sollte mindestens eine Minute lang gleich bleiben. Wenn ja, notieren Sie diesen Wert. Das ist Ihr: RawHoher Wert.
Dreipunktbad:
Nehmen Sie nun ein großes Glas (Sie brauchen weder etwas Großes noch einen Topf) und füllen Sie es bis zum Rand mit Eiswürfeln. Versuchen Sie, kleine Eiswürfel zu verwenden. Füllen Sie nun 80% des Glases mit kaltem Wasser. Füllen Sie Eis nach, wenn der Hebel versucht, nach unten zu gehen.
Legen Sie nun Ihren Sensor in das Wasser-/Eis-Ding und warten Sie anderthalb Minuten. Lesen Sie die Temperatur ab, die mindestens 30 Sekunden lang gleich bleiben soll. Wenn ja, schreiben Sie es auf, dass es Ihr RawLow-Wert ist.
Schritt 3: Nutzen Sie die Werte, die Sie erhalten, richtig
So, jetzt haben Sie einige wichtige Werte:
- RawHigh
- RawLow
- ReferenzHoch
- ReferenzNiedrig
Die Referenzwerte sind natürlich 99,9°C für das kochende Wasser (in meiner Höhe von 22m) und 0°C für das schmelzende Eisbad. Berechnen Sie nun die Bereiche für diese Werte:
- RawRange = RawHigh - RawLow
- ReferenceRange = ReferenceHigh - ReferenceLow
Jetzt können Sie diesen Sensor in jedem anderen Projekt verwenden, um sicher zu sein, dass Sie eine richtige Messung erhalten. Wie? Verwenden Sie den Wert, den Sie hier im Projekt erhalten haben, den Sie mit diesem Sensor erstellen.
In Ihrem zukünftigen Projekt müssen Sie die Werte verwenden, die Sie in diesem lesen, und ich schlage vor, dies mit den gleichen Namen zu tun, die ich hier verwendet habe.
Deklarieren Sie die Variablen vor dem Abschnitt void setup() wie folgt:
float RawHigh = 99.6;float RawLow = 0.5;float ReferenceHigh = 99.9;float ReferenceLow = 0;float RawRange = RawHigh - RawLow;float ReferenceRange = ReferenceHigh - ReferenceLow;
Dann können Sie jedes Mal, wenn Sie den Sensor verwenden, die folgende Formel verwenden, um den korrigierten Wert zu berechnen:
float CorrectedValue = (((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;
RawValue ist offensichtlich der Messwert des Sensors.
Das ist es!
Jetzt wissen Sie, wie Sie Ihren DS18B20-Sensor oder jeden anderen Sensor, den Sie verwenden, kalibrieren! Spaß haben!
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Wie man eine Babygewichtsmaschine mit Arduino Nano, HX-711 Wägezelle und OLED 128X64 herstellt -- Kalibrierung des HX-711: 5 Schritte
Wie man eine Babygewichtsmaschine mit Arduino Nano, HX-711-Wägezelle und OLED 128X64 herstellt || Kalibrierung von HX-711: Hallo Instructables, vor wenigen Tagen wurde ich Vater eines süßen Babys?. Als ich im Krankenhaus war, stellte ich fest, dass das Gewicht des Babys so wichtig ist, um das Wachstum des Babys zu überwachen. Also ich habe eine Idee? um eine Babygewichtsmaschine von meinem Selbst zu machen. In diesem Instructable ich
Eine Modifikation des linkshändigen DSLR-Halters von Bertus52x11. (mit zusätzlichem Mundgriff): 4 Schritte
Eine Modifikation des linkshändigen DSLR-Halters von Bertus52x11. (mit Added Mouth Grip): Also heute früher hat bertus52x11 die klügste Idee gepostet. Richtet sich an Menschen, die nur ihren linken Arm benutzen können - dauerhaft oder vorübergehend. Seine ursprüngliche Idee war es, am Stativanschluss darunter einen Daumenhaken anzubringen, mit dem die Kamera gehalten werden kann
Programmierung des Open DSKY: 5 Schritte (mit Bildern)
Programmierung des Open DSKY: Willkommen zu unseren laufenden Instructables zur Programmierung Ihres Open DSKY. Stellen Sie sicher, dass Sie wiederkommen, da dieses Instructable weiter wachsen wird, da wir ständig neues Programmiermaterial produzieren und veröffentlichen. Also folgen Sie ihm, mögen Sie es und bevorzugen Sie es. Diese Videoserie
ESP8266/ESP-12 Arduino Powered SmartThings DS18B20 Temp. Sensor: 4 Schritte (mit Bildern)
ESP8266/ESP-12 Arduino Powered SmartThings DS18B20 Temp. Sensor: Wir alle möchten gerne wissen, wie die aktuelle Raumtemperatur ist und manchmal auch die Temperatur in einem anderen Raum oder vielleicht sogar in Ihrem Ferienhaus am anderen Ende der Welt. Vielleicht möchten Sie die Temperatur im Haus Ihres Haustiers Eidechse überwachen