Forum: Mikrocontroller und Digitale Elektronik galvanisch getrennte RS232 Schnittstelle


von Stefan (Gast)


Lesenswert?

Hallo,

ich möchte den UART eines Atmegas zur Steuerung und Ausgabe von
Messdaten mittels angeschlossenem PC verwenden. Ich hätte das Ganze
gerne galvanisch getrennt, also Optokoppler. Ich möchte keine
umständlichen DC-DC-Wandler für die Hilfsspannung einsetzen, sondern
einen nicht genutzten Portpin der seriellen Schnittstelle, der auf
"0" (=+12V) gesetzt wird, dazu verwenden.
Da die seriellen Schnittstellen ja nach der Norm den Strom auf ca. 20mA
begrenzen, könnte ich doch RXD auf der PC-Seite direkt mit dem
Stromversorgungspin verbinden und beide mit dem Phototransistor im
Optokoppler nach Masse ziehen. Evtl. noch eine Diode davor, falls der
Stromversorgungspin mal auf "1" (-12V) steht. Zum Senden (von
PC-Seite aus) würde einfach die LED im (zweiten) Optokoppler über einen
Vorwiderstand (kann wegen eingebauter Strombegrenzung evtl auch
entfallen) und eine antiparallele Schutzdiode an TXD angeschlossen.
Meint ihr das würde so gehen? Welchen (zweifach-) Optokoppler sollte
ich am besten nehmen? Kann ich mich auf die 20mA-Begrenzung auch bei
modernen onboard-Schnittstellen verlassen? Wie sieht es mit Notebooks
aus, die ja oft nur +-5V an der RS232 bringen? Achja, ich brauche
natürlich keine Handshakeleitungen, und von der Geschwindigkeit reichen
mir auch 9600 Bit/s.

Gruß,
Stefan

von Winfried (Gast)


Lesenswert?

Geh mal besser davon aus, dass du nur 8 mA verfügbar hast und das die
Spannung dabei auch vielleicht nur +-5V ist. Ist so meine Erfahrung.

Beim Optokoppler musst du auf einen entsprechenden CTR achten.

Winfried

von Stefan (Gast)


Lesenswert?

Hallo Winfried,

danke für die Infos. Ich werd es mal mit einem CNY74-2 versuchen und
entsprechende Schutzwiderstände und -Dioden vorsehen. Auch wenn nur 8mA
verfügbar sind, auf die Strombegrenzung kann ich mich doch schon
verlassen, oder? Ich würde das Gerät auch gerne mal am Notebook
betreiben, und da läßt sich nix reparieren...

Stefan

von Patrik (Gast)


Lesenswert?

Stefan:"Wie sieht es mit Notebooks
aus, die ja oft nur +-5V an der RS232 bringen?"

Ich dachte bis jetzt ,das der +-12V Pegel fester Bestandteil der RS 232
Spezifikation ist. Kann es denn funktionieren ,wenn ein Notebook +-5V
bringt ,aber die Gegenseite ja erst <=+12 V als "High" erkennt?

von Stefan (Gast)


Lesenswert?

Hallo Patrik,

Ja, laut der Spez. ist +-12V vorgesehen, aber fast alle Geräte
interpretieren auch schon TTL-Pegel (0V/5V) korrekt. Manche Notebooks
und Onboard-Schnittstellen liefern deshalb erheblich weniger, z.B. eben
+-5V.

Stefan

von Winfried (Gast)


Lesenswert?

Auf die Strombegrenzung kannst du dich verlassen. Da sollte nichts
anbrennen. Aber nichts geht über eigene Erfahrungen: Miss doch einfach
mal den Kurzschlußstrom gegen Masse.

Winfried

von Stefan (Gast)


Lesenswert?

Ich denke mal, ich werde einfach die Widerstände so berechnen, daß auch
bei 5V noch sicher geschaltet wird, und gleichzeitig auch bei 12V ca.
10mA nicht überschritten werden. Dann bin ich auf der sicheren Seite.

Stefan

von crazy horse (Gast)


Lesenswert?

bleibt noch das Problem der -xxV. Den RxD-Eingang einfach zwischen Masse
und +xxV umzutasten, wird bestenfalls an einigen Computern
funktionieren, eine ordentliche Lösung ist das nicht.
Nochwas: der Ruhezustand der RxD-Leitung ist -xxV.
Und mit dem CNY74 könnte es auch Probleme mit dem LED-Strom geben.
Es gibt sicher Gründe, galvanisch zu trennen. Was sind deine?

von harry (Gast)


Lesenswert?

