Forum: Analoge Elektronik und Schaltungstechnik Relais Reset und Stromausfall stabil


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Martin P. (mpeg)


Lesenswert?

ich Suche eine Schaltung für meine Heizungssteuerung.
Das Relais soll bei Stromausfall oder wenn der ESP32 resettet wird 
seinen Zustand behalten.
Beim Reset springen die I/O Leitungen des ESP manchmal undefiniert 
herum.
Die Heizung soll dann aber nicht an/aus/an/aus bekommen.

EIn Bistabiles Relais löst das erste Problem, aber noch nicht das mit 
dem Reset.

von Jörg R. (solar77)


Lesenswert?

Martin P. schrieb:
> Beim Reset springen die I/O Leitungen des ESP manchmal undefiniert
> herum.

Wie lange dauert die Phase bis ESP stabil läuft?

Zum Verständnis...nehmen wir an die Heizung wird durch ein bistabiles 
Relais geschaltet. Dann soll die Schaltung verhindern dass das Relais 
durch evtl. wild schaltende Ports des ESP betätigt wird.

: Bearbeitet durch User
von K. S. (the_yrr)


Lesenswert?

Martin P. schrieb:
> Beim Reset springen die I/O Leitungen des ESP manchmal undefiniert
> herum.

Nur beim Reset selber oder auch während der Initialisiert?
und sind die nur Tristate floatend oder treiben die wirklich Strom?

Tristate -> Pull Up/Down Widerstand

nur während Reset -> Beliebiges CMOS Gatter mit Enable Eingang an die 
Reset Leitung oder (ich nehme an Reset ist low Aktiv) einmal negierte 
Reset Leitung UND Verknüpfen mit dem Signal.

Auch während Initialisierung -> Entweder Gatter + Zeitverzögerung an 
Reset Leitung, Schmitt Trigger Eingang und R||D - C Filter dran, die 
Diode damit der beim aktiv werdenden Reset keine Verzögerung hat. Oder 
halt was mit nem 555er dazu.
Alternativ bleibt noch ein 6-8 Pin µC, der ist kleiner, will aber 
programmiert werden.

als Gatter könnte ein sogenanntes "configurable multi function gate" 
reichen, das sollte eigentlich immer alles Notwendige beinhalten und 
gibt es schön klein.

von Jörg R. (solar77)


Angehängte Dateien:

Lesenswert?

Anbei ein erster Schaltungsansatz. Nach einem Stromausfall muss der C 
soweit über R1 geladen werden damit das erste Gatter auch auf das Signal 
vom uC reagieren kann. Das zweite Gatter negiert nur um dann den NPN 
anzusteuern. Das bistabile Relais ist im Beispiel eines mit einer Spule 
die eine Mittelanzapfung hat. Das IC muss unbedingt eines mit 
Schmitt-Trigger-Charakterisiert sein.

Bei einem Stromausfall sorgt R2 für eine Entladung des C.

Wie gesagt, nur ein Entwurf der sicherlich Verbesserungspotential hat.

von K. S. (the_yrr)


Lesenswert?

Jörg R. schrieb:
> Bei einem Stromausfall sorgt R2 für eine Entladung des C.

Sieht gut aus, bis auf diesen Teil. wenn man für den Schmitt Trigger 
0.7*VCC als obere Schwelle annimmt, dauert es fast 8 Sekunden bis der 
Kondensator "entladen" ist (bei 0.7*Vcc), danach reichts aber noch nicht 
für ne Anschaltverzögerung.

Von 0.5 bis 0.7 *Vcc wären es immerhin etwas über 1s 
Anschaltverzögerung.
Dann muss der Strom aber auch ganze 15s weg sein (um den Kondensator von 
Vcc bis 0.5*Vcc zu entladen).

Eine Diode in Sperrichtung parallel zu R1 könnte helfen, wenn Vcc weg 
ist, ist auch der C leer. Oder nen PNP parallel zu dem C mit Basis an 
Vcc, dann ist der C leer sobald Vcc < 0.7V. oder halt mit der Basis an 
ne Enable/Reset Leitung vom µC, abhängig von der polarität durch nen NPN 
ersetzen.

von Jörg R. (solar77)


Lesenswert?

