Forum: Mikrocontroller und Digitale Elektronik Problem mit Relaismodul an Wemos D1 Mini (ESP 8266)


von Fabian M. (fabian_m702)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
ich möchte die Klingelanlage meiner Wohnung smart machen und mittels 
Wemos D1 mini das Klingelsignal erkennen, aufs Smartphone weiterleiten 
und später über dieses die Tür öffnen können.
Ich habe mir dafür den angehängten Schaltplan überlegt.

Beim Testen der einzelnen Komponenten ist mir aufgefallen, dass sich das 
Relais nicht wie von mir erhofft schalten lässt. Es ist immer an; 
Unabhängig von LOW oder HIGH am ESP Ausgang.
Ich verwende ein "JQC3F-05VDC-C" Relais. Ein Bild davon ist im 
Schaltplan.

Ich habe zum Test einen einfachen Blink Sketch auf den ESP geflashed und 
gemerkt, dass selbst bei LOW noch eine Spannung von 0,11V am 
Schaltausgang des ESP  für das Relais anliegt. Erst wenn ich das Kabel 
zwischen Relais ("IN) und GPIO trenne geht das Relais aus.
Woher kommt diese Restpannung, die wohl verhindert, dass das Relais 
schaltet?
und was muss ich tun um das Problem zu beheben?

Habe es schon mit einem 10kOhm Pullupwiderstand zwischen 5V und 
Schaltausgang, sowie mit einem 1kOhm Pulldown Widerstand zwischen GND 
und Schaltausgang probiert. Beides ohne Erfolg. Das Problem mit der 
Restspannung bleibt gleich.
Ich hoffe Ihr könnt mir helfen.

Liebe Grüße
Fabi

von Kilo S. (kilo_s)


Lesenswert?

PWM für den Summer?...

Kein digitalWrite(Pin, Low), analogWrite(Pin, 0) verwenden.

Dann klappt's auch mit dem Relais.

Jedenfalls wäre das meine Vermutung.

von H. H. (hhinz)


Lesenswert?

Was für ein Transistor ist auf deinem Relaismodul verbaut, NPN oder PNP?

Und die Spannungsversorgung deines Optokopplers gehört nicht an +5V, 
sondern an +3,3V, direkt vom Wemos.

von Fabian M. (fabian_m702)


Lesenswert?

Kilo S. schrieb:
> PWM für den Summer?...
>
> Kein digitalWrite(Pin, Low), analogWrite(Pin, 0) verwenden.
>
> Dann klappt's auch mit dem Relais.
>
> Jedenfalls wäre das meine Vermutung.

Sorry das verstehe ich nicht.
Ja, der passive Summer wird später mit "tone()", also PWM angesteuert.
Aber diesen habe ich noch nicht mal angeschlossen. Sollte also nichts 
mit dem Summer zu tun haben.

Zum Testen verwende ich folgenden Code - also schon mit digitalWrite und 
habe auch nur das Relais angeschlossen. Was soll ich stattdessen 
verwenden?
1
#define RELAIS_PIN D6
2
3
void setup() {
4
  pinMode(RELAIS_PIN, OUTPUT);
5
  digitalWrite(RELAIS_PIN, HIGH);
6
}
7
8
void loop() {
9
  digitalWrite(RELAIS_PIN, LOW);
10
  delay(3000);
11
  digitalWrite(RELAIS_PIN, HIGH);
12
  delay(3000);
13
}

von Helmut -. (dc3yc)


Lesenswert?

Fabian M. schrieb:
> Ich habe mir dafür den angehängten Schaltplan überlegt.

Das ist kein Schaltplan, das ist ein Wimmelbild, das auch im 
Kindergarten gerne angeschaut wird.

von H. H. (hhinz)


Lesenswert?

Helmut -. schrieb:
> Fabian M. schrieb:
>> Ich habe mir dafür den angehängten Schaltplan überlegt.
>
> Das ist kein Schaltplan, das ist ein Wimmelbild, das auch im
> Kindergarten gerne angeschaut wird.

Ist aber dennoch ausreichend übersichtlich.

von H. H. (hhinz)


Lesenswert?

Fabian M. schrieb:
> Zum Testen verwende ich folgenden Code

Der passt schon.

Schau nach dem Transistor auf dem Relaismodul!

von Fabian M. (fabian_m702)


Lesenswert?

H. H. schrieb:
> Was für ein Transistor ist auf deinem Relaismodul verbaut, NPN oder PNP?

Das kann ich leider nicht sagen. Hatte das Modul noch bei mir rumliegen.
Konnte es mit googeln auch nicht herausfinden.

> Und die Spannungsversorgung deines Optokopplers gehört nicht an +5V,
> sondern an +3,3V, direkt vom Wemos.

Stimmt, danke. Das habe ich übersehen. Ändere ich noch.

von Kilo S. (kilo_s)


Lesenswert?

Fabian M. schrieb:
> Sorry das verstehe ich nicht.

Wenn das Relais und der Summer am selben Port (nicht Pin!) hängen macht 
der gesamte Port PWM wenn du für den Summer Pin irgendwas (auch nur die 
Initialisierung) in Richtung PWM machst. Du musst den relaispin also mit 
analogWrite(pin_relais, 0) auf GND ziehen und nicht mit digitalWrite.

Beispiel Pin D6/7 liegen auf PB1/2, du initalisierst für den Summer nun 
D7 (PB2) nun wird aber nicht nur PB2 zum PWM Ausgang sondern alle Pins 
die an P(ort)B sind, PB1/D6 also ebenfalls.

Das ist eine "Falle", in die bin ich selbst mal getappt als ich einen 
Lüfter und ein Relais am selben Port betrieben habe.

Achte auch auf die richtige Zuordnung der Pins! Nicht jedes Modul hat 
die korrekte Beschriftung.

von H. H. (hhinz)


Lesenswert?

Fabian M. schrieb:
> H. H. schrieb:
>> Was für ein Transistor ist auf deinem Relaismodul verbaut, NPN oder PNP?
>
> Das kann ich leider nicht sagen. Hatte das Modul noch bei mir rumliegen.
> Konnte es mit googeln auch nicht herausfinden.

Auf dem Transistor gibts sicher ein Marking, z.B. "Y2".

von Fabian M. (fabian_m702)


Lesenswert?

H. H. schrieb:
> Auf dem Transistor gibts sicher ein Marking, z.B. "Y2".

Hast recht, konnte es erst nicht erkennen.
Es steht "2TY" drauf.

von H. H. (hhinz)


Angehängte Dateien:

Lesenswert?

Fabian M. schrieb:

> Es steht "2TY" drauf.

Also ein 8550, PNP.

Mit den 3,3V des Wemos kannst du den Transistor nicht abschalten. Als 
Notlösung drei einfache Dioden zwischenschalten, Kathoden in Richtung 
Wemos.

Nächstes mal ein passendes Relaismodul kaufen.

von Fabian M. (fabian_m702)


Lesenswert?

H. H. schrieb:
> Mit den 3,3V des Wemos kannst du den Transistor nicht abschalten.

Aber ich kann ja mit den 3,3V schalten -> Grüne LED geht an.
Wenn ich das Kabel an Relais "IN" rausziehe, also 0V, geht es wieder 
aus.
Nur mit digitalWrite(PIN, LOW) geht es nicht aus weil ich damit noch 
0,11V am Eingang habe.

Oder liegt das dann trotzdem am Transistor?

von H. H. (hhinz)


Lesenswert?

Fabian M. schrieb:
> Aber ich kann ja mit den 3,3V schalten -> Grüne LED geht an.

Klar, weil du zum abschalten mehr als 4,5V brauchst.

Oder nochmals deutlich: Das Relais wird bei hohem Pegel *ab*geschaltet.

Das Modul ist einfach für die 5V-Welt der meisten Arduinos gedacht.

von Otto K. (opto_pussy)


Lesenswert?

Fabian M. schrieb:
> Oder liegt das dann trotzdem am Transistor?

Wenn der Emitter von deinem PNP-Transistor an plus 5 Volt liegen, dann 
können die 3,3 Volt vom Wemos den PNP-Transistor nicht abschalten, 
deswegen müssen die, von Herrn Hinz empfohlenen, 3 Dioden vor die Basis 
geschaltet werden.

von Rainer W. (rawi)


Lesenswert?

H. H. schrieb:
> Ist aber dennoch ausreichend übersichtlich.

Das kommt drauf an, wieviel Aufwand man Helfenden zumuten möchte.

Dinge wie eine klare Erkennbarkeit der Versorgungsspannungen, klar 
erkennbarer Signalfluss, Namen von Signalen und Bedeutung der 
verbundenen Pins kommen zu kurz und es bedarf deutlicher Detektivarbeit, 
um aus diesem bunten Bild zu erkennen, was da überhaupt gemeint ist. Wie 
du selbst schon sagst - ziemliche Unklarheit über die Details, versteckt 
hinter hübschen, wenig sagenden bunte Bildchen. Nicht ohne Grund haben 
sich Schaltpläne seit Jahrzehnten in der Elektronik bewährt (wobei auch 
früher nicht alles, was sich Schaltplan nannte, unbedingt das Attribut 
"übersichtlich" verdiente ;-)

H. H. schrieb:
> Was für ein Transistor ist auf deinem Relaismodul verbaut, NPN oder PNP?

Zitat aus Wikipedia:
"Ein Schaltplan ... ist eine in der Elektrik und Elektronik 
gebräuchliche grafische Darstellung einer Schaltung. Sie berücksichtigt 
nicht die reale Gestalt und Anordnung der Bauelemente, sondern ist 
eine abstrahierte Darstellung der Funktionen in Form definierter 
Symbole für die einzelnen Bauelemente und deren elektrische 
Verschaltung."
https://de.wikipedia.org/wiki/Schaltplan

: Bearbeitet durch User
von Nemopuk (nemopuk)


Lesenswert?

Fabian M. schrieb:
> das Klingelsignal erkennen, aufs Smartphone weiterleiten

Knackpunkt: Wie sorgst du dafür, dass dein Smartphone ständig 
empfangsbereit ist? Mit SMS würde es sicher gehen, aber das war wohl 
nicht dein Plan.

: Bearbeitet durch User
von Fabian M. (fabian_m702)


Lesenswert?

Habe es jetzt mit 3 Dioden getestet und funktioniert einwandfrei.
Vielen Dank. Damit kann ich weiter machen.

Helmut -. schrieb:
> Das ist kein Schaltplan, das ist ein Wimmelbild, das auch im
> Kindergarten gerne angeschaut wird.

Ja, "Schaltplan" war hier wohl der falsche Begriff für meine Skizze.
Zur groben Darstellung meines Aufbaus sollte es dennoch gereicht haben.
Es ging mir ja auch hauptsächlich nur um das Relais.

von Fabian M. (fabian_m702)


Lesenswert?

Nemopuk schrieb:
> Knackpunkt: Wie sorgst du dafür, dass dein Smartphone ständig
> empfangsbereit ist? Mit SMS würde es sicher gehen, aber das war wohl
> nicht dein Plan.

Ich will das Klingelsignal (wahrscheinlich über MQTT) an meinen ioBroker 
senden und von da dann unter anderem ans Smartphone. Wie genau weiß ich 
noch nicht aber da gibt es sicher Wege eine einfache Pushnachricht zu 
senden :)

von H. H. (hhinz)


Lesenswert?

Fabian M. schrieb:
> Habe es jetzt mit 3 Dioden getestet und funktioniert einwandfrei.
> Vielen Dank. Damit kann ich weiter machen.

Denk aber dran, das ist nur eine Notlösung.

z.B. dieses arbeitet mit einem NPN-Transistor:

https://www.amazon.de/dp/B0DBZQVWPM

Und sowas gibts dann sicher auch mit einem Relais für 5V.

: Bearbeitet durch User
von Fabian M. (fabian_m702)


Lesenswert?

H. H. schrieb:
> Denk aber dran, das ist nur eine Notlösung.

Was wären denn die Nachteile, wenn ich es mit den Dioden betreibe?
Ist es riskant das so umzusetzen? Sonst werde ich wohl zur Sicherheit 
doch noch ein anderes Relaismodul besorgen.

> z.B. dieses arbeitet mit einem NPN-Transistor:
> https://www.amazon.de/dp/B0DBZQVWPM
> Und sowas gibts dann sicher auch mit einem Relais für 5V.

Aber auf dem von dir verlinkten steht doch auch "2TY" auf dem 
Transistor. Ist das dann nicht der gleiche?
Woran erkenne ich welches Modul das richtige ist? Also einen NPN hat.

von H. H. (hhinz)


Lesenswert?

Fabian M. schrieb:
> Aber auf dem von dir verlinkten steht doch auch "2TY" auf dem
> Transistor. Ist das dann nicht der gleiche?

Mist, da haben mich die alten Augen im Stich gelassen. Da ist in der Tat 
auch ein 8550 drauf.


> Woran erkenne ich welches Modul das richtige ist? Also einen NPN hat.

Am Marking, oder mit was der Emitter des Transistors verbunden ist.
Hängt er an GND, dann ist es ein NPN.

von H. H. (hhinz)


Lesenswert?

Fabian M. schrieb:
> Was wären denn die Nachteile, wenn ich es mit den Dioden betreibe?

Wenn du den Wemos schlafen schickst, dann kann dessen 
Versorgungsspannung zu sehr ansteigen. Könnte man durch eine Mindestlast 
an den 3,3V verhindern. Es würden schon 100µA sicher reichen, also ein 
33kOhm Widerstand.

von H. H. (hhinz)


Lesenswert?

Damit du siehst, dass es wirklich solche Relaisplatinchen gibt:

https://cloud.tencent.com/developer/article/2268483

von Nemopuk (nemopuk)


Lesenswert?

Fabian M. schrieb:
> Woran erkenne ich welches Modul das richtige ist?

An einer ordentlichen Produktbeschreibung. Leider kauft man oft die 
Katze im Sack, wenn auch die Fotos als "Abbildung ähnlich" gemeint sind.

: Bearbeitet durch User
von Obelix X. (obelix)


Lesenswert?

Fabian M. schrieb:
> Ja, "Schaltplan" war hier wohl der falsche Begriff für meine Skizze.
> Zur groben Darstellung meines Aufbaus sollte es dennoch gereicht haben.
> Es ging mir ja auch hauptsächlich nur um das Relais.

Masseschleifen sind zu vermeiden! Für die Übersichtlichkeit möglichst 
Kreuzungen von Leitungen vermeiden bzw. minimieren.

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.