Home

News

Schnelleinstieg

Hintergrund

Doku

Bilder

Download

Kontakt

Hintergrund

CAN@home entwickelte sich aus einer Studienarbeit im Wintersemester 00/01.

Damals sollte ein Aktor/Sensor-Bussystem erstellt werden, das zum Beispiel im privaten Bereich (Grundstück, Haus, Wohnung), Automationsaufgaben übernehmen kann. Zu diesen zählen unter anderem Beleuchtungssteuerungen, Jalousiesteuerungen, Temperaturmessstellen usw.. kurzum alles, was den Wohnkomfort erhöht und sich einfach automatisieren läßt. Die Wahl des Bussystems war nicht vorgegeben.

Aufgrund des angestrebten Einsatzgebietes des Aktor/Sensor-Bussystems stellten wir an das Bussystem folgende Anforderungen:

  • Überwindung mittlerer Entfernungen von ca. 100 bis 300 Metern zwischen den Busteilnehmern
  • Multimasterfähigkeit
  • hohe Übertragungssicherheit
  • einfaches Übertragungsprotokoll
  • leichte Realisierbarkeit der Hard- und Software durch allgemein verfügbare Standardkomponenten und Programmierumgebungen
  • hohe Verfügbarkeit des Busses selbst bei Ausfällen einzelner Knoten
  • mittlere bis geringe Bauteilkosten
  • gute Beschaffbarkeit der benötigten Komponenten
  • gute und kostenlose Zugänglichkeit zu Informations- und Dokumentationsmaterialien
  • Anzahl der Busknoten möglichst groß (ca.100)

Letztendlich erwies sich das CAN-Bussystem hierbei als das günstigste Bussystem.

Zur Entscheidung standen dann der SJA1000 von Philipps oder der SAE81C90/91 von Siemens/Infineon. Der SAE81C90 zeichnet sich durch seine 16 Nachrichtenobjektspeicher und seinen integrierten 16Bit IO-Port aus. Die Wahl für den späteren Einsatz fiel auf ihn.

Bei der Auswahl eines geeigneten Mikrocontrollers legten wir uns recht schnell auf die AVR Serie von Atmel fest. Wir hatten beide (Klaus Neubert und ich, André Füßer) vorab ein wenig Erfahrung im Umgang mit dem Controller in Assembler gesammelt. Ein Programmiergerät (von Equinox) stand auch schon zur Verfügung.

Neben der CAN-Buskopplerhardware wurde eine IO-Applikation (Taster/Relais-Karte) und eine RS232-Applikation (PC-Anbindung) erstellt. Die PC-Software (Visual Basic) zur Steuerung/Konfiguration habe ich im Rahmen eines EDV-Seminars programmiert.


Darüberhinaus entwickelte ich ein großes Interesse daran, das Bussystem auf Hardwareseite zu erweitern und durch PC-Software leicht konfigurierbar/bedienbar zu machen. Auch bei meinen eigenen Entwicklungen steht weiterhin die Idee des PC-unabhängigen Betriebs im Vordergrund.

Ganz uneigennützig war die ganze Sache natürlich nicht. So sind momentan etliche CAN-Knoten in der Wohnung verteilt, die u.a. das Licht steuern oder die Rolläden heben/senken. Für die Hardware wurde ein neues Layout erstellt, das dank SMD Bestückung bedeutend kleiner ausfallen konnte, was die Platinenherstellungskosten deutlich senkte.

Die ursprüngliche Assemblersoftware wurde durch die Portierung der Routinen nach C (AVRGCC) abgelöst. Auch das anfängliche VisualBasic Konfigurationsprogramm wurde aufgrund von "Designschwächen" durch eine verbesserte C++-Software (Borland C++ Builder) ergänzt und zunehmend auch ersetzt. Hier steht inzwischen eine kleine Bibliothek zur Verfügung, die die Einbindung der CAN-Knotenfunktionen in eigene Programme erleichtert.