moin leute, ich plane mit einem ardunio mega 2560 meine modellbahn zu steuern. da ich eine ganze menge eingänge und auch ausgänge brauche und ein arduino " zu klein " ist, hab ich zwei fragen: ist es möglich wenn z.b. 2 arduinos beide einen lan shield bekommen und über einen switch verbunden sind, ob es möglich das z.b. an arduino 1 am eingang 1 ein signal anliegt welcher dann aber bei arduino 2 den ausgang 5 schaltet? oder auch das an arduino 1 eingang 1 und am arduino 2 eingang 3 jeweils ein signal anliegen muss um dann ausgang 7 vom arduino 2 zu schalten ( UND schaltung )? es geht mir erstmal nicht um die programmierung, mir geht es erst rein um die machbarkeit und somit und die hardware planung, da ich noch nicht weiss ob meine idee funktioniert.und so lange ich das nicht weiss brauche ich ja nicht wirklich planen. und eine frage zu den lan shields..... so wie ich raus gefunden habe brauche ich den w5100.....den gibt es in blau und in rot mit micro sd karten slot......welcher wäre der richtige..... ich brauche nur eine ganz normale. lan anschluss. danke schonmal im voraus Timo
Timo B. schrieb: > ist es möglich wenn z.b. 2 arduinos beide einen lan shield bekommen und > über einen switch verbunden sind, ob es möglich das z.b. an arduino 1 am > eingang 1 ein signal anliegt welcher dann aber bei arduino 2 den ausgang > 5 schaltet? oder auch das an arduino 1 eingang 1 und am arduino 2 > eingang 3 jeweils ein signal anliegen muss um dann ausgang 7 vom arduino > 2 zu schalten ( UND schaltung )? Wenn du entsprechende Ehternet-Protokolle definierst und implementierst, dann ist das durchaus möglich. Muss halt alles in Firmware passieren. Mit der Hardware wäre das prinzipiell möglich. Timo B. schrieb: > o wie ich raus gefunden habe > brauche ich den w5100 Weshalb brauchst du den W5100? Gäbe auch noch den (vermutlich günstigeren) ENC28J60. Hinter der Library verhalten sich beide Identisch. Timo B. schrieb: > den gibt es in blau und in rot mit micro sd > karten slot......welcher wäre der richtige. Die Farbe der Platine ist egal. Ob du die SD-Karte brauchst, ist deine Entscheidung Tipp: Für viele Eingänge und Ausgänge muss man nicht unbedingt einen größeren Controller nehmen. Es gibt Port-Extender die über einen I2C-Bus angeschlossen werden und auch jeweils noch einmal 8/16 Ein- oder Ausgänge zur Verfügung stellen können. Dadurch kannst du (je nach Adressiermöglichkeiten) 64 Ein/Ausgänge haben, die aber nur mit 2/4 Leitungen (I2C, SPI) auf deinen Controller gehen. Von der Geschwindigkeit ist das auch nicht langsamer als der Umweg über LAN. Es sei denn, die LAN-Strecke ist länger und soll Leitstand von der Bahn trennen. Aber selbst dann könnte ein kleinerer Arduino UNO oä. bereits ausreichen, wenn du Portextender nutzt.
:
Bearbeitet durch User
Sebastian R. schrieb: > Die Farbe der Platine ist egal das mag hier der Fall sein, gilt aber nicht immer: nokia5110 Displays findet man in blau 3,3V (bis 5V angeblich aber die LED wird ohne zusätzlichen 22 Ohm beleidigt) und in rot 5V (5V sicher, an 3,3V z.B. ESP gehts nicht.) die Roten gehen direkt am nano mit 5V die Blauen 3,3V nur ESP32 mit 3,3V nur wegen Farbe egal
Timo B. schrieb: > es geht mir erstmal nicht um die programmierung, mir geht es erst rein > um die machbarkeit und somit und die hardware planung, da ich noch nicht > weiss ob meine idee funktioniert.und so lange ich das nicht weiss > brauche ich ja nicht wirklich planen. Bevor man an eine solch anspruchsvolle Aufgabe, wie eine Eisenbahnsteuerung geht, sollte man sein System im Griff haben. Kannst du mittlere Programme sicher auf deinem Zielsystem programmieren? Kennst du die HW deines Zielsystem gut? Wenn nein, lerne das erst. Es macht keinen Sinn, irgendwas zusammen zu stoppeln, über LAN Kopplung nachzudenken, wenn man von all dem gar keine Ahnung hat. Die Planung muss schlecht werden. So ein Projekt kann man erst angehen, wenn die Erfahrung da ist. Nicht vorher. Wenn die Erfahrung fehlt, hole die erst nach.
Joachim B. schrieb: > nokia5110 Displays findet man in blau 3,3V (bis 5V angeblich aber die > LED wird ohne zusätzlichen 22 Ohm beleidigt) und in rot 5V (5V sicher, > an 3,3V z.B. ESP gehts nicht.) > die Roten gehen direkt am nano mit 5V die Blauen 3,3V nur ESP32 mit 3,3V Ist das allgemeingültig und sicher festgelegt? Oder auch einfach nur davon abhängig, aus welcher Maschine es beim Chinesen fällt?
Sebastian R. schrieb: >> die Roten gehen direkt am nano mit 5V die Blauen 3,3V nur ESP32 mit 3,3V > > Ist das allgemeingültig und sicher festgelegt? > > Oder auch einfach nur davon abhängig, aus welcher Maschine es beim > Chinesen fällt? gute Frage, ich habe diese Platinen seit 5 Jahren in rot und blau bestellt, zuletzt blaue August 2019 und rote Juli 2019, es hat sich in der Verwendbarkeit seit 2014 nichts verändert. Die roten Platinen werden mit white Backlight gelistet, die blauen Platinen aktuell mit blue backlit Die Belegung mit Pins differiert und die Bestückung! Die roten gehen am ESP32 schon wenn man die LED nicht aus dem Port versorgt und einen Transistor für die PWM zu 5V vorschaltet sowie VCC an 5V legt.
:
Bearbeitet durch User
Das ist auf jeden Fall über Ethernet machbar, aber so ist es auch maximal kompliziert. Deswegen würde ich Dir empfehlen, die beiden Platinen über eine serielle UART Verbindung oder über I²C Protokoll miteinander zu verbinden.
Das Problem ist, hab ich leider vergessen zu schreiben. Das ich auf Grund der Verkabelung eine dezentrale Steuerung bauen will. Und der I2C ist ja nun nicht endlos über Kabel zu verbinden. Ich muss ja kein LAN nehmen. War wegen der verdrahtung nur mein gedanke. Ich kann ja auch in jedem Bereich ein Port Expander setzen und unter der Anlage ein I2C Bus legen...welche Methode ist mir relativ Wie lang darf denn das Bus Kabel sein ?
Timo B. schrieb: > moin leute, > > ich plane mit einem ardunio mega 2560 meine modellbahn zu steuern. > da ich eine ganze menge eingänge und auch ausgänge brauche und ein > arduino " zu klein " ist, > hab ich zwei fragen: > > ist es möglich wenn z.b. 2 arduinos beide einen lan shield bekommen und > über einen switch verbunden sind, ob es möglich das z.b. an arduino 1 am > eingang 1 ein signal anliegt welcher dann aber bei arduino 2 den ausgang > 5 schaltet? oder auch das an arduino 1 eingang 1 und am arduino 2 > eingang 3 jeweils ein signal anliegen muss um dann ausgang 7 vom arduino > 2 zu schalten ( UND schaltung )? > > es geht mir erstmal nicht um die programmierung, mir geht es erst rein > um die machbarkeit und somit und die hardware planung, da ich noch nicht > weiss ob meine idee funktioniert.und so lange ich das nicht weiss > brauche ich ja nicht wirklich planen. Bring erstmal deine Tastatur zur Reparatur, die meisten Programmiersprachen sind Case Sensitiv!!
Ganz anderer Vorschlag: suche dir ein handliches Board mit CAN Unterstützung raus, z.B. das Olimexino-STM32 (teilweise Arduino-kompatibel, weiterer Vorteil: Per 12V zu betreiben). Packe überall da, wo du Ein-Ausgänge brauchst (Weichen & Co) eins davon hin. Vernetze sie untereinander via CAN (3 Adern). Das ist nach anfänglicher Einarbeitung recht komfortabel zu programmieren, robust und erprobt, und du hast dann viel weniger Kabelsalat als bei einem großen zentralen Controller. Wird bei Autos schon lange genau so gemacht!
Timo B. schrieb: > Wie lang darf denn das Bus Kabel sein ? 1 Meter sind gar kein Problem, bei mehr muss man sich Gedanken um passende Treiberbausteine, Wellenwiderstand und so machen. Dann würde ich aber eher auf UART mit RS-422 oder RS-485 Treiber setzen. Diese Dinger beommst du für ganz kleines Geld und damit kannst du locker flockig einen ganzen Kilometer schaffen. https://www.amazon.de/MAX485-module-RS-485-TTL-MTS1EU/dp/B017A676EY Lass dich durch die Schraubklemmen nicht dazu verleiten, auf GND zu verzichten. Eigentlich gehören da dreipolige Klemmen dran (ist meine Meinung).
Ok..1 Meter Kabel zwischen den Expander ist viel zu wenig . Werde mir das board heute Abend mal genauer angucken, aber dein Vorschlag klingt sehr gut. Wie gesagt.. die Kommunikation muss nicht über LAN laufen, kann auch jeder andere Bus sein, welchen man aber über ein paar Meter Kabel schicken kann. Auch muss es kein arduino sein. Hab den arduino gefunden und dachte mir das der für mich richtig wäre. Aber das stm32 finde ich auch gut
:
Bearbeitet durch User
Timo B. schrieb: > Wie gesagt.. die Kommunikation muss nicht über LAN laufen Ethernet und IP-Stack sind halt sehr kompliziert. Auch wenn dir die Ethernet Shields da einiges abnehmen, ist das Potential für Fehler und Kopfzerbrechen trotzdem da. Und den größten Vorteil von Ethernet, nämlich die hohe Datenrate, brauchst du gar nicht (bzw. Kannst ihn vermutlich via Arduino gar nicht ausreizen). Stefanus F. schrieb: > Dann würde ich aber eher auf UART mit RS-422 oder RS-485 Treiber setzen Das ist elektrisch zu CAN fast identisch, aber man muss viel in Software selber machen, was einem bei CAN die Hardware abnimmt. Stefanus F. schrieb: > 1 Meter sind gar kein Problem I2C ist halt sehr störanfällig und bietet auch kaum Mechanismen um Fehlübertragungen zu erkennen. Eine Modelleisenbahn mit Elektromotoren und Funken an Stromabnehmern dürfte eine Menge Störungen produzieren - viel Fehlerpotential. CAN ist viel robuster und kann Fehler erkennen, wurde genau für solche Umgebungen geschaffen. Mit geeigneter Hardware (eben z.B. genanntem Olimexino-STM32) ist CAN m.E sogar einfacher zu programmieren als I2C - mit letzterem hat man also nix gewonnen! Der Weg über CAN+Arduino ist nur noch nicht ganz so breit getreten wie I2C+Arduino, aber auf lange Sicht lohnt sich das. Vor allem, wenn man das System später noch erweitern möchte.
Dr. Sommer schrieb: > Das ist elektrisch zu CAN fast identisch, aber man muss viel in Software > selber machen, was einem bei CAN die Hardware abnimmt. Ja stimmt. Nur hat Arduino mit CAN nichts am Hut. Ich war davon ausgegangen, dass der TO womöglich bei Arduino bleiben möchte.
Stefanus F. schrieb: > Ja stimmt. Nur hat Arduino mit CAN nichts am Hut Jo, aber in CAN einarbeiten ist letztlich weniger lästig als auf Basis von RS485 ein Multi Master Protokoll selbst zu klöppeln. Es gibt Arduino CAN Bibliotheken, aber die sind glaube ich nicht so gut. Da aber wie gesagt die CAN Hardware fast alles abnimmt, muss man in Software nur noch die auf dem Präsentierteller dargebotenen Daten abrufen. Das geht auch ohne Bibliothek ziemlich einfach, und es gibt ja auch noch die STM32 HAL Bibliotheken und mbed...
Nein, Also mir ist das egal ob stm32 oder adruino...und egal ob can oder i2c . Wenn einer von euch, bessere Hardware habt, die meine wünsche erfüllen. Bin ich gerne bereit diese auch einzusetzen
Timo B. schrieb: > Nein, Also mir ist das egal ob stm32 oder adruino...und egal ob can oder > i2c . Du musst für dich selber entscheiden, was du einsetzen möchtest. Dazu die Vor- und Nachteile herausfinden und gegenüber stellen. In Kombination mit deinen Fähigkeiten in Sachen Hard- und Firmware erhälst du dann die für dich beste Lösung
Timo B. schrieb: > und egal ob can oder i2c . Also von I2C würde ich definitiv abraten. Sobald der Elektromotor der Lok angeht (mit Bürsten?) hast du nur noch Müll auf der Leitung. Ja, man kann sich mit Repeatern und speziellen Transceivern behelfen - aber warum solche Krücken nehmen, wenn man auch ein System (CAN) nutzen kann, welches von Grund auf darauf ausgelegt wurde, diese Probleme zu lösen. CAN funktioniert auch in Elektroautos mit großen Motoren, während I2C mit etwas Pech von einer ollen Ladungspumpe von einem LCD-Treiber außer Gefecht gesetzt werden kann (BTDT). Ethernet ist zwar ebenso robust, aber eben sehr viel komplizierter...
Dr. Sommer schrieb: > in CAN einarbeiten ist letztlich weniger lästig als auf Basis > von RS485 ein Multi Master Protokoll selbst zu klöppeln. Er hat zwei Boards.
1 | Board 1 Board 2 |
2 | TxD ------>------ RxD |
3 | RxD ------<-------TxD |
Ich sehe da keine Notwendigkeit für "ein Multi Master Protokoll".
Stefanus F. schrieb: > Er hat zwei Boards. Noch! Ich hatte ja vorgeschlagen mehrere kleine Boards mit weniger IO als wenige große Boards mit viel IO zu nehmen.
Dr. Sommer schrieb: > Stefanus F. schrieb: >> Er hat zwei Boards. > > Noch! Ich hatte ja vorgeschlagen mehrere kleine Boards mit weniger IO > als wenige große Boards mit viel IO zu nehmen. Ja, ab drei Boards wird CAN interessant.
Stefanus F. schrieb: > Er hat zwei Boards.Board 1 Board 2 > TxD ------>------ RxD > RxD ------<-------TxD > > Ich sehe da keine Notwendigkeit für "ein Multi Master Protokoll". geht auch mit 3 Boards und wenns einmal rum ist weiss Board 1 das es fehlerfrei gelaufen ist, RS232 Tempo sollte doch reichen und als V24 +-12V ist es genügend sicher glaube ich, sonst kann er nach Tests immer noch wechseln, das hier ist ja billig zu testen.
1 | Board 1 Board 2 Board 3 |
2 | TxD --------->------- RxD,TxD ------->----- RxD,TxD -->--- |
3 | ]
|
4 | RxD ---------<------- TxD,RxD -------<----- TxD,RxD --<--- |
Timo B. schrieb: > Nein, Also mir ist das egal ob stm32 oder adruino...und egal ob can oder > i2c . wer so redet kann entweder alles oder nichts.
Joachim B. schrieb: > als V24 +-12V ist es genügend sicher RS422/485 Treiber kommen mit 5V aus und übertragen erheblich sicherer. Außerdem sind sie inzwischen billiger.
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.