Borg Ventilator

Aus LaborWiki
Wechseln zu: Navigation, Suche
       
Borg Ventilator

Release status: experimental [box doku]

Datei:Borgventilator bildaufbau2.gif
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 ist zusammen mit dieser Seite im entstehen.

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 verschwinden die Dunklen Streifen zwischen den Led's und die Auflösung steigt. Theoretisch möglich wäre dann eine Auflösung von 512 Bildpunkten 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 soll über einen Satz Schleifringe übertragen werden. Die nötige Mechanik wird gerade von Bilex geplant.

Datenübertragung

Umgebauter Kopf eines Videorekorders

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, müssen die anzahl Hi Signale gleich der anzahl Low Signale sein. Theoretisch kann das Taktsignal aus den Datensignalen zurückgewonnen werden (praktisch leider nicht). Ich verwende den B8B10 Code, der all diese eigenschaften vereint, und 8 Bits in 10 Bits darstellt.

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 Rohdaten werden mit 4 mal 20 Mbit übertragen, das entspricht etwas 7,5 MByte pro Sec.

Projektfortschritt

1) Die Mechanik wird im Augenblick überarbeitet

2) Die Digitalisierung des VGA Signals funktioniert bis 1280 X 1024 @ 60 Hz

3) Nun wird der Takt am Flügel zurückgewonnen. (Wurde bisher separat übertragen). Dadurch kann die Datenrate weiter gesteigert 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ügel   wurde bereits umgesetzt
7) Ein CAN Interface


Hier noch ein Paar Videos, die bei der Simulation meines VHDL Codes entstanden sind.

Video des Bildaufbaus

Farbiger animierter Würfel (slowmotion)

Farbiger animierter Würfel (echtzeit)

First Light