Forum: Mikrocontroller und Digitale Elektronik RS485 Bussystem


von Stefan S. (sschultewolter)


Lesenswert?

Hallo,

ich würde gerne mit meinen Attiny841 ein Modbus aufbauen.

Den Bus wollte ich mit 4 Litzen aufbauen (12VDC; A; B; GND).

Welche ICs sind hier empfehlenswert? Habe bei MAXIM und TI bereits 
nachgeschaut. Interessant war der ISO1176, der auch direkt die Eingänge 
galvanisch getrennt hat.

Leider bin ich fast umgefallen, als ich die Preise für Kleinmengen 
gesehen hab. ~12€

Der Attiny841 selber läuft mit 3V3. 12V würde ich diesen gerne über 
einen DC/DC Wandler zur Verfügung stellen. Das ganze sollte dann auch 
wenn möglich unempfindlich gegen kleine Spannungsspitzen sein, welche 
durch geschaltete 230V Geräte auftreten können.

von Frank K. (fchk)


Lesenswert?

Vielleicht ist LIN günstiger, hier gibt es nette Lösungen:

Dein 841 kann leider kein LIN (jedenfalls nicht normgerecht), hier wäre 
der Tiny87/167 angesagt.
http://www.atmel.com/Images/Atmel-8265-8-bit-AVR-Microcontroller-tinyAVR-ATtiny87-ATtiny167_datasheet.pdf

Dazu zB. ein ATA6629 LIN-Transceiver mit Spannungsregler und Watchdog:
http://www.atmel.com/Images/Atmel-9165-LIN-Networking-ATA6629-ATA6631_Datasheet.pdf

Alternativ: Jeder PIC ab PIC24 aufwärts kann LIN. Die Peripherie ist bei 
PIC deutlich leistungsfähiger. Für Dich zB PIC24KL200 14-Pinner:
http://ww1.microchip.com/downloads/en/DeviceDoc/30001037c.pdf

und dazu ein MCP2050 LIN-Transceiver mit Spannungsregler und Watchdog:
http://ww1.microchip.com/downloads/en/DeviceDoc/22299B.pdf

Die LIN-Transceiver sind auch ein guter Schutz vor Störungen auf der 
12V-Seite.

Wie gesagt, das ist Automotive-Zeugs, das millionenfach in die Fahrzeuge 
wandert und getestet ist. Was dort funktioniert, kannst Du getrost 
verwenden. Das gleiche mit CAN, aber hier hast Du mit AVR erst recht den 
kürzeren gezogen, wenn Du einen kleinen Chip mit wenig Pins willst. Bei 
Microchip gibts da zB den PIC18F26K80 mit integriertem CAN-Interface. 
Dazu ein MAX13054, und die Sache ist gegessen. Auch alles millionenfach 
erprobte Technik.

fchk

: Bearbeitet durch User
von Stefan S. (sschultewolter)


Lesenswert?

Hallo Frank,

danke schon einmal für deine Antwort.
Auf die Attiny841 bin ich hier angewiesen. Also das ist die Grundlage, 
die nicht geändert werden soll.

Das die kleinen AVRs kein CAN können, ist mir bewusst. Habe einen 
SAM3X8E, der CAN soweit ich weiß kann. Jedoch wollte ich diesen dafür 
nicht einsetzen, zumal CAN Komponenten auch recht teuer sind.

Vielleicht noch ein paar weitere Infos. Wie gesagt, es handelt sich hier 
vorerst lediglich nur um einen Versuchsaufbau. Hierbei möchte ich in 
verschiedenen Räumen entsprechende Schaltzustände erfassen. Die 
Schaltzustände sind potentialfrei abrufbar. Das ganze soll dann an einen 
Master geschickt werden (Raspb) der die Daten auswertet und der Logic 
entsprechend Daten an den Bus zurück gibt. Am Attiny sollen vorerst dann 
nur einfach Leds etwas anzeigen.

von Christian B. (casandro)


Lesenswert?

Also RS485 Sendeempfänger kosten so um die 1,50 Euro. Und wenn Du keine 
großen Anforderungen hast, kannst du den sogar über 2 Portpins und einen 
analogen Komparator selber machen.
Such einfach nach RS485 und Du findest bei den Elektoversendern so 
ziemlich viele.

Im Gegensatz zu LIN und CAN ist RS485 richtig differentiell und somit 
auch in realen Umgebungen (wenn man nicht ein Metallgehäuse um das Kabel 
hat) geeignet. Du kannst bei RS485 sogar passive Hubs bauen.

von Konrad S. (maybee)


Lesenswert?

Abgesehen von SN75176 (Stromfresser!) sind RS485-Treiber relativ teuer.

Du kannst evtl. auch CAN-Treiber verwenden, die sind i.A. billiger zu 
haben. Ich finde hierbei insbesondere den MCP2562 sehr interessant.

von Gerd E. (robberknight)


