Borg Ventilator: Unterschied zwischen den Versionen
Sauron (Diskussion | Beiträge) (Abschnitt plasma hinzugefügt) |
Sauron (Diskussion | Beiträge) |
||
Zeile 114: | Zeile 114: | ||
3b) OSD mit transparentem Hintergrund. | 3b) OSD mit transparentem Hintergrund. | ||
4) Ausgefallene LED's automatisch erkennen | 4) Ausgefallene LED's automatisch erkennen | ||
5) Ein selbst Entwickeltes FPGA Board | <S>5) Ein selbst Entwickeltes FPGA Board </S> <B>wurde bereits umgesetzt</B> | ||
<S>6) Taktrückgewinnung am Flügel </S> wurde bereits umgesetzt | <S>6) Taktrückgewinnung am Flügel </S> <B>wurde bereits umgesetzt</B> | ||
7) Ein CAN Interface | 7) Ein CAN Interface | ||
Version vom 14. Juni 2013, 10:16 Uhr
Borg Ventilator Release status: stable [box doku] | |
---|---|
Description | Der Borg Ventilator ist ein rotierendes LED Display basierend auf einem FPGA-System |
Author(s) | Sauron, Bilex |
Platform | FPGA |
License |
Dieses Projekt steht unter der creative commons Lizenz. (cc-nc) Eine kommerzielle Nutzung ist ausdrücklich verboten
Das Projekt
Ziel des Projektes ist es ein Videosignal auf einem Ventilator darzustellen. Dazu besitzt der Ventilator insgesamt 244 RGB Led's verteilt auf 4 Flügel. Als Datenquelle verwende ich einen Standard VGA Anschluss. Dieses VGA Signal wird digitalisiert, aufbereitet und auf dem Ventilator dargestellt.
Der Flügel
"An Bord" befinden sich ein FPGA von Xilinx aus der Spartan Baureihe, Plattform Flash, LED Treiber und jede Menge SMD RGB LEDs . Es gibt 4 Flügel, die mit RGB LEDs bestückt sind. Insgesamt werden 244 LEDs verbaut. Da die normalen LEDs einfach viel zu gross sind, werden SMD Teile verwendet. Zusätzlich werden die LEDs je Flügel leicht versetzt. Dadurch verringern sich die dunklen Streifen zwischen den LEDs und die Auflösung steigt. Die Auflösung beträgt 512 Bildpunkte in der Diagonalen.
Video Signal
Der Borg wird wie ein Monitor an die Grafikkarte angeschlossen. Ein Treiber ist nicht erforderlich. Die Bildschirmauflösung muss dann zwischen 640 X 480 und 1280 X 1024 liegen. Das Videosignal wird mit der vollen Wiederholrate aktualisiert. Der Pixelclock sollte 140 MHz nicht wesentlich übersteigen.
Stromversorgung
Der nötige Strom wird über einen Satz Schleifringe übertragen. Die nötige Mechanik dafür hat Bilex geplant und gefertigt. Die eigentlichen Schleifringe bestehen aus standard Platinenmaterial. Die Schleifringe haben sich als erstaunlich langlebig erwiesen. Lediglich alle paar Monate sollten die Schleifringe mal gereinigt werden.
Datenübertragung
Die Daten werden berührungslos induktiv Übertragen. Das Prinzip funktioniert wie ein Trafo, mit dem Unterschied, dass sich hier die Sekundärseite dreht. Je weniger Windungen, desto höhere Datenraten werden möglich. Passende Spulen findet man in jeder Kopftrommel eines Videorekorders. Da ein Trafo keine Gleichspannung übertragen kann, muss die übertragung Gleichspannungsfrei sein. Weiterhin kann das Taktsignal aus den Datensignalen zurückgewonnen werden. Damit dies funktioniert, wird der Leitungscode B8B10 verwendet.
Die Daten werden paketweise gesendet. Ein Paket besteht aus 512 Byte Nutzdaten. Danach folgt eine 6 Byte lange Magic Number und noch 2 Byte Checksumme. Mit der Magic Number kann der Empfänger erkennen, ob er immernoch synchron zum Sender arbeitet und sich notfalls auch neu synchronisieren. Bei Fehlern in der Checksumme wird das Datenpaket ignoriert.
Die Daten werden mit 11,3 MB pro Sec. (= 90 Mbit/s) übertragen.
Bedieninterface
Es gibt nun ein LCD Display und einen Drehencoder mit Taster. Hiermit lassen sich verschiedene Menüs aufrufen und Einstellungen tätigen. Ausserdem erleichtert es die Fehlersuche.
Plasma
Sollte mal kein Videosignal anliegen, so stellt der Borg einen schönen bunten Plasmaeffekt da. Dadurch lässt sich der Borg auch ohne PC betreiben.
Video
Technische Daten
Unterstützte Auflösungen
- 640 X 480 max 100 Hz
- 800 X 600 max 100 Hz
- 1024 X 768 max 100 Hz
- 1280 X 1024 max 60 Hz
Andere Auflösungen können funktionieren, da der Borg grundsätzlich versucht ein Bild darzustellen, auch wenn eine exotische Auflösung gewählt wird. Überschreitet der Pixeltakt aber ca. 160 Mhz kommt es zu aussetzern.
Bildwiederholrate
Die Bildwiederholrate ist identisch mit der am PC eingestellten Bildwiederholrate. Empfehlung: 60 Hz.
Farbtiefe
Darstellbare Farben: 65535 Theoretisch möglich wären auch 16,7 Mil. Farben, dann jedoch mit etwas geringerer Auflösung
Gamma korrektur
Ohne Korrektur sahen die Bilder sehr Flau aus, insbesondere bei Fotos und Videos. Nun lässt sich der Gammawert einstellen. Mit einem Gamma von 1,6 haben wir gute Erfahrungen gemacht.
Drehzahl
Die Drehzahl ist stufenlos einstellbar zwischen 0 und 2500 U/min. Der FPGA passt sich der aktuellen Drehzahl an und es ist ihm völlig egal wie schnell der Ventilator grade dreht. Jedoch macht ein schneller Ventilator viel Lärm. Empfehlung: 1000 U/min
Projektfortschritt
- Demnächst wird er ein Plexiglasgehäuse bekommen, damit wird er hoffentlich so leise, dass er im Dauerbetrieb laufen kann.
Datei:BorgVentilator 27C3-2.jpg Datei:BorgVentilator 27C3-3.jpg
Probleme
- Die Letzte LED (ganz aussen) zeigt etwas falsches an.
- Der Motor ist sehr Laut
- gelegentlich zeigen sich leichte Ringe im Bild
Weiterentwicklung
Hier sind einige Ideen, die vielleicht irgendwann mal einzug halten werden. 1) Eine LM32 CPU, die Animationen generiert, wie auf dem Farbborg 2) Einen sd Kartenslot für Animationen und Videos3) Ein komfortables Bedieninterfacewurde bereits umgesetzt 3b) OSD mit transparentem Hintergrund. 4) Ausgefallene LED's automatisch erkennen5) Ein selbst Entwickeltes FPGA Boardwurde bereits umgesetzt6) Taktrückgewinnung am Flügelwurde bereits umgesetzt 7) Ein CAN Interface
Ausstellungen
- 12 / 2010 27C3 Berlin (Danke an Tesla, der in letzter Minute den Borg noch repariert hat.)
- 05 / 2011 Netzwoche Bielefeld
- 08 / 2011 Robot Unicorn Invasion
- 08 / 2012 Ideenpark Essen
- 12 / 2012 29C3 Hamburg
Videos
Hier noch ein Paar Videos.
Farbiger animierter Würfel (slowmotion)
Farbiger animierter Würfel (echtzeit)