Inhaltsverzeichnis:

Arduino Temperaturmonitor mit geringem Stromverbrauch - Gunook
Arduino Temperaturmonitor mit geringem Stromverbrauch - Gunook

Video: Arduino Temperaturmonitor mit geringem Stromverbrauch - Gunook

Video: Arduino Temperaturmonitor mit geringem Stromverbrauch - Gunook
Video: PT1000 Temperatur Messwandler bauen mit dem Arduino #aeqweb 2024, November
Anonim
Image
Image
Holen Sie sich die Teile
Holen Sie sich die Teile

In diesem Instructable bauen wir einen weiteren Temperaturmonitor mit einem DS18B20-Temperatursensor. Aber dieses Projekt ist anders. Es kann mit Batterien fast 1,5 Jahre halten! Jawohl! Mit der Arduino-Low-Power-Bibliothek können wir dieses Projekt lange laufen lassen. Lesen Sie weiter, um mehr zu erfahren!

Schritt 1: Holen Sie sich die Teile

Die Teile, die benötigt werden, um dieses Projekt zu bauen, sind diese:

ATMEGA328P ▶

Nokia 5110 LCD ▶

DS18B20 ▶

Fotowiderstand ▶

Kondensatoren ▶

16MHz Quarz ▶

Widerstände ▶

Multimeter Mastech 8268 ▶

Die Gesamtkosten des Projekts zu der Zeit, als ich dieses Instructable schreibe, beträgt weniger als 10 $

Schritt 2: Verbinden Sie alle Teile

Verbinden Sie alle Teile
Verbinden Sie alle Teile
Verbinden Sie alle Teile
Verbinden Sie alle Teile

Nun, da Sie alle Teile haben, verbinden wir sie alle gemäß dem Schaltplan.

Der Schlüssel zum geringen Stromverbrauch dieses Projekts ist die Verwendung eines nackten ATMEGA-Chips anstelle eines Arduino-Boards. Da Arduino-Boards einen Spannungsregler verwenden, um mit vielen verschiedenen Spannungspegeln zu arbeiten, benötigen sie mehr Leistung. Wir brauchen diesen Regler nicht, da wir unser Projekt mit 3AA-Batterien betreiben!

In diesem Projekt verwende ich das Nokia 5110 LCD-Display, das ein großartiges Display ist und nur 0,2 mA Strom benötigt, wenn die Hintergrundbeleuchtung ausgeschaltet ist. Beeindruckend!

Wir verwenden auch einen Fotowiderstand, um Licht zu detektieren. Wenn es also Nacht ist, deaktivieren wir das LCD-Display, um Strom zu sparen.

Ein weiteres kleines Geheimnis ist die LowPower-Bibliothek. Wenn wir die Temperatur nicht messen, versetzen wir Arduino mit der LowPower-Bibliothek in den Ruhezustand. Wenn ein nackter ATMEGA-Chip schläft, benötigt er nur 0,06 mA Strom! Das bedeutet, dass Sie einen ATMEGA-Chip über 4 Jahre lang mit 3 AA-Batterien schlafen lassen können!

So erreichen wir mit einem cleveren Software-Design eine gute Akkulaufzeit. Der ATMEGA-Chip benötigt etwa 10 mA Strom, wenn er wach ist. Unser Ziel ist es also, dass es die meiste Zeit schläft. Aus diesem Grund wecken wir es nur alle zwei Minuten auf, wenn wir die Temperatur messen müssen. Wenn wir den ATMEGA-Chip aufwecken, erledigen wir alles so schnell wie möglich und gehen sofort wieder schlafen.

Der Algorithmus

Das Projekt wacht alle zwei Minuten auf. Das erste, was es tut, ist, den Fotowiderstand durch Schreiben von HIGH auf den digitalen Pin 6 zu aktivieren. Es liest den Wert vom Fotowiderstand und bestimmt, ob es Tag oder Nacht ist. Dann schreibt es LOW auf den digitalen Pin 6, um den Fotowiderstand zu deaktivieren und Porer zu sparen. Wenn es Nacht ist, deaktivieren wir das LCD-Display, wenn es eingeschaltet ist, und gehen sofort für zwei Minuten schlafen, ohne die Temperatur abzulesen. Dies ist nicht erforderlich, da das Display ausgeschaltet ist. So sparen wir noch mehr Strom. Wenn genügend Licht vorhanden ist, aktivieren wir das LCD-Display, wenn es deaktiviert war, lesen die Temperatur ab, zeigen sie auf dem Bildschirm an und gehen für zwei Minuten schlafen. Diese Schleife geht ewig weiter.

Schritt 3: Messungen

Messungen
Messungen
Messungen
Messungen
Messungen
Messungen
Messungen
Messungen

Wie Sie auf den Bildern sehen können, benötigt das Projekt, wenn das Projekt im Ruhezustand ist und das Display eingeschaltet ist, 0,26 mA Strom, was sehr gering ist, wenn man bedenkt, dass wir ein Display haben!

Wenn das Projekt die Temperatur misst und aktualisiert, benötigt das Display etwa 11,5 mA

Schließlich, wenn es dunkel ist und der ldr das LCD-Display des Nokia 5110 deaktiviert hat, benötigen wir nur 0,07 mA, was großartig ist!

Batterielebensdauer

Um die Akkulaufzeit des Projekts zu berechnen, habe ich eine einfache Excel-Datei erstellt. Ich habe die Messwerte vom Multimeter eingegeben und wie Sie sehen können wir eine Akkulaufzeit von mehr als 500 Tagen erhalten, wenn wir alle 2 Minuten die Temperatur messen! Das ist bei Verwendung von 3AA-Batterien mit einer Kapazität von 2.500mAs. Wenn Sie bessere Akkus wie einen Li-Ion 3.400 mAh Akku verwenden, können Sie Ihr Projekt natürlich länger als 2 Jahre am Laufen halten!

Sie können die Excel-Datei unter diesem Link herunterladen.

Schritt 4: Der Code des Projekts

Der Kodex des Projekts
Der Kodex des Projekts
Der Kodex des Projekts
Der Kodex des Projekts

Der Code des Projekts ist sehr einfach. Wir verwenden einige Bibliotheken in diesem Codeabschnitt. Die von uns verwendeten Bibliotheken sind die folgenden:

  • Low-Power-Bibliothek:
  • DS18B20 Temperatursensorbibliothek:
  • Die LCD-Bibliothek des Nokia 5110:

Der Projektcode besteht aus zwei Dateien. In der ersten Datei befindet sich der Code, der auf Arduino läuft. Die nächste Datei enthält einige Binärdaten für die Symbole, die das Hauptprogramm anzeigt. Sie müssen beide Dateien im Projektordner ablegen, damit der Code korrekt kompiliert werden kann.

Der Code ist sehr einfach. Sie finden es unten. Die ganze Magie passiert bei der sleepForTwoMinutes-Funktion. Bei dieser Funktion versetzen wir Arduino in den Tiefschlaf. Das Problem besteht darin, dass die maximale Zeit, die wir Arduino in den Ruhezustand versetzen können, mit dem Watchdog-Timer 8 Sekunden beträgt. Also fügen wir das 15 Mal in eine Schleife ein und wir erhalten das gewünschte Zwei-Minuten-Intervall

Ich hoffe, Ihnen hat dieses Projekt gefallen. Seh dich später!

Empfohlen: