ESP8266 mit Attiny schalten

Gast #5665115
Lesenswert?

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
Angehängte Dateien:
#5665441
Lesenswert?

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.
Gast #5665477
Lesenswert?

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.
Gast #5665958
Lesenswert?

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.
Gast #5665995
Lesenswert?

> 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.
Gast #5666054
Lesenswert?

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).
Gast #5671692
Lesenswert?

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.
#5671703
Lesenswert?

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
Angehängte Dateien:
#5671707
Lesenswert?

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
7

8
WiFi.mode(WIFI_STA);
9
WiFi.hostname(NODE);
10
WiFi.setOutputPower(0);
11
WiFi.begin("SSID", "PASSWORD", 12);
12
IPAddress staticIP(192, 168, 0, 2);
13
IPAddress gateway(192, 168, 0, 1);
14
IPAddress subnet(255, 255, 255, 0);
15
WiFi.config(staticIP, gateway, subnet);
16
delay(1);

Grüße
Sascha
Gast #5671758
Lesenswert?

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 zusammenbrechen

Stefanus F. schrieb:
> Dann hast du offensichtlich deine 3,3V Spannungsversorgung überlastet.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren