www.mikrocontroller.net

Forum: Haus & Smart Home Allgemeine Fragen zu Hausbus


Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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...

Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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,...

Autor: W.S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: G. L. (glt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: MagIO (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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....

Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Stefan Wimmer (wswbln)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ä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...

Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meint ihr 100kbits wären machbar? Damit wär der bus schnell genug, dass 
kommunikationsprobleme schnell abgehandelt werden können.

Autor: Stefan Wimmer (wswbln)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...mit RS485 schon (Busabschluß=120R), aber wohl kaum mit einer relativ 
hochohmigen Open-Kollektor Lösung (Busabschluß üblicherweise >1kOhm).

Autor: Gast123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Frage3: Das ist natürlich nicht möglich, wer behauptet denn so einen 
Unsinn?

@MC: Ethernet arbeitet auch differentiell.

Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hat sich jemand verschrieben oder ich hab einfach nur falsch 
gelesen. Wie schnell ist CAN denn normalerweise?

Autor: David Madl (md2k7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.