Bus für lange Leitungen

Hi,

kann jemand einen Bus für lange Leitungen empfehlen?
(50 Meter wäre gut, gern auch mehr - es sollen Relais (ca.50 stück) geschaltet werden)

schön wäre es wenn es out of the box mit billigst Controllern wie zb einem Digispark liefe.

i2c wäre schön, allerdings dürfte die Reichweite sehr begrenz sein.
irgendwo stand, das man wenn man die Frequenz verringert man auch auf 100m käme.
ist das ohne Probleme möglich die Frequenz runterzuregeln?
oder brauch man da so etwas wie eine eigene Library oder Hardwaremodifikationen?

mfg

Wieviel Daten mußt Du denn pro Sekunde über den Bus schicken?

Grüße Uwe

Schau dir mal den RS485 Standart an, soll bis zu einem Kilometer funktionieren

An Datenmenge reicht recht wenig, fast schon im Hz bereich würd ich sagen.
Wenn 5-10 Relais pro Minute angesteuert werden wäre das schon viel.
Also 10 mal Adresse plus 1 oder 0 vielleicht auch ein Prozentwert falls ich PWM benutze.

Bei RS 485 weiss ich nicht wie einfach das mit den Pegeln wird, sieht auf den ersten blick aus als bräuchte es noch jeweils einen Wandler was die Komplexität erhöht.

Ganz ohne zusätzliche Hardware wird eine sichere Umsetzung schwierig. Funk wäre auch eine Möglichkeit aber wiederum auch nur mit zusätzlichen Modulen.

Die Komunikation verläuft einseitig oder Bidirektional?
Also der Master sendet an die Relais aber bekommt keine Rückmeldung?

Grüße Uwe

Wenn du eine Serielle Schnittstelle hast, ( z.B: RS232 oder ähnlich ) , dann konvertiere auf RS485.
Als Kabel nimmst du dann 2 verdrillte Adern ( Twisted Pair ) , z. B: IY(ST)Y 2x2x0,6 0der 0,8

Im Kabel dann entweder rot/schwarz oder gelb und weiß nehmen, die sind jeweils verdrillt.
Den Schirm legst du in dem Fall NUR!!! einseitig auf GND, am anderen Ende den Schirm unbedingt offen lassen.

Damit bekommst bei niedrigen Baudraten etwa auch 1200m hin.

RS-485 ist eine gängige Technik, um z.B. Überwachungskameras ( außer Netzwerkkameras )zu steuern, also Rechts/links/rauf/runter und auch die Systemmenue-Ebene zu erreichen.
Das macht gute Reichweiten auch bei mehreren Teilnehmern auf dem Bus.
Die ganze Riege der analogen Kamerawelt kann so gesteuert werden.

Der letzte Teilnehmer bekommt einen Abschlußwiderstand, und dann läuft das.

(deleted)

RS485 oder CAN.
Ganz ohne Zusatz-Hardware wirds nicht gehen. Preislich sollte das aber bei RS485 kein problem darstellen.
Bei RS485 könnte man auch über MODBUS nachdenken.

(deleted)

RS485 beschreibt nur die Hardwareseite der Schnittstelle. RS485 ist hardwaremäßig ein monodirezionaler Bus ( hat keinen getrennten Sende und Empfangskanal) der durch das Timing / Protokoll Die Richtung des Datentransfer bestimmt.
Wenn Du nur eine Verbindung in eine Richtung brauchst dann braucht es kein Protokoll sondern Du kannst den RS485/TTl umsetzer einfach an die serielle Schnittstelle des Arduino anschließen. Jedes Relais braucht dann einnen RS495 Unsetzer, einen kleinen Microkontroller der erkennt ob sein Relais angesprochen wird und dieses Schaltet.

Du solltes DMX und KNX auch in Betracht ziehen.

Grüße Uwe

Ich favorisiere wie in #7 CAN, weil die Übertragungssicherheit gleich mit "eingebaut" ist. Am Anfang ist die Lernkurve recht steil, aber danach hast Du eine mittels Arduino gut zu handhabende Situation, weil sich der Arduino nur um die Daten kümmern muß. Die Kommunikation erledigt die spezielle CAN-Hardware. Die Kosten sind glücklicherweise minimal.

Mehr im Thema UNO - Mega - Teensy mittels CAN-Bus verbinden. Bei einer Punkt-zu-Punkt-Verbindung brauchst Du dich um die Filter nicht zu kümmern, Du willst ja alle Informationen auswerten.

TO: Beschreibe noch besser dein Projekt:
sind da nur
zwei Teilnehmer: ein Master --> ein Slave mit 50 Relais oder
51 Teilnehmer ein Master --> 50 Slaves mit je einem Relais?

Wie versorgst du die Slaves mit Strom
An welche Art von Relais hast du gedacht (V/A?)
Kommen eigene Platinen in Frage (kansnt du das?) oder muss das alles mit "üblichen" Standard-Modulen zusammensteckbar sein.
Funk oder auch WiFi möglich oder weswegen es ausscheidet.
Welchen Kostenrahmen stellst du dir vor? "So billig wie möglich" ist keine gültige Antwort.

meine Vorstellung war etwa

Ein wemos mini oder ähnlich für Wlan oder Bluetooth zum ansteuern,
an diesen per Bus 50 mal ein Digispark an dem je ein Relais hängt.
Am besten per 2x2x0,8 Kabel unverdrillt (weil quasi kostenlos zu bekommen)
optimaler weise ginge da die 5V Versorgung drüber und der Bus.
Bidirektional ist nicht unbedingt nötig, ich sehe wenn ein Relais nicht angesteuert wird -
höchstens um einen Ausfall eines"slaves" zu erkennen, aber nicht wirklich wichtig

Welche Relais? (wegen der Stromaufnahme)

gut, zwei Fragen von 6 Fragen beantwortet.

Wie schauts mit dem Rest aus?

An welche Art von Relais hast du gedacht (V/A?)

Kommen eigene Platinen in Frage (kannst du das?) oder muss das alles mit "üblichen" Standard-Modulen zusammensteckbar sein.

Funk oder auch WiFi möglich oder weswegen es ausscheidet.

Welchen Kostenrahmen stellst du dir vor? "So billig wie möglich" ist keine gültige Antwort.

Hi

Meine Lösung:
CAN über IY(ST)Y 2x2x0,8
Zwei Drähte als Bus (WS/GE) und auf RO/SW eine 'möglichst hohe Spannung', damit am Ende auch noch was ankommt, wenn 50 Relais jeweils 1W haben möchten.
(maximal 40V .. .drüber wird's langsam gefährlich ... für Klein -tiere und -kinder)

Da CAN, sind die Teilnehmer 'Knoten'.
Pro Knoten einen Step-DN-Wandler, Der die sauberen 5V liefert, Die der µC und das CAN-Modul zum Leben haben wollen.
Auch liefert der Step-DN genug Strom für das Relais.

Wenn mit den Relais 230V geschaltet werden sollen (... was sonst) - achte darauf, daß die Platine der Relais eine Einfräsung hat (Vergrößern der Kriech-Strecke (Kriechstromfestigkeit) zwischen den beiden Relais-Seiten).
OHNE ist das Unterfangen LEBENSGEFÄHRLICH - da über die paar Millimeter der Platine die 230V wesentlich einfacher zur 5V-Seite durchschlagen können.

Bei mir lukt der CAN-Bus nur wenige Meter aus dem Haus raus - dort erfasse ich die Temperatur von drei thermischen Solar Modulen (+ Außentemperatur + Temperatur auf Platine).

Bei CAN ist eine Linien-Struktur anzustreben, kleine Stiche zeigen bei mir aber bisher keine negativen Nebenwirkungen.
Das Groh ist bei mir, trotz stichartiger Verkabelung, in Linie verklemmt - am Besten direkt als Linie verlegen :wink:

Was bei CAN noch interessant ist:
Die Knoten haben keinen Namen, mit dem Diese angesprochen werden. jeder Knoten muß selber entscheiden, ob Ihm diese Nachricht wichtig ist!
Dem entgegen kann jeder Knoten beliebig viele IDs verwenden - allerdings müssen Diese EINZIG in diesem Netz sein, da hier drüber die Reihenfolge ausgehandelt wird - wenn zwei Knoten mit der gleichen ID das Gleiche senden wollen, hängt sich der Bus auf!
(Diese ID ist eine Art Nachrichten-Idetifizierer, man kann diese IDs auch filtern - dem Temperatur-Sensor-Knoten interessieren ggf. andere Sensor-Werte nicht - so weit bin ich aber noch nicht - bei mir liest Jeder Alles mit).

MfG

Ich wäre ja (berufsbedingt) auch für CAN.

Da musst Du allerdings bei 50m und mehr etwas mit der Baudrate aufpassen. Die im KFz mitterweile üblichen 500kB oder mehr werden sich dann nicht machen lassen. Für ein "paar" Relais sollten aber 50kB oder 125kB dicke ausreichen und damit bist Du auf der sicheren Seite.

Weitere Vorteile:

  • Die Relais lassen sich über den Identifier priorisieren (11 Bit = 2000 Stück)
  • Die Nachrichtenlänge von 8 Byte muss man nicht ausnutzen - ein Schaltbyte reicht
  • Errorhandling und Fehlerkorrektur (einzelner Bits) sind inbegriffen.

Gruß Walter

Sind denn die 50 Relais örtlich getrennt oder liegen die beieinander? Und ist, falls die Relais örtlich getrennt sind , für jedes Relais ein eigenes CAN-Modul notwendig?

@ uwefed
also bei den Kameras laufen die 2-Draht RS485 bidirektional, eindeutig