Forum: Mikrocontroller und Digitale Elektronik PCF8574 mit ULN2003A wird Gestört


von Nico (nfo)


Lesenswert?

Hallo zusammen ich habe ein Problem was ich mir überhaupt nicht so 
richtig erklären kann. Selber bin ich vom Beruf Elektriker aber trotzdem 
komm ich mit meinem Wissen da nicht weiter.

Ich habe an meinem Raspberry einen PCF8574 via I2C angeschlossen. Dieser 
Chip steuert ein Transistorarray (ULN2003A) an der mir die Verschiedenen 
Farben eines LED-Streifens (12VDC) schaltet. Funktioniert auch soweit 
wie gewünscht.

Nur habe ich an den GPIOs des PIs noch eine Relaiskarte für Schaltungen 
von 230VAC dran. Wenn diese aber Schalten, werden die Ausgänge des 
PCF8574 ebenfalls aktiv obwohl keine Ansteuerung erfolgt. Die über die 
Relais geschalteten Geräte stehen in keiner Verbindung mit dem 
LED-Streifen außer das Versorgungsnetzteil hierfür. Die 230V Versorgung 
erfolgt über eine Steckdosenleiste und geht dann an die Netzteile und 
Versorgung der Relaiskarten.
Nachdem ich gedacht habe das vielleicht die fehlende Freilaufdiode 
Probleme macht habe ich umgestellt auf WLAN-Aktoren und Steuer diese 
jetzt über MQTT an. Spannungsversorgung 230VAC ist hier wieder die 
Steckdosenleiste. Lustiger Weise tritt der Fehler immer noch auf.
Ich habe selbst mittlerweile mit einem Netzfilter probiert ob ich das 
störende Gerät irgendwie entstören kann aber keine Lösung bisher.

Habt ihr vielleicht noch einen Gedanken was das vielleicht sein kann. PS 
Lastleitungen liegen getrennt zu Steuer und Busleitungen.

Gruß Nicolas

von Lu (oszi45)


Lesenswert?

Nico schrieb:
> Wenn diese aber Schalten, werden die Ausgänge des
> PCF8574 ebenfalls aktiv obwohl keine Ansteuerung erfolgt.

Fehlende Stütz-Cs? Offene Anschlüsse?

von Vanye R. (vanye_rijan)


Lesenswert?

> Nachdem ich gedacht habe das vielleicht die fehlende Freilaufdiode
> Probleme macht habe ich umgestellt auf WLAN-Aktoren und Steuer diese
> jetzt über MQTT an.

Du hast festgestellt das dir die Freilaufdioden fehlen und willst das 
Problem durch Wlan loesen? Willst du darueber nochmal nachdenken?

Und als Elektriker solltest du wissen das Schaltplan alles ist und 
poetische Worte nix! (siehe oben)

Vanye

von Peter D. (peda)


Lesenswert?

Nico schrieb:
> Nur habe ich an den GPIOs des PIs noch eine Relaiskarte für Schaltungen
> von 230VAC dran.

Aha, es gibt ja nur eine Version von Relaiskarten weltweit.
Es gibt leider viel Billigkram, wo nichtmal ein Schaltplan beiliegt und 
die Kriechstrecken, Leiterzugbreiten recht suboptimal sind.
Viele Anbieter denken, wichtige technische Angaben seien das Gewicht und 
die Abmessungen der Verpackung.

von Obelix X. (obelix)


Lesenswert?

Vanye R. schrieb:
> Du hast festgestellt das dir die Freilaufdioden fehlen und willst das
> Problem durch Wlan loesen?

Kennst du noch nicht die die WRelais? Da wird direkt die Spule als 
Antenne genutzt. Da es auch keine Kabelverbindung mehr gibt braucht man 
auch keine Freilaufdiode.

Nico schrieb:
> Hallo zusammen ... bla bla bla

Foto, Schaltplan

von Norbert (der_norbert)


Lesenswert?

Nico schrieb:
> Nur habe ich an den GPIOs des PIs noch eine Relaiskarte für Schaltungen
> von 230VAC dran. Wenn diese aber Schalten, werden die Ausgänge des
> PCF8574 ebenfalls aktiv obwohl keine Ansteuerung erfolgt.

1. Relaiskarte abziehen
2. Software dennoch Schaltvorgänge auslösen lassen.
Wenn sich die PCF8574 -> ULN2003A nun korrekt verhalten, dann:

1. Relaiskarte wegwerfen (ist ja bereits abgezogen)
2. Ein gute Relaiskarte ohne Rückwirkungen einkaufen.

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


Lesenswert?

Nico schrieb:
> Habt ihr vielleicht noch einen Gedanken
Schaltplan? Aufbau?

von Falk B. (falk)


Lesenswert?

Nico schrieb:
> Hallo zusammen ich habe ein Problem was ich mir überhaupt nicht so
> richtig erklären kann. Selber bin ich vom Beruf Elektriker aber trotzdem
> komm ich mit meinem Wissen da nicht weiter.
>
> Ich habe an meinem Raspberry einen PCF8574 via I2C angeschlossen. Dieser
> Chip steuert ein Transistorarray (ULN2003A)

Ob das alles so gut geht? Der Raspberry Pi arbeitet mit 3,3V, der 
PCF8574 KANN mit 3,3V - 5V arbeiten. Aber wenn er mit 5V arbeitet, kann 
man ihn nicht SICHER mit 3,3V am IC2-Bus ansteuern. Dann braucht es 
einen Pegelwandler. Und ein ULN2003A kann nur knapp mit 3,3V 
angesteuert werden. Dazu braucht es aber mindestens einen relativ 
niederohmigen, externen Pull-Up WIderstand.

Port-Expander PCF8574

> Nur habe ich an den GPIOs des PIs noch eine Relaiskarte für Schaltungen
> von 230VAC dran. Wenn diese aber Schalten, werden die Ausgänge des
> PCF8574 ebenfalls aktiv obwohl keine Ansteuerung erfolgt.

Deine Relais erzeugen beim Schalten einen Störpuls, welcher den PCF8574 
einen Reset verpasst und der mit zufälligem Zustand der Ausgänge 
startet.
Da bist du nicht der Erste mit dem Problem. Vermutlich fehlt ein 
Snubber.

> Die über die
> Relais geschalteten Geräte stehen in keiner Verbindung mit dem
> LED-Streifen außer das Versorgungsnetzteil hierfür. Die 230V Versorgung
> erfolgt über eine Steckdosenleiste und geht dann an die Netzteile und
> Versorgung der Relaiskarten.

Dort gibt es genügend HF-Strompfade, damit der böse Störpuls sein Opfer 
findet ;-)

> Nachdem ich gedacht habe das vielleicht die fehlende Freilaufdiode
> Probleme macht habe ich umgestellt auf WLAN-Aktoren und Steuer diese
> jetzt über MQTT an.

Absolut LOGISCH! Früher hätte man einfach eine Freilaufdiode ergänzt. 
Aber das ist ja sowas von 20. Jahrhundert.

> Habt ihr vielleicht noch einen Gedanken was das vielleicht sein kann. PS
> Lastleitungen liegen getrennt zu Steuer und Busleitungen.

Ein Bild sagt mehr als 1000 Worte.

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


Lesenswert?

Falk B. schrieb:
> Vermutlich fehlt ein Snubber.
Vermutlich ist der ganze Schaltungsaufbau viel zu empfindlich. Kann 
sein, dass ein Snubber gegen die selbst erzeugten Störungen hilft. Der 
Snubber hilft aber sicher nicht gegen die Störungen, die andere 
elektrische Geräte in der Nähe oder im Netz machen. Insofern ist der 
hier Makulatur.

Nico schrieb:
> Funktioniert auch soweit wie gewünscht.
Probier mal den "EMV-Test des kleinen Mannes" wie im 
Beitrag "Re: Tiefentladungsschutz mit Attiny und P-Kanal Fet" 
beschrieben. Wen du den bestehst, dann sind auch deine EMV-Probleme beim 
Schalten im Netz weg.