Lesenswert?

Stefan S. schrieb:
> Welche ICs sind hier empfehlenswert? Habe bei MAXIM und TI bereits
> nachgeschaut. Interessant war der ISO1176, der auch direkt die Eingänge
> galvanisch getrennt hat.
>
> Leider bin ich fast umgefallen, als ich die Preise für Kleinmengen
> gesehen hab. ~12€

Ja, das alles integriert haben zu wollen macht das deutlich teurer als 
wenn Du das aus Einzelkomponenten selbst aufbaust.

Muss es wirklich galvanisch getrennt sein? Bei größeren Kabellängen 
(vielleicht >100m) und Busteilnehmern, die über unterschiedliche 
Erdungen verfügen, macht das Sinn.

Wenn der Tiny nur über die im 4er-Kabel mitgeführten 12V versorgt wird 
und sonst nicht an irgenwelche Erdungsklemmen angeschlossen ist, sollte 
es eigentlich auch ohne gehen. RS485 ist da eigentlich schon recht 
robust. Entweder würde ich von selbst gut geschützte Transceiver nehmen, 
z.B. SN65HVD1780 von TI oder ähnliche gibts auch von Maxim. Oder die 
günstigere Lösung sind spezielle bidirektionale TVS-Dioden für -7 bis 
12V, gibts z.B. vn Bourns. Damit geht das ganze bei größeren 
Spannungsspitzen nicht kaputt.

Wenn Du wirklich galvanische Trennung möchtest, dann würde ich 2 
Optokoppler (z.b. 6N137) hinter den Transceiver setzen. Aus den 12V 
gewinnst Du auf der RS485-Seite mit einem Spannungsregler 5V für den 
Transceiver. Deinen Tiny und die restliche Schaltung müsstest Du dann 
mit einem isolierten DC/DC-Wandler versorgen. Bei geringer Leistung geht 
das z.B. recht günstig mit nem SN6501.

von U. M. (oeletronika)


Lesenswert?

Hallo,
> Stefan S. schrieb:
> Leider bin ich fast umgefallen, als ich die Preise für Kleinmengen
> gesehen hab. ~12€
ich benutze meist ADM2483. Für nicht so hohe Baudraten bis 250kBaud sind 
diese Bandbreitenbegrenzten Treiber sehr zu empfehlen, weil sehr 
gutmütig bezüglich Terminierung, Kabelqualität und EMV.

Auf der uC-Seite kannst du diese auch mit 3,3V betrieben.
Die gibt es so um 7€.
http://www.digikey.com/product-detail/en/ADM2483BRWZ/ADM2483BRWZ-ND/1007303
Bei Conrad auch für ca. 8€.
Man könnte auch normale Treiber nehmen und dazu Koppler.
So sehr viel billiger wird das aber auch nicht.
Gruß Öletronika

von Frank K. (fchk)


Lesenswert?

Stefan S. schrieb:

> Auf die Attiny841 bin ich hier angewiesen. Also das ist die Grundlage,
> die nicht geändert werden soll.

Aha. Da hast Du schon Boards gebaut, bevor Du alle Teile beeinander 
hattest? Dumm sowas. Der Attiny ist fast das billigste an dem ganzen 
Zeugs.

Da es nun einmal so ist: MAX3485. Kostet bei Digikey 2.39€ im 10'er-Pack 
netto. 32 davon darfst Du an einen Bus packen. Es gibt auch neuere 
Transceiver, bei denen Du 256 davon an einen Bus hängen kannst, aber die 
sind noch etwas teurer.

Galvanische Trennung hast Du so auch nicht, kostet auch extra.

fchk

von Hermann (Gast)


Lesenswert?

Konrad S. schrieb:
> Abgesehen von SN75176 (Stromfresser!) sind RS485-Treiber relativ teuer

Teuer? Bei Reichelt: SN17176 für 26 Cent, Max1487 für 1,90€ (kein 
Stromfresser), ich habe LTC1487 genommen (gab es mal für 2,55€)

Stefan S. schrieb:
> Ich würde gerne mit meinen Attiny841 ein Modbus aufbauen.
> Den Bus wollte ich mit 4 Litzen aufbauen (12VDC; A; B; GND)

So habe ich es auch gemacht und dafür billige Patch-Kabel genommen.

von Konrad S. (maybee)


Lesenswert?

Hermann schrieb:
> ich habe LTC1487 genommen

Wenn dir der nicht zu teuer ist, dann will ich nichts gesagt haben.

von Stefan S. (sschultewolter)


Lesenswert?

Billige Patchkabel will ich nicht mal nutzen. Habe in den Räumen überall 
4x CAT7 liegen. 2x CAT7 ist für Ethernet reserviert, der Rest frei zur 
Verfügung. Werde mal schaun, wie das mit den MAXIM aussieht. Hatte auch 
schon den MAX3485 gesehen.

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.