www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik galvanisch getrennte RS232 Schnittstelle


Autor: Stefan (Gast)
Datum:

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

Autor: Winfried (Gast)
Datum:

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

Autor: Stefan (Gast)
Datum:

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

Autor: Patrik (Gast)
Datum:

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

Autor: Stefan (Gast)
Datum:

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

Autor: Winfried (Gast)
Datum:

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

Autor: Stefan (Gast)
Datum:

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

Autor: crazy horse (Gast)
Datum:

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

Autor: harry (Gast)
Datum:

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

Autor: crazy horse (Gast)
Datum:

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

Autor: harry (Gast)
Datum:

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

Autor: Ingo Henze (Gast)
Datum:
Angehängte Dateien:

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

Autor: Rufus T. Firefly (Gast)
Datum:

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

Autor: Stefan (Gast)
Datum:

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

Autor: crazy horse (Gast)
Datum:

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

Autor: Stefan (Gast)
Datum:

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

Autor: Thorsten (Gast)
Datum:

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

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.