> Nur habe ich an den GPIOs des PIs noch eine Relaiskarte für Schaltungen
> von 230VAC dran.
Die eine, die es auf der ganzen Welt gibt?

> Wenn diese aber Schalten, werden die Ausgänge des PCF8574 ebenfalls aktiv
Reicht es, dass allein die Relais schalten? Oder muss für dieses 
Fehlverhalten eine 230V-Last an den Relais angeschlossen sein?

> werden die Ausgänge des PCF8574 ebenfalls aktiv
Dauerhaft? Oder nur kurzzeitig? Alle oder nur Einzelne? Wenn nur 
Einzelne: immer die selben?

> Die über die Relais geschalteten Geräte
Welche Geräte sind das denn?

> Nachdem ich gedacht habe das vielleicht die fehlende Freilaufdiode
> Probleme macht
Warum fehlt da die Freilaufdiode? Die üblichen Chinaböller-Relaiskarten 
haben diese Dioden drin. Und unnötigerweise auch noch Optokoppler.

: Bearbeitet durch Moderator
von Rainer W. (rawi)


Angehängte Dateien:

Lesenswert?

Falk B. schrieb:
> Und ein ULN2003A kann nur knapp mit 3,3V angesteuert werden. Dazu braucht
> es aber mindestens einen relativ niederohmigen, externen Pull-Up WIderstand.

Das sagt wer?
TI ist da jedenfalls anderer Meinung

von Falk B. (falk)


Lesenswert?

Rainer W. schrieb:
>> Und ein ULN2003A kann nur knapp mit 3,3V angesteuert werden. Dazu braucht
>> es aber mindestens einen relativ niederohmigen, externen Pull-Up WIderstand.
>
> Das sagt wer?
> TI ist da jedenfalls anderer Meinung

So? 3V für 350mA. Und das auch nur, wenn die 3V einigermaßen niederohmig 
sind. Die Ausgänge vom PVF8574 sind es bei HIGH NICHT!

Schlaumeier!

von Rainer W. (rawi)


Lesenswert?

Falk B. schrieb:
> Und das auch nur, wenn die 3V einigermaßen niederohmig sind.

"Niederohmig" bemisst sich an dem internen Vorwiderstand von immerhin 
2.7kΩ.^
Alternative ist, den ULN2001 mit externen Vorwiderständen zu verwenden.

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


Lesenswert?

Rainer W. schrieb:
> Alternative ist ...
... ein Logic-Level-Mosfet mit niedriger Ugsth.

Ich würde hier nicht den uralten ULN mit der pfundigen 
Sättigungsspannung (laut obigem Screenshot bei diesen Werten immerhin 
2V) nehmen.

von Nico (nfo)


Lesenswert?

So wenn du mal genau nachdenkst wofür freilaufdioden sind dann kannst du 
sehen das deine Aussage mist ist. Es schützt den Ausgang vor einer hohen 
induktionsspannung.

Und ja Schaltplan ich weiß. Hab das nur früh schnell geschrieben und 
noch keinen Plan für die vorhandene schaltung gemacht

von Nico (nfo)


Lesenswert?

Relaiskarte weg nur fehler immer noch. Hab eh wegen Kabelsalat umgebaut 
auf WLAN Steckdosen

von Nico (nfo)


Angehängte Dateien:

Lesenswert?

Anbei schnell mal gezeichnet. Ist nur ein Raspberry Pi Zero W anstelle 
eines wemos in de zeichnung

Ausgänge des PCFs schalten alle durch. LEDs gehen alle an und bleiben an 
bis neu setzen.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Ich fürchte, du hast den 3,3V Regler des Wemos D1 Mini überlastet. Denn 
reichg so gerade eben für das WLAN Modul aus. Auf gefälschten Boards ist 
er manchnal sogar dafür zu schwach.

