Inhaltsverzeichnis:
- Schritt 1: Erforderliche Teile
- Schritt 2: Schematische Prinzipien
- Schritt 3: Arduino-Code
- Schritt 4: Praxistest
Video: Kompakter Wettersensor mit GPRS-Datenverbindung (SIM-Karte) - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Projektübersicht
Dies ist ein batteriebetriebener Wettersensor basierend auf einem BME280 Temperatur-/Druck-/Feuchtigkeitssensor und einer ATMega328P MCU. Es wird mit zwei 3,6-V-Lithium-Thionyl-AA-Batterien betrieben. Es hat einen extrem niedrigen Schlafverbrauch von 6 µA. Es sendet halbstündlich Daten über GPRS (unter Verwendung eines SIM800L GSM-Moduls) an ThingSpeak, gesteuert von einer DS3231-Echtzeituhr. Die geschätzte Lebensdauer eines Batteriesatzes beträgt >6 Monate.
Ich verwende eine ASDA Pay-as-you-go-SIM-Karte, die für die Zwecke dieses Projekts extrem gute Konditionen bietet, da sie eine sehr lange Laufzeit des Guthabens (180 Tage) hat und nur 5p/MB Datenvolumen auflädt.
Motivation: Entwicklung eines wirtschaftlichen, wartungsfreien, autonomen, batteriebetriebenen Umweltsensors, der in freier Wildbahn platziert werden kann, um Wetter- oder andere Daten zu erfassen und über ein GSM/GPRS-Netzwerk an einen IoT-Server zu übertragen.
Abmessungen: 109 x 55 x 39 mm (einschließlich Gehäuseflansche). Gewicht 133 g. IP-Rating 54 (geschätzt).
Materialkosten: Ca. 20 € pro Einheit.
Montagezeit: 2 Stunden pro Einheit (Handlöten)
Stromquelle: Zwei Lithium-Thionyl-AA-Batterien, nicht wiederaufladbar (3,6 V, 2,6 Ah).
Netzwerkprotokoll: GSM GPRS (2G)
Mögliche Verwendungen: Jeder entfernte Standort mit GSM-Signalabdeckung. Wälder, Leuchttürme, Bojen, private Yachten, Wohnwagen, Campingplätze, Berghütten, unbewohnte Gebäude
Zuverlässigkeitstest: Ein Gerät wird seit dem 30.8.20 unbeaufsichtigt im Dauertest getestet. Abgesehen von einem Software-Absturz sendet es alle 30 Minuten zuverlässig Daten.
Schritt 1: Erforderliche Teile
- Maßgeschneiderte Leiterplatte. Gezippte Gerber-Dateien hier (instructables.com scheint ZIP-Datei-Uploads zu blockieren). Ich empfehle jlcpcb.com für die PCB-Produktion. Für Personen, die in Großbritannien leben, sende ich Ihnen gerne eine Ersatzplatine gegen einen minimalen Beitrag zu Material- und Portokosten - Nachricht an mich.
- ATMega328P-AU
- Modifizierte DS3231 Echtzeituhr (siehe Absatz unten)
- BME280 Breakout-Board, wie dieses
- SIM800L GSM-GPRS-Modul
- Diverse SMD-Teile gemäß detaillierter Liste.
- Hammond 1591, Schwarzes ABS-Gehäuse, IP54, Flansch, 85 x 56 x 35 mm, von RS Components UK
Modifikation von DS3231
Das rot eingekreiste Vierfach-Widerstandsnetzwerk muss abgelötet werden. Andere destruktivere Methoden sind ebenfalls in Ordnung, aber vermeiden Sie eine Überbrückung der Pads auf der inneren Reihe von 4 Pads (zur Seite der MCU). Die anderen 4 Pads sind sowieso durch PCB-Leiterbahnen verbunden. Diese Modifikation ist wichtig, damit der SQW-Pin als Alarm fungieren kann. Ohne die Widerstände zu entfernen, funktioniert es nicht, bis Sie eine VCC-Versorgung an das Modul anschließen, was den Zweck einer sehr stromsparenden RTC zunichte macht.
Schritt 2: Schematische Prinzipien
Die obersten Prioritäten für das Design waren:
- Batteriebetrieb mit geringem Ruhestromverbrauch
- Kompaktes Design
Energieversorgung
Zwei 3,6-V-Lithium-Thionyl-AA-Batterien von Saft. Ein P-Kanal-MOSFET für Verpolungsschutz.
Es gibt zwei Spannungsregler in der Schaltung:
- Ein Texas Instruments TPS562208 2-A-Abwärtsregler zur Stromversorgung des SIM800L mit etwa 4,1 V. Dieser ist vom ATMega aus schaltbar und wird meistens über Enable-Pin 5 in den Shutdown-Modus versetzt.
- Ein MCP1700 3.3V Regler für den ATMega und BME280. Dies ist ein äußerst effizienter Low-Drop-Regler mit einem Ruhestrom von nur etwa 1 µA. Da es nur bis zu 6 V Eingang tolerant ist, habe ich zwei Gleichrichterdioden (D1, D2) in Reihe hinzugefügt, um die 7,2 V-Versorgung auf ein akzeptables Niveau um 6 V zu senken. Ich habe vergessen, den üblichen 10 µF Entkopplungskondensator auf der Platine für die Stromversorgung des ATMega hinzuzufügen. Daher habe ich den üblichen Ausgangskondensator des MCP1700 von 1 auf 10 µF aufgerüstet und er funktioniert einwandfrei.
- Batteriespannungsüberwachung über ADC0 am ATMega (über einen Spannungsteiler)
Echtzeituhr
Ein modifizierter DS3231, der den ATMega in festgelegten Intervallen weckt, um einen Mess- und Datenübertragungszyklus zu starten. Der DS3231 selbst wird mit einer CR2032-Lithiumzelle betrieben.
BME280
Ich habe versucht, das originale Bosch BME280-Modul alleine zu verwenden, das aufgrund seiner winzigen Größe fast unmöglich zu löten ist. Daher verwende ich das weit verbreitete Breakout-Board. Da dieser einen unnötigen Spannungsregler hat, der Energie verbraucht, schalte ich ihn kurz vor den Messungen mit einem N-Kanal-MOSFET ein.
SIM800L
Dieses Modul ist zuverlässig, scheint aber ziemlich temperamentvoll zu sein, wenn die Stromversorgung nicht grundsolide ist. Ich fand, dass eine Versorgungsspannung von 4,1 V am besten funktioniert. Ich habe die PCB-Leiterbahnen für VCC und GND zum SIM800L extra dick (20 mil) gemacht.
Schaltplan/PCB-Kommentare
- Die Netzwerkbezeichnung "1" - in der Stückliste als "SINGLEPIN" aufgeführt, bezieht sich einfach auf einen Stiftleistenstecker.
- Die beiden Pins neben dem Schiebeschalter müssen für den Normalbetrieb mit einem Jumper gebrückt werden, sonst ist hier die VCC-Leitung offen. Sie sind bei Bedarf für Strommessungen vorgesehen.
- Der 100 µF Kondensator (C12) für das SIM800L Modul wird nicht benötigt. Es wurde als Vorsichtsmaßnahme (verzweifelt) bei zu erwartenden Stabilitätsproblemen hinzugefügt
Empfohlene Montageschritte
- Montieren Sie alle Netzteilkomponenten im unteren linken Teil der Platine. Der Enable-Pin (Pin 5) des TPS562208 muss zum Testen auf logisch High sein, sonst befindet sich das Modul im Shutdown-Modus und Sie haben einen 0-V-Ausgang. Um den Enable-Pin zum Testen hoch zu ziehen, kann ein temporärer Draht von Pad 9 des ATMega (der auf der Platine mit PIN 5 des Spannungsreglers verbunden ist) an einen VCC-Punkt angeschlossen werden; der nächste Punkt wäre der untere Pin von R3, der auf der VCC-Leitung liegt.
- Testen Sie die Ausgabe des TPS562208 zwischen den unteren Pins von C2, C3 oder C4 und GND. Sie sollten etwa 4,1 V haben.
- Testausgang von MCP1700, zwischen dem oberen rechten Pin von U6 und GND. Sie sollten 3,3 V haben.
- Löten Sie ATMega328P; Beachten Sie die Markierung von Pin 1 in der oberen linken Ecke. Etwas Übung erforderlich, aber nicht allzu schwierig.
- Bootloader auf ATMega328 brennen - Tutorials dafür an anderer Stelle. Sie müssen nicht unbedingt Stiftleisten verwenden, um eine Verbindung zu MOSI, MISO, SCK und RST herzustellen. Für die wenigen Sekunden, die es braucht, um den Bootloader zu brennen, können Sie Dupont-Drähte verwenden und ein wenig Abwinkelung verwenden, um einen guten Kontakt zu erzielen.
- Bringen Sie 5x Buchsenleiste für den DS3231 an.
- SIM800L über Stiftleisten anlöten
- Löten Sie BME280
- Laden Sie Code in Arduino IDE mit einem USB2TTL-Adapter hoch (wählen Sie Arduino Uno/Genuino als Ziel).
Schritt 3: Arduino-Code
Siehe Arduino-Quellcode im Dateianhang.
Schritt 4: Praxistest
Ich bohrte zwei kleine Löcher auf der rechten Seite des Gehäuses nur tief bis zur Vorderseite. Ich habe sie von innen mit Goretex-Patches bedeckt, um den Luftaustausch zu ermöglichen, aber Wasser auszuschließen. Ich habe einen zusätzlichen Regenschutz mit kleinen Plastikdächern hinzugefügt. Dann stecke ich die komplette Baugruppe in das Gehäuse, wobei die Komponenten nach vorne und der Akku zum Deckel zeigen. Ich füge dem Gehäuse ein wenig Silikonfett hinzu, um das Eindringen von Wasser zu erhöhen.
Das Gerät ist derzeit neben einem kleinen Fluss "installiert". Hier ist der Live-Daten-Feed.
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
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
DIY Circuit Activity Board mit Büroklammern - HERSTELLER - STEM: 3 Schritte (mit Bildern)
DIY Circuit Activity Board mit Büroklammern | HERSTELLER | STEM: Mit diesem Projekt können Sie den Weg des elektrischen Stroms ändern, um durch verschiedene Sensoren zu laufen. Mit diesem Design können Sie zwischen dem Aufleuchten einer blauen LED oder dem Aktivieren eines Summers wechseln. Sie haben auch die Wahl, einen lichtabhängigen Widerstand mit
Beginnen Sie mit Light Painting (kein Photoshop): 5 Schritte (mit Bildern)
Beginnend mit Light Painting (kein Photoshop): Ich habe vor kurzem eine neue Kamera gekauft und einige ihrer Funktionen untersucht, als ich im Internet auf Light Painting oder Langzeitbelichtung gestoßen bin. Die meisten von uns werden die Grundform des Lightpaintings mit einem Foto in einer Stadt mit einer Straße gesehen haben