Forum: Mikrocontroller und Digitale Elektronik open collector nicht wie erwartet


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 Uwe S. (uwe_s320)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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. (stefanus)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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. (stefanus)


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

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
2 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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. (stefanus)


Bewertung
0 lesenswert
nicht 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.

: Bearbeitet durch User
von Dietrich L. (dietrichl)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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.

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.