Hallo, ich habe vor mit einem Raspberry Pi auf dem Node-RED läuft, Sensoren und Aktoren anzusteuern. Jeder Sensor / Aktor, bzw. jede Gruppe dieser soll eine eigene Platine (Modul) mit µC auf Arduino-Basis bekommen. Die Idee dahinter ist das schnelle Austauschen und Erweitern der Komponenten (Module) sowie die Vereinfachung der Firmwarebestandteile, was hoffentlich wiederum zur Stabilität der Firmware beiträgt. Die Module sollen untereinander nicht kommunizieren. Jede Kommunikation soll vom Node-RED als Prozesssteuerinstanz ausgehen. Für die Kommunikation zwischen Node-RED und den Modulen habe ich mir bisher die RS485 mit Modbus RTU ausgesucht. Bin mir aber nicht sicher, ob das für mein Vorhaben wirklich der ideale Ansatz ist. Funktionieren tut es auf jeden Fall in ersten Testaufbauten. Die Module sind alle lokal beisammen und haben eine maximale Leitungslänge zum Raspberry von ca. 150 cm (maximale Buslänge). Jetzt meine Frage an euch Wissende ... Bin ich mit dem RS485 und Modbus auf dem richtigen Weg der Umsetzung, oder gibt es bessere Kommunikationsmöglichkeiten für mein Vorhaben. Wichtig ist mir, dass alles drahtgebunden ist. Funk ist für mich keine Option. Habt schon mal vielen Dank für eure Kommentare :-) Danke! Grüße Hans
Hans schrieb: > . Bin ich mit dem RS485 und Modbus auf dem richtigen Weg der Passt schon, Video und Internet kannst du damit nicht übertragen, willst du aber auch nicht. Vor allem wird es dazu kompatibel zu fertigen Geräten die RS485 MODBUS können. Etwas Überlegung noch, wie die Sensoren zu ihrer Versorgungsspannung kommen, und ob du RS485 eventuell galvanisch isolieren musst. Es geht auch CAN oder RS232 oder TTL seriell, aber MODBUS ist ein Standard.
Danke für deine schnelle Antwort. Da bin ich doch schon mal beruhigt, dass ich mit meiner Idee nicht ganz auf dem Holzweg bin :-) Es ist korrekt, dass ich keine großen Datenmengen übertragen möchte. Es wird sich alles im Bit- und Byte-Bereich bewegen. In meiner Planung ist die RS485 galvanisch isoliert und die Erde will ich mit führen (3-Poliger RS485-Bus-Anschluss). Die Spannungsversorgung der einzelnen Module soll über eine separate Verkabelung erfolgen. Die Stromversorgung soll nicht über den Bus erfolgen.
Hans schrieb: > In meiner Planung ist die RS485 galvanisch isoliert Wozu? Oder andersrum: ist auch die Versorgung der Module potentialgetrennt? Denn nur dann wäre es sinnvoll, auch den Bus zu isolieren.
Hmm die Frage nach dem "warum" ist eine gute Frage :-D Ich habe es im I-Net so gelesen, dass man es trennen sollte. Alle Module werden rein von der Versorgungsspannung die selbe Masse bekommen. Es wird ein großes 24V Netzteil geben, von wo aus dann auf die zusätzlich benötigten 12V, 5V und 3.3V runtergeregelt wird.
Hans schrieb: > Alle Module werden rein von der Versorgungsspannung die > selbe Masse bekommen. Dann wäre ja nur der Bus galvanisch getrennt, die Module jedoch nicht. Ist dir bekannt, das (nicht galvanisch getrennter) RS485 bis zu 7 Volt Potentialdifferenz zwischen den Modulen toleriert? Reicht dir das nicht?
Beitrag #7373967 wurde vom Autor gelöscht.
Stefan F. schrieb: > Dann wäre ja nur der Bus galvanisch getrennt, die Module jedoch nicht. Korrekt. Stefan F. schrieb: > Ist dir bekannt, das (nicht galvanisch getrennter) RS485 bis zu 7 Volt > Potentialdifferenz zwischen den Modulen toleriert? Reicht dir das nicht? Nein ist mir nicht bekannt. So detailliert habe ich mich mit der RS485 nicht auseinandergesetzt. In einem I-Net-Beitrag wurde geschrieben, dass die RS485 von der jeweiligen Schaltung galvanisch isoliert worden ist, da dass Standard wäre. Warum die das gemacht haben und welche Auswirkungen das aus die RS485 hat, habe ich, zugegeben, nicht hinterfragt. Ich bin davon ausgegangen, dass die Isolation einfach zum RS485-Standard gehört und gemacht werden sollte, damit der Standard sauber umgesetzt ist. Ist die galvanische Trennung trotz der "gleichen" Spannungsquelle jetzt so schlimm? Also abgesehen von dem Mehraufwand in der Schaltung.
:
Bearbeitet durch User
Hans schrieb: > Ist die galvanische Trennung trotz der "gleichen" Spannungsquelle jetzt > so schlimm Überflüssig aufwändig.
OK, dann kann ich das erste PCB-Layout, was ich für den Test bereits anfertigen lasse beibehalten und reduziere dann die Schaltung für die anderen Module. Vielen Dank für den Hinweis zur galvanischen Trennung. Spart mir Platz und etwas Geld ;-)
Moin, Ich habe bei mir für meine aufwendige modulare (Eigenbau) Wetterstation ein 9600Bd RS-485 System mit fünf Busteilnehmern mit 100m Kabellänge seit 2001 erfolgreich in Betrieb. Ausfälle oder Probleme - keine. Allerdings nicht mit Modbus, sondern es wird ein eigenes Protokoll verwendet. Die meisten Slave Bustransceiver sind MAX483 und einen SN75176 beim Master. Als Kabel verwende ich CAT5 im PVC Rohr. Drei Paare sind für die 15V Stromversorgung reserviert und ein Paar für die Datenübertragung. Die eigentliche Wetterstation hat einen eigenen Blitzschutzerder. Zwischen Haus und Station haben aber bis jetzt mögliche Potenzialdifferenzen niemals gestört. Deshalb verzichtete ich auf eine galvanische RS-485 Potenzialtrennung. Gerhard Nachtrag: Es empfiehlt sich beim Master, 470 Ohm Widerstände von TR+ nach Vcc und von TR- auf Masse mitanzuschließen um eindeutige Busspannungsverhältnisse im Idle Zustand und gewissen Busfehlern zu schaffen. Die Begründung gibt es in der einschlägigen Fachliteratur. Übrigens, die 120 Ohm Abschlußwiderstände sollte zwischen den entferntesten Punkten sein. Es ist anzustreben, eine lange Leitung zwischen Master und einigen Slaves zu haben, die entfernt dann sternförmig über viel kürzere Leitungen zusammengeschlossen sind. Für ein anderes Batteriebetriebenes Wetterstationsprojekt mit "Billig" Elektronik verwende ich durchwegs China RS-485 Module mit MAX485 drauf und modifizierte Pro-Mini Bords für Sensoren. Mit diesem Konzept kann ich z.B. ferne Sensoren (Pro-Mini) über RS-485 zeitlich begrenzt aufwecken. Funktioniert gut.
:
Bearbeitet durch User
Beitrag #7374005 wurde vom Autor gelöscht.
Hans schrieb: > Ich bin davon ausgegangen, dass die Isolation einfach zum > RS485-Standard gehört und gemacht werden sollte, damit der Standard > sauber umgesetzt ist. Die überwiegende Mehrheit der RS485 Schnittstellenmodule ist nicht galvanisch getrennt. Sie ist in der Regel unnötig, weil die betroffenen Geräte ein gemeinsames GND Potential haben.
Du hast nicht geschrieben, wie schnell das Ganze reagieren muss. Ich habe gerade das Projekt eines Verkaufsautomaten abgeschlossen. Auch hier steuert ein Raspi zentral eine ganze Anzahl von Arduino-getriebenen Komponenten: - Geldscheinleser ("note validator") - 4x Münzrückgabe ("Hopper" MK4) - Bondrucker - RFID-Leser für Kundenkarten - Block mit 8 farbig steuerbaren LED-Tastern - EC-Reader Feig cVend (dieser ist ohne Arduino selber LAN-fähig) Ich verwende Ethernet als Verbindungsmedium. Die einzelnen Komponenten werden per HTTP-GET-Request gesteuert bzw. abgefragt. Für ein Gerät, das auf menschliche Bedienung "wartet" ist das schnell genug ... Dieser Protoyp arbeitet tasächlich mit Arduino Unos bzw. Megas und Ethernet-Shield. Das nächste Modell wird stat dessen WT32-ETH10 (ESP32 mit LAN) enhalten. Im "Zentrun" des gesamten Aufbaues befindet sich ein 8-Port-Switch, ein Minirouter beherbergt einen DHCP-Server und gestattet per VPN externe Zugriffe für Einstellungen/Wartung ...
@Gerhard vielen Dank für deinen Erfahrungsbericht und den Anmerkungen. Dieser werde ich in das Design mit einfließen lassen. @Stefan Da die überwiegende Meinung hier von einer galvanischen Trennung in meinem Fall abrät, werde ich auch darauf hören. Wäre ja sonst dumm von mir, wenn ich eure Meinung einhole, mich dann rumdrehe und sage ... "ach sollen die doch machen was sie wollen" ;-) ... Um Hinweise zu erhalten habe ich hier die Frage gestellt und ihr alle habt mir den Weg noch einmal erhellt. Vielen DANK dafür :-) @Frank Dein Projekt klingt auch sehr interessant, aber ich glaube Ethernet wäre für meinen Fall zu oversized. In meinem Projekt reicht eine RS485 mit 9600Bd vollkommen aus. Es ist nichts wirklich zeitkritisches dabei. Selbst wenn ein Datenpaket auch mal fünf Sekunden braucht, würde das in meinem Fall nicht weiter stören. Ich bin doch ein gemütlicher Mensch, daran müssen sich meine Projekte auch halten :-P
Hans schrieb: > @Frank > Dein Projekt klingt auch sehr interessant, aber ich glaube Ethernet wäre > für meinen Fall zu oversized. In meinem Projekt reicht eine RS485 mit > 9600Bd vollkommen aus. Es ist nichts wirklich zeitkritisches dabei. > Selbst wenn ein Datenpaket auch mal fünf Sekunden braucht, würde das in > meinem Fall nicht weiter stören. Ich bin doch ein gemütlicher Mensch, > daran müssen sich meine Projekte auch halten :-P Eigentlich wollte ich sagen, dass es in meinem Falle garnicht so besonders schnell ist. Die reine Datenübertragung schon, aber die Reaktionszeit ist durch das Auswerten und Beantworten der Requests auf dem Arduino gearde so (für meinen Zweck) ausreichend. Ansonsten ist m.E. der große Vorteil, dass es billig fertige Buchsen, Stecker, Kabel, Switche usw. gibt und man sich darum nicht auch noch Gedanken machen muss.
Ethernet Kabel Infrastruktur wäre eigentlich auch für RS-485 Bus Systeme nicht uninteressant, weil wie Frank schon aufführt, die Kabel und Verbinder billig und leicht in ausreichender Auswahl im Handel verfügbar sind. Je nach Stromverbrauch könnte man dann auch noch die übrigen Paare für die Stromversorgung heranziehen. Um Verwechslungen mit Ethernet auszuschliessen, würde ich allerdings eine ungewöhnliche Farbe, wie z.B. Violett oder POE gekennzeichnete Farben verwenden. Auch die RJ-45 Buchsen sind angenehm, weil es nämlich schon RJ-45 Buchsen auf Schraubterminal Adapter gibt. Auch wäre die Möglichkeit gegeben, POE zur Stromversorgung der Sklavenmodule zu verwenden. Wenn man Standard 4-Paar POE nimmt, dann bleiben zwei Paare für RS-485 übrig und die Verbleibenden für die Stromversorgung. Die 44V@15W lassen sich leicht mit Step-Down Wandlern umwandeln. Ich erwähne das nur für den Fall der Fälle:-) https://en.wikipedia.org/wiki/Power_over_Ethernet Übrigens, es muß nicht unbedingt Modbus sein. Ich kommuniziere mit meiner Wetterstation über ein robustes eigenes ASCII Protokoll mit dem sich leicht steuern lässt. Modbus kann langsam werden wenn auf viele Register zugegriffen werden muß. Aber da führen viele Wege nach Rom.
:
Bearbeitet durch User
Hans schrieb: > In einem I-Net-Beitrag In Zahlen: 1? Ziemlich wenig Information als Grundlage... Mein Tipp: sieh dir die Datenblätter und AppNotes der üblichen Treiberbausteine und die Beispielschaltungen darin mal genauer an. Denn für den dort beschriebenen Aufbau sind die Transceiver ausgelegt. Gerhard O. schrieb: > Ethernet Kabel Infrastruktur wäre eigentlich auch für RS-485 Bus Systeme > nicht uninteressant ... > die übrigen Paare für die Stromversorgung heranziehen. Wenn man sowas macht, dann sollte man zwingend darauf achten, dass man nicht irgendwelche Adern nimmt, sondern wenigstens solche, die POE auch verwendet. Das ist nämlich so belegt, dass ein normaler versehentlich angeschlossener nicht POE-fähiger Ethernet-Teilenehmer dann nicht kaputtgeht. Denn es ist wirklich ärgerlich, wenn jemand, der diese Andersartigkeit nicht kennt, aufgrund der Ähnlichkeit seinen 2k€ Laptop schrottet. Die Drähtchen in einem Ethernet-Trafo sind wirklich hauchdünn... Hans schrieb: > Ist die galvanische Trennung trotz der "gleichen" Spannungsquelle jetzt > so schlimm? Also abgesehen von dem Mehraufwand in der Schaltung. Der Witz ist: du musst die Masse der beteiligten RS485 Transceiver ja trotzdem verbinden. Denn sonst schaffst du es nicht, den Gleichtaktbereich für die Empfäanger sicher zu definieren. Diejenigen, die den RS485-GND weglassen und nur die Datenleitungen verbinden und sich dabei auf die in den ICs integrierten "Balancerwiderstände" verlassen, gehen m.E. auf ziemlich glattem Eis. Wenn man sowas macht, sollte man unbedingt ein sehr robustes Protokoll mit Fehlerbehandlung und Retransmission verwenden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.