Projekt Wetterstation: Messfühler v1 (Hardware)
Für meine Wetterstation wollte ich ein kompaktes Modul bauen, das Luftfeuchtigkeit, Temperatur und Außentemperatur misst und die Werte alle paar Minuten zur Basis schickt.
Was bisher geschah...
Zuerst hatte ich mir dafür einen Arduino Uno und einen 9V-Akku geholt, da der Arduino einen Spannungswandler eingebaut hat. Leider habe ich erst später mitbekommen, wie die Spannung von 9V auf die vom Arduino geforderten 5V gebracht wird: die überflüssigen 4V werden in Hitze verwandelt. Dadurch bleibt von den an sich schon schwachen 200-300mAH des Akkus nicht mehr viel übrig.
Ich musste also umdenken. Die nächste Idee war ein Batteriehalter für normale AA-Akkus und ein sparsamer Spannungswandler. Blöderweise verbraucht der Spannungswandler auf dem Arduino, oder eine Komponente in der Nähe trotzdem viel Strom. Mit 3 AA-Akkus kam ich laut Multimeter und Taschenrechner auf etwa 2 Wochen Laufzeit. Das war mir viel zu wenig. Im Netz gab es den Tipp, ich solle eine Leitung auf dem Arduino-Board mit einem Teppichmesser durchtrennen, um den Spannungswandler abzuklemmen - mein Test-Arduino ist seitdem verstummt. :-(
Also den Reserve-Arduino auspacken und wieder umplanen... Dann kam mir nach der Recherche mehrerer Seiten eine Idee: Wenn ich einen kleinen Taktgeber finde, der alle 10 Minuten den Strom für Arduino und Sensoren anschaltet und nach getaner Arbeit wieder abschaltet, müsste ich einiges an Strom sparen. Tatsächlich hatte ich einen kleinen Spannungswandler gesehen, dessen Ausgang über einen Anschluss abgeschalten werden kann. Als Taktgeber habe ich mir einen ATTINY85 ausgesucht, den kleinen Bruder des auf dem Arduino verbauten ATMEGA328p. Diesen Chip habe ich mit der Arduino-Software bespielt, indem ich einen "großen" Arduino Uno als Vermittler zwischen Computer und Chip geschaltet habe. Eine gute Erklärung mit Schaltplan gibt es auf dieser Seite .
Aktueller Stand
Aufbau
Ein Sender ist inzwischen fertig und sendet mir seit drei Monaten beständig Werte. Dabei ist der Aufstellungsort direkt neben der Dusche nicht gerade ideal für Elektronik. Bisher haben sich die Akkus und das Modul selbst aber nicht bei mir beschwert. :lol:
Das Modul besteht aus folgenden Komponenten:
- Arduino Pro Nano
- ATTiny85V 10PU (ATTiny85 20PU geht auch)
- 120mA Spannungswandler 2,0V bis 5,5V auf 5,0V (englisch , deutsch )
- 433MHz Sender (Ebay Weltweit "433mhz rf")
- Temperatur-/Luftfeuchtigkeitssensor DHT22 (Ebay Weltweit "dht22")
- 10kΩ Widerstand
- Außentemperatursensor DS18B20 wasserdicht und am 50cm Kabel (Ebay Weltweit "ds18b20 waterproof")
- 4,7kΩ Widerstand
- 3xAA Batteriehalterung
Ich habe eine Leiterplatte genutzt, die keine Verbindungen hat, sondern nur einseitig Kupferringe. Nach folgendem Schema habe ich die Einzelteile zusammengelötet:
Stromverbrauch
Als Berechnungsgrundlage für die Laufzeit habe ich folgende Werte genommen:
- Akkupack: 3xAA mit 2000mAh
- aktiv für 3 Sekunden bei 15mA
- inaktiv für 10 Minuten bei 60µA
Da ich die Werte direkt an den Akkus, also noch vor dem Spannungswandler, gemessen habe, sind die Umwandlungsverluste schon mit in der Berechnung enthalten. Google berechnet bei der Formel 2000mAh / ((15mA * 3s + 0.06mA * 600s) / 603s) eine Laufzeit von 1,7 Jahren - das klingt doch mal nach einer angemessenen Zeit! Ich habe extra Eneloop-Akkus genommen, alles andere wäre nach der Zeit auch ohne Benutzung schon leer. ;-)
Bilder
Dafür, dass es die erste richtige Lötarbeit ist, funktioniert es gut. Bisher gab es keine Aussetzer durch kalte Lötstellen. An den Stecker rechts unten in der Draufsicht kommt das Kabel mit dem Außen-Temperatursensor, an den eine 3x1er-Buchsenleiste angelötet ist. Der 4,7kΩ Widerstand unter dem Stecker ist dort sehr versteckt - nicht übersehen beim Nachbau. ;)
Software
Auf dem ATTINY und dem Arduino ist natürlich eine Software, die alles steuert. Da das ganze aber recht umfangreich ist, werde ich darüber in einem eigenen Beitrag berichten. Wenn du den Code unbedingt vorher haben willst, dann kontaktiere mich bitte und ich schaue mal, dass ich die Sachen irgendwo hochlade.
Ausblick
Aktuell plane ich eine verbesserte Version. Ich möchte die Funktionalität des Arduino komplett in den ATTINY85 verlagern. Dieser bekommt dann dauerhaft Strom und die Zusatzgeräte bekommen ihren Strom vom Datenpin des Tiny. Wenn alles klappt, brauche ich auch nicht mehr diesen recht teuren Spannungswandler, sondern kann ein günstiges Massenprodukt aus Fernost nutzen. Diese funktionieren dann schon ab einem einzigen Akku.
Leider habe ich aktuell noch Probleme mit dem DHT22, welches nicht mit dem ATTINY85 (8MHz) reden will - egal welche DHT-Lib ich nutze. Das frustriert etwas - wenn du also einen Tipp hast oder helfen möchtest, bitte gib mir Bescheid, zum Beispiel über das Kontaktformular. Update: Ich habe die DHT22-Probleme in den Griff bekommen, indem ich die Arduino-Software komplett weg gelassen habe und in reinem C programmiere.
Kommentare
Comments powered by Disqus