Forum: Mikrocontroller und Digitale Elektronik 4 serielle Schnittstellen mit langem Kabel


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.
von Stefan B. (Gast)


Lesenswert?

Hallo, ich hab 4 Wärmemengenzähler mit optischer Schnittstelle und 
möchte diese gerne über ein selbstgebautes Gerät automatisch jeden Monat 
auslesen können.

In das Gerät (Master) kommt z.B. ein Atmega644, ein Display, ein paar 
Tasten und die Stromversorgung. Programmierung ist soweit kein Problem.
Die Zähler sind ca. 2-10 Meter weg, zu jedem kann ich ein Kabel (z.B. 
Cat7) ziehen. Es muss nur immer 1 Zähler erreichbar sein, deshalb dachte 
ich an einen "Umschalter" am Master. Geschwindigkeit ist 300-9600 baud.

Jegliches Bussystem (RS485, Mbus) braucht intelligente Logik am Zähler 
für die Adressierung, das möchte ich vermeiden. So simpel wie möglich.

Die Frage ist, wie ich die optischen Leseköpfe anbinde.
Link: 
https://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-ttl-ausgang

-TTL über so langes Kabel neben Stromleitungen ist vermutlich nicht so 
ideal.

-die RS232-Version verwenden und die Stromversorgung auch über das 
Kabel, am Master per 4-fach Umschalter auf einen MAX232 UART?

Gibt es eine bessere Lösung? Z.B. RS485 Treiber mit integrierter 
Adressierung?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Stefan B. schrieb:
> Gibt es eine bessere Lösung? Z.B. RS485 Treiber mit integrierter
> Adressierung?

Wenn du CAT Kabel ziehen kannst, wäre auch RS-422 eine Möglichkeit, bei 
dem du nur differentielle Transceiver für Senden und Empfangen brauchst. 
Die Stromversorgung dafür könntest du mit übers Kabel ziehen. Oder du 
nimmst RS485 und schaltest Senden/Empfangen über einen extra Draht mit 
um. Aber bei Längen von 10m macht RS232 keine Probleme, vor allem, wenn 
da nur 9600 Baud max. benutzt werden. Selbst UART TTL sollte klappen, 
wenn du pro Kabelpärchen eines für Masse nimmst. Das wäre auch für RS232 
eine gute Idee.

von Falk B. (falk)


Lesenswert?

Stefan B. schrieb:

> Hallo, ich hab 4 Wärmemengenzähler mit optischer Schnittstelle und
> möchte diese gerne über ein selbstgebautes Gerät automatisch jeden Monat
> auslesen können.

Pulsausgang oder SML?

> In das Gerät (Master) kommt z.B. ein Atmega644, ein Display, ein paar
> Tasten und die Stromversorgung. Programmierung ist soweit kein Problem.
> Die Zähler sind ca. 2-10 Meter weg, zu jedem kann ich ein Kabel (z.B.
> Cat7)

Warum nicht gleich Glasfaser? Mensch, für so einen Popelmosch reicht 
einfachster Klingeldraht.

> ziehen. Es muss nur immer 1 Zähler erreichbar sein, deshalb dachte
> ich an einen "Umschalter" am Master. Geschwindigkeit ist 300-9600 baud.

Kann man machen, nennt sich De-Multiplexer. 74HC153 ist dein Freund.

> Die Frage ist, wie ich die optischen Leseköpfe anbinde.
> Link:
> 
https://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-ttl-ausgang

Naja. Die Schaltung ist teilweise fragwürdig.

> Gibt es eine bessere Lösung? Z.B. RS485 Treiber mit integrierter
> Adressierung?

Nimm das hier, das geht auch über 10m problemlos mit 5V CMOS-Pegeln. 
Einfach und robust.

Beitrag "Re: Smartmeter - MT681 - Fehler beim IR-Lesen"

von Helmut -. (dc3yc)


Lesenswert?

Wie wärs mit WLAN (ESP8266)? Dann brauchste nur ne Klingelleitung zur 
Stromversorgung.

von Stefan B. (Gast)


Lesenswert?

Falk B. schrieb:
> Nimm das hier, das geht auch über 10m problemlos mit 5V CMOS-Pegeln.
> Einfach und robust.
>
> Beitrag "Re: Smartmeter - MT681 - Fehler beim IR-Lesen"

Den hatte ich schon im Auge. Für die Kabel kann ich auch J-Y(ST)Y 
2x2x0.8 verwenden. Das Protokoll ist SML.

In deinem Beitrag schreibst du aber:
> Dann sollte man aber
> nicht zu lange Kabel zwischen Sensorkopf und Mikrocontroller haben, denn
> das ist besonders für den Empfänger ungünstig (Kabelkapazität,
> Einkopplung von Störungen). Ich sag mal 1m sollte noch OK sein.

RS422 klingt auch gut, ist vom Hardwareaufwand wohl das gleiche wie 
RS-232 nur ein anderer Multiplexer nötig? Welcher?

Das mit WLAN ist ein bisschen krass und geht höchstwarscheinlich nicht 
durch die Betondecken.

von Falk B. (falk)


Lesenswert?

Stefan B. schrieb:

> Den hatte ich schon im Auge. Für die Kabel kann ich auch J-Y(ST)Y
> 2x2x0.8 verwenden.

Das reicht dicke.

 Das Protokoll ist SML.
>
> In deinem Beitrag schreibst du aber:
>> Dann sollte man aber
>> nicht zu lange Kabel zwischen Sensorkopf und Mikrocontroller haben, denn
>> das ist besonders für den Empfänger ungünstig (Kabelkapazität,
>> Einkopplung von Störungen). Ich sag mal 1m sollte noch OK sein.


Hallo! Alles lesen! Es gibt dort ZWEI Versionen. Die normale

Volkszaehler_2.0.pdf

Die hat einen Treiber drauf, da kann man problemlos lange Kabel 
anschließen.

und die 2. Sparvariante für den direkten Mikrcontrolleranschluß

Volkszaehler_2.0_Mikrocontroller.pdf

Nur für DIE gilt die Beschränlung auf kurze Kabel!

> RS422 klingt auch gut, ist vom Hardwareaufwand wohl das gleiche wie
> RS-232

Nicht ganz, du brauchts drei Leitungen, D+, D- und Masse, dazu noch 5V.

> nur ein anderer Multiplexer nötig?

Vergiss RS422, das brauchst du nicht.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Stefan B. schrieb:
> RS-422 ... ist vom Hardwareaufwand wohl das gleiche wie RS-232

Du brauchst doppelt so viele Leitungen!

: Bearbeitet durch User
von Helmut -. (dc3yc)


Lesenswert?

Warum ist WLAN krass? Der ESP8266-12 kostet auch nur 2 Euro. Ich 
monitore meine Heizung durch drei Betondecken vom Keller ins 
Dachgeschoss und da kommen alle 5 Minuten 6 MQTT-Datenpakete ohne 
Störung durch!

: Bearbeitet durch User
von georg (Gast)


Lesenswert?

Stefan B. schrieb:
> -die RS232-Version verwenden und die Stromversorgung auch über das
> Kabel, am Master per 4-fach Umschalter auf einen MAX232 UART?

Gibt es die? Dein Link zeigt nur eine TTL-Version. Natürlich ist RS232C 
besser.Dann brauchst du an der Zentrale je einen RS232C-Empfänger und 
Sender. Ein MAX232 hat 2 Sender und 2 Empfänger, am besten verwendest du 
2 davon und schaltest auf der TTL-Seite um, das ist viel einfacher als 
auf der +-12V-Seite. Z.B. mit 74xx138 und 74xx153, es gibt auch eine 
Menge andrer Möglichkeiten.

Für RS422 oder RS485 müsstest du nicht nur mehr Leitungen ziehen, 
sondern auch einen entsprechenden Sender-Empfänger-Chip in deine 
Leseköpfe basteln.

Georg

von Stefan B. (Gast)


Lesenswert?

Vielen Dank schonmal für die bisherigen Antworten.
Ich werd erstmal die Version mit dem 74HC14D probieren, im Falle des 
Falles kann ich immer noch auf RS232 umbauen.

Eins versteh ich aber noch nicht:
Der Multiplexer 74HC153 geht doch für beide Kanäle nur in eine Richtung, 
also zum Mikrocontroller (RX) ?

Für die Sendeseite bräuchte ich doch eher sowas wie ein CD74HC4052, der 
ist zwar Analog geht aber in beide Richtungen wie hier beschrieben:
http://e2e.ti.com/support/switches-multiplexers/f/388/t/527646?I-need-a-switch-to-multiplex-UART-to-4-sensors

von Falk B. (falk)


Lesenswert?

Stefan B. schrieb:

> Der Multiplexer 74HC153 geht doch für beide Kanäle nur in eine Richtung,
> also zum Mikrocontroller (RX) ?

Ja.

> Für die Sendeseite bräuchte ich doch eher sowas wie ein CD74HC4052,

Das ist ein Analogschalter. Kann man machen. Die echte digitale Version 
wäre ein Demultiplexer ala 74HC138 oder 74HC155.

von Schleifer (Gast)


Lesenswert?

Stefan B. schrieb:
> Gibt es eine bessere Lösung?

Stromschleife, gerne auch mit "wired-or" oder "wired-and".
Oder auch LIN.

von Frank K. (fchk)


Lesenswert?

Stefan B. schrieb:
> Hallo, ich hab 4 Wärmemengenzähler mit optischer Schnittstelle und

> -die RS232-Version verwenden und die Stromversorgung auch über das
> Kabel, am Master per 4-fach Umschalter auf einen MAX232 UART?

Da nimmst Du dann MAX3221, die haben Enable-Eingänge, mit denen Du die 
Transceiver ein- und ausschalten kannst. Siehe Datenblatt.

fchk

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]
  • [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.