Hallo, mein Aufbau: ESP8266-01 Modul Programmiert mit der (latest) Arduino IDE GPIO0 soll über Transistor ein Relais ansteuern Also alles nichts Neues denke ich. Was mich aber wunder ist, dass ich scheinbar der einzige bin den es stört, dass das Relais angesteuert wird, wenn der ESP bootet. Versuche mit einem 12E-Module brachten das selbe Ergebnis: GPIOs zucken kurz und somit wird das Relais geschaltet. Versuche den GPIO0 active low oder active high zu betreiben brachten keine Lösung. Meint ihr, dass es mit einem Optokoppler/MOSFET eine Lösung gäbe? Wie würde da der Aufbau aussehen? Als Bsp. habe ich mal den active high Schaltplan angehängt. Spannunsversorgung ist noch ein anderes Thema. Würde mich sehr über Antworten freuen!
Hi Flip, mmmhhhh.... 1,8k habe ich keinen. Kannst du deine Angabe etwas erklären?
:
Bearbeitet durch User
warum wunderst du dich, dass das Relais zuckt wenn du so einen Murks machst? Im Resetzustand ist GPIO0 (wie übrigens die meisten PINS der meisten µCs) als Eingang bzw. tristate deiniert. Mit deiner Murksbeschaltung bietest du über R6, R7 genug Strom um den Transistor T2 an/durch zu steuern. Warum sollte andere das stören, die werden das kaum so machen....
Hi schufti, Vielen Dank für deinen stimmungsvollen Kommentar. ? Ich habe schon viele verschiedene schaltungsmöglichkeiten Durchgetestet. Nun bin ich halt an der hängengeblieben. Der Grund: es bootet. Sag doch mal was du andersmachen würdest!
Hallo, GPIO nicht als Ausgang nutze würde ich machen... Als Eingang für einen Taster oder ein Signal, das zur Bootzeit sicher High ist, geht auch. Wenn es denn ubedingt GPIO0 und Deine Relaisansteuerung sein soll: pnp-Transistor nehmen und Relais mit Low an GPIO0 einschalten. Emitter an +, Kollektor an Relais gegen GND. GPIO0 mit 10k an +, Basis über 10k an GPIO0. Dann bleibt der Transistor gesperrt bis GPIO0 definiert auf Low geschaltet wird. Ich habe an einem -12 alle nutzbaren Pins belegt, RFM12 dran und MCP23S17 am SPI. Da durfte ich mehrmals umsortieren, bis alle Zustände ohne Nebeneffekte passten. Gruß aus Berlin Michael
GPIO0 muß nun mal High beim booten sein. Und wenn dein Relais angeht, wenn GPIO0 High ist, dann wird es zwangsläufig beim booten auch angehen. Du mußt das Relais so ansteuern, daß GPIO0 high es ausschaltet und GPIO0 low es einschaltet. Dann noch die Logik in deinem Programm tauschen und alles wird gut. MfG Klaus
Michael U. schrieb: > Hallo, > > GPIO nicht als Ausgang nutze würde ich machen... > Als Eingang für einen Taster oder ein Signal, das zur Bootzeit sicher > High ist, geht auch. > Wenn es denn ubedingt GPIO0 und Deine Relaisansteuerung sein soll: > pnp-Transistor nehmen und Relais mit Low an GPIO0 einschalten. Emitter > an +, > Kollektor an Relais gegen GND. > GPIO0 mit 10k an +, Basis über 10k an GPIO0. Dann bleibt der Transistor > gesperrt bis GPIO0 definiert auf Low geschaltet wird. > > Ich habe an einem -12 alle nutzbaren Pins belegt, RFM12 dran und > MCP23S17 am SPI. Da durfte ich mehrmals umsortieren, bis alle Zustände > ohne Nebeneffekte passten. > > Gruß aus Berlin > Michael Hallo Michael, danke für den Tipp. Werde es testen, wenn meine PNP-Transistoren angekommen sind. Ich denke aber, dass wenn der GPIO nach oben oder unten "zuckt" der Transistor durch schaltet... Wenn du bei einem -12 alle GPIOs benutzt - was liegt bei diesen während des Bootens an? In dem Artikel: https://zoetrope.io/tech-blog/esp8266-bootloader-modes-and-gpio-state-startup wird auch nur über die GPIOs 0, 2 und 15 geschrieben. Meine Tests mit einem 12E (und den Pins 12, 13, 14, 16) ergaben aber, dass diese nicht stabil beim Booten sind.
Hallo, 12, 13, 14 (eigentlich auch 15 als CS) sindd er Hardware-SPI, kann schon sein, daß die beim Hochfahren vom ESP oder dem Arduino-Stratcode angefasst werden. Die 16 ist in der I/O-Tabelle von Espressif vorsichtshalber garnit enthalten, macht bei mir SCk für den RFM12 (Sofware-SPI, weil ich alre Routinen recycled habe). Ansonsten ist es eben das Problem, In- und Outs passend zuverteilen, entsprechend PullUp/PullDown an die ESP-Pins und jeweils Hardware so dran, daß es zumindest keinen Schadden anrichtet. Sind ja meist dann eben Relais o.ä., was sich nicht gut handhaben läßt. Ich habe im Momet keine dran, aber da ohnehin 2x MCP23S17 dran sind (wegen Display usw), habe ich da noch 12 I/O frei und da stört mich kein Gewackel des ESP wenn ich es nicht will. Gruß aus Berlin Michael
Hallo Michael, vielen Dank für die Tipps. Ich habe die Shaltung nun mal etwas umgestaltet (s. Anhang). Scheinbar sind wirklich nur GPIO4 u. 5 für meine Zwecke als Relay-Ansteuerung geeignet. Bei den "großen" Cs vor und nach dem LF33C bin ich mir überhaupt nicht sicher ob das so groß sein muss. Hat mir hierzu jemand noch einen Tipp? Grüße
:
Bearbeitet durch User
Hallo, ich kenne die Stromaufnahme Deiner Relais nicht. Mehr als 22µF habe ich hinter einem Regler noch nie eigebaut, vor dem Regler hängt von der 5V-Versorgung ab. Bei meinen meist benutzten Hany-Ladern oder Netzteilen sind bei mir meist 47-100µ dran, was ich gerade greife. Ich hätte da ohnehin 5V-Relais genommen und diese vor dem Regler angehangen. Entlastet den 3,3V-Regler und vermindert Störungen auf der 3,3V-Spannung beim Schalten. PullUps an GPIO0 und 2 habe ich keine, die internen des ESP sindda aktiv solange keiner an den Pins was umprogrammiert. CH_PD hängt direkt an 3,3V, darf er auch. GPIO15 wie bei Dir über 10-22k an GND, den kann man auch als I/O recht gut nutzen, er muß eben nur beim Reset auf Low liegen. Gruß aus Berlin Michael
Hi Michael, danke für die Tipps. Ja, Relay kommt eigentlich vor dem Regler an die Spannung. Grüße
Hallo Michael, nun bin ich endlich mal dazugekommen Deinen Vorschlag mit dem PNP zu testen. Doch leider tut das auch nicht (ESP8266-01 Modul). Mit einem esp-12E funktioniert nun alles recht zuverlässig. Grüße
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.