NEWS
(Frage Schaltung) Wemos / Tasmota / Bewässerung
-
@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.
-
Als kleine Ergänzung: Ich habe inzwischen bei mir das Relais-Modul aus dem Aufbau entfernt und durch Transistoren ersetzt. Das ist günstiger, kleiner, stromsparender und hat den großen Vorteil, dass man die Geschwindigkeit der Pumpen über Pulsweitenmodulation (PWM) steuern kann. Da es bei mir um Topfpflanzen geht hatte ich mir vorher überlegt, Ventile einzubauen, damit die Töpfe nicht überlaufen weil die Pumpe schneller Wasser zuführt als die Erde aufnehmen kann. Mit der PWM kann ich auf die Ventile verzichten und spare sogar noch Strom, da die Pumpen nicht gegen die halb geschlossenen Ventile arbeiten müssen.
Hier der Schaltplan für zwei Pumpen:
Die Pumpen, die ich verwendet habe könnt ihr in meinem letzten Beitrag sehen, sie sind mit 3-5V zu betreiben und haben dabei 100-200mA.
Als Transistor habe ich einen S8050 verwendet. Laut Datenblatt, das ich zuerst gefunden habe, verträgt er einen Collector-Strom von 500 mA, ich habe allerdings auch an anderen Stellen 700 mA gefunden.
Damit ist er auf jeden Fall groß genug dimensioniert um auch den Einschaltstrom des Motors zu verkraften.
Dementsprechend muss der Basis-Vorwiderstand mit mindestens (3,3V - 1,2V) / 0,012A = 175 Ohm dimensioniert werden (3,3V: GPIO-Ausgang, 1,2V: Spannungsabfall Basis-Emitter des Transistors, 12mA: maximale Belastung des GPIO).
Ich habe hier 220 Ohm gewählt, damit liegt der Basis-Strom bei ca. 9,5 mA, was noch locker ausreichen sollte um den Transistor bei bis zu 200mA Collector-Strom komplett durchzuschalten.
Die Freilaufdiode hat keine besonderen Anforderungen, sie ist nur wichtig um den Transistor vor der Induktivität des Motors zu schützen, da ansonsten beim Abschalten des Motors sehr kurzfristig Spannungen im Bereich bis zu mehreren hundert Volt oder höher entstehen können (siehe hier), es reicht also jede kleine Diode, die ihr gerade zur Verfügung habt.Für diejenigen, die mit ESPHome arbeiten, hinter dem Spoiler noch Teile aus der YAML-Datei, mit denen ich die Motoren ansteuere: