Forum: Mikrocontroller und Digitale Elektronik Relais beschalten


von ESP8266 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo ich habe folgendes Problem ich habe einen ESP8266 und möchte damit 
ein Relais beschalten, wenn ich nun die Spannungsversorgung einschalte 
ziehen beide Relais an obwohl ich Ausgänge beim starten des ESP's auf 0 
setze. Kann mir jemand sagen ob die Schaltung so verwendet werden kann 
oder ob sie falsch ist ???

von Thomas (Gast)


Lesenswert?

Hallo ESP8266,

Du hast bedacht, dass der ULN2003 eine Invertierung des Ausgangssignales 
vom ESP8266 vornimmt?
Somit werden bei "H"-Pegel am Eingang die Ausgänge des ULN2003 nach 
Masse geschaltet.

Je nachdem, wie die Relaisplatine funktioniert, kann das richtig oder 
flasch sein...

von ESP8266 (Gast)


Lesenswert?

Ist das wirklich so? D.h. wennn 0V anligen Schaltet der ULN2003 durch 
und wenn 3,3 V anliegen nicht? Das wollte ich eigentlich verhindern. Das 
Relais ist nämlich LOW active und ich wollte es HIGH active betreiben

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Thomas schrieb:
> Somit werden bei "H"-Pegel am Eingang die Ausgänge des ULN2003 nach
> Masse geschaltet.
Und bei L-Pegel ist der Ausgang einfach hochohmig und somit undefinert.

> Je nachdem, wie die Relaisplatine funktioniert...
Das ist wahrlich interessant. Wozu sind danoch Optokoppler drauf? Was 
ist das für ein Ding? Bekommst du damit die Relais geschaltet, wenn du 
deiniferte statische Pegel anlegst?

von ESP8266 (Gast)


Lesenswert?

Was ich noch vergessen habe zu sagen, wenn ich aber vor dem Einschalten 
der Spannung die Verbindung (ESP -> ULN2003) trenne und sie erst nach 
dem "Hochfahren" des ESP's verbinde funktioniert die Schaltung 
korrekt...

von Thomas (Gast)


Lesenswert?

ESP8266 schrieb:
> Ist das wirklich so? D.h. wennn 0V anligen Schaltet der ULN2003 durch
> und wenn 3,3 V anliegen nicht? Das wollte ich eigentlich verhindern.

Nein.

Schau mal ins Datenblatt des ULN2003, Seite 12!

Bekommt der ULN eine Eingangsspannung > 2,4V (oder so), schaltet der 
Transistor den Ausgang nach Masse durch.

von ESP8266 (Gast)


Lesenswert?

Ja wollte ich doch meinen!

von Thomas (Gast)


Lesenswert?

@ESP8266:

Lothar M. schrieb:
> Das ist wahrlich interessant. Wozu sind danoch Optokoppler drauf? Was
> ist das für ein Ding? Bekommst du damit die Relais geschaltet, wenn du
> deiniferte statische Pegel anlegst?

Diesen Test solltest Du mal machen!
Wen Du einen der Eingänge Deiner Relaisplatine mit Masse verbindest und 
dann das zugehörige Relais anzieht, bist Du schonmal auf einem guten 
Weg.

Vorher natürlich die Verbindungen zum ESP8266 abtrennen!

von ESP8266 (Gast)


Lesenswert?

ja das habe ich getestet. Wenn die Relais Eingönge an masse gelegt 
werden Schalten sie durch wenn 3 V anliegen nicht.

von ESP8266 (Gast)


Lesenswert?

Wie gesagt die Relais ziehen komischerweise nur an wenn die 
Spannungsversorgung eingeschaltet wird. wenn ich die Verbindungen vom 
ESP zum ULN2003 erst während des Betriebs verbinde funktioniert es.

von ESP8266 (Gast)


Angehängte Dateien:

Lesenswert?

Hier nochmal der Relaisschaltplan

von ESP8266 (Gast)


Lesenswert?

also kann man die Schaltung erstmal Grundsätzlich so betreiben oder gibt 
es bessere Möglickeiten

von Michael U. (amiga)


Lesenswert?

Hallo,

ESP8266 schrieb:
> Was ich noch vergessen habe zu sagen, wenn ich aber vor dem Einschalten
> der Spannung die Verbindung (ESP -> ULN2003) trenne und sie erst nach
> dem "Hochfahren" des ESP's verbinde funktioniert die Schaltung
> korrekt...

der ESP8266 erkennt über den Steuereingang des ULN einen Low-Pegel und 
startet damit in den Programmiermode.
Man kann GPIO00 nur für eine Highside-Steuerung oder als Eingang 
problemlos nutzen. Also einen pnp mit Eimitter an 3,3V, 
Basiswiderstandzum GPIO0 und

den Kollektor über einen Basiswiderstand an einen npn-Transistor und in 
dessen Kollektorkreis schalten. Steuerung ist dann H-aktiv.

GPIO2 ist beim Starten des ESP auch erstmal Ausgang und High, das ist 
TX1 und wird als Debug-Uart für die Bootroutinen genutzt bis das System 
oben ist.
Da schaltet das Relais also bei PowerOn erstmal kurz ein.

Gruß aus Berlin
Michael

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

ESP8266 schrieb:
> also kann man die Schaltung erstmal Grundsätzlich so betreiben
Ja.

> gibt es bessere Möglickeiten
Man könnte den Optokoppler weglassen. Und stattdessen einen 10k Pulldown 
von der Basis zum Emitter des Relaisschalttransistors reinmachen...

Aber ich glaube fast, es gibt generell nichts, was die Chinesen nicht 
noch schlechter machen können. Der Entwickler dieser Relaisschaltung hat 
sowas auf jeden Fall noch nicht oft gemacht.

von Michael U. (amiga)


Lesenswert?

Hallo,

natürlich kann man Optokoppler und ULN weglassen und den Kollektor des 
pnp aus meinem obigen Beitrag gleich an den Basiswiderstand legen.

Die Problematik entsteht letztlich durch die Eigenarten der 
ESP-Firmware.
GPIO4 und 5 sind uneingeschränkt nutzbar, GPIO 12,13,14 auch, sind aber 
auch Hardware-SPI, wenn ihn braucht. GPIO15 muß Low zur Bootzeit sein, 
sond frei verfügbar, GPIO16 ist Sleepsignal, sonst frei nutzbar.

Gruß aus Berlin
Michael

von ESP8266 (Gast)


Lesenswert?

OK vielen Dank erstmal! Aber nochmal eine andere Frage wie komme ich 
denn an die anderen GPIOS? auf meiner Platine gibt es nur GPIO0 und 
GPIO2...

von ESP8266 (Gast)


Lesenswert?

Ansonsten könnte ich ja noch einen Arduino Nano dazwischen schalten...

von Werner P. (Gast)


Lesenswert?

Nimm halt einen ESP12

von Dauergast (Gast)


Lesenswert?

Eingang des OC freilegen, GPIO0 und GPIO2 so anschließen:

         /-----[4k7]-------\
GPIO ---|                   |--- 3V3
         \---|<---[220]----/
             OC

GPIO=low schaltet das Relais ein.
GPIO kann laut ESP-Datenblatt 12mA, hier fließen <8mA.

Grüne LED in Reihe zu OC kann funktionieren, muß aber nicht. Ich würde 
sie eher mit 220R parallel zur Relaisspule schalten, wenn ich sie 
bräuchte.

von ESP8266 (Gast)


Lesenswert?

Vielen Dank für die Tipps!

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.