Kopfbereich

Direkt zum Inhalt Direkt zur Navigation Direkt zum Kontakt

Inhalt

BlubCtrl
Einleitung
Effekt- und Ambientbeleuchtung über Ethernet gesteuert
Komplette Hard- und Software

Ziel des Projekts war zu Anfang eigentlich nur, eine RGB-LED-Kugel von PEARL irgendwie über den PC steuern zu können. Mittlerweile ist das ganze allerdings schon dermaßen entartet, dass es hier eine eigene Seite verdient...

Aktueller Stand:
  • Voll funktionsfähig
  • Komplett modularisiert
  • Einfache Erweiterbarkeit in Hinsicht auf Hardware und Software
  • Stabiles Kommunikationsprotokoll
  • Sensor-Integration
  • Aufbau und Einsatz auch für Laien möglich
  • Verschiedene Slaves können RGB-LEDs, ultrahelle LEDs, Kaltkathodenröhren, Temperatur- / Feuchte-Sensoren, Relais, ... bedienen

Der Aufbau besteht aus verschiedenen Elementen, die über den I²C-Bus miteinander kommunizieren. Der Master (hauptsächlich ein Ethernet-I²C-Umsetzer) wird an das ganz normale Ethernet-Netzwerk angeschlossen.
Die Slaves nehmen Befehle des Masters oder einer anderen "Farbregeleinrichtung" entgegen und setzen diese mit eigener Intelligenz um.

Beispiel:
  • Benutzer wählt in der Software: "Fade Kugel3 auf Farbe #ff00ff"
  • Die Software sendet über HTTP diese Anfrage an den Master
  • Der Master sendet den Befehl über den I²C-Bus an den entsprechenden Slave
  • Der Slave bestätigt den Befehl, berechnet die Zwischenfarben und legt diese nacheinander auf seinen PWM-Ausgang
Die Software und das Protokoll lassen außerdem noch folgende Aktionen zu:
  • Auslesen der aktuellen Farbe und Einstellung
  • Einstellungen setzen (Fadedauer, Automatikfader, Wartezeiten, ...)
  • Aufspielen einer neuen Firmware auf den Slave
  • Sensoren auslesen
 
Hardware
Den Hauptteil der Arbeit übernimmt auf allen Platinen ein Mikrocontroller der AVR-Serie von Atmel, zum Beispiel der Atmega8. Ansonsten wird auf dem Master der ENC28J60 (Ethernet-Controller von Microchip) und ein MagJack (Ethernet-Buchse mit integriertem Übertrager) eingesetzt. Zur Steuerung größerer Lasten dient der ULN2803A (8-fach Darlington-Transistor-Array).

ATMEL Atmega 8; Mikrocontroller
MagJack; Ethernet-Übertrager
ULN2803A; Transistor-Array


Mit der Leiterplattensoftware Eagle wurden die Platinen erstellt und anschließend in "Heimarbeit" selbst belichtet, entwickelt, geätzt, gebohrt, bestückt und gelötet.
Siehe auch: Platinenherstellung

Schaltplan, Ausschnitt; Master_2.1
Board, Layout; Master_2.1
Eagle3D, gerendert; DualRGBright
Platine, Ausschnitt; Irgendeine beta-Platine
Platine, Lötseite; Master, beta-Version
Platine, Bestückungsseite; Master, beta-Version
Platine, noch mit Photolack; Testaufbau mit ENC28J60


Aufgebaut / Eingebaut

DualRGBright; Zur Ansteuerung von ultrahellen LEDs
ENC-Test; Entwicklungsplatine
Platine Kugel_V1 eingebaut in Kugel
Kugelhardware
 
Software
Mikrocontroller
Standardmäßig werden die AVR-Mikrocontroller mit der Sprache C programmiert. Die Software für den Master (ARP, TCP/IP-Stack, HTTP-Server, I²C-Routinen, ... und die eigentliche Logik) ist kompiliert und einsatzfertig gerade mal 8 Kilobyte groß (oder klein). Noch sparsamer ist die Implementierung der Slave-Software:
  • Bootloader (Firmware flashen): 526 Byte
  • MPLS (Zur RGB-Beleuchtung und IO-Switcherei): ~5 Kilobyte
  • TempSens (Auslesen eines digitalen Temp. und Luftf.-Sensors): ~2 Kilobyte

Protokoll
Eine noch nicht 100% vollständige Protokollbeschreibung gibt es hier:
http://www.blubctrl.de/download/doku/communication_protocol.txt


PC
Die Kontrollsoftware ist in Python geschrieben, die GUI wird mit wxPython erzeugt.
BlubCtrl Screenshot

Alle Funktionen (Farben auf verschiedene Weise ändern, Firmware flashen, Einstellungen ändern, ...) sind über die Software erreichbar. Dank der Plattformunabhängigkeit von Python / wxPython kann die Software sowohl unter Linux als auch unter Windows eingesetzt werden - sogar auf dem OpenMoko!
 
Im Einsatz
BlubCtrl am eeePC; Rechts unten sieht man EeeCtrl
Kugel; Orange
Kugel; Cyan
Kugel; Grün im Dunkeln
Röhren (R, G, B, UV); Alle auf 80% Leistung
Röhren mit Katze
Kugeln und ein Glasbrocken; Testaufbau
Wallwasher; RGB 50%
Wallwasher; RB 50%
 
Videos

Get Flash to see this player.