Ich arbeite gerade am RS485-Bus der digitalen Modellbahn. Ich habe einen SN65HCD379 Transceiver als Zweidraht (A+Y und B+Z nach Vorgabe vom Bus) beschaltet.
Das Bussignal mit einem gekauften Transceiver sieht so aus:
formatting link
Nicht schön, aber geht so.
Wenn ich jetzt meinen dranhänge, sieht das ganze so aus:
formatting link
Urks...
Der Bus ist nach "Vorgabe" mit +12V--680--(+485)--120--(-485)--680--GND beschaltet. Aber selbst wenn ich Biasing (die 680) und den Busabschluss (120) wegnehme ändert sich das Bild nicht.
Vorgesehene Geschwindigleit sind 62,5kBits.
Hat jemand eine Idee, wie ich die Busleitungen stabilisieren kann, dass die Leitungen nicht mehr so klingeln?
12V haben an einem RS485-Bus nichts zu suchen. Ändere das in 5V!
Hmm... es fällt auf, daß die Amplitude auf deinem Bus mit weniger als
2Vss ziemlich niedrig ist. Werden die Transceiver möglicherweise durch zu viele Teilnehmer oder mehrfache Busabschlüsse überlastet?
Bei ausgedehnten Bussen kann außerdem eine galvanische Trennung der Transceiver sinnvoll bzw. notwendig werden. Besonders, wenn in den Versorgungsleitungen signifikante Ströme fließen - wird durch Unterschiede im Massepotenzial der zulässige Eingangsspannungsbereich der Transceiver verlassen, passieren komische Dinge...
Versuchs mit MAX485. Verdrille die Busleitung und schließe sie an beiden Enden mit 120_Ohm ab. Das sollte funktionieren. Auf A=A und B=B haste geachtet?
Ist OK, allerdings deuten die langen exponentiellen in den inaktiven Pausen darauf hin, dass dein Bus keinen Bias hat.
Nun der SN65HVD379 ist nicht slew-rate begrenzt und ziemlich schnell (fuer deine 62.5kBits wuerde ich da eher etwas harmloseres verwenden wie z.B. SN75LBC184), das koennte also darauf hindeuten dass du ein Terminierungsimpedanzproblem hast. Aber dafuer sehen die unteren Plateus viel zu sauber aus. Ausserdem sollte man auch erwarten, dass ein Terminierungsproblem abklingt, was es nicht zu tuen scheint. (Kommt natuerlich auch auf die konkrete Verkabelung an, die ich nicht kenne). Deshalb habe ich eher den Verdacht, dass dein Treiber im aktiven zustand schwingt. Wie sieht das Layout und Abkopplung des ICs aus?
Das deutet auch eher daraufhin, dass es sich nicht um ein Terminierungsproblem handelt. Nur um Missverstaendnissen vorzubeugen, du hast die 120 Ohm sowohl am Anfang als auch am Ende des Busse und entsprechendes Kabel?
Roland Ertelt schrieb in im Newsbeitrag: snipped-for-privacy@mid.individual.net...
das Zauberwort heißt "Schiefziehwiderstände". Versuchs mal mit asymmetrischem Biasing. 1,5k nach Vcc und 1,0k nach GND. Die 220R als Abschluss sind natürlich OK. Kenne ich aus bewährten Industriesteuerungen und habs auch bei meinen eigenen Modellbahnelektroniken mit Erfolg so gemacht.
Viele Grüße Klaus
-- Holtermann Elektronik
formatting link
formatting link
formatting link
Roland Ertelt schrieb in im Newsbeitrag: snipped-for-privacy@mid.individual.net...
12 V ist ungewöhnlich für RS485. Ich hoff das ist ein Tippfehler. Google findet nur ein Datenblatt vom SN65HVD379. Der geht nur bis 5V. Zeig mal die zwei Ansteuersignale. Nicht dass da eins zu klein ist. Prüf auch die 5V direkt am Chip. Du könntest auch an einem Serienwiderstand den Strom messen. Der HVD bringt maximal 60 mA.
Kann gut sein. In den Roco Booster und die Lokmaus kann ich nicht reinschauen. Aber was ich aus "Nachbauten" weiss, haben die keine Biasing drin. Meine Terminierung und das Biasing kann ich aber abstellen (Jumper abziehen). Das Bild unten ändert sich aber nicht :-/
Naja, der ist momentan das einzige, was ich da habe. Ich merke mir das aber mal für die Zukunft vor...
Die Verkabelung sind Telefonkabel mit 6poligen Westernstecker, wie sie bei digitaler MoBa eigentlich üblich sind. Die Strippen in den Kabeln liegen parallel. Es ist eine (lt. Spec zulässige) Y-Verkabelung: Booster: ~1m zum Abzweig, von dort einmal ca. 1,5m zur Lokmaus2 und ca
3m zu meiner Schaltung.
Insgesamt müssten das um die 5m sein.
Die Versorgung des IC ist sauber. Die Anbindung ist ein RJ11-Stecker, welcher mit etwa 3cm Leiterzug am IC hängt.
Ich habe jetzt schon mit dem Gedanken gespielt, den Treiber mit ein paar Ohm vom Stecker zu entkoppeln und den Bus vorm Treiber mit ein paar nF "zu bremsen", habe aber Bedenken, dass das das Problem noch verstärkt.
Ausserdem ist es ein rumdoktoren an den Symptomen, ich würde gern die Ursachen beseitigen.
Meine Seite ist terminiert, die der anderen weiss ich nicht. Lt. Doku von Lenz soll ich aber meine Busenden mit 120Ohm abschließen. Ich hoffe (gehe davon aus) das Roco das auch weiss.
Nein, kein Tippfehler. Der Bias nach High liegt auf 12V. Ich habe nirgendwo eine Angabe gefunden, welchen Pegel Lenz verwendet, und habe auf die vom Buskabel verfügbare Spannung zurückgegriffen.
Aber wie schon geschrieben, selbst ohne Biasing klingelt das Signal genauso.
Also das Datenblatt (Jun2008, so alt sind die Chips schon) sagt: Vcc 3..3,6V. Angelegt sind 3,3V sind auch stabil. Differential Input -12V..12V.
Am Chip liegen an den Differential-Eingängen maximal 3,5V an. Das würde ich mal als "im Rahmen" einstufen.
Nein, kann sie nicht, da die Zentrale immer der feste Anfang des Bus ist. Aufgemalt kann sie maximal die Wurzel des (bis zu 31 Äste zählenden) Baums sein: Sie hat nur einen Ausgang. Also muss ich mich darauf verlassen, das Roco dort alles richtig gemacht hat.
Eben, der Bustreiber schwingt in Verbindung mit dem Bus als Induktivität. Es müssen unbedingt beide Enden des Buses mit 120_Ohm abgeschlossen sein. Die Bilder deuten auf was anderes hin!
Bei kurzer Länge auch kein Problem. Hauptsache zum Paar werden die zugehörigen Adern verdrahtet.
Vielleicht durch asymmetrische kapazitive Belastung durch die Transceiver? Es kann aber auch einer der Transceiver rückkoppeln (nicht korrekt arbeiten). Du hast doch im Zuge der Fehlersuche einen nach dem anderen an den Bus gehängt und geschaut, was passiert? Ich habe nicht grundlos den MAX_485 empfohlen. ;-)
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.