NEWS
(Frage Schaltung) Wemos / Tasmota / Bewässerung
-
@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. -
@marc_el_k Ich habe eben nochmal ins Datenblatt der Relais geguckt. Das ist leider nicht ganz eindeutig, aber es scheint auch mit 5V an VCC zu arbeiten, insofern kannst Du die Stromversorgung der Relais statt an 3V3 auch mit an den Transistor hängen (nur VCC, nicht die Stromversorgung der Pumpen, die über die Relais geschaltet wird).
-
@zarello Sorry, wenn ich noch einmal fragen muss, aber so richtig habe ich es noch nicht verstanden, wie du die Schaltung zum Transistor meintest. Kannst du es bitte in meiner Zeichnung einmal korrigieren? In meinem Aufbau habe ich verschiedene Kombinationen versucht, jedoch ohne Erfolg. Vielen Dank!
Bezüglich der Relais ging es mir genauso, anhand des Datenblatts. Ich werde es einfach mal mit 5 V versuchen.
-
@marc_el_k Ich hoffe, es ist hier zu erkennen was ich meine:
-
@zarello Ich habe es jetzt genauso nachgebaut und mit Schaltung des Transistors leuchten die "Kontroll-LED" der Relais auf. Die Pumpen laufen aber nicht.
Das Voltmeter-Display hat mir an der Basis ohne Widerstand 3,27 V, am Collector (rechts) 4 V und am Emitter (links) nichts angezeigt. Soll ich nochmal mit 220 Ohm bzw. 330 Ohm Widerstand messen?
Der ADS benötigt mindestens 4,5V und ist daher komplett aus gegeblieben.
Brauch ich also doch einen so einen Step Up Converter?
-
@marc_el_k
Das verstehe ich jetzt nicht ganz:
Der ESP funktioniert?
Am Collector liegen 4V an, dass heißt, das ist die Spannung, die aus dem Batterie-Modul rauskommt? Denn die beiden sollten ja direkt miteinander verbunden sein.
Die Kontroll-LED der Relais heißt, dort liegt jeweils an VCC auch 4V an und die Relais können auch vom ESP geschaltet werden (man hört sie klacken)?
Trotz geschaltetem Relais läuft die entsprechende Pumpe nicht an?Sehr merkwürdig finde ich, dass am Emitter 0V anliegen (gemessen gegen OUT- vermute ich). Bei 3,27V an der Basis sollte eigentlich am Emitter auch über 3V anliegen, solange zwischen Emitter und GND noch Verbraucher liegen und kein Kurzschluss vorliegt.
Der Widerstand vor der Basis dient dem Schutz des ESP, damit der Ausgang zum Schalten des Transistors nicht mit einem zu hohen Strom belastet wird. Der Transistor sollte trotzdem schalten, allerdings merke ich gerade einen Fehler, in meinem Gedankengang: Der Ausgang des ESP liefert nur 3,3V, damit wird die Spannung am Emitter auch niemals über diesen Wert ansteigen. Das ist zwar aktuell nicht das Problem, denn 0V am Emitter muss an etwas anderem liegen, könnte aber doch erforderlich machen, die Schaltung nochmal umzubauen, damit die entsprechenden Verbraucher auch ihre gewünschte Spannung erhalten.
Meinen ADS1115 betreibe ich übrigens mit 3V3, das klappt wunderbar. Aber wenn am Emitter bei Dir 0V anliegen, dann bekommt der ADS auch nur 0V ab. Damit kann das natürlich nicht funktionieren.
-
@zarello Da ich mit mehreren Transistoren kein Glück hatte, habe ich mir nun ein weiteres Relais und den Adafruit Powerboost 1000C bestellt und habe jetzt auch 5V anliegen. Die Relais habe ich auf 5V laufen. Ich bin deiner Zeichnung gefolgt und habe es nun wie dargestellt verkabelt. Jetzt wollte ich natürlich versuchen, alle Lasten über das neue RElais ein- und auszuschalten. In meiner Version zeiht aber das neue Relais dauerhaft Spannung...da muss ich noch einen Denkfehler haben.
-
@marc_el_k Passiert das auch wenn der ESP eingeschaltet ist (Deep Sleep deaktiviert) und D8 ausgeschaltet ist?
Dann gäbe es zwei Möglichkeiten:
- D8 ist nicht als Ausgang geschaltet - das sollte nicht der Fall sein, wenn Du den Ausgang in Tasmota korrekt als Relais eingestellt hast.
- Die aufgebaute Schaltung stimmt nicht mit dem Bild überein.
Wenn das nur passiert, wenn Deep Sleep aktiviert ist, fehlt Dir noch ein Pull-Down Widerstand an D8. D.h. einfach ein ca. 1k - 10k Ohm Widerstand zusätzlich von D8 nach GND schalten. Diesen Widerstand würde ich so hoch wie möglich wählen, dass es noch funktioniert, um den Stromfluss im Deep Sleep so gering wie möglich zu halten. Es kann gut sein, dass es sogar mit 100k Ohm funktioniert.
Der Powerboost 1000C ist übrigens nicht einfach nur ein Step-Up Converter um die Spannung auf 5V zu bringen (den hat er mit auf der Platine) sondern eigentlich ein Laderegler für die Batterie.
-
@zarello Hi. Ich habe jetzt einige Tests gemacht und die Schaltung erneut überarbeiten müssen.
- Die Relais ließen sich mit 5V Eingang nicht mehr per GPIO steuern, somit benötige ich hier 3,3V als Eingangsspannung.
- D8 als GPIO reicht leider nicht aus um das Relais zu schalten, hier liegen nur 3,17 - 3,2 V an.
- Natürlich möchte ich nicht alle Relais wieder an 3,3V des Wemos legen, da diese dann dauerhaft (also auch im Deep Sleep Modus) den Akku beanspruchen.
Jetzt ist meine Idee, mittels dem zusätzlichen Relais D8 auf 3,3V zu bringen und dann den Ausgang, auf 5V und 3,3V zu teilen, damit ich wirklich alle Lasten abschalten kann. Kann man das mit einer Diode oder Widerstand erreichen?
Dann wäre der 3,3V Anschluss des Wemos nur noch für den automatischen Reset des Wemos, was auch tatsächlich einwandfrei funktioniert?
Hast Du eine Idee, ob man das so machen kann? Oder einen besseren Vorschlag?
1000 Dank!
Edit: Ist die Last dann für eine GPIO D8 zu hoch?
-
@marc_el_k sagte in (Frage Schaltung) Wemos / Tasmota / Bewässerung:
- Die Relais ließen sich mit 5V Eingang nicht mehr per GPIO steuern, somit benötige ich hier 3,3V als Eingangsspannung.
- D8 als GPIO reicht leider nicht aus um das Relais zu schalten, hier liegen nur 3,17 - 3,2 V an.
Das wundert mich. Ich hätte jetzt vermutet, dass das ausreicht. Ich habe ja eine ähnliche Schaltung. Das Relais-Modul ist zwar ein Vierfachmodul, aber es sieht Deinem zumindest sehr ähnlich. Ich versorge es über 5V und kann dann über einen GPIO das Relais schalten. Ein Foto hänge ich Dir mal unten an, ich finde allerdings im Moment nicht die Zeit das vernünftig aufzubauen.
Trifft das Problem dann mit dem aktuellen Schaltplan nicht auch auf die Relais an D5-D7 zu, wenn das Relais bei 5V Versorgung sich mit einem GPIO nicht schalten läßt?
- Natürlich möchte ich nicht alle Relais wieder an 3,3V des Wemos legen, da diese dann dauerhaft (also auch im Deep Sleep Modus) den Akku beanspruchen.
Soweit ist das klar.
Jetzt ist meine Idee, mittels dem zusätzlichen Relais D8 auf 3,3V zu bringen und dann den Ausgang, auf 5V und 3,3V zu teilen, damit ich wirklich alle Lasten abschalten kann. Kann man das mit einer Diode oder Widerstand erreichen?
Leider verstehe ich nicht, was Du damit meinst.
Dem Schaltplan nach zu urteilen, möchtest Du das Relais über D8 nicht nur Schalten sondern gleichzeitig auch versorgen. Das sollte theoretisch möglich sein, aber Du stellst dabei auch gleich die richtige Frage:Edit: Ist die Last dann für eine GPIO D8 zu hoch?
Das kann ich Dir so leider nicht beantworten. Du müsstest es vermutlich messen. Du kannst zum Test, um D8 nicht zu stark zu belasten, das Relais über ein Multimeter an 3V3 hängen und den Strom messen. Ein GPIO des ESP8266 soll laut dem Datenblatt, das ich gefunden habe, mit max. 12mA belastet werden (ich hoffe, es war das richtige). Ich meine mich erinnern zu könne, dass ich auch schon von Leuten gelesen habe, die eine größere Last damit betrieben haben, aber ich befürchte, dass das möglicherweise auf Dauer nicht gut geht.
Hier ein Foto meines provisorischen Test-Aufbaus. Ich werde es allerdings über ein Netzteil versorgen und ignoriere den Stromverbrauch:
-
@zarello ja es trifft auf alle Relais zu. Wenn es bei dir klappt, dann kann es nur daran liegen, dass ich das Adafruit Power Boost dazwischen habe. Laut Multimeter habe ich dort 5,13V gemessen.
Edit: ich werde heute Abend testen ob es tatsächlich daran liegt, dass es zu viel Spannung ist. Wenn dann kann ich natürlich auch VCC Eingang der Relais bei 5V belassen.