Hallo zusammen, zu meinem Projekt: ich habe vor den Wasserstand und die Temperatur unseres Gartenbrunnens zu überwachen. Dabei handelt es sich um einen selbstgebohrten Brunnen welcher in einem 125mm (5") Rohr ausgeführt etwa 9m tief ist. Nun möchte ich im Jahresverlauf den Wasserstand überwachen sowie die Grundwassertemperatur. nice-to-have wäre noch in höherer Zeitlicher Auflösung das Nachlaufen des Wasserstandes im Rohr während und nach dem Pumpvorgang. Dazu habe ich auch schon Ideen, aber das kommt später. Mein Grundsätzliche Idee war eigentlich einen ESP8266 (Wemos D1 mini oder ESP-01s) mit einem MS5803 (Absolutdrucksensos im Wasser) sowie einem BME280 (Drucksensor an der Oberfläche) zu kombinieren und die entsprechenden Differenzen zur Erfassung des Wasserstandes zu verwenden. Erste Hürde war die Kabellänge des Sensors, da I2C nicht für so lange Kabel gedacht ist, musste ich einen P82B715 Bus Extender verwenden bzw. 2 davon. Nun habe ich aber gar nicht darauf geachtet, dass der erstaunlich viel Strom verbraucht. In meiner Testschaltung (angelehnt an diesen Artikel: http://www.raspberry-pi-geek.de/Magazin/2017/02/I2C-Reichweite-steigern-mit-dem-P82B715/(offset)/2) verbraucht im Deepsleep der ESP (Wemos D1 mini) 0.02mA, der I2C-Teil verbrät etwa 27mA. Für Batteriebetrieb wäre das etwas viel. Es wäre zwar Strom vorhanden, jedoch würde ich gerne darauf verzichten, wenn es geht. Nun dachte ich daran den I2C-Teil im DeepSleep vom ESP abzuschalten, z.B. über einen Optokoppler oder ähnliches, leider fehlt mir dazu aber die Erfahrung. Macht das Sinn? Gibt es bessere Lösungen? Würde es genügen nur die 3.3V-Leitung abzuschalten oder müsste auch GND raus? Danke schon mal!
Nach etwas Recherche bin ich auf den 2N2222 Transistor gestoßen, würde sowas mit entsprechendem Vorwiederstand an der 3.3v - Leitung der I2C-Schaltung funktionieren? Ich würe dann den Transistor über einen GPIO steuern, der natürlich nur High ist, wenn der ESP8266 auch eingeschaltet ist.
> Nach etwas Recherche bin ich auf den 2N2222 Transistor gestoßen > dass der erstaunlich viel Strom verbraucht Ich glaub du solltest das ganze besser lassen. Ansonsten schau dir den IRLML6402 an. WiFi ist fuer Stromsparen eigentlich wirklich nix. Deepsleep hin oder her...
rrhan schrieb: > entsprechenden Differenzen zur Erfassung des Wasserstandes zu verwenden. Barometrische Höhenformel, oder wie willst du den Wasserstand messen? Normalerweise misst man den Druck am Boden einer Zisterne. Bei einem Brunnen ist der Boden (hoffentlich) etwas weiter weg von der Eroberfläche. Du müsstest den Sensor also auf der Wasseroberfläche schwimmen lassen. Kann aber auch sein, dass ich deine Beschreibung falsch verstehe. Die Wasserstandshöhe kann man dann besser optisch oder per Ultaschall messen. Bei Ultraschall gibt es aber das Problem der Reflexionen an der Rohrwand. Das Abschaltproblem dürfte zu Anfang erst mal nebensächlich sein.
Der Absolutdrucksensor wird am Boden des Brunnen versenkt, der Sensor misst die darüberliegende Wassersäule, der BME280 misst den Luftdruck an der Erdoberfläche, dadurch kann ich die Wetterbedingten Druckschwankungen aus der Luft rausrechnen. Auch wenn das nicht sehr viel ausmacht, erhöht es doch etwas die Genauigkeit. Der Stromverbrauch vom WIFI ist eigentlich gelöst. Bei nichtbenutzen der Pumpe hatte ich an Intervalle im Stundenbereich gedacht. Da sollte der Akku mindestens ein Jahr durchhalten. Bei Funk-Alternativen (433,868 oder LoRaWAN) bräuchte ich jeweils noch die Basis, die ich aktuell nicht habe. Ich sehe keinen Grund von WIFI wegzugehen. Den IRLML6402 schaue ich mir mal an. Sieht schonmal vielversprechend aus.
rrhan schrieb: > Nun dachte ich daran den I2C-Teil im DeepSleep vom ESP abzuschalten, > z.B. über einen Optokoppler oder ähnliches, leider fehlt mir dazu aber > die Erfahrung. Warum sollte ein Optokoppler keinen Strom benötigen? An was für eine Schaltung hattest du dabei gedacht? rrhan schrieb: > Nach etwas Recherche bin ich auf den 2N2222 Transistor gestoßen ... Das waren dann wohl historische Dokumente aus dem vorigen Jahrhundert ;-) Warum keinen LLevel MOSFETs?
rrhan schrieb: > Auch wenn das nicht sehr viel ausmacht, ... Täusche dich da nicht. Der Unterschied zwischen einem anständigen Tiefdruckgebiet (980hPa) und einem satten Hoch (1030hPa) entspricht einer Wassersäule von ca. 50 Zentimetern. Der Unterschied der Extremwerte des vorigen Jahrhunderts für Deutland entsprechen etwas 110 Zentimetern Wassersäule (lt. Wikipedia).
rrhan schrieb: > Der Absolutdrucksensor wird am Boden des Brunnen versenkt, der Sensor > misst die darüberliegende Wassersäule, der BME280 misst den Luftdruck an > der Erdoberfläche, dadurch kann ich die Wetterbedingten > Druckschwankungen aus der Luft rausrechnen. Auch wenn das nicht sehr > viel ausmacht, erhöht es doch etwas die Genauigkeit. Ich hatte die 9m überlesen (ich bin von einem "bodenlosen" Brunnen ausgegangen). Für 9m ist I²C bei 400kHz eher schlecht zu gebrauchen. Der Bus wurde für den geräteintern Datenaustausch entwickelt. Es könnte gehen, muss es aber nicht (zuverlässig). Bei den Zisternenbetreibern wird auch gerne die Methode Luft einzuperlen verwendet. Dafür braucht man eine Luftpumpe und einen Differenzdrucksensor. Hat aber eigentlich nichts mit deinem Problem zu tun. Verbraucher, die miteinander kommunizieren brauchen das gleiche Masse-Potential ("GND"), da sich auf dieses i.d.R. der Signalpegel bezieht. Würde man die Massen mit Hilfe eines Transistors trennen, gäbe es Probleme. Daher verwendet man sog. Highside-Switches - im einfachsten Fall ein PNP- oder P-Kanal-Transistor. Der 2N2222 ist dafür nicht geeignet, da es ein NPN ist.
Wolfgang schrieb: > Warum sollte ein Optokoppler keinen Strom benötigen? Zumindest wenn er nicht beschaltet ist (worum es geht) wird er wohl keinen Strom verbrauchen. STK500-BEsitzer schrieb: > Daher verwendet man sog. Highside-Switches - im einfachsten Fall ein > PNP- oder P-Kanal-Transistor. Ich denke das verfolge ich mal, habe mir einen Satz Transistoren bestellt. STK500-BEsitzer schrieb: > Für 9m ist I²C bei 400kHz eher schlecht zu gebrauchen. Mit den P82B715-Bus-Extendern habe ich bereits eine Länge von ~50m problemlos getestet. Im Moment läuft seid einem Tag über das geplante 9m (CAT-7) Kabel alle 5 Sekunden eine Messung, kann keine Schwierigkeiten feststellen. SDA habe ich mit VCC und SCL mit GND jeweils im Paar angeschlossen.
Ich glaube meine Schaltung funktioniert nun. Habe mir nur leider bei meinen Tests das WEMOS D1 Mini geschrottet :( der ESP darauf funktioniert zwar noch, aber die USB-Schnittstelle scheint es zerstört zu haben. Jedenfalls sieht die Schaltung nun so aus (grob vereinfacht) GPIO -> 4.7k Rb -> Basis des BC557 PNP-Transistor -> Sensor -> GND Der GPIO wird nun nur zur Messung geschaltet. Die Messungen sind auch plausibel, und die Stromaufnahme im Deepsleep wieder im normalen Bereich. Gibt es bedenken bei der Schaltung?
Vor vielen Jahren hatten wir die Füllstandsmessung in Wasser- und Ölbehältern einfach so realisiert dass die Kapazität zwischen zwei isolierten Drähten gemessen wurde. Das passierte ganz simpel über einen Oszillator in kapazitiver Dreipunktschaltung (1 Transistor und ein paar Bauelemente). Dessen Rückkopplung und damit seine Stromaufnahme änderte sich mit dem Füllstand, dieses Gleichstromsignal konnte ähnlich wie bei 4-20 mA Signalen auch über viele Meter übertragen werden. Billig und robust, funktionierte jahrelang zuverlässig. Einmaliger Abgleich des Füllstandes an den nichtlinearen Verlauf ist natürlich erforderlich.
:
Bearbeitet durch User
was i2c angeht: Den bus kann man auch sehr sehr langsam betreiben, je langsamer, umso höher natürlich die mögliche Kabellänge ohne extender Oder sonstwas. Außerdem macht es Sinn, sich die Werte der pull-ups anzusehen, vielleicht sind die ja zu hoch. Vermutlich macht es in der Praxis sowieso Sinn, sich in jedem Durchgang je 2 Messungen zu holen und die Werte auf Plausibilität zu prüfen, um Übertragungsfehler zu erkennen.
Dunno.. schrieb: > Den bus kann man auch sehr sehr langsam betreiben, je langsamer, umso > höher natürlich die mögliche Kabellänge ohne extender Oder sonstwas. Das hatte ich auch überlegt, aber jetzt habe ich schon alles zusammengelötet und weil es funktioniert lasse ich es erstmal so. Läuft zuverlässig mit 400khz. Dunno.. schrieb: > Vermutlich macht es in der Praxis sowieso Sinn, sich in jedem Durchgang > je 2 Messungen zu holen und die Werte auf Plausibilität zu prüfen, um > Übertragungsfehler zu erkennen. Das ist eine gute Idee, ich denke das werde ich auch so implementieren. Jetzt muss ich nur noch auf die BME280 warten ... diese Chinaware dauert immer so ewig :( Achso und noch eine Frage zur Elektrovergussmasse, was hält denn dauerhaft unter Wasser dicht? Kann ich das hier nehmen: https://www.amazon.de/Vergussmasse-Elektro-Gie%C3%9Fharz-Transparent-Elektroverguss/dp/B07LGGYN35/ref=sr_1_6?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=elektrovergussmasse&qid=1571727703&sr=8-6&th=1
Die Temperaturmessung des Grundwassers ist nach meiner Erfahrung überflüssig. Da ändert sich im Jahresverlauf nix. Hier sinds aus 7m Tiefe immer konstant 7°C - egal ob Sommer oder Winter.
Lutz S. schrieb: > Vor vielen Jahren hatten wir die Füllstandsmessung in Wasser- und > Ölbehältern einfach so realisiert dass die Kapazität zwischen zwei > isolierten Drähten gemessen wurde. Das passierte ganz simpel über einen > Oszillator in kapazitiver Dreipunktschaltung (1 Transistor und ein paar > Bauelemente). Dessen Rückkopplung und damit seine Stromaufnahme änderte > sich mit dem Füllstand, dieses Gleichstromsignal konnte ähnlich wie bei > 4-20 mA Signalen auch über viele Meter übertragen werden. > > Billig und robust, funktionierte jahrelang zuverlässig. Einmaliger > Abgleich des Füllstandes an den nichtlinearen Verlauf ist natürlich > erforderlich. Ich stelle mir das jetzt so vor, dass zwei Drähte parallel zueinander bis zum Grund verlaufen. Mit höherem Wasserstand erhöht sich auch die Kapazität? Ist das nicht ziemlich ungenau? Der Abstand der beiden Drähte müsste immer identisch sein? Ich wüsste auch gerade nicht so genau wie ich das Kalibrieren könnte.
Matthias S. schrieb: > Die Temperaturmessung des Grundwassers ist nach meiner Erfahrung > überflüssig. Da ändert sich im Jahresverlauf nix. > Hier sinds aus 7m Tiefe immer konstant 7°C - egal ob Sommer oder Winter. Werde ich dann sehen, theoretisch müsste Sie sich die Temperatur in der Tiefe nämlich ändern. Hängt aber sicherlich auch vom Standort ab. Mir ist das für mein zukünfigtes Projekt wichtig den Verlauf zu kennen.
Lutz S. schrieb: > Vor vielen Jahren hatten wir die Füllstandsmessung in Wasser- und > Ölbehältern einfach so realisiert dass die Kapazität zwischen zwei > isolierten Drähten gemessen wurde. Heutzutage nimmt man einen MC (z.B. ATtiny25), der die Kapazität digital mißt, z.B. mit dem ADC. Dabei wird das Verhältnis der internen S&H-Kapazität zur externen Kapazität gemessen, was sehr genau ist. Als Sensor kann man Flachkabel nehmen, z.B. Lautsprecherkabel. Führt man das Ende wieder nach oben, braucht man unten keinen wasserdichten Abschluß. Sinkt der Wasserspiegel, bleibt etwas Wasser am Kabel hängen, d.h. es wird ein zu hoher Pegel gemessen. Man muß daher etwas warten. Ein Problem kann nach längerer Zeit auch Bewuchs und Verschmutzung des Kabels werden. Die Daten können über die UART oder Pulsmodulation wie bei IR-FBs gesendet werden.
rrhan schrieb: > Ist das nicht ziemlich ungenau? Der Abstand der beiden Drähte müsste > immer identisch sein? Nein, das Wasser ist ja nicht das Dieelektrikum, sondern das wird durch die Isolation der Drähte gebildet. Und die ist schon recht konstant in ihrer Stärke.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.