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


von Daniel (Gast)


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

von Falk W. (dl3daz) Benutzerseite


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...

von Falk B. (falk)


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

von Daniel (Gast)


Lesenswert?

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

 Gruß Daniel

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.