mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR (Mega16) und RS485


Autor: Yannic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mich nun entschlossen doch RS458 anstelle von I²C oder Can in 
meinem nächsten Projekt zu verwenden.

Nun unterstützt der AVR ja nicht direkt RS458 oder ?

Welchen Treiber Baustein müsste ich denn verwenden um mit einem Atmega16 
über RS458 arbeiten zu können ?

Und wie würde dann ungefähr der Schaltplan für eine simpele RS458 
Schaltung aussehen ?

Außerdem frage ich mich noch ob es nun wichtig ist Optokoppler zu 
verwenden um die Kreise Galvanisch zu trennen.

Achso und dann noch eine Frage zum Betrieb. Da für RS458 ja kein direkt 
fertiges Protokoll existiert, kann es ja zu Komplikationen zwischen 
Daten am Bus kommen, sprich 2 Bytes treffen aufeinander. Kann man dieses 
umgehen indem der Master nur sendet und die Slaves ausführen und die 
Slaves nur antworten können wenn sie vom Master direkt dazu aufgefordert 
werden ?

mfg Yannic

Autor: JÜrgen Grieshofer (Firma: 4CKnowLedge) (psicom) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yannic wrote:

> Welchen Treiber Baustein müsste ich denn verwenden um mit einem Atmega16
> über RS485 arbeiten zu können ?

RS485

> Und wie würde dann ungefähr der Schaltplan für eine simpele RS485
> Schaltung aussehen ?

Datenblatt //      Hint: fast so wie mit RS232 ^^


> Achso und dann noch eine Frage zum Betrieb. Da für RS485 ja kein direkt
> fertiges Protokoll existiert...

MODBus od. selbst schreiben...

Autor: Yannic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay dann konkretisiere ich die Frage nochmal.

Welcher RS485 ist am geeignetsten für die zusammenarbeit mit einem 
Mega16 ?

Autor: Duck und weg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Texas Instruments hat viele RS485 Treiber. Es muss ja nicht der alte 
DS75176 sein, das ist eine Stomschleuder. Du benoetigst Rx, Tx plus 
einen Pin fuer die Richtung. Je nach Gleichtaktspannung, es gibt Treiber 
mit 25V, ist kein Optokoppler noetig. Allenfalls ist ein magnetischer 
Koppler besser. zB ADuM 1400 oder so. Ja, Ein Master-Slave Protokoll hat 
keine Buscontention, wo zwei Treiber gegeneinander arbeiten.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Such mal nach MAX485.

MfG Spess

Autor: Yannic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut über den bin ich auch schonmal gestolpert.

Dann blieben nur die Frage:

"kann es ja zu Komplikationen zwischen
Daten am Bus kommen, sprich 2 Bytes treffen aufeinander. Kann man dieses
umgehen indem der Master nur sendet und die Slaves ausführen und die
Slaves nur antworten können wenn sie vom Master direkt dazu aufgefordert
werden ?"

offen und es hat sich nochmal eine neue ergeben. Im Datenblatt vom Max 
Treiber steht das die Ausgänge und A und B 1:1 verbunden werden, aber 
ich hatte irgendwo mal etwas davon gelesen, das man noch irgendwo 
endwiederstände setzen sollte. Wo genau kommen die hin und welchen Zweck 
erfüllen sie ?

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kann man dieses umgehen indem der Master nur sendet und die Slaves ausführen
> und die Slaves nur antworten können wenn sie vom Master direkt dazu
> aufgefordert werden ?"

Ja, indem du ein Master-Slave-Protokoll definierst. Du vergibst jedem 
Slave eine eindeutige Adresse ähnlich I2C. Jeder Slave lauscht erstmal 
nur, d.h. er empfängt JEDEN Datensatz und prüft anhand der Adresse, ob 
er adressiert ist.
Wenn ja, dann stellt der adressierte Slave seine Richtung um, und gibt 
Antwort. Ist er nicht addressiert, macht er... nix.

Ziemlich einfach wenns nur einen Master gibt, bei mehreren wirds 
aufwendiger und die Sache sollte Kurzschlussfest gemacht werden, und das 
Protokoll sollte dass abfangen können (also erneutes Senden bei 
Kollision usw.)

Im Web gibts zig Beispiele zu solchen Protokollen.

Ralf

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.roboternetz.de/wissen/index.php/RS485

Das sollte das wohin mit den Endwiderständen erschlagen...

Das wieso -> leitungstheorie !

Sonst gibts nämlich Reflektionen die Fehlinfos auslösen können

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.