Hallo zusammen,
ich verzweifle gerade dabei eine Schaltung zu realisieren, die ein
ESP8266-Modul über einen GPIO des Atiny45 ein- und ausschaltet.
Laut Datenblatt liefert der GPIO des Attiny 2,5V und 40mA. Die
Versorgungsspannung der Schaltung liegt bei 3,3V. Zum Schalten des ESP
hatte ich mich für ein Relais, dass mit 3V geschaltet werden kann (G5V-1
DC3) entschieden.
Da der Strom und die Spannung des Microcontrollerausgangs nicht
ausreicht, um das Relais durchzuschalten, habe ich versucht das Relais
mit einer vorgeschalteten Treiberschaltung zu schalten. (Zeichnung der
Schaltung siehe Anhang)
Mit dem Collectorstrom (0,05A) , der minimalen Verstärkung (160), dem
Sicherheitsfaktor von 3,1, der Emitterspannung (3,3V) und der
Basis-Emitter-Spannung (1,2V) lande ich bei einem Basiswiederstand von
etwa 2,1kOhm.
Wenn ich die Schaltung derart umsetze schaltet das Relais nicht durch
wenn das ESP an das Relais angeschlossen ist. Wenn das ESP nicht
angeschlossen ist schaltet das Relais durch. Wenn man das ESP nach dem
Schaltvorgang nachträglich verbindet bleibt das Relais druchgeschaltet.
Was mache ich falsch? Ist der Vorwiederstand falsch dimensioniert oder
das Relais / der Transistor für die Schaltung nicht geeignet?
Vielen Dank schon vorab für jede Hilfe.
Liebe Grüße
Dan
Beim Anschalten des ESPs wird die Betriebsspannung zusammenbrechen
(Eingangskondenstatoren) und der ATTiny einen Reset machen. Du brauchst
vermutlich sowas wie einen Soft-Start. Eventuell reicht auch eine kleine
Spule vor dem ESP(Freilaufdiode nicht vergessen).
Ich würde das mit einer Kombination aus PNP und NPN und einen RC Glied
machen.
Dan schrieb:> Wenn ich die Schaltung derart umsetze schaltet das Relais nicht durch> wenn das ESP an das Relais angeschlossen ist. Wenn das ESP nicht> angeschlossen ist schaltet das Relais durch.
Dann hast du offensichtlich deine 3,3V Spannungsversorgung überlastet.
Der ESP8266 benötigt zeitweise 400mA.
Hi,
ich betreibe einen ESP8266 hinter einem Attiny13A, gekoppelt über ein
Reed-Relais. Der Attiny "weckt" den großen alle 20min zur Messung von
Temperatur & Luftfeuchtigkeit auf. Läuft jetzt seit über 5 Monaten am
Stück
https://github.com/gvoigtlaender/EspSensorModule
Schorsch
Beim Booten greift der ESP in der Regel schreibend auf den Flash (auf
Konfigurationsdaten) zu. Da Schalter-/Relaiskontakte prellen, kann das
zum korrupten Flash führen. Das habe ich mehrfach erlebt. Beim
Einschalten über einen P-MOSFET klappt das aber perfekt. Da beim
Einschalten die Betriebsspannung einbrechen kann, den ATTINY -nicht-
direkt an die Betriebsspannung anschließen. Ich betreibe den ATTINY über
ein RC-Glied (47 Ohm, 220nF).
Es gibt viele Lösungen. Die Relais-Lösung ist eher keine.
> Beim Booten greift der ESP in der Regel schreibend auf> den Flash (auf Konfigurationsdaten) zu.
Das wäre aber ein Fail-By-Design, weil der Chip dann nach einigen
hundert Bootvorgängen kaputt zu gehen droht.
Flash Speicher und E²prom verlieren ihre Daten häufig sogar bei
Lesezugriffen, wenn die Stromversorgung nicht stabil ist.
Ich hatte das Problem zusammen mit NodeMCU. Inzwischen verwende ich nur
noch die API (das SDK). Aber auch dort habe ich Zweifel ob man Zugriffe
während des Bootens 100%ig verhindern kann. Die ganze ESP-Sache ist nach
meiner Meinung ziemlich zusammengekloppt.
Der ESP bootete bei mir nicht mehr, weil plötzlich seltsame Daten im
Konfigurationssektor standen. Nach dem Neuflashen war wieder alles Ok.
Zum Zerstören müsste man den Flash aber nicht hunderte Mal sondern
zigtausende Mal beschreiben. Das dürfte eigentlich praktisch nie
passieren. Das selbst Lesezugriffe den Flash unter bestimmten Umständen
ändern könnten ist mir neu (und macht mir Angst).
Plasmawölkchen schrieb:> Das selbst Lesezugriffe den Flash unter bestimmten Umständen> ändern könnten ist mir neu (und macht mir Angst).
Beim ESP8266 ist mir das noch nicht passiert, aber bei zwei einem AVR
(Xmega), und bei einem Ethernet Controller mit integriertem Flash.
Ich habe eine ziemlich gleiche Anwendung: alle 20 min Temp, Hum und
V-Solar messen.
Den ESP8266 schalte ich mit dem Enable des TL1763 ein,
das Aufwecken wird über einen TI Nanotimer TPL5110 gesteuert was
zuverlässig und mit nur 500nA Verbrauch funktioniert.
Somit hat man stabile Verhältnisse beim booten.
Hi, also der TO schreibt ja dass das Relais nicht durschaltet. Ich
verstehe nicht warum dass das hier keinen interessiert :D
Sollte eigentlich funktionieren... Transistor tauschen hat auch keinen
erfolg?
Evtl. kannst du ja mal die Schaltung im Anhang probieren, vielleicht
schaltet das relais dann.
Grüße aus Neuseeland
Peter
Hallo in die Runde,
Plasmawölkchen schrieb:> Beim Booten greift der ESP in der Regel schreibend auf den Flash (auf> Konfigurationsdaten) zu.
Damit hatte ich auch schon 2 defekte Module. Meine Lösung fand ich
irgendwo in den issues bei SDK auf github.
1
WiFi.forceSleepWake();
2
delay( 1 );
3
4
// Disable the WiFi persistence. The ESP8266 will not load and save WiFi settings in the flash memory.
5
WiFi.persistent( false );
6
WiFi.mode(WIFI_OFF); // this is a temporary line, to be removed after SDK update to 1.5.4
Peter H. schrieb:> Hi, also der TO schreibt ja dass das Relais nicht durschaltet. Ich> verstehe nicht warum dass das hier keinen interessiert :D
Darauf sind mehrere Leute eingegangen und haben als wahrscheinlichste
Ursache die Überlastung der Spannungsversorgung genannt:
Björn R. schrieb:> Wie sieht denn deine 3,3V-Versorgung aus?Andreas M. schrieb:> Beim Anschalten des ESPs wird die Betriebsspannung zusammenbrechenStefanus F. schrieb:> Dann hast du offensichtlich deine 3,3V Spannungsversorgung überlastet.