Forum: Mikrocontroller und Digitale Elektronik RS485 mit µC und MAX485


von Simon (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich würde gerne mit einem Attiny841 einen RS485 Bus aufbauen. Dieser 
wird wahlweise mit 3V3 oder 5V betrieben.

Nun möchte ich für das ganze einen MAX485 einsetzen. Den RS485 möchte 
ich mit 4 Adern aufbauen. A, B, GND und ca 12V.

Die 12V dienen hier auch als Versorgungsspannung für den Attiny. Die 
Spannung wird mit 1117er auf 5 und 3V3 heruntergesetzt.

Nun bin ich aus dem Datenblatt nicht wirklich schlau geworden, wie die 
Schaltugn auszusehen hat. Im Netz findet man Module, bei denen die 
Datenleitungen mit PullUps (10k) auf VCC angehoben werden. Im Datenblatt 
ist dort nichts zu finden.

von Pete K. (pete77)


Lesenswert?

RS485 funktioniert normalerweise differentiell als 2-Draht Bus ohne 
Bezug zu VCC und GND Potenzial. Schau mal hier:
https://de.wikipedia.org/wiki/EIA-485

von U. M. (oeletronika)


Lesenswert?

Hallo,
zunächst empfehle ich dir, bandbreitenbegrenzte Treiber zu nutzen, 
sofern die Baudrate nicht über ca. 200kBaud liegen soll. Z.B. MAX483 
statt MAX485.

In der Schaltung kannst du R9 auch gegen +5V beschalten.
Außerdem sollte R9 und R10 vom Wert etwas kleiner sein, z.B. 470R ...1k.
Diese Widerstände dienendazu, den BUS im passiven Zustand auf definierte 
Ruhepegel vorzuspannen.

R8 dient der sogenannten Terminierung (BUS-Abschluss) und wird nur an 
den beiden Enden des BUS beschaltet. BUS-Teilnehmer, die dazwischen 
liegen, sollen keinen solchen haben.

Der Widerstand R8 kann dann auch etwas größer sein, wenn R9 und R10 vom 
Wert her kleiner sind.
R8 Parallel zu (R9+R10) soll der Impedanz des Kabels entsprechen, bei 
verdrillten Leitungen eben ca. 120 Ohm.

Die UART Leitungen Rxd (Pin1)und Txd (Pin4) haben immer Ruhepegel High 
und sollten mit Pullup beschaltet werden.
Die Leitung an Pin2/3 wird aber besser mit einem Pulldown-R versehen,
so das "Read Enable" = Low im Restzustand aktiv wird und der Treiber den 
den BUS nicht blockiert.

Wie ist da mit den Eingängen des uC - sind diese 5V-Tolerant?
Ansonsten müßtest du dir Gedanken um die Pegelanpassung von 5V auf 3,3V 
machen.
Gruß Öletronika

von Won K. (Firma: Outside the Asylum) (the_sane)


Lesenswert?

Pete K. schrieb:
> RS485 funktioniert normalerweise differentiell als 2-Draht Bus ohne
> Bezug zu VCC und GND Potenzial.

Das wird auch durch ständiges wiederholen nicht richtig.
RS485 ist nicht galvanisch getrennt und hat natürlich einen Massebezug.
Auch das wird in dem von Dir verlinkten Wiki-Artikel erklärt.

von Wolfgang (Gast)


Lesenswert?

Pete K. schrieb:
> RS485 funktioniert normalerweise differentiell als 2-Draht Bus ohne
> Bezug zu VCC und GND Potenzial.

Dann erkläre mal, wie ohne galvanische Trennung ein Empfänger mit einem 
natürlicherweise begrenzten Gleichtaktaussteuerbereich ohne Massebezug 
klar kommen soll.

von Pete K. (pete77)


Angehängte Dateien:

Lesenswert?

Ja, das habe ich falsch beschrieben. Ich meinte, dass die beiden Signale 
über zwei Drähte gehen, ohne dass Sender und Empfänger die GNDs oder VCC 
verbunden haben.

: Bearbeitet durch User
von Dietrich L. (dietrichl)


Lesenswert?

Pete K. schrieb:
> Ich meinte, dass die beiden Signale
> über zwei Drähte gehen, ohne dass Sender und Empfänger die GNDs oder VCC
> verbunden haben.

Aber nur, wenn sich der Potenzialunterschied zwischen den GNDs in einem 
erlaubten Bereich bewegt. Also ganz schwebend (= keiner kümmert sich um 
die Potenziale) geht (meist) nicht gut.

Gruß Dietrich

von Wolfgang (Gast)


Lesenswert?

Pete K. schrieb:
> Ja, das habe ich falsch beschrieben. Ich meinte, dass die beiden Signale
> über zwei Drähte gehen, ohne dass Sender und Empfänger die GNDs oder VCC
> verbunden haben.

Wie willst du dann sicherstellen, dass die in den Absolute /Maximum/ 
Ratings genannte Bedingung für die Eingangsspannung des Receivers 
eingehalten werden? Es muss eine Beziehung innerhalb der im Datenblatt 
beschriebenen Grenzen zwischen Gnd des Transmitters auf der einen Seite 
und Gnd des Receivers auf der anderen Seite geben. Mit zwei Drähten 
alleine funktioniert das nicht sauber.

von Ralf G. (ralg)


Lesenswert?

Simon schrieb:
> Nun bin ich aus dem Datenblatt nicht wirklich schlau geworden, wie die
> Schaltugn auszusehen hat.
So wie im Datenblatt.
> Im Netz findet man Module, bei denen die
> Datenleitungen mit PullUps (10k) auf VCC angehoben werden.
Das wäre dann Käse. (Eine Leitung nach '+', eine nach GND.)

Nennt sich, wenn's richtig gemacht ist: 'faile safe'.

> Im Datenblatt ist dort nichts zu finden.
Doch! Am Anfang steht, dass 'fail safe' schon eingebaut ist. Deshalb 
sind natürlich auf dem Schema keine Widerstände zu sehen.

von Stefan (Gast)


Lesenswert?

Die meisten RS485 Bausteine haben Fail-Safe-Widerstände eingebaut 
(einfach mal nach "fail" im Datenblatt suchen, so dass externe 
Widerstände nicht nötig sind, abgesehen vom Terminator.

>Die UART Leitungen Rxd (Pin1)und Txd (Pin4) haben immer Ruhepegel High
>und sollten mit Pullup beschaltet werden.

Das widerspricht sich. Der Empfängerausgang ist undefiniert wenn RXE 
high ist, also in der Regel im Sendemodus. Das weiß aber der µC und kann 
den Empfänger abschalten -> kein Pullup nötig

Stefan

von Pandur S. (jetztnicht)


Lesenswert?

Ich wuerd den Empfaenger nie abschalten. Man muss die Meldung ja eh 
verarbeiten und auf das Ziel, resp die ID des Empfaengers achten.

Das mit dem Potentialunterschied kann schwer in die Hose gehen. Wir 
hatten mal den Fall, dass auch nur 2 Leiter verwendet wurden, und den 
GND nahm man von der Erde, resp in diesem alten Haus war Erde=Null. Wenn 
also der Liftmotor lief, gab das einen GND Offset, waehrend diesem die 
Kommunikation nicht lief. Die Software war gut und hat Reties gemacht, 
deshalb merkte man das lange nicht.

also. Falls man groessere Potentialdifferenzen erwartet, fuehrt man den 
GND mit und macht die Potentialtrennung auf einer der beiden Seiten, 
wobei man zB mit einem magnetischen Isolierer, wie einem ADuM1400 oder 
so trennt und einen isolierten Switcher auf den mitgefuehrten GND 
bezieht. Optokoppler sind nicht mehr angesagt, die ziehen zuviel.

Aeh. Ich wuerd RS422 bevorzugen, die 2 zusaetzlichen Leiter kosten 
nichts, und man spart sich di Richtungsumschalterei.

: Bearbeitet durch User
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.