Forum: Mikrocontroller und Digitale Elektronik Einfache Lösung für T/Feuchte-Logger


von Torsten L. (tlange)


Lesenswert?

Hallo,

ich möchte mir einen einfachen, batteriebetriebenen 
Innenraum-T-/Feuchte-Logger z.B. mit dem DHT22 zusammenbauen.

Anforderung:
* Speicherung von mindestens 240 Wertepaaren - Luxusversion bis 1000


Die einfachste Lösung bestünde wohl aus dem Sensor, einem der 
Attiny-Chips und einem zusätzlichen Eeprom.

Von den erforderlichen R's, C's und dem Arduino zum flashen 
abgesehen..., krieg ich mein Vorhaben mit den drei Komponenten hin? Oder 
reicht vielleicht sogar der Speicher auf einem der Attiny Chips? 
Batterie müsste 5 Tage durchhalten.

Welchen Attiny und ggf. zusätzlichen Eeprom könnte ich nehmen? Kann ich 
den Eeprom dann einfach über den Arduino auslesen?

Danke schon mal im Voraus!
Torsten

von Cyblord -. (cyblord)


Lesenswert?

Torsten L. schrieb:
> Hallo,
>
> ich möchte mir einen einfachen, batteriebetriebenen
> Innenraum-T-/Feuchte-Logger z.B. mit dem DHT22 zusammenbauen.

Und ich möchte ein einfaches Space Shuttle bauen um EINFACH zum Mars zu 
fliegen. Merkste was?

Übrigens:
Einfache Dinge sind es selten Wert getan zu werden.

> Welchen Attiny und ggf. zusätzlichen Eeprom könnte ich nehmen? Kann ich
> den Eeprom dann einfach über den Arduino auslesen?

Werd Gärtner. Es gibt so viele Hobbys. Warum suchst du dir das aus, in 
dem du keinerlei Talent hast? WARUM? Ich mache ja auch kein Ballett.

: Bearbeitet durch User
von Torsten L. (tlange)


Lesenswert?

??

von Dieter (Gast)


Lesenswert?

ESP8266/ESP32/(NodeMCU)/ESP8266 mit Sensoren Board

und daran ggf.

HTU21D oder Bosch BME280. Letzterer ist inzwischen recht erschwinglich, 
sprich ich würde zu diesem greifen.

Daten speichere ich persönlich bei Thingspeak, kann man sich auch selbst 
aufsetzen, aber das lohnt sich nicht wirklich.

Eine Lösung ohne Funk ist in der heutigen Zeit unsinnig, willst du den 
µC jedes mal über UART an einen Rechner hängen um an die Daten zu 
kommen? Ist doch viel bequemer diese direkt auf einem Server abzulegen. 
Dann braucht man auch kein EEPROM oder sonstigen Kram mehr.

von G. P. (gpnt)


Lesenswert?

Torsten L. schrieb:
> ??

Ignorier ihn. Ich habe mittlerweile Mitleid mit ihm, da in seinem Leben 
etwas gewaltig schief laufen muss.

Zum Thema:
Attiny würde ich auch nehmen. Alternativ einfach Arduino.
Ist schnell programmiert und für den DHT22 gibts bestimmt schon fertige 
Libs.
Zur Datenspeicherung würde ich ein SD-Karten-Shield nehmen (gibts auch 
schon fertige Libs), da die Daten als csv-Dateien abspeichern, so dass 
du sie nachher einfach mit Excel auswerten kannst.

Ganz ehrlich: Ich verstehe dieses ganze rumgejammer, von wegen Arduino 
bringt nur Idioten hervor etc., nicht.
Warum sich mit Registern und Bit-Schubserei rumschlagen, wenn man 
heutzutage mithilfe Arduino und Librarys viel größere Dinge bauen kann, 
als es damals noch möglich war?
Hat schon gute Gründe, wieso auch große Firmen (Bosch, etc...) sich an 
Arduino und co. fürs Rapid-Prototyping bedienen.
Heutzutage lernen die Kinder und Jugendlichen zwar keine 
Elektrotechnik-Basics und Assembler mehr, dafür bauen die halt Drohnen, 
3D-Drucker usw. was damals zu 8bit-Zeiten noch unvorstellbar war. Finde 
ich nicht verwerflich.

von Cyblord -. (cyblord)


Lesenswert?

Dieter schrieb:
> ESP8266/ESP32/(NodeMCU)/ESP8266 mit Sensoren Board
>
> und daran ggf.
>
> HTU21D oder Bosch BME280. Letzterer ist inzwischen recht erschwinglich,
> sprich ich würde zu diesem greifen.

Welche R's, C's braucht man dafür?


> Ganz ehrlich: Ich verstehe dieses ganze rumgejammer, von wegen Arduino
> bringt nur Idioten hervor etc., nicht.
Hui, das ist verdächtig. Ich habe so eine Theorie warum....

: Bearbeitet durch User
von Dieter (Gast)


Lesenswert?

Cyblord -. schrieb:
> Dieter schrieb:
>> ESP8266/ESP32/(NodeMCU)/ESP8266 mit Sensoren Board
>>
>> und daran ggf.
>>
>> HTU21D oder Bosch BME280. Letzterer ist inzwischen recht erschwinglich,
>> sprich ich würde zu diesem greifen.
>
> Welche R's, C's braucht man dafür?

Bei NodeMCU mitsamt HTU21D Modul (keine Ahnung ob es vom Bosch auch ein 
Modul gibt) braucht man gar keine sonstigen Teile, nur noch so Jumper 
Wire/Female Female Kabel. Die ganze Beschaltung ist direkt auf den 
Modulen. Stromversorgung per 5V Handynetzteil über MicroUSB.

G. P. schrieb:
>
> Ganz ehrlich: Ich verstehe dieses ganze rumgejammer, von wegen Arduino
> bringt nur Idioten hervor etc., nicht.
> Warum sich mit Registern und Bit-Schubserei rumschlagen, wenn man
> heutzutage mithilfe Arduino und Librarys viel größere Dinge bauen kann,
> als es damals noch möglich war?
> Hat schon gute Gründe, wieso auch große Firmen (Bosch, etc...) sich an
> Arduino und co. fürs Rapid-Prototyping bedienen.
> Heutzutage lernen die Kinder und Jugendlichen zwar keine
> Elektrotechnik-Basics und Assembler mehr, dafür bauen die halt Drohnen,
> 3D-Drucker usw. was damals zu 8bit-Zeiten noch unvorstellbar war. Finde
> ich nicht verwerflich.

Sehe ich genauso.

Ich habe Elektrotechnik studiert und oft für Cortex-M, Pic, MSP430 oder 
AVR direkt Code geschrieben, aber so viel toller als Arduino ist das 
alles nicht, klar, hier oder dort kann man es so eleganter lösen und man 
hat nicht so das Risiko auf fehleranfällige Drittbibliotheken 
zuruückzugreifen (beim Arduino wird manchmal etwas gepfuscht, wenn man 
von den großen Anbietern die Libs nimmt passt das jedoch meistens), man 
kann auch besser debuggen, aber daran arbeiten die Arduino Jungs aktuell 
ja was ich mal gelesen hab.

Daheim arbeite ich ausschließlich mit der Arduino IDE beim ESP8266, es 
reicht für alles aus (selbst wenn der Code nicht optimal ist, der µC hat 
einfach Speicher und Leistung ohne Ende), zudem spare ich mir viel Zeit 
da es viele Bibliotheken schon fertig gibt. Ich hätte absolut nicht den 
Nerv darauf mir daheim unnötige Arbeit zu bereiten indem ich für so ein 
Projekt wie Sensordaten loggen erst mal eine Toolchain mit dem Expressif 
SDK einzurichten usw. Bis ich damit fertig bin hab ich mit der Arduino 
IDE schon das ganze Projekt fertig.

