-         

Ergebnis 1 bis 8 von 8

Thema: Bus für Hausautomation

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.05.2009
    Ort
    Sinsheim b. Heidelberg
    Alter
    24
    Beiträge
    519

    Bus für Hausautomation

    Anzeige

    Hallo,
    ein Freund von mir möchte in seinem Zimmer ein Bussystem verlegen. Alle Komponenten möchten wir selber bauen. Wir haben es und so vorgestellt, dass es einen Master gibt und mehrere Slaves. Die Slaves möchten wir alle gleich aufbauen, damit man später das Bussystem einfach erweitern kann. Jetzt zu den Fragen:
    -Welches Bussystem ist einfach anzusprechen CAN oder RS485?
    -Kann ich einen ARM als Master und AVR als Slave verwenden?
    -Kann ich an den Slaves DIP Schalter anbringen zur Codierung?

    Gruß
    Flexxx

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    -Welches Bussystem ist einfach anzusprechen CAN oder RS485?
    Beide.
    Ich persönlich bevorzuge CAN, das liegt aber wohl auch daran, daß ich beruflich ständig damit zu tun habe. Ein Vorteil bei CAN ist, daß du dir wenig Sorgen darum machen musst wer denn nun gerade senden darf und wer nicht, das erledigt alles der CAN-Controller für dich. Bei RS-485 hingegen musst du dir selbst überlegen wie du Kollisionen auf dem Bus vermeiden kannst.

    -Kann ich einen ARM als Master und AVR als Slave verwenden?
    Ja, kein Problem.

    -Kann ich an den Slaves DIP Schalter anbringen zur Codierung?
    Sicher, du kannst verwenden was auch immer dir für diesen Zweck geeignet zu sein scheint.
    So viele Treppen und so wenig Zeit!

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.05.2009
    Ort
    Sinsheim b. Heidelberg
    Alter
    24
    Beiträge
    519
    Danke für deine Antwort.
    Ich habe jetzt ein bisschen rumgesucht und denke auch das CAN für mich am besten ist.
    Also ist das fast genau so wie bei I2C, dass ich jedem Slave eine andere Adresse geben müss, damit nicht zwei gleichtzeitig angesprochen werden.
    Was mich jetzt noch abschreckt ist die CAN Programmierung in C. Gibt es vielleicht eine Seite auf der ich das nachlesen kann?

    Gruß
    Flexxx

    Nachtrag:
    Als Controllerbaustein nehme ich den MCP2515 und als Treiber den MCP2551.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    25.08.2010
    Alter
    28
    Beiträge
    24
    Hallo,

    auf www.kreatives-chaos.com kannst du vieles über CAN Programmierung nachlesen. Da gibt es auch ein Tutorial.

    mfg
    Florian

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.05.2009
    Ort
    Sinsheim b. Heidelberg
    Alter
    24
    Beiträge
    519
    Danke.
    Das werde ich mir mal durchlesen.

    mfg

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Also ist das fast genau so wie bei I2C, dass ich jedem Slave eine andere Adresse geben müss, damit nicht zwei gleichtzeitig angesprochen werden.
    Nicht ganz...
    Eigentlich kennt CAN sowas wie Adressen garnicht, stattdessen werden alle Nachrichten grundsätzlich erstmal von allen Busteilnehmern empfangen, und diese können dann entscheiden ob sie darauf reagieren möchten oder nicht. Wenn du einzelne Teilnehmer ansprechen möchtest gibt es dafür verschiedene Möglichkeiten, wobei die einfachste wohl darin besteht die ID einer Nachricht aus Absender- und Empfängeradresse zusammen zu bauen. So kann der Empfänger anhand der ID feststellen, daß die Nachricht für ihn bestimmt ist und wer der Absender ist. Zusätzlich kann man so auch garantieren, daß jede Nachricht eine systemweit eindeutige ID hat (das wird vom CAN Standard explizit so gefordert, denn nur dann funktioniert die Arbitrierung, und nur dann ist der Bus 100% kollisionsfrei).
    So viele Treppen und so wenig Zeit!

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.05.2009
    Ort
    Sinsheim b. Heidelberg
    Alter
    24
    Beiträge
    519
    Danke für die Info.
    Jetzt verstehe ich auch wofür der ID Message Identifier ist.

    Gruß
    Flexxx

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Es gibt aktuell ein Projekt von Elektor das sich auch damit beschäftigt. Die Reihe nennt sich "Hier kommt der Bus". Die Module sind ähnlich aufgeteilt (Master/Slave). Die Übertragung erfolgt mit RS485. Der komplette Bus wird mittels Atmegas gesteuert, es ist aber sicher einfach den Master gegen einen ARM zu ersetzen. Das sollte keine Werbung sein nur eine Anregung. Dort werden auch verschiedene Wege beschrieben wie man mit Kollisionen am Bus umgeht, wie man sie vermeiden kann,...
    Ist recht interresant. Der Bus kann auch mit dem PC/Smartphone gesteuert werden. Der Bus unterstützt Ein und Ausgabe (analog und digital).

    MfG Hannes

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •