Ich möchte viele Megas seriell und drahtgebunden in einem Bereich bis 50 m verbinden und Daten zwischen jedem Mega und der Zentrale übertragen. .An jedem Mega werden 1 .. 4 Kanäle genutzt.
Hauptproblem: die große Entfernung. Ich müsste wohl WandlerRS232 RS485 einsetzen. Hat jemand so etwas schon mal gemacht oder kann Tips geben ?
Aber was für ein Projekt ist es ?
Ein Netwerk besehehend aus viele Arduino Megas ist eher unüblich.
Und du has schon eine Funklösung ausgeschlossen ?
Definiere doch mal "viele"
Das kann 5 oder 50 sein.
Letzteres geht schon mal nicht.
Ja.
Warum oder und nicht und?
Du merkst, das Deine Frage noch mehr Fragen aufwirft?
Bitte beschreibe was Du vorhast - genau und eindeutig.
Ich kann nicht immer raten, was gesucht wird.
die Mega haben kein RS232 sondern Serielle Schnittstellen mit TTL Pegel, also reichen einfache TTL-RS485 Wandler.
Was verstehst du mit "1..4 Kanäle" genau?
Was ist deine Zentrale? Was kann diese? Wie schaut eine Übertragung zu einem deiner Megas konkret aus?
Hallo, danke für Dein Interesse. Ich habe über eine Lösung nachgedacht, die einfach, ohne Adressen und möglichst über onboard Schnittstellen sein soll. Da ist mir der Mega mit seinen 4 seriellen Schnittstellen aufgefallen. Dazu so etwas wie Driver für ASCII- und binäre Übertragung.
Ziel ist, die Daten einer größeren, variablen Zahl (bis zu 50) von Megas, dezentral entsprechende Kommandos von der Zentrale ausführen zu lassen und entsprechendes Feedback zurück zu transportieren. Dazu gibt es in jedem dezentralen Steuerelement einen Mega, der die Prozess- IO abwickelt. Zusätzlich gibt es Konzentrator-Megas .
Jeder Steuer-Mega ist mit seinem Kanal 0 mit einem der Kanäle 1 ... 3 eines Konzentrator- Megas verbunden. Es gibt also nur 2er Verbindungen. Der Konzentrator fasst die Daten von 3 Steuer-Megas zusammen und sendet sie über den 4. Kanal zur nächsten Ebene, wo wiederum 3 Pakete zusammen gefasst und an die nächste Ebene gesendet werden. Andersherum werden nach dem gleichen Prinzp Daten bis zu den Steuer-Megas verteilt. Das Ganze läuft mit festen Paketgrößen nach einem festen Plan ab. Damit gibt es kein Chaos, und die Echtzeitfähigkeit lässt sich gut berechnen. Im Arbeitszimmer sollte das funktionieren.
Nun das Problem: Die RS232 lässt max.15 m zu, ich brauche aber bis zu 50 m. Ich habe schon überlegt, Megas als Verstärker zu benutzen. Jeweils für4 Kanäle,.Ist aber nicht komfortabel.
Deshalb mein Gedanke an RS485. Habe schon einiges mit Modbus gemacht. Besser wäre aber eine Möglichkeit, RS232 in RS485 zu wandeln und am Empfänger wieder zurück. Gibts sowas ?
Oder was könnte man sonst noch machen ? Stromschleife gabs mal...
Vielleicht gibts das..
Wäre aber Unsinn.
Wie wäre es mit MAX485 !?
Der hat auch Brüder welche deine 50 an einem Strang können, und das über 1200 Meter
wenn du Modbus eh schon kennst - warum nimmst du nicht Modbus?
Ja es gibt RS232 - RS485 Wandler. Aber ich bleib dabei, du hast am Atmega keine RS232 sonder "nur" 4 TTL-Serielle Schnittstellen. Wozu erst auf RS232 wandeln um es dann auf RS485 zu wandeln?
Du beschreibt einen Baumstruktur.
https://de.wikipedia.org/wiki/Topologie_(Rechnernetz)#/media/Datei:NetzwerkTopologien.png
ist das wirklich notwendig? Tut es nicht ein normaler Bus?
Noch mal - was meinst du mit 4 Kanäle? Meinst du damit etwa 4 HW-Seriellen Schnittstellen (die vom Pegel her nur TTL sind) vom Atmega?
Woher kommt dieser Irrglaube?
Je nach Übertragungsgeschwindigkeit ist dieser Wert größer. auch 100m.
RS232 hat die Begrenzung daß sie eine Punkt zu Punkt Verbindung ist und keine Busverbindung mit vielen Teilnehmern.
RS485 ist die Hardwareseite einer Busverbindung. MODBUS ist das Protokoll und die organisation der Teilnehmer damit nicht mehrere gleichzeitig senden wollen.
Grüße Uwe
[EDIT] RS495 in RD485 korrigiert [/EDIT]
Du hast Recht, 15 m ist für 19,2 kBd als Maximalwert angegeben.
Was Du in #6 beschreibst, liest sich für mich viel zu kompliziert. Daher werfe ich mal den CAN-Bus in die Runde, weil das, was in Autos gut funktioniert, auch bei Dir gut funktionieren müßte. CRC ist da gleich mit eingebaut. Ausprobiert habe ich das schon mal (UNO - Mega - Teensy mittels CAN-Bus verbinden), aber nicht über 50 m.
Hallo, habe nochmal bei BangGood nachgesehen und gefunden:
5Pcs 5V MAX485 TTL To RS485 Converter Module Board For ???
TTL to RS485 RS485 to TTL Bilateral Module UART Port Serial Converter Module 3.3/5V Power Signal
Hast du damit schon Erfahrungen, letzer Konverter klingt erstmal gut . Noch ein paar Tipps wären super !
Schönen Sonntag !
:
Hatte deinen Link erst übersehen - besten Dank !
Was ich möchte: Ein Netzwerk aus einer variablen Anzahl von peer to peer (2er) Verbindungen wie bei den Switches, ohne Adressierung der Teilnehmer. Über Konzentratorrechner Verbindung zu einer Zentrale, damit hat der Anwender nichts zu tun-
Beispiel für 9 dezentrale Steuerungen:
S1 S2 S3 S4 S5 S6 S7 S8 S9
K1 K2 K3
K4
An K4 noch etwas für den Bedienerdialog
Ich melde mich von diesem Thread ab. Ich habe ja schon so einiges programmiert aber die Beschreibung verstehe ich nicht.
vgs
Ich verstehe auch nicht mehr was das werden soll bzw wie es funktionieren soll.
Grüße Uwe
Hmm...
Ich finde das OK!
Wenn so ein Baum gebaut werden soll, dann wird das getan.
Wenn der Grund für den Baum geheim bleiben soll, auch gut.
Hallo,
eigentlich wurde Bussysteme mit Adressen erfunden um genau das machen zu können. Du solltest das nochmal überdenken.
Deine Idee erinnert mich ein eine technische Lösung die ich mal vor 35 Jahren realisiert habe. Dabei gab es drei Siemes SPS Steuerungen in einer Anlage die mittels Serieller Schnittstelle TTY20mA mittels RK3964R Protokoll miteinander kommuniziert haben. Das Problem war das jede SPS nur zwei Schnittstellen hatte, mehr damals ging nicht. Also habe ich eine "Kreisverbindung" aufgebaut und ein Datenpaket "Datenbaustein" im Kreis herum gesendet.
SPS1 SST 2 -> SPS2 SST1
SPS2 SST 2-> SPS3 SST1
SPS3 SST2-> SPS1 SST1
Jede SPS konnte dann die Daten auf SST1 lesen und und Ihre Signale dazu tun und auf SST2 wieder versenden. War ein ziemlicher Krampf lief aber jahrelang und für damalige Zeiten recht flott.
Heinz
Allgemein, als Token passing System, häufig im Einsatz.
Bei IBM auch Token Ring genannt
Zumindest kann man sich da auch die ein oder andere Idee abschauen.
Bei Token Ring denke ich an eingleisige Bahnstrecken, wo nur der Zug mit Ring fahren darf. In Reisedokumentationen ist dieses Verfahren manchmal zu sehen.