Forum: Mikrocontroller und Digitale Elektronik open collector nicht wie erwartet


von Uwe S. (uwe_s320)


Angehängte Dateien:

Lesenswert?

Hallo.

ich hab da irgendwo einen Denkfehler

ich habe von einem Bewegungsmelder einen pnp open Collector Ausgang mit 
12V.

Das Signal soll nun in einen SX1509 IO Expander.

Ich dachte mir dann die Sache wie im Bild dargestellt.

Die LED vom Optokoppler wird über einen entsprechenden Vorwiderstand 
(560Ohm für 20mA iF) vom Bewegungsmelder gespeist. Der SX1509 hat am 
Eingang einen über Software zugeschalteten Pull up auf 5V. Den Pegel(5V) 
kann ich auch am Eingang ohne Bewegung messen. Sobald Bewegung erkannt 
wird fällt die Spannung von 5V auf 2.2V. Erwartet hatte ich eigentlich 0 
oder leicht darüber. Natürlich werden 2.2V noch als High Pegel erkannt 
und die Schaltung funktioniert nicht.

Wo ist hier der Denkfehler?

Wäre es auch eine vielleicht sogar einfachere Möglichkeit an den 
Bewegungsmelderausgang einen Spannungsteiler gegen GND anzuschließen wo 
dann in der Mitte abgegriffen wird vom Sx1509 ? So dass man bei 
gesperrtem PS817 einen Low Pegel hat und bei geöffneten einen 5V Pegel ?

von Achim M. (minifloat)


Lesenswert?

Hi

Uwe S. schrieb:
> Wo ist hier der Denkfehler?

GND vom PC817 nicht an den ominösen SX1509 angeschlossen?
Pullup zu niederohmig?

Vielleicht hilft es auch, dem Optokoppler einen "Nachbrenner NPN" in 
Darlington-Konfiguration zu spendieren.
mfg mf

: Bearbeitet durch User
von Dietrich L. (dietrichl)


Lesenswert?

Uwe S. schrieb:
> Sobald Bewegung erkannt
> wird fällt die Spannung von 5V auf 2.2V. Erwartet hatte ich eigentlich 0
> oder leicht darüber. Natürlich werden 2.2V noch als High Pegel erkannt
> und die Schaltung funktioniert nicht.
>
> Wo ist hier der Denkfehler?

- Ist der Pin des SX1509 vielleicht auf Ausgang programmiert?
- Welcher Strom fließt über den Optokoppler-Transistor, d.h. aus dem 
SX1509 heraus?

von Achim S. (Gast)


Lesenswert?

Uwe S. schrieb:
> ich habe von einem Bewegungsmelder einen pnp open Collector Ausgang mit
> 12V.
>
> Das Signal soll nun in einen SX1509 IO Expander.
>
> Ich dachte mir dann die Sache wie im Bild dargestellt.
>
> Die LED vom Optokoppler wird über einen entsprechenden Vorwiderstand
> (560Ohm für 20mA iF) vom Bewegungsmelder gespeist

Du solltest noch dazuzeichnen, wie du den Eingang deines Optokopplers 
vom open Collector pnp aus ansteuerst. Du bist dir bewusst, dass der pnp 
Ausgang  des Bewegungsmelders nicht nach Masse durchschaltet sondern 
gegen VCC?

von Stefan F. (Gast)


Lesenswert?

Vermutlich ist der Eingangs-Strom deines Optokopplers im Verhältnis zum 
Last-Strom zu gering. Messe die beiden Stromstärken.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

https://global.sharp/products/device-china/lineup/data/pdf/datasheet/pc817xnnsz_e.pdf

Es gibt den mit verschiedenen "Stromübertragungsfaktoren"
Auf S.5 ist die Tabelle, jeweils auf 5mA Eingangsstrom bezogen.

: Bearbeitet durch User
von Carsten-Peter C. (carsten-p)


Angehängte Dateien:

Lesenswert?

Hallo,
ich ziehe gerne mit dem Optokoppler die +5V nach oben.
Das macht weniger Probleme mit dem Low-Pegel. Der High-Pegel ist eh 
nicht ganz so kritisch.
Gruß Carsten

Beitrag #6422818 wurde vom Autor gelöscht.
von Stefan F. (Gast)


Lesenswert?

Wenn du dazu eine vernünftige Antwort haben willst, dann messe die 
Stromstärken.

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


Lesenswert?

Uwe S. schrieb:
> habe von einem Bewegungsmelder einen pnp open Collector Ausgang mit 12V.
> Ich dachte mir dann die Sache wie im Bild dargestellt.
Da ist aber ein NPN gezeichnet. Was jetzt?

Achim S. schrieb:
> dass der pnp Ausgang  des Bewegungsmelders nicht nach Masse
> durchschaltet sondern gegen VCC?
Denn der Emitter des PNP Ausgangs wäre eben an 12V angeschlossen und der 
Kollektor gibt eingeschaltet dann diese 12V aus.

> von einem Bewegungsmelder
Welchem denn?

: Bearbeitet durch Moderator
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

>Da ist aber ein NPN gezeichnet

ja Kunststück... das ist der Ausgang des Optokopplers, nicht des 
Bewegungsmelders. Und der Fototransistor im PC817 ist eben npn.

DIe Schaltung vor dem Optokoppler hat er hinreichend beschrieben, ein 
pnp-Transistor mit Emitter an +12V, am Kollektor ein 560 Ohm Widerstand, 
dann die Optokoppler-LED-Anode und deren Kathode auf GND. So ist es auch 
richtig. Auch mit dem geringsten Stromübertragungsfaktor sollte der npn 
im Optokoppler vernünftig durchschalten.

: Bearbeitet durch User
von Uwe S. (uwe_s320)


Lesenswert?

vielen Dank euch allen.


Der Strom der LED im Optokoppler ist 21mA

@Dietrich L. der ist als Eingang programmiert.

@Carsten, genau so habe ich es jetzt gemacht, das funktioniert supi, 
danke !!

von HildeK (Gast)


Lesenswert?

Du redest beim SX1509 von 5V. Laut Datenblatt hat der aber nur typisch 
3.3V oder weniger (1.426V .. 3.6V) als Versorgungsspannung. Der interne 
PU zieht nur bis VCC nach meinem Verständnis.
Man darf den IO allerdings unter bestimmten Bedingungen mit 5V am IO 
beaufschlagen. Das ist aber nicht dein Problem.

Lothar M. schrieb:
> Da ist aber ein NPN gezeichnet. Was jetzt?

Ja, hat mich auch verwirrt.
Der Bewegungsmelder hat einen PNP-OC Ausgang. Der TO hat noch einen 
Optokoppler dazwischen und nur den gezeichnet.

Uwe S. schrieb:
> Wo ist hier der Denkfehler?
Wenn du es so verdrahtet hast wie gezeichnet, dann muss es 
funktionieren, auch mit einem Optokoppler der schlechtesten 
CTR-Kategorie. Die internen Pull im SX1509 haben typ. 43k und das lässt 
sich problemlos auch mit CTR=10% bei 20mA LED-Strom schalten. Selbst 
wenn der PU 20% weniger hätte ...
Vielleicht hast du am OK Emitter und Kollektor vertauscht?
Oder statt 560Ω versehentlich 560kΩ eingebaut?

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

>funktioniert supi
also funktioniert es nach Carstens Schaltung.

Die invertiert aber den Logikpegel am SX1509, high rein / high raus, 
vorher war das invertierend.

von Uwe S. (uwe_s320)


Lesenswert?

das stimmt, aber das spielt bei der Anwendung keine Rolle.

@von HildeK

das stimmt. ursprünglich wollte ich nur die vorhandenen 12 V verwenden. 
Es ist mir aber auch möglich die vom Betreiben des SX1509 verwendeten 
3.3V zum Optokoppler zu verlegen. Ich hatte es nur als Versuch auf einem 
Breadboard aufgebaut und ohne den SX1509 mit 5V und pullup betrieben zum 
Testen, weil, wie du schon sagtest das gar nicht das eigentliche Problem 
war/ist.

die Schaltung von Carsten funktioniert und wird dann natürlich zusammen 
mit dem SX1509 nicht mit 5V sondern mit 3.3V am Optokoppler Emitter 
betrieben. als pullup wird der im sx1509 durch programmieren 
eingeschaltete pullup verwendet.

von Stefan F. (Gast)


Lesenswert?

Uwe S. schrieb:
> Der Strom der LED im Optokoppler ist 21mA

Das sagt noch gar nichts, solange keiner zusätzlich weiß, wie hoch der 
Laststrom des Optokopplers ist. Das sollten weniger als 1mA sein. Ist es 
denn der Fall?

> die Schaltung von Carsten funktioniert

Mag sein, aber deine hätte auch funktionieren müssen. Ich würde lieber 
nach der Fehlerursache suchen, denn ungeklärte Probleme kommen 
bekanntlich irgendwann später wieder hoch.

von Dietrich L. (dietrichl)


Lesenswert?

Uwe S. schrieb:
> die Schaltung von Carsten funktioniert

Wenn die funtioniert, dann müsste auch deine Schaltung funktionieren. Da 
war wohl noch was anderes nicht in Ordnung.
(Edit: wie Stefan F. auch schon schrieb)

Uwe S. schrieb:
> und wird dann natürlich zusammen
> mit dem SX1509 nicht mit 5V sondern mit 3.3V am Optokoppler Emitter
> betrieben. als pullup wird der im sx1509 durch programmieren
> eingeschaltete pullup verwendet.

Nach Carstens Schaltung ist aber der Kollektor des Optokopplers an 
3,3V (bei ihm 5V) angeschlossen. Und ein Pullup ist auch falsch: du 
brauchst einen Pulldown.

: Bearbeitet durch User
von HildeK (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ich dachte ich hätte klar gemacht, dass
> beide Ströme wichtig sind, weil es darum geht, in welchem Verhältnis sie
> zueinander stehen.

Klar sind beide wichtig.
Aber die Angabe, dass er den internen PU des SX1509 verwendet, reicht 
schon, um zu sehen, dass das nicht das Problem sein konnte.

Im Datenblatt steht typisch 43k für PU oder PD.
Und er hat wohl den PC817C, also CTR mit 200-400. Da hätte locker 1mA 
gereicht für die LED.

Stefan ⛄ F. schrieb:
> Mag sein, aber deine hätte auch funktionieren müssen. Ich würde lieber
> nach der Fehlerursache suchen, denn ungeklärte Probleme kommen
> bekanntlich irgendwann später wieder hoch.

Da kann ich nur zustimmen! Wahrscheinlich ein Kontaktproblem auf dem 
Breadboard.

HildeK schrieb:
> Lothar M. schrieb:
>> Da ist aber ein NPN gezeichnet. Was jetzt?
>
> Ja, hat mich auch verwirrt.
> Der Bewegungsmelder hat einen PNP-OC Ausgang. Der TO hat noch einen
> Optokoppler dazwischen und nur den gezeichnet.

Hätte er die Bezeichnung richtig geschrieben, PC817C statt PS817C, dann 
wäre es gleich klar gewesen.

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.