Inhaltsverzeichnis:

555 Timer zum Ausgeben eines Signals zum Unterbrechen von Atmega328 - Gunook
555 Timer zum Ausgeben eines Signals zum Unterbrechen von Atmega328 - Gunook

Video: 555 Timer zum Ausgeben eines Signals zum Unterbrechen von Atmega328 - Gunook

Video: 555 Timer zum Ausgeben eines Signals zum Unterbrechen von Atmega328 - Gunook
Video: NE555 2024, November
Anonim
555 Timer zum Senden eines Signals zum Unterbrechen von Atmega328
555 Timer zum Senden eines Signals zum Unterbrechen von Atmega328

Das Hauptziel dieser Schaltung ist es, Energie zu sparen. Ich werde also nicht über Arduino sprechen, da das Board selbst unnötigen Stromaufwand für ein Endprodukt hat. Es ist großartig für die Entwicklung. Aber nicht sehr gut für endgültige Projekte, die mit Batterien betrieben werden. Ich werde einen für meinen POC verwenden, aber um Energie zu sparen, wird die Verwendung des eigenständigen Atmega328 zu besseren Ergebnissen führen

Ich habe eine Wetterstation (TOBE) gebaut, die ein Paar 3,7 V-Batterien parallel mit einem Solarpanel auflädt. Meine erste Version ist sehr gut gelaufen, danke. Aber ich hatte ein Problem. Der Batterieverbrauch war höher als die Laderate des Solarpanels. Ich gehe hier nicht auf Zahlen ein. Aber nach einiger Zeit merkte ich, dass der Akkustand langsam nachließ. Abgesehen davon, dass ich aus Kanada komme und Sonne hier keine Ware ist. Ich habe dann eine Bibliothek verwendet, um den Atmega328 für 8 Sekunden in den Ruhezustand zu versetzen (es gibt andere Zeitrahmen, aber 8 Sekunden sind die höheren) und dann wieder an die Arbeit gehen. Die Verwendung ist sehr einfach und es funktioniert wie es soll. Aber 8 Sekunden waren mir nicht genug.

Das liegt daran, dass meine Wetterstation 3 Komponenten hat.

  • Eine Echtzeituhr
  • Ein DHT11
  • Oled-Display

Die Uhr zeigt im Display minutengenau an. Die Temperatur und Luftfeuchtigkeit müssen wir nicht so oft aktualisieren. Also musste ich mir etwas einfallen lassen, mit dem ich das Intervall optimieren konnte, und ich wollte auch etwas Spaß dabei haben.

Ich habe einen Beweis für das Konzept erstellt, um einen 555-Timer im astabilen Modus zu haben, um den Atmega328 mit externen Interrupts aufzuwecken. Das zeige ich hier

Lieferungen

Für dieses Instructable benötigen wir die folgenden Materialien:

  • Ein Arduino-Board
  • Ein 555-Timer-Chip
  • 2 Widerstände (1M Ohm, 220 Ohm)
  • 1 polarisierter Kondensator (100uF)
  • Überbrückungsdrähte
  • DHT11-Sensor
  • Steckbrett

Schritt 1: Zuerst das Layout

Zuerst das Layout
Zuerst das Layout

Beginnen wir mit dem Layout im Steckbrett. Ich verwende einen DHT-Sensor, um Ihnen eine weitere Möglichkeit zur Energieeinsparung in Ihren Projekten aufzuzeigen. Wie Sie sehen können, wird das Gerät von einem Arduino-Pin mit Strom versorgt. Das geht auf LOW, während Arduino schläft, wodurch noch mehr Energie gespart wird. Sie können dies mit jedem Gerät tun, das zum Betrieb weniger als 40 mA benötigt.

Schritt 2: Erklärung zur Schaltung

Ich werde nicht näher darauf eingehen, wie der 555-Timer funktioniert, da es viele Tutorials gibt, die seine Operationen und seine verschiedenen Modi erklären. Wir verwenden den 555-Timer in einem astabilen Modus. Das bedeutet, dass bei einem hohen Pegel der Kondensator so lange auf 2/3 Volt aufgeladen wird, wie der Widerstand 1 bestimmt, und ihn dann so lange entlädt, wie die Widerstände 2 bestimmen. Wir brauchen eigentlich nicht viel Zeit im Entladesignal, also können Sie einen 220 Ohm Widerstand verwenden. Wenn Sie eine Widerstandskombination von 1 M Ohm und 220 Ohm verwenden, erhalten Sie eine Verzögerung von etwa 1 Minute. Wenn Sie mit dem ersten Widerstand und dem Kondensator spielen, erhalten Sie unterschiedliche Zeiten.

Schritt 3: Die Skizze

Schritt 4: Erklären der Skizze

Das Ziel dieser Skizze ist es, die Luftfeuchtigkeit und Temperatur zu lesen und schlafen zu gehen, bis es einen Anstoß gibt, aufzuwachen und es erneut zu lesen.

Dafür setze ich einen Interrupt-Pin als INPUT_PULLUP (mehr zu Klimmzügen in einer anderen Episode). Und an diesem Stift wird jedes Mal eine Unterbrechung angebracht, wenn die Arbeit abgeschlossen ist.

Sobald das Interrupt-Signal ankommt, wird der Code erneut ausgeführt und schläft wieder ein. Und so weiter.

Schritt 5: Einige Zahlen

Einige Zahlen
Einige Zahlen
Einige Zahlen
Einige Zahlen

Für diesen POC konnte ich die Maßnahmen in ca. 3 Sekunden durchführen lassen. Dann würde das Gerät etwa 1 Minute schlafen.

Mit einem 0,001-Präzisions-AMP-Messgerät zum Messen des Stroms sah ich 0,023-0,029 AMPs für die Zeit, in der es arbeitete (~3 Sekunden) und 0,000 während des Schlafens (~1 Minute). Natürlich ist es kein Nullwert, da wir den 555 laufen lassen. Aber ich habe mich nicht mit Microamps beschäftigt. Die Einsparung ist jedenfalls beachtlich

Schritt 6: Der Schaltplan und PCB

Der Schaltplan und PCB
Der Schaltplan und PCB
Der Schaltplan und PCB
Der Schaltplan und PCB
Der Schaltplan und PCB
Der Schaltplan und PCB

Für diejenigen unter euch, die die Platine dafür bauen wollen, hier der Link dafür:

Dort finden Sie Design und Schaltplan, die an jeden PCB-Fertigungsanbieter gesendet werden können.

Es gibt auch einen Ordner namens print_version für diejenigen unter Ihnen, die es mögen, Ihre eigenen Leiterplatten zu Hause zu ätzen, wie ich es tue.

Schritt 7: Anwendungen

Die Anwendungen dafür sind enorm. Jedes Mal, wenn Sie ein externes Signal mit einer bestimmten Rate benötigen, können Sie diese Schaltung verwenden. Ich verwende, um meine Wetterstation in den Ruhezustand zu versetzen, und eines der Module wird zusammen mit dem Atmega328 in den Ruhezustand gehen.

Für effektive Ergebnisse beim Energiesparen sollten Sie einen eigenständigen Atmega328 in Betracht ziehen. Ich entwerfe ein Board mit dieser Fähigkeit und kann bald jedes Atmega328-Projekt in dieses Konzept einbinden.

Wenn Sie gute Ideen zur Umsetzung von Energiesparlösungen haben, lassen Sie es mich bitte wissen, da ich mich wirklich für Projekte mit Batterien und Sonnenkollektoren interessiere

Danke fürs Lesen und wir sehen uns beim nächsten Mal mit weiteren Projekten.

Empfohlen: