Hallo ich habe einen kleinen Hausbus mit 4 Modulen aufgebaut (ohne Abschlusswiderstand). Alle Module konnte ich auch mit meinem Notebook per Bus ansprechen. Beim Versuch, ein Modul über den Bus zu Flashen, ist die Verbindung abgerissen. Meine Vermutung, dass hier eine Rückmeldung nicht erkannt wurde. Da ich im Bus keine Abschlusswiderstände verwendet habe, lag die Vermutung nah, dass es an dem liegen könnte. Nach Datenblatt soll hier ein 120 Ohm Widerstand als Abschluss verwendet werden. Wenn ich den aber einsetze, ist der Bus ganz tot. Woran kann das liegen? Kurz zum Aufbau. Ich verwende 4 Module, die im Bus miteinander verbunden sind. Masse wird ebenfalls über den Bus geführt und ist verbunden. Die maximale Leitungslänge liegt bei etwa 15m. Alle Module sind Sternförmig verkabelt. Vom Knoten zu den einzelnen Modulen habe ich etwa folgende Leitungslängen: 1,5m 5m 4m und 10m. Übertragungsrate 9600 Baud. Alle Module arbeiten als Slaves und sind auf Empfang. Mit einem Notebook (Master) will ich alle Slaves parametrieren. Nach der Parametrierung wird das Notebook wieder abgehängt. Meine Fragen nun: 1. Warum reagiert kein einziges Modul mehr, wenn ich einen Abschlusswiderstand verwende (habe verschiedene Werte probiert (120 Ohm, 560 Ohm und 1k Ohm). 2. Wenn alle Slaves auf Empfang sind und ich zwischen den Busleitungen, von A nach B messe, kann ich eine Spannung von +0,27V ermitteln. Wenn ich einen Abschlusswiderstand verwende, habe ich immer 0V. Ist das Richtig? Welchen Abschlusswiderstand muß ich verwenden? Hoffe, mir hat jemand einen Guten Tip, was hier los sein könnte. Micha.
@ Micha R. (michaavr) >maximale Leitungslänge liegt bei etwa 15m. Alle Module sind Sternförmig >verkabelt. Sternförmige Verkabelung ist zwar nicht offiziell erlaubt, geht bei diesen niedrigen Baudraten aber. >1. Warum reagiert kein einziges Modul mehr, wenn ich einen >Abschlusswiderstand verwende (habe verschiedene Werte probiert (120 Ohm, >560 Ohm und 1k Ohm). 560 und 1K sind keine Abschlusswiderstände, die sind viel zu gross. >2. Wenn alle Slaves auf Empfang sind und ich zwischen den Busleitungen, >von A nach B messe, kann ich eine Spannung von +0,27V ermitteln. Wenn >ich einen Abschlusswiderstand verwende, habe ich immer 0V. Ist das >Richtig? Ja. >Welchen Abschlusswiderstand muß ich verwenden? Ich vermute stark, dass durch die Terminierung währende der Übertragungspause die Leitung auf logisch LOW gezogen wird, das sind deine 0V. Bei RS232 muss die aber auf HIGH bleiben (MARK). Dadurch erkennt kein Busteilnehmer mehr das Startbit und die Übertragung ist im Eimer. Lösung. Terminierung um Pull-Widerständen. Zwischen A und B 150 Ohm, von A 330 Ohm nach Vcc, von B 330 Ohm nach GND. Damit wird er Bus auf HIGH gehalten wenn alles Teilnehmer passiv sind. Und der AC-Widerstand dieser Anordnung ist auch fast 120 Ohm (150 // (330+330)) = 122,2. MfG Falk
Der Abschlusswiderstand ist 120 Ohm differentiell. Allenfalls ist auch 120 Ohm AC denkbar, dh 120 Ohm plus 1uF.
Ah ja, das klingt vernünftig. Muß ich gleich mal ausprobieren. Danke für die Antwort Falk!
Hallo Falk, habs eben ausprobiert, funktioniert wunderbar! Vielen Dank für den Tip! Micha.
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.