NEWS
(Frage Schaltung) Wemos / Tasmota / Bewässerung
-
Hallo zusammen,
ich habe hier im Forum schon eine Menge über Bewässerung gelesen und habe mir selbst einen Schaltplan versucht aus verschiedenen Quellen zu stricken.
Hierfür möchte ich Euch um Mithilfe und Erfahrungen bitten, was ich verbessern sollte bzw. am Aufbau verändern müsste.
Hardware sollte sein:
- Wemos D1 Mini
- Solarmodul 3W 6V
- Relais für jede Pumpe
- Motorpumpe DC 3V 5V
- Bodenfeuchtesensor Hygrometer Modul V1.2 kapazitiv
- TP4056 Lademodul
- ADS1115 ADC Modul für mehrere Bodefeuchtesensoren
- 18650 Li-Ionen-Akku 3,7V 3.500 mAh
Alle Pumpen sollen einzeln angesprochen werden können. Leider konnte ich in Fritzing nicht exakt alle Bauteile finden, daher weichen diese ein wenig ab.
Frage 1: Kann man dazu die GPIO2 (D4), GPIO12 (D6), GPIO13 (D7), GPIO15 (D8) verwenden?
Frage 2: Die Bodenfeuchtesensoren benötigen mindestens 4,5 V. Auch die Pumpen brauchen 5 V. Nun laufen aber die Sensoren und die Pumpen auch wenn der Wemos im Deep Sleep ist. Wie muss man das in Tasmota schalten?
Frage 3: Ich habe gelesen, dass man einen Transistor vor die Bodenfeuchtesensoren schalten sollte. Würdet ihr das auch empfehlen und wenn ja wo genau hin?Vielen Dank für die Unterstützung vorab!
-
@marc_el_k
An D4 hängt die LED. Würde das dann für das Relais vermeiden.
Siehe https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/
Unter which PINs to use.Hast du schon alle Teile da?
Ich würde einen D1 Mini Pro nehmen- damit du ne externe Antenne anschließen kannst. Schließlich steht das Teil irgendwie im Garten. Und du hast keine Chance auf Strom an der Stelle? Dann sparste dir das DeepSleep Gefrickel und Solarmodul. Außerdem stelle ich mir das schwer vor , wenn du man manuell wässern willst und der Wemos gerdae schläft. Keine Ahnung. Kenne mich da nicht so aus.Im Garten hat man doch meisstens 24V Pumpen..!?! Ich hab den Link gesehen. Was willste da bewässern? Bei 4 verschiedenen Beeten- ich glaube nicht dass du mit den Pumpen was ausrichtest.
Musste mir erstmal den D/A-Wandler ansehen... den Tip hast vom Eddy...?
https://www.youtube.com/watch?v=8fsAj6tRKowAchso- wenn alles läuft- bau noch ein Thermometer mit an. Freie GPIOs haste ja genug und dann einfach noch mehr Informationen
Zu Frage 3) Macht für mich gerade kein Sinnd vor SDA/SCL einen Transistor zu schalten...!?! Oder wie ist das gemeint? Du brauchst ja das Analoge Signal 1:1 in Tasmota.
Wofür haste eigentlich den WIderstand an D0 und RST?
-
@oberfragger Danke für die ersten Tipps! Das hilft mir schon einmal weiter.
Grundsätzlich möchte ich damit ein Hochbeet Smart machen und daher die Verwendung von Solar, Akku und Deep Sleep...im Notfall kann ich auch Strom legen, aber Ziel ist es möglichst eine autarke Lösung zu schaffen.
Die Teile habe ich bereits da. Die Pumpen sind tatsächlich sehr schwach und werde ich gegen 12V oder 24V austauschen. Für den Testaufbau reichen diese aber erstmal aus.
Genau, in dem von dir verlinkten Video geht es um den D/A Wandler und hier gibt es unter anderem Kommentare, dass 4 kapazitive Sensoren (4 * 10mA) deutlich über der Grenze eines ESP GPIO liegen (max. 16mA) und man daher einen Transistor dazwischen schalten sollte.
Der Widerstand zwischen D0 und RST ist für Deep Sleep, damit sich der Wemos erneut selbst aufwecken kann. Funktioniert auch ganz gut
Mei Hauptproblem ist, dass sobald der Wemos in Deep Sleep wechselt, das Relais anschaltet und somit dauerhaft läuft.(habe erstmal nur eins angeschlossen)
Vermutlich habe ich es falsch angeschlossen?
-
@marc_el_k Ah. Hochbeet. Da brauchste ja keine Wassermassen.
Das Video zum D/A Wandler habe mir nicht ganz angesehen... aber du hast anscheinend mehr gefunden. Aber nur zum Verständnis wenn du den D/A-Wandler verwendest. hast du doch pro GPIO (am D/A) nur 1nen Sensor. Der D/A Wandler überträgt doch nur die Infos an den ESP (welcher das dann anzeigt) und die 40 mA liegen doch dann garnicht gesammelt an. Wie gesagt- hier bei mir nur gefährliches Halbwissen.
Aber jetzt mal ehrlich- 1 Hochbeet... 4 Kapazitative Sensoren und 4 Relais. Sorry. aber mal ganz frech gefragt - wie groß ist dein Hochbeet?
Vermutlich würde ich da eher auf einen guten Träufelschlauch oder das Gardena MicroDip setzen. zumindest so dass du nur 1ne Pumpe brauchst und das ganze Beet gleichmäßig bewässert wird. Mir scheint das gerade sehr aufwändig. Und wenn du erstmal einen testet- kannst auch einfach den vorhandenen A0 nehmen.
Schon das hier zu den Sensoren gesehen...? https://www.youtube.com/watch?v=IGP38bz-K48 Wenn die eh Mist messen...Mit dem Deep-Sleep Widerstand... wieder was gelernt. Wie gesagt. Hab überall Strom liegen. Und so ein Solarpanel direkt im Sichtbereich nervt doch auch.
Das Verhalten der Relais scheint mir normal:
https://tasmota.github.io/docs/DeepSleep/DeepSleepTime sets the time the device remains in DeepSleep before it returns to full operating mode. Once the command is issued, the DeepSleep cycle commences. During DeepSleep, the device is effectively off and, as such, it is not possible to modify DeepSleepTime without exiting DeepSleep.
Aus ist Aus. Da sendet der Wemos nix mehr. Und vermutlich haste das Relais auf NC (NormallyClosed) angeschlossen...? Falls ja und du das auf NO änderst, sollte das Relais m.E. öffnen wenn der in DeepSleep geht. Dadurch geht dann die Pumpe aus. Aber das bringt dir aber echt nix... dann geht alle x Minuten die Pumpe an und gleich wiedre aus... etc.
Kann aber auch sein, dass ich das Problem nicht verstanden habe und auf dem Schlauch stehe.
Ich mag Transistoren ja garnicht, aber könnten die vielleicht für die Mini-Pumpen geeigneter sein als Relais?
-
@oberfragger korrekt für ein Hochbeet reicht Tröpfchenbewässerung aus.
Ich habe @EddyD-s-SmartHome einmal angefragt um Unterstützung zu Deep Sleep sowie zum D/A - Wandler gebeten, da ich vermute, dass es nur mit 3,3 V geht und dann ein GPIO verwendet wird um damit dem Wandler Spannung zu geben. Sowohl meine Feuchtesensoren als auch die Pumpen benötigen aber 5V und das gibt der Wemos anscheinend nicht aus!?
Bis auf Deep Sleep habe ich den Aufbau mit 3 Pumpen und 3 Sensoren nun fertig und funktioniert soweit ganz gut. Ich habe die Zeichnung noch einmal aktualisiert.
Warum ich mehrere Pumpen und Sensoren wollte, liegt einfach daran, dass ich die Möglichkeit haben wollte unterschiedliche Dinge anzupflanzen...und natürlich auch ein bisschen Spielerei
-
@marc_el_k sagte in (Frage Schaltung) Wemos / Tasmota / Bewässerung:
Bis auf Deep Sleep habe ich den Aufbau mit 3 Pumpen und 3 Sensoren nun fertig
Schaue mal hier rein.
https://forum.creationx.de/forum/index.php?thread/2585-befehl-nach-deepsleep-akzeptieren/&pageNo=1
Und als Relaismodul würde ich ein solches nehmen.
Damit kann man High/Low ändern. -
@premo said in (Frage Schaltung) Wemos / Tasmota / Bewässerung:
Damit kann man High/Low ändern.
Ich glaube nicht das dies etwas helfen wird. Wenn ein esp82xx im deep sleep ist läuft nur die RTC und sonst nichts weiter. Es ist anzunehmen das daher die gpio's floaten. Im Moment wo er "aufwacht" (technisch bootet er einfach normal) werden die gpio's neu initialisiert und der esp übernimmt wieder die Steuerung
-
@marc_el_k said in (Frage Schaltung) Wemos / Tasmota / Bewässerung:
Mei Hauptproblem ist, dass sobald der Wemos in Deep Sleep wechselt, das Relais anschaltet und somit dauerhaft läuft.(habe erstmal nur eins angeschlossen)
Zufällig an D8 oder auch an D5/6/7?
Genau, in dem von dir verlinkten Video geht es um den D/A Wandler und hier gibt es unter anderem Kommentare, dass 4 kapazitive Sensoren (4 * 10mA) deutlich über der Grenze eines ESP GPIO liegen (max. 16mA) und man daher einen Transistor dazwischen schalten sollte.
Das wäre nur der Fall wenn du die Sensoren über einen GPIO mit Strom versorgst, das ist aber in deiner Zeichnung nicht der Fall (der Strom kommt für alle Sensorik und Aktoren direkt von der Batterie
)
Sowohl meine Feuchtesensoren als auch die Pumpen benötigen aber 5V und das gibt der Wemos anscheinend nicht aus!?
Wenn du an deinem 5V pin am Wemos 5V anlegst stehen da auch 5V zur Verfügung. Was sagt das Multimeter? Irgendwas zwischen 4,2V und 3V je nach Batteriestand deiner 18650er vielleicht?
-
@opensourcenomad, @premo Danke für Eure Hinweise. Messwerte werde ich noch nachreichen.
@oberfragger Danke für die Idee mit dem Temperatursensor. Ich hatte tatsächlich noch einen DHT11 da und gleich einmal mit in der Schaltungszeichnung ergänzt. Wird auch direkt in Tasmota angezeigt.
Meine aktuellen Einstellungen habe ich auch angefügt.
Es ist jetzt so, dass er sich alle 120 Sekunden in den DeepSleep Modus versetzt und die Relais auf OFF bleiben. Die Pumpen laufen auch nicht mehr im Deep Sleep Modus an. Das funktioniert schon einmal sehr gut.
Dadurch, dass ich aber alle Sensoren und an die Batterie angeschlossen habe, ziehen diese aber leider dauerhaft. Ich versuche mich nun mal in den Link von @premo einzulesen und zu schauen, ob man dies mit Rules oder einer anderen Idee lösen kann!?
-
@opensourcenomad said in (Frage Schaltung) Wemos / Tasmota / Bewässerung:
Wenn du an deinem 5V pin am Wemos 5V anlegst stehen da auch 5V zur Verfügung. Was sagt das Multimeter? Irgendwas zwischen 4,2V und 3V je nach Batteriestand deiner 18650er vielleicht?
Wenn ja dann fehlt ein boost converter in deinem setup.
Was auch nicht unnütz ist, mittels A0 die Batteriespannung zu messen (voltage divider R1=220kohm, R2=1k0hm ist schon vorhanden beim d1 mini allerdings misst der nur bis um die 3,2V, sprich ein weiterer Widerstand ist von Nöten um auch bis 4,3V bzw. darüber hinaus messen zu können).
Der Vorteil die Batteriespannung zu wissen ist einen dynamischen deep sleep zu haben und eventuell die Bewässerung "ausfallen" zu lassen bei (sehr) niedrigen Batteriestand. Wahrscheinlich muss sowieso nicht bewässert werden wenn es regnet
-
@marc_el_k ein ähnliches Setup baue ich auch gerade auf, allerdings ohne Solar, da es bei mir um Topfpflanzen im Wohnzimmer geht
Kleiner Tipp zu den Feuchtesensoren: Dass man die Kanten mit z.B. Nagellack versiegeln soll, hast Du bestimmt schon gelesen. Mein Tipp, danach noch auf die Oberfläche des Sensors, also dort, wo die Leiterbahnen sind, mit Acryl-Lack bestreichen. Meine Erfahrung ist, da der Lack Feuchtigkeit aufnimmt ist der Messwert etwas unabhängiger von der Bodenbeschaffenheit und zeigt eher an, wie viel Wasser für die Pflanzen verfügbar ist statt der reinen Wassermenge direkt vor dem Sensor. Allerdings wird der Messwert dadurch ein wenig träger und benötigt bei Bewässerung auch mal ein paar Stunden, bis er sich auf den endgültigen Wert eingepegelt hat.Bzgl. Strom für die Feuchtesensoren: Du kannst das Problem natürlich mit einem Transistor lösen. Einfach die 5V-Stromversorgung der Sensoren über einen GPIO mit einem Transistor schaltbar machen. Da würde ich dann noch eine kurze Pause zwischen Strom einschalten und Sensorwerte auslesen einbauen, damit die Sensoren Zeit haben sich einzuschwingen. Ich vermute, 0.1s sollten da eigentlich schon reichen.
Zur Batterieschaltung hätte ich auch noch zwei Links für Dich:
- Adding battery charger to ESP8266 and ESP32 (well done), dort wird erklärt, warum mit der Schaltung von Dir evtl. die Batterie auf Dauer leiden kann und wie man das mit diesem Lademodul umgehen kann.
- Adafruit Powerboost 1000C ein alternatives Bord, mit dem gleichzeitig Laden und Betreiben des Verbrauchers unterstützt wird.
-
@zarello Die Kanten habe ich mit Klarlack versiegelt. Hier habe ich Nagellack genommen und das geht sehr gut.
Deine Links habe ich mir angeschaut, dabei gefällt mir der Powerboost 1000C sehr gut, ist aber recht teuer.
Meint ihr, ich kann für den Anfang auch einen solchen Booster nehmen? LAOMAO Step-up Boost Power Converter XL6009
Kannst Du mir das mit dem Transistor genauer erklären? Welchen muss man dafür nehmen und kann ich damit generell die 5V für Sensoren, Relais und Pumpen schaltbar machen? Wie muss ich den anschließen?
D.h. ich bräuchte dann 1 x 5V direkt an den Wemos und 1 x 5V für den Rest?
Funktioniert dass dann auch mit Deep Sleep?Danke
-
@marc_el_k sagte in (Frage Schaltung) Wemos / Tasmota / Bewässerung:
... gefällt mir der Powerboost 1000C sehr gut, ist aber recht teuer.
Ja, der Preis hat mich bisher auch davon abgehalten den einfach mal so zu kaufen um dann zu schauen, was so möglich ist.
Kannst Du mir das mit dem Transistor genauer erklären? Welchen muss man dafür nehmen und kann ich damit generell die 5V für Sensoren, Relais und Pumpen schaltbar machen? Wie muss ich den anschließen?
Die 5V und den Strom für die Sensoren sollte eigentlich jeder einfachste Transistor verkraften können, allerdings bin ich da nicht wirklich in der Materie. Im Datenblatt sollte aber stehen, welchen Strom und welche Spannung der Transistor verträgt.
Ich würde einen NPN-Transistor nehmen, z.B. diesen hier.
Anschluss wäre z.B.:
Den mittleren Pin des Transistors (Basis) über einen Widerstand an den GPIO.
Den Emitter (wenn Du auf die flache Seite schaust, der linke Fuß) an VCC der Sensor-Module.
Den Collector an 5V des Wemos.
Den Widerstand würde ich mit ca. 270 Ohm wählen ((3,3V - 0,7V) / 0,01A = 2,6V / 10mA [Belastung für den GPIO] = 260 Ohm, der nächste in der E12-Reihe, also die "normalen" Widerstände mit 10% Toleranz ist dann 270 Ohm).Das sollte vermutlich funktionieren. Die Sensoren bekommen in der Form vermutlich etwas weniger als 5V ab. Wenn ich es richtig gelesen habe, sollte nach Lehrbuch der Transistor wohl eher zwischen GND und Last geschaltet werden (statt VCC und Last), das hätte jedoch zur Folge, dass die Ausgänge der Sensoren im abgeschalteten Zustand 5V hätten. Ich bin mir nicht sicher, ob der AD-Wandler das gut findet - bzw. dann wird dort der Strom im Deep-Sleep fließen.
Allerdings bin ich in der Materie nicht wirklich drin und vermutlich sollte man das nach Lehrbuch etwas anders machen. Jemand mit Ahnung möge mich bitte korrigieren(bitte Edit3 lesen).
Hier ein bisschen Infos zu Transistoren.
D.h. ich bräuchte dann 1 x 5V direkt an den Wemos und 1 x 5V für den Rest?
Das dürfen die gleichen 5V sein.
Funktioniert dass dann auch mit Deep Sleep?
Das sollte es. Im Zweifelsfall, wenn das nicht funktioniert und die Sensoren im Deep Sleep weiterhin 5V Spannung erhalten, sollte ein Pull-Down Widerstand zwischen Basis und GND helfen. Den würde ich auf vielleicht 10k-100kOhm setzen.
Ich hoffe, das hilft etwas weiter.
Edit: Den ADS kannst Du natürlich dann auch gleich darüber mit versorgen, damit der auch keinen Strom zieht wenn der ESP im Deep-Sleep ist.
Edit2: Evtl. solltest Du noch Dioden für die Pumpen einbauen, damit der Strom, welcher beim Ausschalten induziert wird, keine Probleme bereitet. Einfach parallel zur Pumpe gegen die Arbeitsrichtung schalten.Edit3: Da mich hier niemand korrigiert hatte und ich mir inzwischen etwas mehr Ahnung angelesen habe, hier eine kleine Korrektur zur Schaltung des Transistors:
Wenn man den Transistor an die Plus-Seite des Verbrauchers anschließen möchte (und das halte ich hier weiterhin für sinnvoll), nimmt man einen PNP-Transistor, keinen NPN-Transistor. Da man mit den 3,3V des GPIO keinen PNP-Transistor sinnvoll ausschalten kann, der an 5V hängt, vermute ich, dass man einen weiteren NPN-Transistor benötigt um den PNP-Transistor anzusteuern. Aufbau wäre dann: Widerstand R1 zwischen GPIO und Base des NPN-Transistors. Emitter des NPN-Transistors an GND. Collector über R2 an Base des PNP-Transistors. Base des PNP-Transistors außerdem über einen Pull-Up-Widerstand R3 an 5V. Emitter des PNP-Transistors auch an 5V. Collector des PNP-Transistors ist der geschaltete Pluspol für die Last.
Der PNP-Transistor muss dabei so gewählt werden, dass er beim Emitter-Collector-Strom den zu erwartenden Strom verträgt.
R1 wird so gewählt, dass er bei 3,3V am GPIO abzüglich der Base-Collector-Spannung den Strom auf max. 12 mA begrenzt.
R2 wird so gewählt, dass er genug Strom für den Base-Anschluss des PNP-Transistors durchläßt, dass dieser in Sättigung geht (evtl. + Strom für den PullUp-Widerstand). R3 wird möglichst groß gewählt um die Verluste zu minimieren. Er muss nur dafür sorgen, dass der PNP-Transistor an Base das gleiche Potential erhält wie am Emitter wenn der NPN-Transistor gesperrt ist um auch sicher gesperrt zu werden. Vermutlich sind hier 100 k-Ohm völlig ausreichend. Die genauen Werte von R1 und R2 müssen für die konkret verwendeten Transistoren anhand der Datenblätter berechnet werden. -
@zarello Hi, danke Dir für die super Infos! Ich habe mir jetzt ein einfaches Voltmeter bestellt und der Schaltung hinzugefügt sowie den von dir beschrieben Transistor eingeplant. Die Teile müssten Freitag kommen und dann kann ich testen.
Kannst Du dir es bitte mal in der Zeichnung anschauen.
- ListenpunktDen ADS habe ich an 5V
- Den Transistor würde ich nun an D3 setzen
- Bleiben die 5V des Wemos auch mit dem VCC der Sensoren verbunden, wie gezeichnet oder soll der Collector direkt an den Wemos und keine Verbindung mehr zu VCC?
Bin echt gespannt ob es mit den Änderungen klappt
Vielen Dank für die Bemühungen!! -
@marc_el_k sagte in (Frage Schaltung) Wemos / Tasmota / Bewässerung:
Kannst Du dir es bitte mal in der Zeichnung anschauen.
- ListenpunktDen ADS habe ich an 5V
- Den Transistor würde ich nun an D3 setzen
- Bleiben die 5V des Wemos auch mit dem VCC der Sensoren verbunden, wie gezeichnet oder soll der Collector direkt an den Wemos und keine Verbindung mehr zu VCC?
Die Verbindung der Sensoren zu VCC muss natürlich getrennt werden. Das ist ja genau die Verbindung, die der Transistor ein- oder ausschalten soll. Wenn die noch verbunden sind hast Du den Schalter direkt wieder überbrückt
Bin echt gespannt ob es mit den Änderungen klappt
Da bin ich auch gespannt, ich hoffe, ich habe da keinen Fehler gemacht
-
@zarello Ich habe meine Schaltung noch einmal auf den tatsächlichen Zustand aktualisiert, vielleicht kannst Du dir das noch mal anschauen, ob Du es so gemeint hattest.
In Tasmota habe ich den Transistor auch als Relais gewählt. Muss man da was anderes wählen?
Ich habe mir diese Sets gekauft
Den Transistor 2N3904 hatte ich bisher versucht, sowohl ohne Widerstand, als auch mit einem 220 Ohm und einem 330 Ohm Widerstand. Hatte aber (ohne Deep Sleep) nicht geklappt.
Ohne Transistor habe ich knapp 3 V am GPIO gemessen.
Ich werde es morgen dann testen, wie es sich im Deep Sleep verhält.
Zusätzliche Frage: Die Relais habe ich an 3,3V Input und an 5V Output geschlossen. Funktioniert auch. Würdest du die Eingangsspannung auch auf 5V legen?
Zu deinem Hinweis bzgl ADS: Den habe ich schon auf 5V, da ich ja alle Lasten ab-/schalten möchte.
-
@marc_el_k
Hm, fast richtig. so wie es jetzt ist bekommen die Sensoren von der Batterie die ganze Zeit 5V und der Wemos kann über D8 eingeschaltet werden. Das kann natürlich nicht klappen, da er den Ausgang nicht schalten kann solange er keinen Stromanschluss hat.Die rote Leitung von der Batterie muss mit 5V des Wemos verbunden werden, mit der roten Leitung zu den Relais und der grauen Leitung, die jetzt an den 5V des Wemos sind. Falls die graue Leitung, die mit 5V verbunden ist am Collector des Transistors hängt sollte dann alles stimmen.
Wie Du in Tasmota den Transistor am besten ansteuerst kann ich Dir nicht sage, da ich Tasmota noch nie verwendet habe. Aber als Relais hört sich zumindest nicht falsch an, da er sich aus Sicht des Wemos genauso verhält.
Welche Spannung die Relais an VCC benötigen weiß ich nicht. Aber falls sie auch mit 5V klar kommen, kannst Du die entsprechenden rosa Leitungen zu den Relais statt mit 3V3 mit an die roten Leitungen der Feuchtesensoren hängen. Dann wäre die Schaltlogik der Relais im Deep-Sleep auch abgeschaltet.
-
Die Transistorbasis teste mal am 2N3904 mit 2,2 kohm.
Tasmota Relai ist ok schaltet die Spannung am GPIO ein / aus.
Prüfe mal die Beschaltung des 2N3904. Soll ja ein Schalter sein. -
@ralla66 sagte in (Frage Schaltung) Wemos / Tasmota / Bewässerung:
Die Transistorbasis teste mal am 2N3904 mit 2,2 kohm.
Danke, werde ich testen!
Prüfe mal die Beschaltung des 2N3904. Soll ja ein Schalter sein.
Wie meinst du das?
-
den Ausgang am Transistor messen ohne das dieser mit dem Breadboard verbunden ist.
Ausgang nach Gnd sollte mit MM gemessen wenn geschaltet 5 Volt sein.
Würde den Eingang auch an der Spannungsquelle anschließen und nicht über den Wemos schleifen.