Forum: Mikrocontroller und Digitale Elektronik UART (3.3V) über größere Distanz übertragen


von Hendrik (Gast)


Lesenswert?

Hallo,

ich möchte dies
https://github.com/frickelzeugs/FingerprintDoorbell (Kurzzusammenfassug: 
R503 Fingerprint-Sensor, der 3.3V UART 57600 Baud als Türklingel). Die 
Baud-Rate sollte man auf 9600 reduzieren können.

Leider habe ich bei der Klingel nicht genug Platz für den ESP32, so dass 
ich das UART Signal gerne über ca. 8-10m übertragen muss. Es liegt 
aktuell ein YSTY Kabel, welches nicht leicht zu erstzen ist.

Ich habe hierzu schon einiges gelesen. Es ist wahrscheinlich nötig, auf 
RS232 oder 485 zu gehen, oder? Ich habe aktuell keine Spannungsquelle, 
die z.B. + und -12V bereitstellen kann...
Ein Modul wie dieses https://www.ebay.de/itm/263552474056 ist 
wahrscheinlich nicht geeignet, da nur halb-duplex.

Habt ihr einen Tipp? SMD Löten/mehr als Lochraster fällt für mich leider 
flach; Daher wäre eine Lösung mit einem Breakout-Board wie oben gut.

Gruß,
Hendrik

von Wolfgang (Gast)


Lesenswert?

Hendrik schrieb:
> Ich habe aktuell keine Spannungsquelle, die z.B. + und -12V bereitstellen
> kann...

Ja und? Wie kommst du ausgerechnet auf +/-12V?
Selbst der MAX232 brauchte das schon nicht mehr.

von Hendrik (Gast)


Lesenswert?

Hallo,

danke für deine Antwort. Ich dachte, RS232 hat immer +/- X Volt.

Was wäre dann deine Empfehlung?

Gruß,
Hendrik

von Stefan F. (Gast)


Lesenswert?

Der Max3232 erzeugt die nötige Spannung für RS232 selbst.

Wahrscheinlich brauchst du das aber gar nicht. Versuche es erst mal 
einfach mit reduzierter Baudrate und 56Ω Widerständen zwischen den Tx 
Ausgängen und dem Kabel.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Hendrik schrieb:
> keine Spannungsquelle, die z.B. + und -12V bereitstellen kann...
Die vielen MAX232 Ableger wie z.B. der MAX3232 erzeugen seit vielen 
Jahren die nötige positive und negative Spannung aus einer einfachen 
Digitalversorgung 3V3..5V:
https://www.maximintegrated.com/en/products/interface/transceivers/MAX3232.html

: Bearbeitet durch Moderator
von Hendrik (Gast)


Lesenswert?

Hallo Stefan,

>  56Ω Widerständen zwischen den Tx Ausgängen und dem Kabel

Was meinst du damit? TX-Ausgang an beiden Geräten in Reihe, also
  Gerät TX - R - Kabel - Gerät
  Gerät RX - Kabel - R - Gerät
Richtig?

Und falls das nicht funktioniert MAX232 Platinen einbauen, wie diese 
[1], also
 Gerät - MAX232 - Kabel - MAX232- Gerät
Richtig? Wäre die Platine aus dem Link geeignet?

Für wie wahrscheinlich haltet ihr es, dass die erste Lösung 
funktioniert? Die paar Euro für die Platine scheue ich weniger, als 
zweimal an der Haustür basteln zu müssen ;-)

Gruß,
Hendrik
[1] https://www.ebay.de/itm/293842603224?hash=item446a624cd8

von Stefan F. (Gast)


Lesenswert?

Hendrik schrieb:
> Was meinst du damit? TX-Ausgang an beiden Geräten in Reihe, also
>   Gerät TX - R - Kabel - Gerät
>   Gerät RX - Kabel - R - Gerät
> Richtig?

Ja Der Widerstand reduziert (zusammen mit dem Innenwiderstand des 
Mikrocontrollers) Reflexionen in den Kabeln. Stichwort: 
Wellenwiderstand.

Ich kann dir nicht sagen ob die Platine geeignet ist. Auf solchen 
Plattformen werden viele schlecht gefälschte Chips verkauft.

Der Beschreibung nach ist das ein MAX232 der wäre für 5V. Auf dem Foto 
sehe ich aber den MAX3232 für 3,3V. Ich würde mein Geld lieber für 
Artikel ausgeben, die vernünftig beschrieben sind. Mit technischen 
Daten, Anschlussplan, Schaltplan, etc.

von A. S. (Gast)


Lesenswert?

Rs232 spezifiziert > ± 5,5V am Ausgang und > ± 3V am Eingang.

Bei den meisten Empfängern liegt die umschaltschwelle bei 1..2V.

Über 10m Kabel kannst Du 115kBaud mit 0..3V in den meisten Fällen 
problemlos übertragen. Mit 0..5V fast immer.

Wenn da etwas Probleme macht, dann

 * zu hochohmige Treiber
 * Laptops/Adapter, deren TX ohne Längswiderstand auf eine climbdiode 
trifft
 * Schlechter Inverter (irgendwas mit Optokoppler, Komparator und pullup
 * Gnd-Anhebung durch hohen Strom

(Wir machen das seit 30 Jahren mit Industrieprodukten, noch nie gab es 
einen PC, der <0V erwartet hätte)

von A. S. (Gast)


Lesenswert?

Rs232 spezifiziert > ± 5,5V am Ausgang und > ± 3V am Eingang. (Darum 
verdoppelt ein max für 3,3V auch nur)

Bei den meisten Empfängern liegt die umschaltschwelle bei 1..2V.

Über 10m Kabel kannst Du 115kBaud mit 0..3V in den meisten Fällen 
problemlos übertragen. Mit 0..5V fast immer.

Wenn da etwas Probleme macht, dann

 * zu hochohmige Treiber
 * Laptops/Adapter, deren TX ohne Längswiderstand auf eine climbdiode 
trifft
 * Schlechter Inverter (irgendwas mit Optokoppler, Komparator und 
pullup)
 * Gnd-Anhebung durch hohen Strom

(Wir machen das seit 30 Jahren mit Industrieprodukten, noch nie gab es 
einen PC, der <0V erwartet hätte)

von Robert (Gast)


Lesenswert?

Hendrik schrieb:
> Für wie wahrscheinlich haltet ihr es, dass die erste Lösung
> funktioniert? Die paar Euro für die Platine scheue ich weniger, als
> zweimal an der Haustür basteln zu müssen ;-)

Bevor du an der Haustüre bastelst, kannst du doch mit einem entsprechend 
langen Kabel eine Trockenübung in deinem Flur, Wohnzimmer etc. 
durchführen. Wenn die Lösung 1 nicht funktioniert, testest du die Lösung 
mit den MAX232 Platinen.

von Stefan F. (Gast)


Lesenswert?

Hendrik schrieb:
> Für wie wahrscheinlich haltet ihr es, dass die erste Lösung
> funktioniert?

Früher wurden Drucker direkt mit Logikpegeln angesteuert. Da waren Kabel 
3 Meter völlig normal, 6 Meter ging meistens noch und bei 10 Metern hing 
es von der Qualität der Geräte und Kabel ab.

Das waren damals LS-TTL Pegel. Diese ICs hatten unsymmetrische 
Ausgangswiderstände die gar nicht dem Wellenwiderstand des Kabels 
entsprachen. Dazu kam, dass die Drucker-Ports mit mehreren 100 kHz 
betrieben wurden.

Langer Rede kurzer Sinn: Ich bin da sehr zuversichtlich dass es bei dir 
ohne extra Treiber (nur mit Widerständen) gut funktionieren wird. Falls 
es nicht geht: Mehr oder weniger Ohm versuchen und das mit einem 
Oszilloskop kontrollieren.

Robert schrieb:
> Wenn die Lösung 1 nicht funktioniert, testest du die Lösung
> mit den MAX232 Platinen.

Und wenn du mal hunderte Meter Kabellänge brauchst nimmst du RS422 
Treiber.

von ... (Gast)


Lesenswert?

Wenn es stoersicher werden soll, benutze eine "Stromschleife".

von m.n. (Gast)


Lesenswert?

Hendrik schrieb:
> so dass
> ich das UART Signal gerne über ca. 8-10m übertragen muss.

Dann mach das doch einfach.

Wolfgang schrieb:
> Ja und? Wie kommst du ausgerechnet auf +/-12V?

-12 V bis +12 V = 24 V => V24 ;-)
Voll daneben, aber findet man hier immer wieder.

von A. S. (Gast)


Lesenswert?

m.n. schrieb:
> -12 V bis +12 V = 24 V => V24 ;-)
> Voll daneben, aber findet man hier immer wieder.

12V waren lange Zeit üblich, weil PC-Netzteile 12V lieferten.

Bei +-15V maximum ist +-12V auch ein guter Wert. Nicht für maximalen 
Durchsatz, sondern bei GND-Anhebungen.

von m.n. (Gast)


Lesenswert?

A. S. schrieb:
> m.n. schrieb:
>> -12 V bis +12 V = 24 V => V24 ;-)
>> Voll daneben, aber findet man hier immer wieder.
>
> 12V waren lange Zeit üblich, weil PC-Netzteile 12V lieferten.

Ursprüngliche 4-fach RS232/V24 Treiber waren die MC1488 bzw. SN75188. 
Und die liefen mit typisch +/- 9 V. Da gab es noch keine PCs und keine 
PC-Netzteile. Empfänger dazu passend dann MC1489/SN75189.
Das nur nebenbei.

von U. A. (udal)


Lesenswert?

Wie wärs mit einer 20ma Current Loop?

HCPL-4100: Optically Coupled 20 mA Current Loop Transmitter
HCPL-4200: Optically coupled 20 mA current loop Receiver

20 kBaud data rate at 400 metres line length

von ... (Gast)


Lesenswert?

> Current Loop

Guggmal hier:
Beitrag "Re: UART (3.3V) über größere Distanz übertragen"

> Für wie wahrscheinlich haltet ihr es

Ich halte es fuer sehr wahrscheinlich, dass der ganze Kram
nach dem ersten mehr oder weniger nahem Gewitter karp0tt ist.
Und zwar alles was Drahtberuehrung hat.

von Telefonfritze (Gast)


Lesenswert?

Hendrik schrieb:
> [1] https://www.ebay.de/itm/293842603224?hash=item446a624cd8

Nein, da steht TTL, das ist normalerweise für 5V.
Es kann sein, dass das klappt, muss aber nicht.

von Stefan F. (Gast)


Lesenswert?

Telefonfritze schrieb:
> da steht TTL, das ist normalerweise für 5V.

Die Chinesen benutzen die Abkürzung TTL, wenn sie "Logik-Pegel" meinen.

Es ist halt schon blöd, wenn der Text MAX232 sagt und das Foto einen 
MX3232 zeigt. Ich würde das wie gesagt nicht kaufen.

von Hendrik (Gast)


Lesenswert?

Danke für Eure Tipps.
Ich werde es erstmal nur mit den Widerständen ausprobieren. Wenn das 
nicht klappt, probiere ich es mit dem Max232.

Gruß,
Hendrik

von Stefan F. (Gast)


Lesenswert?

Hendrik schrieb:
> Wenn das nicht klappt, probiere ich es mit dem Max232.

Du brauchst einen MAX3232 für 3,3V

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.