Forum: Haus & Smart Home RS-485 erweitern


von Ben (Gast)


Angehängte Dateien:

Lesenswert?

Wie ich bisher weiss ist ein 485-BUS mit normalen RS485 
Transceiverbausteinen (MAX485 oder SN75176) auf 32 Teilnehmer 
beschränkt.
Es gibt natürlich auch 1/2, 1/4 oder und 1/8 Unit Load Bausteine.
Aber die normalen mit 12 KOhm Eingangswiderstand sind unschlagbar 
günstig.
Ich möchte gerne zwei solcher 485-Busse (Halfduplex) miteinander 
koppeln.
So das ich auf 64 Teilnehmer komme.
Ein Master kommuniziert mit den zweiten.
Wie kann ich dies einfach realisieren? (Ich möchte keine neue 485 
Bausteine nehmen)
Siehe Anhang.
Thx.

von Daniel F. (df311)


Lesenswert?

wie weit sind denn die zwei master voneinander entfernt?
wenns nicht zu weit ist, könntest du die master z.b. mit twi, i2c oder 
sonst einer technologie zusammenbasteln und die rs485 so belassen wie 
sie sind.

von Ja mann (Gast)


Lesenswert?

Ist der 2. Master wieder ein vollwertiger Master oder ist der nur aus 
RS485-Sicht ein 2. Master ? Ich unterstelle mal einfach letzteres, und 
würde dann vorschlagen einen kleinen RS485 Repeater (z.B. AVR mit 2 UART 
und 2x SN75176) zu basteln. Die kann man dann gegebenenfalls noch weiter 
Kaskadieren, so dass noch mehr Teilnehmer möglich sind.

von Ben (Gast)


Lesenswert?

Zweitere Lösung hört sich sehr gut an. "Repeater" Mit zwei Treibern.
Gäbe es vielleicht ein Beispiel zu der Realisierung mit 2 UART´s
und den 2x SN75176?

Ich könnte vom 1.Master den 2.Master ansprechen und damit dann z.B. 
Teilnehmer "50" abfragen und "52" stellen?

Ich habe leider noch keine gute Schaltung für einen 485 Repeater 
(Halbduplex) gefunden.

von Ben (Gast)


Lesenswert?

Vielen Dank für den Schaltungstipp!
Bei 4800 Baud müsste R1, R2 = doch 475kOhm sein?
Müssen andere Monoflops sein?
Wie funktioniert die Syncro. der Daten?
Ich nehme an das Senden/Empfangen damit problemlos funktioniert.
Nochmals thx.

von Falk B. (falk)


Lesenswert?

@ Ben (Gast)

>Bei 4800 Baud müsste R1, R2 = doch 475kOhm sein?

Ich komme auf 687K bei C1=C2=10nF.

>Müssen andere Monoflops sein?

Nein.

>Wie funktioniert die Syncro. der Daten?

Ganz einfach. Sobal ein Startbit ankommt(fallende Flanke) wird das 
zugehörige Monoflop getriggert. Daraufhin wird der Treiber der anderen 
Stufe aktiviert und gleichzeitig das andere Monoflop gesperrt (über Q 
negiert).

>Ich nehme an das Senden/Empfangen damit problemlos funktioniert.

Hoffe ich mal. Man muss nur nach jedem Datenpaket ca. 2 Bytezeiten 
warten, damit der Repeater wieder umschalten kann.

MFg
Falk

von Ben (Gast)


Lesenswert?

Verstehe ich die Rechnung nicht richtig?

10nF x 330kOhm = entsprichen -- 33000 bps (33*t_Bit)
Für 4800 bps folglich:
33000 bps / 4800 bps = 6,875 ( Reduzierungsfaktor )
also 330kOhm / 6,875 = 48KOhm

von Falk B. (falk)


Lesenswert?

@Ben (Gast)

>Verstehe ich die Rechnung nicht richtig?

Nein.

>10nF x 330kOhm = entsprichen -- 33000 bps (33*t_Bit)

Falsch.

>Für 4800 bps folglich:
>33000 bps / 4800 bps = 6,875 ( Reduzierungsfaktor )
>also 330kOhm / 6,875 = 48KOhm

Mit der Prozentrechnung hast du's nicht so, oder?

Anstatt "clever" mit "Reduzierungsfaktor" zu rechnen, rechne mal DIREKT.

MFG
Falk

P.S. UNd nun zur Übung. Auf welche Baudrate ist die Schaltung 
dimensioniet?

P.P.S. In der Schaltung ist noch ein Fehler. Die Q negiert Ausgänge 
müssen an das Reset, und die B Eingänge auf Vcc.

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

OK, hier nochmal die korrigierte Version, sollte jetz aber wirklich 
passen.

MFG
Falk

von Ben (Gast)


Lesenswert?

Danke für Deine Mühe und die Erläuterung des t_Bit = Bit pro t.
Die Formel ist jetzt für verständlich geschrieben.
Die Schaltungsdimensionierung ist für 4800Baud. -- Falls ich 9600Baud 
benötige.. eine Runde Sache ... mit den Reduzierungsfaktor...

Ich habe mal Deine Schaltungsveränderungen kurz eingezeichnet.
Ob diese so richtig sind?

Viele Grüsse
Ben

von Ben (Gast)


Angehängte Dateien:

Lesenswert?

Ja gut Du hast ja schon was gesendet. Anbei trotzdem nochmal ...

von Ben (Gast)


Angehängte Dateien:

Lesenswert?

IC1  -- PIN 14, PIN 6 -- GND ??

von Falk B. (falk)


Lesenswert?

@ Ben (Gast)

>Die Schaltungsdimensionierung ist für 4800Baud.

AUA! Für 4800 hab ich vorgerechnet, und es kommen NICHT 330k raus. 
OHJEMINE!

DIE GND-Verbindung der C ist laut Datenblatt zu Verringerung der 
Störungen. Als R reichen 680k, sooo genau muss das nciht sein, zum der C 
sicher 5..10% Toleranz hat. Die Idee dabei ist einfach, dass ca. 1,5 
Zeichen = 15 Bit lang der Sender garantiert aktiv bleibt. Dann kommt 
entweder ein neues zeichen oder die Übertragung ist beendet.

MFG
Falk

von Kelly (Gast)


Lesenswert?

Weiss Jemand, wie ein Protokoll für ein RS485-Bus aussieht? Wie wird ein 
solches Protokoll gestaltet? Z.B., ein Master und acht Slaves. Könnte 
Jemand mir helfen? vielen Dank.
mfg Kelly

von Falk B. (falk)


Lesenswert?

@ Kelly (Gast)

>Weiss Jemand, wie ein Protokoll für ein RS485-Bus aussieht?

Es gibt keinen RS485 Bus. Auf RS485 gibt es viele verschiedene 
Protokolle.
Aber für den Anfang was einfaches.

DMX512.

http://www.soundlight.de/techtips/dmx512/dmx512.htm

MfG
Falk

von so nicht (Gast)


Lesenswert?

RS485.. Du musst meldungsbasiert die Richtung der Transceiver 
umschalten. Dh es muss fuer alle Teilnehmer immer klar sein, wann sie 
denn drankommen. Dh die Meldung entahelt eine Adressierung und die 
Knoten haben Adressen. Entweder sind nun alle Meldungen gleich lang, 
oder die Meldungen muessen die Laenge beinhalten. Das bedeutet, die 
Meldung enthaelt eine Adressierung, sowie moeglichwerweise eine Laenge. 
Standard ist auch ein Header, sowie ein CRC. Optional kann man 
Synchronisationsbytes einfuegen, die helfen, falls mal ein byte verloren 
geht.

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.