Forum: Mikrocontroller und Digitale Elektronik 16x Relais Initialzustand - wie Umsetzen


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 Robert (Gast)


Lesenswert?

Hallo,

ich versuche einen 16x Optokoppler Relais, welches Massenweise unter 
Ali, Ebay angeboten wird dazu zu bewegen dass alle Relais beim 
Einschalten zuerstmal nicht schlalten. Es reicht alleine wiederholt 12V 
an das China Modul anzuschliessen um zu sehen, dass unterschiedliche 
Relais schalten.

Um das Problem zu lösen habe ich 2x PCF8574 Pins an alle 16 Relais pins 
angeschlosen. Da Relais geschaltet werden, wenn Pin an Relais LOW ist, 
schalten jetzt alle Relais kurz am Anfang, bis ESP32 sich initialisiert 
und 2x PCF8574 über i2C so steuert, dass alle Pins PCF8574 HIGH sind und 
damit alle Relais ausgeshalten werden. Das Problem ist, dass ESP32 etwas 
Start+I2c init+Steuerung braucht, so werden am Anfang alle Relais für 
bis zu 1 Sekunde kurz geschaltet.

Welche Lösungswege habt ihr in Euren Projekten angewendet um Relais 
sofort in einem Konsisten Zustand zu steuern?

Momentan sehe ich 2 Lösungswege:
1) Stromzufuhr zu Relais selbst über einen MOSFET/Transistor verspätet 
erst nach dem ESP32 selbst initialisiert wurde zu aktivieren.
2) ESP32 durch etwas schnelleres (ATTINY) ersetzen...

Leider habe ich nicht gefunden, dass man PCF8574 so konfigurieren kann, 
dass es beim Einschalten alle Pins auf HIGH hat...

von Jochen (Gast)


Lesenswert?

Deine Schaltung taugt nichts.
Schalte die Relais so an, daß sie bei High-Pegel schalten und nutz 
zusätzlich PullDown-Widerstände für den undefinierten Zustand während 
des Prozessor-Resets.

von Jörg R. (solar77)


Lesenswert?

Jochen schrieb:
> Deine Schaltung taugt nichts.
> Schalte die Relais so an, daß sie bei High-Pegel schalten und nutz
> zusätzlich PullDown-Widerstände für den undefinierten Zustand während
> des Prozessor-Resets.

Kann man diese Boards nicht über Jumper konfigurieren ob sie bei „L“ 
oder „H“ schalten?

von Patrick C. (pcrom)


Lesenswert?

3) Anderes relayboard kaufen das diese bloede Problemen nicht hat

von Bauform B. (bauformb)


Lesenswert?

Die PCF8574 liefern als High nur 30uA, reicht das?

Es gibt auch Port-Expander mit Reset-Eingang, z.B. PCA9538, PCA9557. Ein 
Pull-Down am Reset schaltet alle Pins auf Input. Die Relais brauchen 
dann nicht geändert zu werden.

von MaWin (Gast)


Lesenswert?

Robert schrieb:
> Welche Lösungswege habt ihr in Euren Projekten angewendet um Relais
> sofort in einem Konsisten Zustand zu steuern?

Üblich ist, dass uC-Ausgänge hochohmig sind beim Einschalten. Relais 
etc. werden dann durch einen Widerstand, üblicherweise pull down an GND, 
in der ausgeschalteten Zustand gebracht. Wenn deine Relais high als 
ausgeschaltet interpretieren, brauchst du eben pull up Widerstände nach 
plus.

Dein PCF8574 aus der Ära des 8051 sollte aber bestens geeignet sein, 
denn "At power on, all outputs are high, in this mode only a current 
source from VCC is active".

Irgendwas stimmt also mit deiner Beschreibung nicht.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Robert schrieb:
> einen 16x Optokoppler Relais, welches Massenweise unter Ali, Ebay
> angeboten wird
Zeig doch einfach mit einem Link, welches du vor dir hast und am besten 
einen Schaltplan dazu. Das verkürzt die nachfolgende Ratestunde extrem.

> Es reicht alleine wiederholt 12V an das China Modul anzuschliessen
Ohne irgendwas sonst angschlossen zu haben?

> um zu sehen, dass unterschiedliche Relais schalten.
Kann das ding sepichern? Bleiben die dann dauerhaft auf dem 
entsprechenden Schaltzustand?

von Gugscht (Gast)


Lesenswert?

Bauform B. schrieb:
> Es gibt auch Port-Expander mit Reset-Eingang

Oder man nimmt gleich einen richtigen Relay-Treiberbaustein.
z.B. 8fach = TPL9202
hat dabei gleich einen "Programmable Power-On Reset Delay"

von Patrick C. (pcrom)


Lesenswert?

Robert schrieb:
> 16x Optokoppler Relais

Und wenn wir doch dran sind.... Was bringt ein Relais MIT Optokoppler ? 
Wozu dienst der Optokoppler ?

Patrick aus die Niederlaende

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick C. schrieb:
> Wozu dienst der Optokoppler ?
Wenn man sich bewusst macht, wie schlecht diese billigen Relais die 
Kontakte von der Spule isolieren und wie gering die Isolationsabstände 
sind, dann ist ein OK schon nicht schlecht.

Nur blöd, wenn dann die "Massen" links und rechts vom OK dann doch 
wieder miteinander verbunden werden.

von STK500-Besitzer (Gast)


Lesenswert?

Patrick C. schrieb:
> Und wenn wir doch dran sind.... Was bringt ein Relais MIT Optokoppler ?
> Wozu dienst der Optokoppler ?

Eine mögliche Pegelanpassung und/oder eine Signalverstärkung.

von Bauform B. (bauformb)


Lesenswert?

MaWin schrieb:
> Dein PCF8574 aus der Ära des 8051 sollte aber bestens geeignet sein,
> denn "At power on, all outputs are high, in this mode only a current
> source from VCC is active".
>
> Irgendwas stimmt also mit deiner Beschreibung nicht.

Denkbar, aber der eigentliche Fehler ist der interne Power-On_Reset. Der 
funktioniert wirklich nur bei Power On, Vdd muss praktisch von NULL 
hochlaufen. Beim PCF8574 von TI steht 0.767V im Datenblatt, bei NXP 0.2V 
und in einem anderen von TI sogar 0.0V.

In der alten Bauernregel "aus, 10 Sekunden warten, ein" steckt ein 
Körnchen Wahrheit. Deshalb verbaut man nur I2C-Teile mit Reset-Eingang.

von Jester (Gast)


Lesenswert?

Robert schrieb:
> Leider habe ich nicht gefunden, dass man PCF8574 so konfigurieren kann,
> dass es beim Einschalten alle Pins auf HIGH hat...

Siehe Datenblatt, Stichwort "Power On Reset"

von Jörg R. (solar77)


Lesenswert?

Roooobert..

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.