Borg Ventilator
Borg Ventilator Release status: beta [box doku] | |
---|---|
Description | Der Borg Ventilator ist ein Rotierendes LED Display basierend auf einem FPGA-System |
Author(s) | Sauron, Bilex |
Platform | FPGA |
License | creative commons Noncommercial |
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 will ich ein Standard VGA Anschluss verwenden. 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 Led's. Es gibt 4 Flügel, die mit RGB Led's bestückt sind. Insgesamt werden 244 Led's verbaut. Da die normalen LED's einfach viel zu gross sind, werden smd Teile verwendet. Zusätzlich werden die Led's je flügel leicht versetzt. Dadurch verringern sich die Dunklen Streifen zwischen den Led's 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.
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.
Datenübertragung
Die Daten werden berührungslos Induktiv Übertragen. Das Prinzip funktioniert wie ein Trafo, mit dem Umterschied das 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
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
Bei einer anderen Auflösung wird trotzdem versucht ein Bild darzustellen.
Projektfortschritt
1) Der Prototyp ist zwar ein wilder verhau aus kabeln und Zeugs, aber er funktioniert
2) Alles ist provisorisch zusammengeschraubt und auch noch nicht zu 100 % Ausgewuchtet.
3) Die schleifkontakte haben schon ein paar Millionen runden gedreht. Bisher Problemlos
4) Bilder und Videos werden in beindruckender Qualität angezeigt. Trotzdem lässt sich noch einiges verbessern.
5) Die Helligkeitsverteilung von Innen nach Aussen hat sich verbessert
6) Es gibt nun eine Gamma Korrektur. Der Gammawert ist auf 1,8 Eingestellt, kann aber auch Live geändert werden.
Weiterentwicklung
Hier sind einige Ideen, die vielleicht irgendwann mal einzug halten werden. (Eine konkrete Umsetzung ist erstmal nicht geplant) 1) Eine LM32 CPU, die Animationen generiert, wie auf dem Farbborg 2) Einen sd Kartenslot für Animationen und Videos 3) Ein komfortables Bedieninterface 3b) OSD mit transparentem Hintergrund. 4) Ausgefallene LED's automatisch erkennen 5) Ein selbst Entwickeltes FPGA Board anstelle der Fertigen Boards, das universell einsetzbar ist.6) Taktrückgewinnung am Flügelwurde bereits umgesetzt 7) Ein CAN Interface
Videos
Hier noch ein Paar Videos.
Farbiger animierter Würfel (slowmotion)
Farbiger animierter Würfel (echtzeit)