Hallo, ich möchte einen Raspberry 3 einsetzen, um Daten über Modbus RS485 auszulesen. Ich möchte vier USB-to-RS485 Adapter einsetzen. Ist es möglich, diese gemeinsam über einen USB-Hub mit externer Spannungsversorgung zu betreiben? Ist der Einsatz eines USB Isolators notwendig bzw. empfehlenswert? Reicht so etwas hier? https://www.ebay.de/itm/1500V-USB-to-USB-Isolator-Board-Protection-Isolation-ADUM4160-ADUM3160-Module/174605216709?hash=item28a7482bc5:g:BGQAAOSwy2tgCWyv Sollte man davon nur einen holen, um den USB-Hub vom Raspberry galvanisch zu trennen oder sollte eher jeder USB-to-RS485 Adapter einzeln getrennt werden? Danke!
Erstmal: RS485 hat die Besonderheit, dass vor dem Senden der Sender im Transceiver eingeschaltet und anschließend wieder abgeschaltet werden muss. Oft muss das die Software machen (über das RTS Signal), manche USB-UARTs können das auch selber, was dann natürlich deutlich besser ist (z.B. die von FTDI). Optimal wäre für Dich ein FT4232H, der vier UARTs enthält. Der funktioniert definitiv auch am Pi 3. http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT4232H.pdf Du musst auch überlegen, ob beim Senden der Empfänger aktiv sein soll (d.h. Du empfängst auch Deine gesendeten Daten und weißt damit, dass die korrekt gesendet worden sind), oder ob der Empfänger beim Senden abgeschaltet sein soll. Das hängt auch von der verwendeten Applikation ab. Ob eine galvanische Trennung erforderlich ist, hängt stark von der Umgebung ab. Bei kurzen Strecken mag das nicht erforderlich sein, in industrieller Umgebung und bei langen Strecken vielleicht schon. Wenn Du Dich für eine galvanische Trennung entscheidest, ist der richtige Ort für die Isolation die Verbindung zwischen USB-UART und RS485-Transceiver. Damit kannst Du dann nämlich jeden Bus einzeln isolieren. Entweder nimmst Du dafür digitale Isolatoren oder isolierende Transceiver wie den hier: https://www.analog.com/media/en/technical-documentation/data-sheets/adm2582e_2587e.pdf USB-Isolatoren gehen nur bis Fullspeed, und damit würdest Du den FT4232H als Highspeed-Device bremsen. Das ist immer nur die zweitbeste Lösung. fchk
Hallo fchk, danke für deine Antwort. Im Endeffekt wird wohl der Raspberry wohl eh nur lesen. Der soll nur ein Smartmeter auslesen ... Highspeed wird wohl auch nicht benötigt?? RS485 kann doch nur max. 12 Mbps, damit würden doch die günstigeren USB-Isolatoren ausreichen??
huzd schrieb: > Im Endeffekt wird wohl der Raspberry wohl eh > nur lesen Das hat seine eigenen Probleme: das heisst ja, die Sensoren senden ohne Aufforderung, und daher muss der Raspi "allzeit bereit" sein für alle vier Busse, es können ja jederzeit und gleichzeitig Daten eintreffen. Auch auf der Sensorseite besteht das Problem, dass die Sensoren an einem Bus ja keinesfalls gleichzeitig senden dürfen, wie soll das ohne den RasPi synchronisiert werden? Georg
Eine frage etwas am Thema vorbei. Ich habe ein Problem wo der usb isolator villeicht helfen könnte. Ich habe eine Solaranlage mit Akku und messe alle möglichen werte mit dem Raspberry. Ich habe einige usb2serial und usb2485 dran. Problem wenn das Battery Management abschaltet dort wird Masse von dem Akku abgeschaltet dann läuft masse über den usb und alles geht kaputt. wenn ich die Usb ports über so einen Isolator trenne könnte man das Problem damit doch umgehen oder?
huzd schrieb: > Hallo fchk, > danke für deine Antwort. Im Endeffekt wird wohl der Raspberry wohl eh > nur lesen. Der soll nur ein Smartmeter auslesen ... MODBUS ist immer und grundsätzlich eine bidirektionale Kommunikation. Wenn Du nur EIN Smartmeter auslesen willst, warum brauchst Du dann vier Busse? Kannst Du nicht alle Geräte auf einen Bus hängen? > Highspeed wird wohl > auch nicht benötigt?? RS485 kann doch nur max. 12 Mbps, damit würden > doch die günstigeren USB-Isolatoren ausreichen?? Wie gesagt, technisch gesehen ist die Isolation des USB-Interfaces immer nur die zweitbeste Lösung. Du hast dann auch nur eine funktionale Trennung, keine sicherheitsgerichtete Trennung. fchk ps: das wäre etwas brauchbares, wenn Du nicht basteln willst oder kannst: https://www.delock.de/produkte/1012_USB-2-0---RS-422---RS-485--Industrie-/62501/merkmale.html
Georg schrieb: > huzd schrieb: >> Im Endeffekt wird wohl der Raspberry wohl eh >> nur lesen > > Das hat seine eigenen Probleme: das heisst ja, die Sensoren senden ohne > Aufforderung, und daher muss der Raspi "allzeit bereit" sein für alle > vier Busse, es können ja jederzeit und gleichzeitig Daten eintreffen. > Auch auf der Sensorseite besteht das Problem, dass die Sensoren an einem > Bus ja keinesfalls gleichzeitig senden dürfen, wie soll das ohne den > RasPi synchronisiert werden? > > Georg Wenn man doch 4 einzelne USB-to-RS485 Adapter einsetzt, dann existieren ja auch 4 separate Kabelverbindungen zu den Smart Metern. Damit wäre doch alles separat und nichts würde "gleichzeitig" über das gleiche Kabel ankommen??
huzd schrieb: > Wenn man doch 4 einzelne USB-to-RS485 Adapter einsetzt, dann existieren > ja auch 4 separate Kabelverbindungen zu den Smart Metern. Damit wäre > doch alles separat und nichts würde "gleichzeitig" über das gleiche > Kabel ankommen?? Du hast aber nur einen USB-Host, und deswegen geht da eh nichts gleichzeitig. Und MODBUS arbeitet streng nach dem Request-Response-Verfahren, d.h. die Slaves antworten nur, wenn sie gefragt werden. Um wieviele und welche Endgeräte geht es denn jetzt genau, und wie lang wären die Kabelverbindungen? fchk
das sind drei Endgeräte, Kabellänge zu max. je 60m. Also 60m ist das Endgerät mit der größten Entfernung. Wenn das doch 4 seperierte RS485 Kabel sind, da es ja über 4 USB-Adapter geht, dann gibt es doch pro Netzwerk nur einen Master und einen Slave??
huzd schrieb: > das sind drei Endgeräte ... Wenn das doch 4 seperierte RS485 > Kabel sind, da es ja über 4 USB-Adapter geht, dann gibt es doch pro > Netzwerk nur einen Master und einen Slave?? Ja. Aber dann müssen auf dem RPi auch 3 bis 4 Modbus-Master laufen. Also müsste eine normale Software 3 bis 4 mal getrennt gestartet werden. Macht man das so? Und schreib bitte mal, was für Endgeräte das wirklich sind. Und warum 3 davon 4 Adapter brauchen. Dass du wegen der Isolation keinen Bus verwenden willst, würde ich bei 60m Kabel gelten lassen. Aber dann muss auch jeder Adapter einzeln isoliert sein, dann wäre der Vorschlag erste Wahl: Frank K. schrieb: > ps: das wäre etwas brauchbares, wenn Du nicht basteln willst oder > kannst: > https://www.delock.de/produkte/1012_USB-2-0---RS-422---RS-485--Industrie-/62501/merkmale.html
Hallo, ich will den Verbrauch von diesen Zählern im Pi auslesen und zusammenführen: 3x SDM72DM https://stromzähler.eu/stromzaehler/drehstromzaehler/fuer-hutschiene-ungeeicht/32/sdm72dm-3-phasen-zweirichtungs-drehstromzaehler-mit-rs485-und-s0 1x Eastron SDM630MCT https://stromzähler.eu/stromzaehler/drehstromzaehler/fuer-hutschiene-ungeeicht/32/sdm72dm-3-phasen-zweirichtungs-drehstromzaehler-mit-rs485-und-s0 Läuft alles über Modbus / RS485
Solange alle betroffenen im gleichen Haus an einem gemeinsamen Erdungspunkt angeschlossen sind, sehe ich keinen Bedarf für galvanische Trennung. Denn RS-485 erlaubt bereits Differenzen von etwas mehr als 5V, das muss reichen. Anders sieht es aus, wenn zwei separat geerdete Gebäude verbunden werden. Da würde ich mich dann nicht mehr darauf verlassen, dass GND überall gleich GND ist.
huzd schrieb: > Damit wäre > doch alles separat und nichts würde "gleichzeitig" über das gleiche > Kabel ankommen?? Wenn das so ist ja, aber das ist nicht die übliche Verwendung für einen Bus. Sonst hiesse er ja nicht Bus. Georg
huzd schrieb: > 3x SDM72DM > 1x Eastron SDM630MCT > Läuft alles über Modbus / RS485 und Modbus verwendet standardmäßig 9600bps/8n2 oder /7e1 (im originalen Standard von vor 30 Jahren). Damit kommst Du mit guten Kabeln 1km und mehr. Wenn das alles in einem einzigen Wohngebäude ohne große Störquellen und ohne Großverbraucher (z.B. 200kW-Frequenzumrichter) und an einem Hausanschluss mit einer gemeinsamen Erdung abläuft, dann brauchst Du keine galvanische Trennung. Weise jedem Zähler eine eigene MODBUS-Adresse von 1 bis 4 zu, und dann stimmt das so. 120 Ohm 1/2W Abschlusswiderstände an den Busenden nicht vergessen, Failsafe-Widerstände am Master anbringen, und dann läuft das. Lies das hier: https://air.unimi.it/retrieve/handle/2434/284647/408097/Relazione Nimm diesen USB-Adapter https://www.amazon.de/USB-RS485-Adapter-mit-Geh%C3%A4use/dp/B00I9H5J02/ref=sr_1_5 da kannst Du Terminierung, Failsafe-Widerstände und lokales Echo per DIP-Schalter konfigurieren. Kabel z.B. sowas: https://www.lappkabel.de/produkte/online-kataloge-shop/datenuebertragungssysteme/bussysteme-mit-schnittstelle-rs485rs422/feste-verlegung/unitronic-bus-ld.html fchk
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.