mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Optokoppler schaltet durch ESD?


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.
Autor: Peder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe - vereinfacht gesagt - eine große Platine mit µC und sonstiger 
Elektronik und eine kleine Platine mit einer BNC-Buchse (an einem 
Front-Panel). Beide sind mit einem Kabel verbunden. Das Signal von der 
BNC-Buchse ist mit einem Optokoppler (mit Zenerdiode abgesichert) vom 
Rest der µC-Elektronik getrennt. Trotzdem schaltet der Optokoppler schon 
durch, wenn ich die BNC-Buchse nur berühre. Das sehe ich daran, dass 
der µC genau das tut, was er tun soll, wenn über die BNC-Buchse eine 
High-Pegel kommt.

Ich weiß nicht, ob die Schaltpläne hier interessant sind, weil ich mit 
ESD ein viel allgemeineres Problem vermute. Einige Lösungen hier 
schlagen kleine nF-Kondensatoren vor. Andere schlagen TVS-Dioden oder 
-Arrays vor. Was ist denn gängige Praxis bei solchen Phänomenen? Reichen 
hier tatsächlich 1..2,2nF und wo setze ich die hin? An beide Pins vom 
Optokoppler gegen Masse?


Danke und Grüße

Peter

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peder schrieb:
> Trotzdem schaltet der Optokoppler schon durch, wenn ich die BNC-Buchse
> nur berühre.
> ...
> Ich weiß nicht, ob die Schaltpläne hier interessant sind, weil ich mit
> ESD ein viel allgemeineres Problem vermute.

Das kommt drauf an, was du vorher gemacht hast. Wenn du mit gut 
isolierenden Schuhen über nichtleitenend Konstoffboden geschlurft bist, 
könnte es in der Tat ein ESD Thema sein, sonst eventuell eher ein 
Schaltungsproblem, das sich ohne Schaltplan wohl kaum lösen lässt.

Prüfe, ob sich bei einer zweiten Berührung, natürlich ohne dass du dich 
zwischendurch bewegt hast, der Effekt wieder auftritt.

