Forum: Mikrocontroller und Digitale Elektronik ESP8266 mit Attiny schalten


von Dan (Gast)


Angehängte Dateien:

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

von Björn R. (sushi)


Lesenswert?

Wie sieht denn deine 3,3V-Versorgung aus? hast du da genug Kapazität 
eingebaut?

LG, Björn

von Bernard B. (bernard_b)


Lesenswert?

Wie wäre es mit einer Kombination aus N/P-MOSFETs oder N-MOSFET ?

: Bearbeitet durch User
von Andreas M. (amesser)


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.

von Stefan F. (Gast)


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.

von Stefan F. (Gast)


Lesenswert?

Ich würde ja empfehlen, den ATtiny direkt an die Batterie zu hängen und 
für den ESP einen Spannungsregler mit Enable-Eingang zu benutzen. Dann 
brauchst du kein Relais.

http://www.analog.com/en/products/lt1763.html
http://www.ti.com/product/LP38693

von BM (Gast)


Lesenswert?

Die LT1763 sind dafür super geeignet, nehme ich auch immer.

von Sebastian R. (sebastian_r569)


Lesenswert?

Ich würde empfehlen, alle Anwendungen auf dem 80MHz SoC laufen zu 
lassen, anstatt auf dem Tiny.

Gibt auch ein paar Sleep-Modi ;)

von Schorsch (Gast)


Lesenswert?

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

von Plasmawölkchen (Gast)


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.

von Stefan F. (Gast)


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.

von Plasmawölkchen (Gast)


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).

von Stefan F. (Gast)


Lesenswert?

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.

von BM (Gast)


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.

von Peter H. (borntopizza)


Angehängte Dateien:

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

von Peter H. (borntopizza)


Lesenswert?

Und natürlich Kondensatoren nicht veregssen, parallel zur 
versorgungsspannung.

von Sascha K. (kuschelganxta)


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

von Stefan F. (Gast)


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.

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.