Hallo Zusammen!
Ich habe den Thread leider erst heute gesehen![]()
Ich hatte das selbe Problem wie Thomas, das ich meine Gebäudebeleuchtung bzw. die gesamte Beleuchtung meiner Anlage vereinfachen wollte.
Momentan arbeite ich an einer Lösung, die auf dem besagten RS485-Bus aufgebaut ist.
Bild hier
Die einzelnen Module werden mit einem normalen LAN-Kabel verbunden. Am Anfang befindet sich ein Schnittstellenwandler zum PC und am Ende dann ein Busabschluss. Pro Modul gibt es 18 Ausgänge, die mit je 100mA belastet werden können.
Da der RS485-Bus max. 32 Teilnehmer ansprechen kann, sind also pro Bus max. 576 einzelne Ausgänge ansprechbar.
Das Bild zeigt den ersten Versuchsaufbau der Hardware. Mittlerweile habe ich die erste Version der Firmware auf die Controller gespielt um die Bus-Geschwindigkeit und die Software etwas zu testen - lief bisher relativ gut.
Das ganze steckt aber bisher noch in den Kinderschuhen...
Gruß, Sven
hallo sven,
puh da hab ich aber glück, das ich nicht mehr alleine mit meinen gedanken bin. =D> =D>
Was mich nun interressiert, wieviele von den Modulen kannst du den an den BUS hängen ??
LAN Kabel sieht ein wenig mächtig aus, aber da kann ich bestimmt auf andere Kabelstränge zurückgreifen, oder ?
gruß thomas
lan kabel ... hm .... was geht da alles drüber ? wenn cih mal 2 adern für + und - rechne, haste doch 3 adernpaare für 3 busse, also 576*3 = 1728 lampen...
also folgendes hab ich mal eben ausm maxim datenblatt kopiert
für den normalen max485 sind es nur 32 .... aber was limitiert denn eigentlich die anzahl ?Allows up to 128 Transceivers on the Bus
(MAX487/MAX1487)
PS hab auch cat5 kabel benutzt, aber nicht mit steckern, ich entisolier einfach die stelle wo ich anschliessen möchste und hänge ne klemmbuchse dazwischen, ist natürlich nicht gerade flexibel, aber ich habe keine übergangswiderstände zwischen den steckern ... laut datenblatt sollte man unbedingt auch optokoppler benutzen! um keine spannungsdifferenzen zu bekommen
Nun 1728 Lampen würde auf jedenfall reichen ..
und wie steuern wir die Weichen an ??
Ich habe da mal aufgeschrieben was ich gerne alles steuern würde ..
Wohnhäuser: Angepeilt sind 35 Häuser, kann aber mehr werden, je Haus werden 6 im Haus sein und eine für die Strassenlampe, einen weiteren für den Weihnnachtsbaum ..
Bahnhof, etwa 20 -25 Gebäude, je Haus werden etwa 10 smd led´s verbaut ..
Weitere Strassenlampen .. anzahl unbekannt
Funkturm etc sollten einzeln ansteuerbar sein.
Weichen, na ein Thema für sich, da diese Planung auch noch offen ist, gehe ich mal von etwa 50 stück erstmal aus .. kann aber mehr werden.
Als Rückmeldung war angedacht, im Schattenbahnhof IR Lichtschranke als Gleisbesetzzeichen,
Für des weiteren sollte ich auf der Anlage von Faller das Carsystem einbinden, aber das wird auch ein neues Thema werden.
Ich gehe da mal in Deckung ... und warte auf Feedback ..
Achja, wenn ein Mod meint der Beitrag sei im Falschen Bereich, dann bitte verschieben ..
gruß thomas
ich weis nicht wo genau das problem ist, du nimmst einfach 32 * 3 controller, verteilst die über deine anlage, jeder controller steuert dann eine "baugruppe" von lampen oder weichen oder Sensoren (ein controller kann beliebig viele geräte steuern, begrenzt wird das nur durch die anzahl der pins und anschliessbarer peripherie) ... das einzige was noch fehlt ist natürlich ein halbwegs intelligentes protokoll um entsprechende funktionen auszulösen ...
EDIT
@Feiler wie hast du das mit dem spannungsabfall und den kriechströmen gelöst ? kann sein das ichs übersehen habe aber ich finde keine optokoppler bei dir
Servus!
Pro Bus wollte ich max. 32 Teilnehmer zulassen. Die Anzahl der Teilnehmer bechränkt eigentlich nur das Protokoll und der Treiberbaustein (MAX485).
Mit dem LAN-Kabel versuche ich "äußere Störeinflüsse" durch die Schirmung abzuhalten. Ich finds auch praktisch um "mal schnell" ein Modul auszutauschen.
Die Belegung des LAN-Kabels sieht momentan so aus:
Bild hier
Man könnte das ganze auch noch ändern, ich fand diese Methode aber praktisch, damit man nicht nur 1:1 belegte Patch-Kabel verwenden muss.
Alternativ wäre natürlich die Option einer 3-Poligen Schraubklemme (Data A, Data B und GND) möglich.
@Ceos: Optokoppler habe ich keine Verbaut. Das mit den Kriechströmen ist auch noch so eine Sache - wie gesagt, das ganze steckt noch arg in den Kinderschuhen.
Momentan plane ich an einer neuen Version der Platine, bei der die Ausgänge auf Optokoppler gehen und das eigene "Netzteil" pro Platine wegfällt. (War irgendwie eine "Schnapsidee" das mit dem eigenen Netzteil...)
Für Verbesserungsvorschläge bin ich natürlich auch jederzeit offen
Gruß, Sven
naja austauschen geht bei mir ja auch, ist ja nur ein sub-d 9pol klemmbuchse, so kann ich den client einfach an und abstecken ... nur das verlegen des moduls ist nachträglich fast unmöglich ... wenn du auf deine link-lampe verzichten kannst, kannst du ja unabhängig vom crossover kabel auf den gleichbleibenden leitungen 2 datenbusse legen und auf den cross leitungen auf die jeweiligen leitungen 2 mal + und 2 mal - legen, so fälklt das crossover kabel garnet auf ... die optokoppler sollten unbedingt zwischen bus und rs485 controller und nicht an die ausgänge, oder hab ich da was falsch verstanden .... zu dem protokoll, 1 kompletter steuerbefehl könnte ja so aussehen(wenn es ein generisches protokoll werden soll):
Overhead + PortA(1byte) + PortB(1byte) + PortC(1byte) +crc für megas mit allen pins als ausgang
Overhead + PortA*+ PortB + I2CAddressbyte + I2C Befehl + Daten wenn statt PortC eine I2C Porterweiterung angeschlossen wird und PortA bekommt eine auslesemaske, anschliessend antwortet der Mega32 mit den entsprechenden analogwerten
analog kann statt PortB auch SPI peripherie angesprochen werden ... jedes neue modul das angeschlossen wird, meldet sich mit einem broadcast gefolgt von seiner addresse und einer bitmaske, die beschreibt was für schnittstellen das modul hat ... die maske stellt man mit dem verbleibenden pins von PortD und nem dipwahlschalter ein oder sowas
aber mal zurück zum eigentlichen thema
wie gesagt, du kannst fast beliebig viel steuern, du musst nur die schnittstellen der slave controller ausreizen ... das mit dem daten zurücksenden ist ein ganz klein wenig kompliziert, da du aufpassen musst das 2 controller nicht zeitgleich senden ... also eine art kollisionsvermeidung/überwachung schreiben musst, oder eine masterslave logik programmieren musst
hallo ceos,
nun bisher waren wir bei der hardware welche ich für mein vorhaben verwenden sollte.
du sprach von einen 32 * 3 controller. was für ein controller ist das ? habe leider unter google nix direktes gefunden ..
gruß thomas
ne ich meinte, wenn du auf 2 adern + und - legst, hast du 3 adernpaare frei, d.h. du könntest auf der basisplatine 3 rs485 controller anschliessen und so die anzahl anschliessbarer clienten pro lankabelstrang erhöhen eben 32 * 3 ... aber der crosskabelproblematik wegen kannst du es auch mit 2 datenleitungen und den crossed leitungen als stromversorgung versuchen, die kann man ja so anschliessen das immer an 2 pins + und an den anderen 2en - anliegt egal ob crossed oder nicht die restlichen 2 adernpaare werden ja nicht gedreht
EDIT benutz den MAX485 von MAXIM oder den oben genannten, je nachdem was einfacher zu besorgen ist oder billiger ... als datenträger empfiehlt sich jedes geschirmte kabel ... die stromversorgung sollte besser parallel zum datenkabel passsieren, da die dünnen adern einen zu hohen stromabfall produzieren könnten, wenn dein kabel länger als 10-15m wird (ist von dem stromverbrauch abhängig) ... die peripherie UND die datenleitungen sollten über einen sog. optokoppler angeschlossen werden, damit der stromverbrauch und die belastung der µC und rs485 controller nicht zu groß wird (stichwort spannungsabfall, kriechstrom) ... natürlich brauchst du für jeden "client" einen atmega oder etwas vergleichbares, der die daten auf dem rs485 auswertet und verarbeitet
Lesezeichen