Autor: M.A. S. (mse2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peder schrieb:
> Ich weiß nicht, ob die Schaltpläne hier interessant sind, weil ich mit
> ESD ein viel allgemeineres Problem vermute.
1. Schaltpläne sind hier IMMER interessant!
2. Wenn man sich ansieht, wie klein die Isolationsspannungen, die OKs 
meistens so aufweisen, sind und wie groß die Spannungen, bei denen ESDs 
auftreten sein können, naja....

3. Ein Bild Deines Aufbaus ist evtl. genauso interessant (wenn nicht 
noch mehr) wie der Schaltplan. Meine persönliche (erfahrungsgetriebene) 
Vermutung ist, dass die ESD nicht auf den Optokoppler wirkt, sondern 
gleich per Feld- oder Strahlungskopplung auf die Sekundärseite (ich 
nenne den Empfangsteil des OK einfach einmal so).

Richtig empfindlich sind flankengesteuerte Eingänge gegen ESD.
Mögliche Abhilfe: geeignete Schirmung, Schaltungsmasse geeignet mit 
Schirm verbinden. Ausserdem: Software robust gestalten, Flankensteuerung 
vermeiden, wenn möglich.

Autor: HildeK (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Peder schrieb:
> Reichen
> hier tatsächlich 1..2,2nF und wo setze ich die hin? An beide Pins vom
> Optokoppler gegen Masse?

Die können helfen, aber nicht direkt am Optokoppler.
Meine Vorschläge:
- Lege die OK-Schaltung so aus, dass auch einige mA fließen müssen, 
damit der OK überhaupt schaltet, also z.B. durch einen relativ 
niederohmigen Kollektorwiderstand. Je nach dem, wohin dann das Signal 
geht, könnte auch dort ein RC-Glied helfen.
- Teile den Vorwiderstand für OK-LED in zwei auf und lege dazwischen den 
Kondensator. Mach ihn ruhig so groß wie möglich, das hängt von der 
Geschwindigkeit der Schaltfolge ab.

Wie M.A.S. schon schrieb: Schaltung mit Dimensionierung, Foto vom Aufbau 
sind auf jeden Fall wichtig für weitere Vorschläge.

Autor: Peder (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Also...

Das Gerät befindet sich gerade 15 Fußminuten entfernt, aber soweit ich 
mich erinnere, tritt der Effekt fast jedes Mal auf, wenn ich die Buchse 
berühre - ohne dass ich mich bewege. Und es sind keine ESD-sicheren 
Umgebungen. Wenn der BNC-Stecker aber einmal steckt, tritt der Effekt 
nicht mehr auf.

Plan und Board habe ich angehängt.

Und während ich hier schreibe, fällt mir ein, dass die BNC-Buchse nicht 
auf einer Platine steckt, sondern einfach nur (isoliert) im Gehäuse 
steckt. Von dort aus geht dann direkt das Kabel auf die Platine zum 
linken Stecker im PCB-Bild.

Die Zenerdiode ist so ausgelegt - und getestet - dass Spannungen 
zwischen 3,3V und 5V den Optokoppler schalten können. Das Signal vom 
Optokoppler geht dann an einen Pin vom µC und löst dort einen Interrupt 
aus.

Im Prinzip funktioniert das Gerät auch problemlos und ohne 
"False-Positive-Trigger", wenn erst einmal alles angeschlossen ist. Mich 
stört nur die Tatsache, dass es da etwas gibt, was ich besser machen 
könnte und was eventuell in bestimmten Situationen doch mal Stress 
machen könnte.

Den Kondensator kann ich wohl noch am einfachsten beim nächsten Design 
einplanen. Mit Abschirmung habe ich bisher leider null Erfahrung und 
wüsste im Moment auch nicht, wie ich da überhaupt anfangen soll.

Die Software selbst wollte ich eigentlich auch nicht mehr anfassen. 
Zumindest nicht bei diesem Signal-Eingang, weil der von der Gegenseite 
aus rein elektronisch gesteuert wird und nicht durch Taster ohne 
ähnliches.


Spricht denn zumindest erstmal prinzipiell was gegen das momentane 
Design meines Eingangs?


Grüße

Autor: M.A. S. (mse2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peder schrieb:
> Und während ich hier schreibe, fällt mir ein, dass die BNC-Buchse nicht
> auf einer Platine steckt, sondern einfach nur (isoliert) im Gehäuse
> steckt. Von dort aus geht dann direkt das Kabel auf die Platine zum
> linken Stecker im PCB-Bild.

Mich würde, wie geschrieben, nicht wundern, wenn vom Kabel zwischen 
Platine und Stecker auf die andere Seite gekoppelt würde (Foto!).
Manchmal reicht zur Behebung solcher Probleme, ein Kabel anders zu 
legen.
Um dazu jedoch etwas sagen zu können, muss man mehr vom Aufbau wissen.

Die Dinge, die sich bei einer ESD abspielen, sind rasend schnell, es 
wird ein Frequenzspektrum, das bis in den GHz-Bereich hineinreicht, 
erzeugt.
Entsprechend kräftig sind Abstrahlung und Empfang auf Leitungen.

: Bearbeitet durch User
Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verändere die Aufteilung des Vorwiderstandes der OK-LED und schalte 
einen Kondensator parallel zur ZD. Wenn das nicht hilft, kommt die 
Störung nicht über die LED in deine Schaltung.

Du könntest das Eingangssignal natürlich auch entspiken, indem du es 
nach Auftreten des Interrupts und verstreichen eines ggf. 
timergesteuerten Intervalls noch mal direkt abfragst und damit den 
Zustand verifizierst. Dafür müsste man allerdings eine Idee haben, in 
welchem Zeitbereich sich die ganze Geschichte abspielt.

Autor: Gerd E. (robberknight)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peder schrieb:
> Spricht denn zumindest erstmal prinzipiell was gegen das momentane
> Design meines Eingangs?

Der Eingang ist in dieser Form eine offene Antenne und der OK-Ausgang 
wohl relativ empfindlich. Das lädt Störungen dieser Art geradezu ein.

Du musst den Eingang also weniger empfindlich machen. Der Kondensator 
ist schon mal ne gute Idee.

Ich würde parallel zum Kondensator noch einen Widerstand setzen der den 
Kondensator bei offenem Eingang ganz entlädt und die nötige 
Schwellspannung bis der OK durchschaltet erhöht. Den Wert würde ich 
experimentell ermitteln. So daß der OK z.B. erst bei 2V DC 
durchschaltet.

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peder schrieb:
> Trotzdem schaltet der Optokoppler schon
> durch, wenn ich die BNC-Buchse nur berühre.

Beim Berühren einer BNC-Buchse fasst man ja eher an den GND, ich glaube 
daher, dass nicht ein LED-Strom auslöst, sondern eine kapazitive 
Kopplung auf die Transistorseite des OK.
Dann helfen Z-Dioden, Widerstände, Kondensatoren oder eine reduzierte 
OK-Empfindlichkeit primär nichts oder wenig. Nur auf der Prozessorseite 
könnte man den Eingang des µC mit RC entprellen - oder eben in SW. Und 
vielleicht, wie ich schon sagte, den Kollektorwiderstand so niedrig wie 
möglich wählen.

@Peder:
Ist es unumgänglich, den GND der Eingangsseite galvanisch getrennt zu 
halten vom GND des Prozessors? Mach zumindest mal einen Test mit 
verbundenen GNDs, ob das die Situation verbessert.

Autor: Clemens L. (c_l)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peder schrieb:
> Plan und Board habe ich angehängt.

Welcher Optokoppler ist es denn?

Und wie schnell sind die Signale, mit denen du schalten willst?

Autor: Wolfgang (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Clemens L. schrieb:
> Und wie schnell sind die Signale, mit denen du schalten willst?

Das wurde jetzt schon so oft gefragt - scheint aber geheim zu sein :-(

Autor: Peter D. (peda)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
HildeK schrieb:
> Beim Berühren einer BNC-Buchse fasst man ja eher an den GND, ich glaube
> daher, dass nicht ein LED-Strom auslöst, sondern eine kapazitive
> Kopplung auf die Transistorseite des OK.

So wird es sein.
Mach mal ein 1nF/400V mit 1MΩ parallel von BNC-GND auf MC-GND.

Autor: Joachim B. (jar)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peder schrieb:
> Ich weiß nicht, ob die Schaltpläne hier interessant sind
> Peter

nicht zwingend aber belastbare Daten

Wenn durch die Optokoppler IR Diode ein ordentlicher Strom fliesst, 
10-20mA ist schon mal willkürliches Schalten ziemlich ausgeschlossen, 
mit 20mA wurden früher analoge Telefone km weit betrieben.
Wenn der CTR so um 50% liegt würden auf der Fototransistorseite noch 
5-10mA fliessen können, das ruft nach einem niederohmigen pullup oder 
pulldown und die Probleme dürften erledigt sein.

: Bearbeitet durch User
Autor: Peder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eben war ich am Gerät und habe versucht, diesen Effekt zu provozieren 
und in der Tat trat der diesmal nicht auf. Damit muss ich mich nochmal 
korrigieren und sagen, dass der Effekt damals nur in meinem Büro mit 
Filzteppich auftrat. Leider keine geeignete Arbeitsumgebung, die kommt 
jetzt aber Gott sei Dank demnächst...


Wolfgang schrieb:
> Clemens L. schrieb:
>> Welcher Optokoppler ist es denn?
>> Und wie schnell sind die Signale, mit denen du schalten willst?
>
> Das wurde jetzt schon so oft gefragt - scheint aber geheim zu sein :-(

Diese Frage habe ich ehrlich gesagt nirgendwo gesehen, es ist aber auch 
nicht geheim - zumindest dieser Teil nicht. ;) Ich kann aber 
tatsächlich nicht zu viel preisgeben, deshalb auch keine Fotos.

Der Optokoppler ist ein TLP2361 und die Signale, die ich dem µC geben 
möchte, sind simple High-Pegel im Bereich von einigen 100ms und kommen 
in Intervallen von >1s. Insofern denke ich, dass ich da keine Probleme 
mit zu schnellen Schaltvorgängen habe.

Eine galvanische Trennung wollte ich deshalb, weil mein Gerät 
prinzipiell von jedem genutzt werden kann/darf, der mit mir arbeitet und 
damit theoretisch auch alles mögliche an die Buchse angesteckt werden 
kann. ich denke, dass ich auf die Trennung auch nicht mehr verzichten 
werde.

Die Idee mit dem Filter auf der OK-Ausgangsseite finde ich jetzt auch 
erstmal nicht schlecht. Ich denke, ich werde in mein nächstes Design 
beide Vorschläge (vor und nach dem OK) verarbeiten.

Wenn ich daran denke, werde ich mich hier noch mal melden und sagen, wie 
es ausgegangen ist.


Danke und Grüße

Peter

Autor: M.A. S. (mse2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peder schrieb:
> Der Optokoppler ist ein TLP2361 und die Signale, die ich dem µC geben
> möchte, sind simple High-Pegel im Bereich von einigen 100ms und kommen
> in Intervallen von >1s. Insofern denke ich, dass ich da keine Probleme
> mit zu schnellen Schaltvorgängen habe.

Also hier passt einiges nicht optimal zusammen.
1) Du hast langsame Signale.
2) Du verwendest einen ziemlich schnellen OK....
3) ...welcher einen Schmitttrigger enthält, um steile Flanken zu 
generieren,...
4) ... welche Du nun durch ein RC-Filter wieder plattbügeln möchtest.

Ich würde ja über das Gesamtkonzept noch einmal nachdenken!

Wenn Du Dein aktuelles Design nur minimal verändern möchtest, was ich 
grundsätzlich verstehen kann, dann mach Dir die Mühe des Überdenkes 
trotzdem: das nächste Design kommt bestimmt! ;)


PS: @alle: Vergesst Eure Handtücher nicht! ;)

: Bearbeitet durch User
Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peder schrieb:
> Eine galvanische Trennung wollte ich deshalb, weil mein Gerät
> prinzipiell von jedem genutzt werden kann/darf, der mit mir arbeitet und
> damit theoretisch auch alles mögliche an die Buchse angesteckt werden
> kann. ich denke, dass ich auf die Trennung auch nicht mehr verzichten
> werde.

Sieht für mich danach aus, dass du eine komplette galvanische Trennung 
gar nicht brauchst, also entsprechend meinem Vorschlag durchaus mit 
einer verbundenen Masse arbeiten könntest. Ein Trennung und ein Schutz 
vor falschen Eingangssignalen ist ja trotzdem gegeben.
Das gilt natürlich nicht, wenn das Eingangssignal auf einem hohen 
GND-Potential liegen könnte. Dann ist aber immer noch diese Variante 
hilfreich:

Peter D. schrieb:
> Mach mal ein 1nF/400V mit 1MΩ parallel von BNC-GND auf MC-GND.

Autor: KeinName (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich benutze bei sowas immer einen Linearregler der als 
Konstantstromquelle einen OPK schaltet. Parallel zur Diode des OPK noch 
einen Widerstand.
Mit einer zusätzlichen Z-Diode und 2x C hat man dann eine Stromschleife 
die sehr EMV fest ist....

Autor: Clemens L. (c_l)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peder schrieb:
> Der Optokoppler ist ein TLP2361

15 Mbit/s

> und die Signale, die ich dem µC geben möchte, sind simple High-Pegel im
> Bereich von einigen 100ms

Dann ist ein Propagation Delay von 0,00005 ms eher zu viel des Guten. 
Schon wenige Nanosekunden am Eingang können zu einer Flanke am Ausgang 
führen.

Ein langsamerer Optokoppler (z.B. PS9122-N) könnte helfen.

Es wäre eine gute Idee, den Eingang des Optokopplers zu verlangsamen, 
z.B. mit einem RC-Filter. (1 kΩ hast du schon; mit 220 pF zur 
(Gehäuse-)Masse bleibst du unter den 0,5 µs, die das TLP2361-Datenblatt 
fordert; mit anderen OKs kannst du noch längere Flanken benutzen.)

Du könntest auch den µC-Eingang in Software entprellen (z.B. 
Mindestlänge 1 ms).

: Bearbeitet durch User
Autor: Luegenstift (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss nicht ESD sein. Ich rieche 50 Hz brummen.


Peder schrieb:"
Das sehe ich daran, dass
der µC genau das tut, was er tun soll, wenn über die BNC-Buchse eine
High-Pegel kommt."

Als Ansatz gut erkannt. Zum weiteren debuggen aber nicht ausreichend.

Schaltung "taub" machen? (Parallelwiderstand)

EDIT:: Hilde hats schon angedeutet! Mach was draus!

HF!

Autor: Harlekin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Der gezeigte Layoutausschnitt hat zwar Verbesserungspotential, aber das 
ist nicht die Ursache für das beschriebene Verhalten. Falls der 10k 
Pullup funktioniert, ist die Leitung nach dem Optokoppler niederohmig. 
Somit ist der Optokoppler selbst der Hauptverdächtige. Zur näheren 
Eingrenzung könnte man die beiden LED-Pins (1,3) abhängen und 
untersuchen, ob die Empfindlichkeit weiterhin besteht. Falls ja, stellt 
sich die Frage was passiert, wenn das uC-GND berührt wird.

Das Layout könnte wie folgt optimiert werden:
- Die gelb markierten Flächen bilden eine Antenne. Entweder ein 
Durchplattierung setzen oder eliminieren.
- Die beiden Leiterbahnen vor dem Optokoppler näher zusammenrücken. 
Keine GND-Fläche dazwischen.
- Abstand zwischen den galvanisch getrennten Leiterbahnen und der 
GND-Fläche vergrössern. Dies vermindert die kapazitive Kopplung.

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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