mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Rs485, am Slave kommt 0x00 an, wenn ich am Master den Treiber hochohmig schalte


Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich hab hier einen kleinen Rs485 Bus (4 Slaves, 1 Master).
Länge ca, 40cm, bisher nur 1x 120 OHM am Master.
Dazu verwende ich je Teilnehmer ein Max481.

Alle Slaves hören nur auf die Leitung.

Wenn ich nun im Master nach dem Senden den Transmitter mit DE = 0 
ausschalte, dann empfangen die Slaves 0x00 (ich sniffe hinter dem Max481 
eines Slaves mit einem ftdi usb<->seriell wandler mit).

Was mich jetzt wundert:
Meine erste Vermutung ist, dass ich einfach murks gemacht habe
weil der Bus nur terminiert ist, nicht aber R's nach VCC und GND hat
um den "alle Teilnehmer hochohmig"-Fall zu verhindern:

Wenn ich den Masternode hochohmig schalte, dann floaten
die Busleitungen, zumindest so dass irgendwie ein 0x00 zustande kommt ;)

Stimmt das?
Wenn ja, warum ist von dieser Sache im Max481 Datasheet nichts davon 
erwähnt?
Ich meine Terminierung ist angesprochen, aber so etwas wird dann als
"zu selten" ausgeklammert?

Und nein, ich kann es heute aus Mangel an Widerständen nicht mehr testen
und frage deswegen hier - die Neugierde ist dann doch groß :)

Ziel ist es, dass die Slaves am Ende wenigstens ein ACK senden können.
Also muss ich im Master irgendwann mal den Transmitter ausschalten.

 Viele Grüße
 Daniel

Autor: Falk Willberg (dl3daz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel schrieb:
> Hallo zusammen,
> ich hab hier einen kleinen Rs485 Bus (4 Slaves, 1 Master).
> Länge ca, 40cm, bisher nur 1x 120 OHM am Master.
> Dazu verwende ich je Teilnehmer ein Max481.
>
> Alle Slaves hören nur auf die Leitung.
>
> Wenn ich nun im Master nach dem Senden den Transmitter mit DE = 0
> ausschalte, dann empfangen die Slaves 0x00

Versuch doch mal mit ein paar kOhm D+ an VCC zu legen. Dann ist der 
Zustand auf dem Bus definiert.

Falk
P.S.: Wenn's D- ist, bitte nicht schlagen...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Daniel (Gast)

>Meine erste Vermutung ist, dass ich einfach murks gemacht habe
>weil der Bus nur terminiert ist, nicht aber R's nach VCC und GND hat
>um den "alle Teilnehmer hochohmig"-Fall zu verhindern:

Genau so ist es.

>Stimmt das?

Ja.

>Wenn ja, warum ist von dieser Sache im Max481 Datasheet nichts davon
>erwähnt?

Weil das busprotokollspüezifisch ist. Wenn man aber halt UART machen 
will, dann braucht man das.

Meistens 390 Ohm von D+ nach Vcc und von D- nach Gnd. Findet man in 
allen möglichen Beschreibungen von RS485.

MFG
Falk

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So,
bin dazu gekommen die Widerstände einzulöten und es geht.
Danke nochmals für eure Bestätigung :)

 Gruß Daniel

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.