Forum: Projekte & Code AVR SDA-SCL One-Wire I2C Optokoppler


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von JoJoBa (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

möchte ein weiteres WoEnd-Projekt vorstellen. Es handelt sich dabei
um eine Schaltung für galwanische Trennung von OneWire Signalen.

Gewönlich sollen i2c und SDA,SCL Verbindungen innerhalb eines Gerätes
mit max 20-30cm Leiterbahn/Draht-Längen realisiert werden,
um Störeinflüsse zu minimieren, und um die geforderten
Übertragungsfrequenzen einzuhalten (100KHz, bis max 400KHz)

Bei mir entstand aber der Wunsch, die Prozessoranschlüsse galwanisch
von der Sensorumgebung zu trennen. Nach hinreichende Recherche im web
habe ich mehrere Optokoppler-Lösungen gefunden,nachgebaut und
die Schaltung, die die Praktische TESTs bestanden hat, möchte ich
Allen zugänglich machen.

Nachgebaut habe ich eine von National Semiconductor vorgeschlagene
Applikation.

Die Schaltung ist Praxisfest, funktioniert eiwandfrei bis 150KHz
(getestet).  Näheres könnt ihr aus den Unterlagen (Anhang) oder aus
dem web erfahren.

Bei mir sitzt die Platine neben dem Arduinoboard und die Sensoren sind
dann mit ca 3-5m Leitungen angeschlossen.

Wünsche euch weiter viel Spass beim mikrocontroller.net :-)

von Steffen (Gast)


Lesenswert?

JoJoBa schrieb:
> Schaltung für galwanische Trennung

galvanische Trennung von Signalen ist schön und gut, aber in den 
Trennbereich unter/neben dem Optokoppler Beschriftungen einfügen ist 
eher suboptimal und verringert die Funkstrecke erheblich. Nicht ohne 
Grund fräßen einige Herstelle sogar Lücken in die Platine.

von JoJoBa (Gast)


Lesenswert?

Danke für Hinweis :-)
-------------
Ein paar Worte noch zur Schaltung.

In den Unterlagen (zip Datei) habe ich alle Bauteile Aufgelistet
mit denen ich die Schaltung getestet habe.

In allen Kombinationen funktioniert die Übertragung bis 100KHz:
P82B96 mit 6N137, 6N135 und TLP759
PCA9600 mit 6N137, 6N135 und TLP759

Die höchste Übertragungsfrequenz bieten die 6N137 mit P82B96.

Die Schaltung ist geeignet sowohl die 2 Leitung I2C als auch die
OneWire 1-Leitung Verbindungen galvanisch zu trennen.

Gruß!

von Heiner (Gast)


Lesenswert?

Steffen schrieb:
> galvanische Trennung von Signalen ist schön und gut, aber in den
> Trennbereich unter/neben dem Optokoppler Beschriftungen einfügen ist
> eher suboptimal und verringert die Funkstrecke erheblich. Nicht ohne
> Grund fräßen einige Herstelle sogar Lücken in die Platine.

Full ACK!. Ds ist wie ohne Sicherheitsgurt Auto zu fahren und sich auf 
den Airbag zu verlassen. Durch ersteres wird die korrekte Funktion von 
letzterem verhindert.
Luft- und Kriefstrecken sind hier die Stichworte.

lg Heiner

von Datenblattfinder (Gast)


Lesenswert?

Steffen schrieb:
> galvanische Trennung von Signalen ist schön und gut, aber in den
> Trennbereich unter/neben dem Optokoppler Beschriftungen einfügen ist
> eher suboptimal und verringert die Funkstrecke erheblich. Nicht ohne
> Grund fräßen einige Herstelle sogar Lücken in die Platine.

Dafür hat er dann alles an die gleiche 5V-Versorgung angeschlossen, was 
der galvanischen Trennung ja auch sehr entgegen kommt.

von JoJoBa (Gast)


Lesenswert?

...vielleicht ist Schaltpläne zu interpretieren nicht Jedermann Sache.

die galvanische Trennung zwischen den Datensignalen wird dadurch
realisiert, dass die MASTER Seite und SLAVE Seite aus getrennten
Stromversorgungen gespeist werden. Die Optokoppler trennen die
Datenleitungen.

Auf dem Schaltplan ist dies mit Trennlinie durch Optokoppler vermerkt.

Unter User könnte es Personen geben, die gewollt sind ihre
Mikrocontriller-Schaltungen galvanisch von I2C oder one-wire
Sensoren zu trennen.
Ich benutze die Schaltungen bei Arduino Projekten.
Gepostet habe ich sie deshalb, damit ich Interessenten bestätige,
dass die National Semiconductor Applikation in der Praxis
einsetzbar ist und einwandfrei funktioniert!

MfG!

von JoJoBa (Gast)


Lesenswert?

Hallo,

im gleichen Zuge möchte ich euch Allen diese Seite (Produkt)
nicht vorenthalten.
In einem anderen Thread kam der Vorschlag vom
@falk
(...Danke Falk!)
für die verwendung von
PCA9600 Differential I2C Long Cable Extender with Boost Convertor
als galvanischer Trennverstärker.

http://sandboxelectronics.com/?product=pca9600-differential-i2c-long-cable-extender-with-boost-convertor

Nöö, ich mache keine Werbung, sondern konstatiere, dass die Selbstbau,
wie von mir vor 2 Jahren vorgenommen, sich überhaupt nicht lohnt.

Ich liege bei dem Platinenpreis schon bei 7,70€......

Wünsche euch also viel Erfolg !
Csaba

von Boris O. (bohnsorg) Benutzerseite


Lesenswert?

Fast hätte ich die Subtilitäten der Platine übersehen, hätten mich nicht 
die kleinen Fingerhüte an etwas erinnert. Die Mischung aus Durchsteck- 
und Oberflächenmontage zzgl. Drahtbrücke und Fassungen für die 
Optokoppler ist ein hübsches Kunstwerk. Toppschuss wären 
Selbstbau-Koppler aus LDRs und IR-Dioden, ach was Glühlämpchen mit 
Pappröhrchen mit Kriechstrecke von 10cm.

Für den Angsthasen unter den Galvaniktrennern empfehle ich noch 
Schutzdioden an den Eingägen und nicht vergessen: eine ungeschickte 
Eingangsschutzbeschaltung aus Überspannungsschutzdioden versorgt u.U. 
die entfernte Schaltung bei High-Pegeln.

: Bearbeitet durch User
von JoJoBa (Gast)


Angehängte Dateien:

Lesenswert?

Zugegeben die erste Geversuche mündeten in unvermeindbaren Funkstrecken,
bis die Modalitäten mich zwangen, miniatuisierte Prozessschritte
zu implementieren.

Die Modellpflege kommt dann mit gefrästen Trennungsgraben unter
den Lichtverbindern, damit ja bei jedem Waschraumeinsatz auch
das letze Tröpchen Wasser aus dem Datenstrom abfliessen kann...

LoL

von Gerald R. (visitor)


Angehängte Dateien:

Lesenswert?

Vielen Dank für die Schaltung JoJoBa!

Habe einen Optokoppler für I2C gesucht und finde letzte Woche hier 
gleich eine fertige Schaltung.


Habe erfolgreich den 6N137 auf dem Steckbrett ohne Bustreiber an der SDL 
Leitung meines Displays mit einem ATtiny85 getestet. (3,3k pullup an 
PIN6 vom 6N137)
Funktioniert bis 400kHz.

Kanal 1 ist der Eingang vom Opto, Kanal 2 der Ausgang.

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.