hi,

stimmt, zwischen 5v und masse umtasten geht nur bei neueren rechnern,
mit den kadetten 8088 und manchen 286-boards kriegt man probleme (wer
setzt die noch ein???), da waren die schnittstellen noch streng nach
v24 standart ausgebildet.
alle 16550 uart's lesen zuverlässig den pegelwechsel von 5v nach gnd
und zurück, probier mal: ein bc546 als inverter, 4k7 (-> 1mA strom)
nach pc-rx, funtzt tadellos. das ganze hat natürlich einschränkungen
wenn die rs232 parameter bis zur grenze ausgereizt werden, aber 9600
baud, 5m kabel geht tiptop.

gruss, harry

von crazy horse (Gast)


Lesenswert?

ist doch kein Problem der verwendeten UARTs, sondern eine Frage der
eingesetzten Treiber, also in der Art des MAX232 (die natürlich im PC
nicht eingesetzt werden, sondern eher was in der Richtung 1488/1489)

von harry (Gast)


Lesenswert?

ah, wieder mal supergenau. okay, damit's korrekt wird.
... alle 16550 uart's / und das ganze geraffel, was hintendranne hängt
/ lesen ...
jedenfalls funktioniert's, war das nicht die frage???

von Ingo Henze (Gast)


Angehängte Dateien:

Lesenswert?

Was die Treiberseite (z.B. MAX232) anbelangt, habe ich gute Erfahrungen
mit der Atmel-Standardschaltung (siehe Anhang) gemacht. Funktioniert
auch noch runter bis 2 Volt, das macht ein normaler MAX232 schon nicht
mehr mit.
Vielleicht kann man da ja die Transistoren irgendwie durch Optokoppler
ersetzen...

Gruß
Ingo

von Rufus T. Firefly (Gast)


Lesenswert?

Was übrigens die Pegel der RS232-Norm betrifft:
+3 .. +15V und -3 .. -15V sind der gültige Bereich für Empfänger.

von Stefan (Gast)


Lesenswert?

@crazy horse:

Der Grund für die Potentialtrennung: Ich will meine Computer (besonders
onboard-RS232 und Notebook) auf jeden Fall schützen, auch wenn etwas
schiefgeht. Ich steuere über PWM mehrere induktive Lasten (Motoren),
muß gleichzeitig aber die Gesamtstromaufnahme mit einem Shunt messen;
ich müsste also die PWM-Endstufen mit Optokopplern und auch noch die
Strommessung mit einem (analogen) Koppler versehen, um den ganzen µC
frei von Einflüssen von der Hochstromseite zu halten. Außerdem sollen
auch noch die +5V über einen gut abgeblockten Regler aus der
Stromversorgung für die Motoren verwendet werden.
Da dachte ich, es wäre einfacher, auf der RS232-Seite die Trennung zu
machen, und im Extremfall einen gebratenen Atmega zu haben, ist
erträglicher, als ein kaputter serieller Port am Notebook.

Stefan

von crazy horse (Gast)


Lesenswert?

ich sag mal, in dem Fall brauchst du keine Trennung. Echte Probleme
kommen von grob unterschiedlichen Massepotentialen/schleifen und den
damit verbundenen Ausgleichsströmen, sollten bei dir nicht vorkommen.
Die Schnittstellenbausteine können einiges ab.
Für Ängstliche: in die Rx und Tx-Leitung je einen 100Ohm-Widerstand und
eine bidirektionale TVS-Diode von Rx und Tx nach Masse.

von Stefan (Gast)


Lesenswert?

@crazy horse:

Ok, vielen Dank erstmal für die Infos. Du hast recht, unterschiedliche
Massepotentiale sollten eigentlich bei mir nicht auftreten. Vielleicht
sollte ich doch auf die Trennung verzichten. Dann kann ich auch eine
"richtige" RS232 mit einem MAX232 o.ä. einbauen und muss nicht ewig
dran rumpfuschen bis es auch mit dem Notebook geht.
Noch was zu den TVS-Dioden: Vom Prinzip her kann man die sich wie eine
bidirektionale Z-Diode vorstellen, oder? Dann bräuchte ich also welche
mit knapp über +-12V Durchbruchspannung?

Gruß,
Stefan

von Thorsten (Gast)


Lesenswert?

Würden sich in deinem Fall nicht Photomos-Relais anbieten ? Auf PC-Seite
werden nur 2mA zum durchschalten der LED benötigt und die
Geschwindigkeit ist auch kein Problem, da ja komplett Halbleiter.

Thorsten

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.