von Torsten L. (tlange)


Lesenswert?

Vielen Dank,

WLAN ist nicht unbedingt vorhanden, aber eine interessante Option wäre 
es schon.

Erst mal bringe ich die reine Arduino+Sensor-Konfiguration zum Laufen 
und entscheide dann, über die Umsetzung.

von Falk B. (falk)


Lesenswert?

@Torsten L. (tlange)

>Innenraum-T-/Feuchte-Logger z.B. mit dem DHT22 zusammenbauen.

>Anforderung:
>* Speicherung von mindestens 240 Wertepaaren - Luxusversion bis 1000

>Die einfachste Lösung bestünde wohl aus dem Sensor, einem der
>Attiny-Chips und einem zusätzlichen Eeprom.

Der Interne reicht für deine Anforderungen. Ein Arduino Uno mit dem 
ATmega328 hat 1024 Bytes EEPROM, genug Speicher für 2x512 Meßwerte. 
Fertig.

>Batterie müsste 5 Tage durchhalten.

Naja, das ist beim normalen Arduino ein wenig ein Problem, der zieht 
verhältnismäßig viel, so um die 60mA! Da muss man den AVR allein 
betreiben und den Sleep Mode nutzen.

>Welchen Attiny und ggf. zusätzlichen Eeprom könnte ich nehmen? Kann ich
>den Eeprom dann einfach über den Arduino auslesen?

Sicher.

von Brummbär (Gast)


Lesenswert?

Torsten L. schrieb:
> krieg ich mein Vorhaben mit den drei Komponenten hin? Oder
> reicht vielleicht sogar der Speicher auf einem der Attiny Chips?
> Batterie müsste 5 Tage durchhalten.

Attiny, Temperatursensor und ggf EEProm reicht aus.

Wie oft möchtest Du in den 5 Tagen messen?
Wie genau muss der Messwert gespeichert werden (reicht 1°C, also 8 Bit)?
Müssen Zeitinformationen abgelegt werden oder reicht das Wissen über das 
Messinterval?

Daraus leitet sich dann ab, ob der interne Speicher reicht.

Wie willst Du die Werte auslesen? RS232 direkt angeschlossen oder über 
IR?

Damit die Batterie durchhält muss Du den Stromsparmodus nutzen.
Also so zwischen den Messungen schlafen legen.

von Torsten L. (tlange)


Lesenswert?

Brummbär schrieb:
> Attiny, Temperatursensor und ggf EEProm reicht aus.
>
> Wie oft möchtest Du in den 5 Tagen messen?
> Wie genau muss der Messwert gespeichert werden (reicht 1°C, also 8 Bit)?
> Müssen Zeitinformationen abgelegt werden oder reicht das Wissen über das
> Messinterval?
>

Da es ein unbegangener Raum ohne abrupte T/F-Änderungen ist, sind 60- 
oder 30-min-Intervalle (ohne Zeitangaben) wohl ausreichend - also 240 
oder 480 Messwerte.

Nachkomma muss nicht sein. Evtl. könnte man auch Faktor 10 nehmen. Ich 
weiss jetzt nicht genau, wie gespeichert wird, aber wenn man von 0-255 
ausgeht und die T-Messwerte ganzzahlig kodiert werden, bewege ich mich 
immer im Messbereich von min/max. 0-25°C. Feuchte könnte man bei 
ähnlicher Vorgehensweise auf 0.2% genau speichern, unter Annahme eines 
MB von min/max. 30-80%.

> Daraus leitet sich dann ab, ob der interne Speicher reicht.

Die Frage wäre für mich, ob die bei manchen Attinys angegebenen 512 Byte 
reiner verfügbarer Datenspeicher sind oder ob dort auch Teile des 
Programms reingeschrieben werden?

