Ich baue gerade ein Projekt, das aus 50 modularen Panele besteht. Jedes dieser Panele soll einen Lichtsensor haben. Ich möchte einen Arduino verwenden und diese 50 Lichtsensoren über ein Bus System einzulesen. Also jeder Lichtsensor soll eine eigene Adresse haben. Das ganze soll Modular zu einer großen Fläche an Panele zusammensteckbar sein und jedes Modul soll einzelend sein, also es sollen keine Segmente an Panelen sein.
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden.
Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
also wenn du deinem 8 Input Modul 50 verschiedene Adressen zuweisen kannst - dann soll das eigentlich kein Problem sein.
Ich würde einen Controller mit mehreren HW Serial verwenden. Mindestens ein Nano Every oder ein Arduino Mega und als Software Treiber die Modbus Master von Doc Walker.
Die 6 Pins an den Arduino der daraus eine Adresse von 0...63 macht mit der der µC dann über RS485 adressiert werden kann. Der Bus_Chef (aka master) fragt dann die einzelnen Diener (aka slaves) ab.
Ah - Du willst an jedes Sensor-Modul einen Controller hängen und an jeden Controller einen RS485.
Hat nur einen Nachteil: RS485 kennt nur 32 Empfänger.
Die Schnittstelle benutzt in der Regel nur ein Adernpaar und wird halbduplex betrieben, mit zwei Aderpaaren ist Vollduplexbetrieb möglich. Die Verbindung ist multipointfähig, das heißt, es können bis zu 32 Teilnehmer (oder Unit Loads, eine hypothetische Lastgröße) an den EIA-485-Bus angeschlossen werden. Es existieren Transceiverbausteine, die 1⁄2, 1⁄4 oder sogar nur 1⁄8 Unit Load darstellen. Diese Bausteine haben dann gegenüber einem normalen Transceiver einen doppelten, vierfachen oder achtfachen Eingangswiderstand. Damit können Netzwerke mit bis zu 256 Teilnehmern (1⁄8 Unit Load) aufgebaut werden.
1/4 Unit Loading (MAX487/ MAX1487) Allows Up to 128 Devices on a Single Bus
Ich denke ich nehme den digitalen Schaltausgang. Also 0 und 1.
Ich will nicht für jeden Lichtsensor einen eigenen Arduino verwenden. Dann bräcuht ich 50x lichtsensoren und 50x Arduinos und 50x MAXRS485. Das ist dann doch etwas zu viel.
ich versteh nicht ganz was das meinem Projekt hilft. also was mache ich mit der seriellen schnittstelle? kann ich damit auch 50 digitale sensoren einlesen. versteh nicht ganz, wie da der aufbau aussieht.
Du brauchst eine Serielle Schnittstelle für einen RS485-Adapter am Controller, damit Du die (8) anderen abfragen kannst. Wie sonst willst Du die Daten von den DigitalIO-Bridges R4dif08 am Arduino einlesen?
Ja voll, einen MaxRS485 brauch ich dafür. aber dannach will ich einfach die ganzen 8Input boards hintereinander schalten. Ich hoffe, dass das so gehen wird.
Geht.
Die R4dif08 erst einzeln an den Controller und mittels Command eine neue Adresse zuweisen, damit Du keine doppelt im System hast, empfiehlt es sich von oben anzufangen, denn die blanken dürften alle die 0 als default haben.
Und für modBusRTU gibts ne Lib mit der Du das ganze Protokolldingens abhandelst und bekommst den Wert aller Pins in einer Variablen zurück, die Du dann bitweise auslesen kannst....