Der PCF8574 braucht unbedingt einen Abblock-Kondensator an seinen 
Versorgungspins.

: Bearbeitet durch User
von Gerd E. (robberknight)


Lesenswert?

Im Schaltplan fehlen Pullups für den I2C-Bus.

Hast Du vielleicht nur die internen Pullups von dem RasPi aktiv und 
keine externen angeschlossen? Die reichen nicht, nimm z.B. 4,7kOhm.

von Nico (nfo)


Lesenswert?

Wie schon gesagt kein wemos im einsatz sondern ein raspberrypi zero w

Abblockkondensator? Wie einbauen und welche Kapazität?

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Nico schrieb:
> Abblockkondensator? Wie einbauen und welche Kapazität?

Google einfach danach. Der Standardwert ist 100 nF.

> Wie schon gesagt kein wemos im einsatz sondern ein raspberrypi zero w

Wie hoch ist denn dessen 3,3V Ausgang belastbar?

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Nico schrieb:
> Anbei schnell mal gezeichnet. Ist nur ein Raspberry Pi Zero W anstelle
> ...

Falls die Schaltung genauso sorgfältig aufgebaut ist, wie du schreibst, 
wird vieles klarer.

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


Lesenswert?

Nico schrieb:
> So wenn du mal genau nachdenkst wofür freilaufdioden sind dann kannst du
> sehen das deine Aussage mist ist.
Da musste ich doch grade heftig schmunzeln. Ich denke, dir ist klar, 
dass ich sehr gut weiß, was eine Freilaufdiode macht und wofür sie da 
ist. Im Beitrag "Re: Freilaufdiode für Relais 1N4001 geeignet?" ist ein 
kleiner Einführungskurs dazu. Wenn du den auf Anhieb nicht verstehst, 
dann geh ihn langsam durch. Dort wird erklärt, wie diese ominöse "hohe 
Induktionsspanunng" an der Relaisspule entsteht.

> Es schützt den Ausgang vor einer hohen induktionsspannung.
Welchen "Ausgang"? Bei deiner unbekannten Relaiskarte ist vermutlich
1. schon eine Freilaufdiode drauf, und
2. kommt eine potentielle "Induktionsspannung" gar nicht an den µC 
Ausgang, weil ein Optokoppler dazwischen ist.

Aber wie du schon erkannt hast: irgendwelche Induktionsspannungen oder 
Freilaufdioden sind gar nicht dein Problem. Sondern dein hochgeheimer 
Schaltungsaufbau ist problematisch, denn sogar kabellose Schaltvorgänge 
im Netz bringen deine Steuerung aus dem Tritt.

Nico schrieb:
> LEDs gehen alle an und bleiben an bis neu setzen.
Ich würde da übrigens ein Softwareproblem keinesfalls ausschließen...

: Bearbeitet durch Moderator
von Peter D. (peda)


Lesenswert?

Nico schrieb:
> Ausgänge des PCFs schalten alle durch. LEDs gehen alle an und bleiben an
> bis neu setzen.

Der PCF8574 hat open-drain Ausgänge mit Pullup und setzt die IOs nach 
Power-On alle auf high.
Du hast also Störungen (Einbrüche) auf der VCC.

100nF Keramik an VCC ist Pflicht und 1000µF als Puffer können auch nicht 
schaden.

von Karl B. (gustav)


Lesenswert?

Peter D. schrieb:
> Der PCF8574 hat open-drain Ausgänge

Können sowohl als Eingang als auch als Ausgang arbeiten.
Das muss man erst einmal verinnerlichen.
"...The device features an 8-bit quasi-bidirectional I/O
port (P0–P7)...Each quasi-bidirectional I/O can be used as an input or
output without the use of a data-direction control signal..."
Und Rest hat @Peda oben schon gesagt.

ciao
gustav

: Bearbeitet durch User
von Max I. (powermeter)


Lesenswert?

Nico schrieb:
> vom Beruf Elektriker aber trotzdem

Nicht trotzdem, sondern deswegen.

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.