K. S. schrieb:
> Von 0.5 bis 0.7 *Vcc wären es immerhin etwas über 1s
> Anschaltverzögerung.
> Dann muss der Strom aber auch ganze 15s weg sein (um den Kondensator von
> Vcc bis 0.5*Vcc zu entladen).
>
> Eine Diode in Sperrichtung parallel zu R1 könnte helfen, wenn Vcc weg
> ist, ist auch der C leer. Oder nen PNP parallel zu dem C mit Basis an
> Vcc, dann ist der C leer sobald Vcc < 0.7V. oder halt mit der Basis an
> ne Enable/Reset Leitung vom µC, abhängig von der polarität durch nen NPN
> ersetzen.

Ja, das mit dem Entladen des C ist ein Problem. Dass muss eigentlich 
sehr schnell passieren.

Ein Gedanke in eine andere Richtung geht direkt zum ESP. Vielleicht wäre 
es sinnvoll den zu puffern, mit einem kleinen Akku oder einem Supercap. 
So würde er kurze oder auch schnell aufeinander folgende Stromausfälle 
ignorieren.

Über Deine Vorschläge zur Schaltungsverbesserung muss man auch 
nachdenke. Meine Werte sind auch etwas aus dem Bauch heraus gewählt und 
nur grob geschätzt. R2 darf im Verhältnis zu R1 auch nicht zu klein 
werden. Das Entladen des C braucht daher wirklich einen anderen Ansatz.


K. S. schrieb:
> Oder halt was mit nem 555er dazu.

Vielleicht eine Überlegung wert. Zumindest kann der den C schnell 
entladen.

: Bearbeitet durch User
von Andre (Gast)


Lesenswert?

Martin P. schrieb:
> Beim Reset springen die I/O Leitungen des ESP manchmal undefiniert
> herum.

Dann nimm IOs die nichts mit dem Bootloader zu tun haben, die sind 
stabil. Habe ich selber so im Einsatz.

von Stefan F. (Gast)


Lesenswert?

Du könntest ein bistabiles Relais indirekt durch einen I²C Bus 
Port-Expander schalten, dann hast du das Problem beim Reset nicht und 
nebenbei noch 6 weitere Ausgänge frei. Schau Dir mal den TPIC2810 an. 
Der schafft 100mA und da kannst du das Relais direkt anschließen. Du 
brauchst nicht einmal Freilaufdioden.

von Martin P. (mpeg)


Lesenswert?

Danke soweit für die Tips.
Zur zeit ist das Relais an Pin33 und damit eigentlich boot-safe.
Leider bringt das nichts, weil:
1. Bei booten trotzdem der Zustand nicht erhalten bleibt und
2. Pin33 auch beim booten mal High, und mal Low ist.

Das Resetten ist leider notwendig, da der ESP32 einen Bug hat und 
manchmal keine Wifi Verbindung aufbaut. Wenn er nach 40 Sekunden keine 
Verbindung hat, mache ich einen Reset.

Das mit dem TPIC2810 klingt super, nur ist er scheinbar schwer zu 
bekommen.

von Stefan F. (Gast)


Lesenswert?

Martin P. schrieb:
> Das mit dem TPIC2810 klingt super, nur ist er scheinbar schwer zu
> bekommen.

Dann nimm einen PCF8574 + Transistoren zur Verstärkung. Aber bedenke 
dabei, dass die Ausgänge von diesem Chip im Ruhezustand High Pegel 
liefern. So könnte es klappen:
1
                         3,3V                         5V (oder mehr)
2
                           o                           o
3
                           |                           |
4
                           |             +-----|>|-----+  1N4148
5
                  10kΩ   |/<             |             |
6
Ausgang      o---[===]---|               +-----XXXX----+  Spule
7
vom PCF8574              |\              |
8
                           |           |/
9
                           +---[===]---|     BC337-40
10
                                1kΩ    |\>
11
                  BC327-40               |
12
                                        GND

von Martin P. (mpeg)


Lesenswert?

Hab jetzt meinen Plan geändert.
Kein Booten des ESP im laufenden Betrieb. Ohne WLAN läuft die Steuerung 
trotzdem.
Relais NC Kontakt steuert die Heizung. Relais wird über ULN2008 vom ESP 
angesteuert, active Low. Wenn Strom ausfällt, ESP spinnt oder bootet ist 
Relais immer stromlos und die Heizung an. Das Gleiche für die Pumpe.

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.