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.
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.
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.
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.
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.
@ 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
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
@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.
OK, hier nochmal die korrigierte Version, sollte jetz aber wirklich passen. MFG Falk
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
@ 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
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
@ 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.