> Wie willst Du die Werte auslesen? RS232 direkt angeschlossen oder über
> IR?
IR weiss ich nicht, aber RS232 hab ich nicht. Würde dann wohl einen 
USB/RS232-Adpater nehmen.

: Bearbeitet durch User
von wieder ein (Gast)


Lesenswert?

Torsten L. schrieb:
> IR weiss ich nicht, aber RS232 hab ich nicht. Würde dann wohl einen
> USB/RS232-Adpater nehmen.

Dann nehme doch gleich einen ATmega8 und lasse den Tiny. Dann reicht 
auch vielleicht der interne EEprom und du hast eine UART wo du z.B. 
einen FTDI USB/UART Wandler (z.B. FT232R) direkt ohne weiteres dran 
hängen kannst. Dann hast du auch noch einen AD Wandler gleich mit drin, 
falls du noch im nachhinein einen weiteren Sensor o.ä. anschließen 
möchtest.

von Kolja L. (kolja82)


Lesenswert?

Torsten L. schrieb:
> WLAN ist nicht unbedingt vorhanden, aber eine interessante Option wäre
> es schon.

Muss auch nicht, trotzdem würde ich einen ESP8266 (NodeMCU) nehmen:

Der ESP speichert und schläft solange, bis du einen  Taster drückst,
dann stellt er einen Webserver mit eigenem WLAN bereit,
du meldest dich mit deinem Handy an und lädst dir die Daten runter.

von relH (Gast)


Lesenswert?

Mal am Rande: Ohne Möglichkeit zum kalibrieren der Sensoren kann die 
Auflösung der Messsignale deutlich reduziert werden. Gerade bei der 
Luftfeuchte würde ich mal mit einem Messfehler in der Größenordnung von 
3-5% oder größer Rechnen.

Sie Datenblatt Bosch BME280

von Kolja L. (kolja82)


Lesenswert?

Mal über den Rand des Randes hinaus:
Wofür diese Genauikeit?

Und wenn: http://www.s-elabor.de/k00002.html

von relH (Gast)


Lesenswert?

Jap, das kalibrieren mit den Salzlösungen ist bekannt. Und trotdzem ist 
eine Messgenauigkeit von unter 3-5 % nicht besonders wahrscheinlich. 
Selbst qualitaiv hochwertige Sensoren aus dem bereich der Messtechnik 
liegen oft nicht unter 1,5%...und das ist dann weit weg von "einfach 
Lösung".

von Torsten L. (tlange)


Lesenswert?

Danke noch mal für die Kommentare!

Hab mich für beide Versionen gerüstet - nur MC und NodeMCU sowie beide 
Sensoren DHT22 + BM280. 2 Atmega328p in meiner Bastelkiste hatte ich 
ganz verdrängt.

Das mit der Sensor-Genauigkeit insb. bei Feuchte hatte ich auch schon 
gelesen. Ich hab natürlich auch nur ein Wandhygrometer unbekannter 
Genauigkeit. Aus den Datenblättern ist aber entnehmbar, dass zumindest 
Drift und Streuung ok sind. Bei guter Linearität wären die relativen 
Feuchte-Änderungen auch schon mal eine wichtige Information.

von Ehrenmann (Gast)


Lesenswert?

Torsten L. schrieb:
> Hab mich für beide Versionen gerüstet - nur MC und NodeMCU sowie beide
> Sensoren DHT22 + BM280. 2 Atmega328p in meiner Bastelkiste hatte ich
> ganz verdrängt.

Wozu DHT22? Der BME280 ist doch viel besser.

von Torsten L. (tlange)


Lesenswert?

Ehrenmann schrieb
>
> Wozu DHT22? Der BME280 ist doch viel besser.

Spielerisches Interesse :) - so teuer ist er ja nicht. Und wenn 
irgendwas nicht klappt, hab ich noch was in petto.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.