Hi! Ich habe hier im Gedanken daran, zunächst mal mein Zimmer und später auch mein ganzes Haus (wenn ich mal eins haben werde) mit einem Bussystem auszurüsten, mehrere Fragen: 1) Ist es verwerflich oder gar verboten einfach überall 5-adrige Leitungen zu nehmen? Drei Adern für normal 230V, den N-Leiter als GND, eine Ader 5V und eine Daten? (Habe shcon 5-adrige in meinem Zimmer verlegt, dann muss ich nicht alles aufkloppen) 2) Falls nicht, müsste ich ja jedes Modul mit einer extra Stromversorgung ausstatten, ok. Aber die Daten müssen auch übertragen werden. Einget sich hierfür Powerline und lässt sich das in Unterputzüblicher Größe realisieren? Oder verseuche ich damit das Netz der ganzen Nachbarschaft mit meinen Powerline signalen? 3) Eine Frage zum CAN-Bus. Wie sind hier Datenraten von 1Gigabit und Kilometer Übertragungswege möglich? Gigabitethernet braucht ja schon 8 Leitungen dafür. Differenzielle Signalübertragung? Schirmung? CRC? lg PoWl
Tag Paul, ich hoffe, ich kann dir deine Fragen hinreichend beantworten. zu 1) >überall 5-adrige Leitungen zu nehmen? >Drei Adern für normal 230V, den N Leiter als GND >eine Ader 5V und eine Daten Was offiziell der VDE dazu meint, kann ich dir leider nicht sagen. Ich würde dir davon nur abraten, da du einerseits mit sehr großen Störungen durch Induktion rechnen musst (ich habe schon locker 30V auf vielleicht 10m Kabellänge gemessen). Weiter kann ich dir nur davon nur abraten, da ich persönlich sehr schlechte Erfahrungen mit dem Verlegen von Kabeln, die mehr Adern als benötigt haben, habe. Mein Opa hat im Keller 7-adrige Kabel verlegt. Er hatte wahrscheinlich den gleichen Gedanken wie du. Als ich nun im Keller aber etwas ummontieren sollte, habe ich die zugehörigen Sicherungen herausgenommen, die entsprechenden Leitungen auf Spannungsfreiheit geprüft. Die nach hinten gebogenden, unbenutzten Adern habe ich in dem dunklen Kellerlicht aber nicht gesehen. Du kannst dir vielleicht vorstellen, wie das gezwiebelt hatte, als ich das Kabel aus der Dose entfernen wollte und an die unbenutzten Adern gekommen bin! Mein Opa hatte irgendwann mal an die unbentutzten Adern Phase gelegt (vielleicht war auch mal was angeschlossen, das weiß keiner). Jedenfalls kennt keiner die Versorgung dieser zusätzlichen Adern -> man kann das Kabel nicht einfach totlegen und abschneiden! zu 2) Zur Datenübertragung eignet sich in deinem Fall glaub ich am besten ein Powerline- oder ein Funksystem. Die Stromversorgung kannst du ja über die verlegten Leitungen und einen Trafo machen. zu 3) Wenn ich mich nicht irre, ist der CAN-Bus ein sog. Differenzbus.
Danke, das ist doch schonmal was :-) Ja, es ging nur darum ob es nötig ist überall neue Leitungen reinzulegen. Fließen durch die Induktion große Ströme? Die Bustreiber können das je nachdem ja ausgleichen, als Eindrahtbus mit Pulldown von 1-10kOhm? Muss ja noch nicht so schnell sein am Anfang. Wenns nicht anders geht wird es eben doch per Funk gemacht. Wenn Powerline natürlich funktionieren würde wäre das auch nicht schlecht, wobei ein Powerline bussystem sicher auch noch einige Probleme mit sich bringt. Es gibt zwar diese Funkmodulchen, allerdings soll es ein multimasterbus werden wo alle module unter umständen miteinander kommunizieren können. Ich kann jetzt natürlich nicht alle Funkmodule auf einer Frequenz laufen lassen und auch keine 100 Funkstrecken aufbauen (Anfangs wären es ja noch nicht soviele), und wenn jedes Funkmodul einen eigenen Kanal nutzt mit Sender und Empfänger ist da auch nicht mehr viel Multimastermäßig. Stromversorgung von Einzelmodulen würden kleine Kondensatornetzteile übernehmen. Ich brauch ja nicht viel Strom. lg PoWl
zu Powerline: es gibt ein paar Selbstbaulösungen, aber auch ein paar fertiglösungen. Eine Fertiglösung wäre der TDA5051AT von Philipps. zu Funk: schau dir mal das Funkmodul RFM12 von Pollin an, das sollte glaub ich verwendbar sein.
Ich bin im Moment 19 Jahre alt also es geht vorerst mal darum etwas hightech in mein eigenes Zimmer zu bringen. So wie ich das nun sehe wird da Powerline nicht notwendig sein. Bis ich das zum laufen gekrigt hab wird wohl mein Zimmer schon komplett ausgerüstet sein. D.h. ich werde einfach 5-adrige Leitung im Zimmer montieren :-) um einen 1-Wire-Bus zu realisieren. Dabei wollte ich allerdings meine eigenes Übertragungsprotokoll verwenden. Das ganze soll multimasterfähig werden also dezentral, damit ich überall in meinem Zimmer einzelne, unabhängige Steuergeräte einbauen kann, die untereinander kommunizieren. Nun kommt es bei so einem Multimasterbus ja unweigerlich irgendwann mal zur kollision, je nach Auslastung sogar relativ häufig. Immer dann wenn zwei geräte zufällig gleichzeitig senden wollen. Wie erkennt man solche kollisionen? einfach mit einem zweiten Pin nochmal die Leitung abtasten, ob diese auch auf dem pegel liegt auf dem sie sein soll? Dann bust man aber wieder ein IC-Pin ein. Oder wäre eine zentrale Masterlösung besser? Ein Master der ständig alle maximal 100..128 Busteilnehmer anpollt und ihnen damit kurzzeitig empfangs- und senderechte zuteilt? Oder wird das noch etwas schlauer gemacht?^^ lg PoWl
>Wie erkennt man solche kollisionen? Kollisionen kann man z.B. durch (wie du schon sagtest) Abfragen der Datenleitungen während dem Sendevorgang erkennen. Je nach Situation müssen so aber nicht unbedingt Kollisionen von allen Modulen erkannt werden -> manche Module erhalten falsche Daten, werten diese aber aus. Eine andere Möglichkeit wäre, wenn der Sender sich jedes gesendete Paket vom Empfänger bestätigen lässt. So kann man Kollisionen erkennen und auch Überprüfen, ob der gewünschte Empfänger vorhanden ist (kommt keine Antwort -> kein Empfänger da). Weiter kann der Sender so auch die Übertragungssicherheit feststellen (kommen unverhältnismäßig viele fehlerhafte Bestätigungen zurück -> Fehler in der Übertragungsstrecke). Großer Nachteil ist die große Auslastung der Datenleitung. Man kann auch zur Kollisionsvermeidung die Sendeerlaubnis für die einzelnen "Master" nach einer festen Vorschrift vergeben. Damit meine ich eine Vorschrift, die in jedem Master separat abgearbeitet wird, ein zentraler "Schiedsrichter" also nicht benötigt wird. >Oder wäre eine zentrale Masterlösung besser? Das hängt natürlich immer vom Anwendungszweck und von den Vorlieben ab. In einem Zimmer kann man sagen, dass ein zentrales Modul auch Vorteile haben kann, in einem gesammten Haus aber eher nicht...
Stimmt, in einem Zimmer ist die Polling-methode vielleicht garnicht so schlecht. Wenn man sich auf einem im gesamten Haus vielleicht 200-300 Konten beschränkt, dauert so ein Polling-Zyklus ja sogar nichtmal so lange. In meinem Zimer werden es zunächst vielleicht erstmal 10.. später nicht viel mehr wie 30..40 Knoten. Je nach Busgeschwindigkeit kann das ganze ja recht schnell ablaufen :-) nur eignet sich das ganze wohl ohne intelligentes system nicht für größere datenmengen, da der bus ja blockiert ist solange zwei teilnehmer grade am kommunizieren sind. Ebenso wäre das ganze lahm wenn ein teilnehmer einem anderen was senden könnte und dieser für die antwort erst warten müsste bis er wieder angepollt wird. auch sollte es möglich sein dass von einem teilnehmer ein allgemeines ereignis gesendet wird und dann mehrere teilnehmer darauf reagieren können. Beispielsweise so ein Schalter mit dem ich sämtliche Geräte in meinem Zimmer ausschalten könnte. Das wär praktischst, denn immer beim Verlassen meines Zimmers zum Essen muss ich je nach dem Bildschirm, Schreibtischlampe, Lautsprecher, Stereoanlage, Zimmerbeleuchtung, Ventilator.. ausschalten. Ich werde zwar mir dem Basteln von entsprechenden Schaltern 100 mal soviel Zeit verbraten wie sie es mich kostet ständig alle Dinger auszuschalten, aber es wär einfach praktisch wenn man nicht jedes Gerät einzeln ansprechen muss sondern viele Geräte gleichzeitig. Man kann ja dafür einen extra Adressenbereich definieren^^ Die Adressen 0-100 sind für einzelne Teilnehmer da, die Adressen 101-127 können dann an mehrfache Teilnehmer vergeben sein. Die dürfen dann halt nix antworten.. oder so irgendwie. lg PoWl
Von dem, was du bisher geschildert hast, vermute ich, dass du "nur" dein Zimmer automatisieren möchtest. In dem Fall würde ich dir zu einem Master-Slave-System mit einer zentralen "Verwaltungsstelle" raten. Dies hat den Vorteil, dass du neue Funktionen nur in den zentralen Master einprogrammieren musst. Die Slaves (Lampen, Monitor, Ventilator,...) müssen nicht neu programmiert werden, da deren Steuerung ja über den Master läuft.
Am besten ist glaub ich, wenn du dich (vorerst) für eine Variante (zentrale/dezentrale Steuerung) entscheidest und die ersten Entwürfe mit schematischem Aufbau, Funktionen (Licht an, aus,...) anfertigst. Anhand dieser Entwürfe kannst du dann weitere Überlegungen anstellen, wie sich das System umsetzen lässt, ob es sich umsetzen lässt, was vielleicht besser wäre,...
Hallo, eine interessante Alternative ist der LCN-Bus (www.lcn.de). Für den Bus braucht man nur eine freie Ader im Stromkabel. Eine Verlegung von mehr als drei Adern, also fünf Adern ist immer sinnvoll und kostet nicht viel mehr. Das Bussystem ist dezentral.
LCN ist propitär (nur ein Hersteller), Komponentenauswahl im Gegensatz zur Konkurrenz stark eingeschränkt und preislich unwesentlich günstiger. Vorteil ist eine freie NYM-Ader als Datenleitung verwenden zu können.
Warum nicht ein einfaches Protokoll schon zum Bus-Belegen nutzen? Grundsätzlich gilt: jeder Knoten kann den Bus benutzen, wann er will. Es muss nur eine Sequenz eingehalten werden, um den Bus zu belegen. Mir würde da folgendes vorschweben (wurde meines Wissens bei den alten Netzwerkkarten so ähnlich gemacht): Die Ausgänge sind Tri-State. Kein Senden -> Hochohmig. Der Bus liegt über Pullup auf einem definierten Pegel. 1. Schritt - es wird geprüft, ob die Leitung frei ist (Pullup-Pegel). 2. Schritt - Leitung wird auf Betriebsspannung gelegt (mit niederohmigem Widerstand). 3. Schritt - Leitung wird auf Masse gelegt Diese ganze Aktion muss etwas länger dauern, als die maximale Signallaufzeit. Der Stromfluss wird bei dieser Aktion überwacht. Wollte ein anderer Knoten auch die Leitung, dann fließt ein höherer Strom bei Schritt 3. Nun warten beide Knoten eine unterschiedlich lang Zeit (z.B. definiert durch die Adresse) und versuchen es dann nochmal. Über weitere Protokoll-definitionen wird dann festgelegt, wie lange der Bus nun von dem Knoten belegt werden kann. Z.B. für eine feste Zeit oder für eine bestimmte Anzahl Bytes....
Ein problem dürfte auch sein, dass, wenn zwei busteilnehmer mal längere zeit intensiv miteinander kommunizieren, andere in der zeit total blockiert werden. Andererseits, wenn das ganze so geregelt wird dass jeder Teilnehmer die sende-rechte an den jeweils höher adressierten teilnehmer weiterverteilt (token-ring heißt das, oder?) bzw. das ganze durch einen bus-master geregelt wird, können längere datensendungen sehr lange dauern da ständig auf alle teilnehmer gewartet werden muss oder man müsste das ganze intelligent regeln, dann müsste jeder teilnehmer dem master sagen wie lange er senden möchte und krigt dann vom master ne gewisse sendezeit zugeteilt. interessant ist beim zentralen bus-system auch, wie man es lösen könnte dass bus-teilnehmer so plug&play mäßig angeschlossen und getrennt werden können. Das wäre z.B. praktisch, wenn man an jede Steckdose eine z.B. 3,5mm Klinkenbuchse oder sowas reinmacht, dann könnte man im ganzen Zimmer/Haus xbeliebige Teilnehmer anschließen. Also meinetwegen Kaffeemaschine, Ventilator, Fernseher... lg PoWl
nochmal ne Frage zur kollisionserkennung bei einem 1-wire-bus: Was ist zu einer zuverlässigen kollisionserkennung notwendig und wie könnte entschieden werden welcher bus-teilnehmer warten muss? kann durch gleichzeitiges prüfen des bus-zustandes während man sendet einigermaßen zuverlässig auch erkannt werden wenn noch ein anderer busteilnehmer dazwischenfunkt? die methode von MagIO klingt kreativ aber leider elektrisch etwas aufwändig (schlecht für besonders kleine busteilnehmer) lg PoWl
Ähm, was habt ihr denn da vor, wenn ihr euch so viele Gedanken über große Datenmengen macht? (Und der OP im ersten Posting sogar von GBit/s schreibt?) Eindraht-Busse in Netzkabeln dürften z.B. für Multimedia-Anwendungen denkbar ungeeignet sein. Und für die Fernabschaltung der Nachttischlampe sollte die Latency nicht wirklich wichtig sein...
Meint ihr 100kbits wären machbar? Damit wär der bus schnell genug, dass kommunikationsprobleme schnell abgehandelt werden können.
...mit RS485 schon (Busabschluß=120R), aber wohl kaum mit einer relativ hochohmigen Open-Kollektor Lösung (Busabschluß üblicherweise >1kOhm).
Zur Frage3: Das ist natürlich nicht möglich, wer behauptet denn so einen Unsinn? @MC: Ethernet arbeitet auch differentiell.
Vielleicht hat sich jemand verschrieben oder ich hab einfach nur falsch gelesen. Wie schnell ist CAN denn normalerweise?
CAN "normalerweise" max. 1 MBit/s, ich nehme stark an dass es noch schneller geht, dabei sinkt jedoch die maximal mögliche Buslänge, siehe zB http://www.me-systeme.de/canbus.html#kapitel4
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.