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.
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
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.
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.
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.
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
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.
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.
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.
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 |
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.