Dienstag, 19. März 2013

Nach der Bachelorarbeit ist vor der Bachelorarbeit

Nachdem wir heute im Labor unsere Spuren der letzten paar Monate beseitigt haben werden wir uns jetzt der Weiterentwicklung und Fertigstellung unserer LED Matrix widmen.

Um die Verdrahtung und Fertigung deutlich zu beschleunigen wird Christian hierzu die LED Treiberplatine überarbeiten, so dass die LED Stripes direkt angelötet werden können.

Ich werde ein Layout für eine FPGA Platine mit HDMI Eingang und Ausgang für die LED Treiber erstellen. Einsetzen wollen wir einen Spartan 6, da dieser einige wichtige Bausteine die zur Verarbeitung eines HDMI Videosingals nötig sind integriert hat. Auf der Platine werden dann auch die 4 (oder mehr) ADCs platz finden. Evtl. wird die Samplerate reduziert um hier günstigere einsetzen zu können. Das müssen aber erst Versuche zeigen.

Wir hoffen, dass wir neben Masterstudium bzw. Arbeit genügend Zeit finden werden, dieses Projekt weiter zu verfolgen und dass im Laufe der Zeit noch einige weitere Projekte hinzu kommen!

Samstag, 16. März 2013

Und schon vorbei

So Stefan und ich hatten am Donnerstag unseren großen Tag.
Die Bachelorarbeit war gedruckt und ist gebunden und anschließend gleich abgegeben worden. Zeitgleich war der Bachelorseminarmarathon. Von 9 bis um 16:30 waren zwölf Bachelorvorträge. Unter anderem haben wir natürlich auch unser Projekt vorgestellt.

Es war recht hell in dem Vorlesungssaal, selbst bei der niedrigsten Helligkeit der LED-Treiber. Naja was soll man sagen, die Sache ist vorbei. Erfolgreich vorbei. Oder sogar sehr erfolgreich gell Stefan.

Ein kleines Gimmik, dass wir die ganze Zeit vorenthalten haben, war die Implementierung von Snake. Dies wurde von mir komplett auf dem FPGA gebastelt. Steuern lässt es sich über die Pfeiltasten, oder wem das zu konventionell ist, der stellt sich vor Stefans Mikrofone und macht n bisschen Verrenkungen um im richtigen Augenblick nach oben, links, unten oder rechts zu klatschen. In gut 95% der Fälle läuft die Schlange dann auch in die gewünschte Richtung weiter.

Hier wird jetzt allerdings keine Stille einkehren, des Ding ist zu schade ums im Schrank versauern zu lassen. Ich mach jetzt im Anschluss mit einem Master Studium weiter und Stefan geht ein bisschen Geld verdienen. Haben uns aber fest vorgenommen, zumindest einmal im Monat ein Bastelsamstag zu machen.

Wir werden also in Kürze wieder berichten.

Samstag, 9. März 2013

FPGA über USB/UART am Raspberry Pi

Leider konnte ich diese Woche nur am Montag an die FH, da mich eine Erkältung erwischt hatte, aber ich war Zuhause fleißig und heut waren wir bis 21 Uhr an der FH im Labor.

Das Nexys 3 Board ist nun über die USB Schnittstelle mit dem Raspberry Pi verbunden. Beim Pi meldet es sich als usb 1-1.3.4: FTDI USB Serial Device converter an und ist über ttyUSB0 ansprechbar wie eine normale serielle Schnittstelle. Hier ein kurzer prinzipieller lesender Zugriff:

unsigned char rx_buffer[256];
int hSerial = open(„/dev/ttyUSB0“, O_RDWR);

struct termios options;

tcgetattr(hSerial, &options);

options.c_cflag = B115200 | CS8 | CLOCAL | CREAD;

tcflush(hSerial, TCIFLUSH);

tcsetattr(hSerial, TCSANOW, &options);
unsigned char rx_buffer[256];

rx_length = read(hSerial, (void*)rx_buffer, 256);

Am FPGA sind 4 ADCs, die das Signal von 4 Mikrofonen die im Quadrat im Abstand von 36cm angeordnet sind mit 1MS/12Bit aufnimmt und bei einem Klatschen 3 Laufzeiten errechnet. Anschließend werden 7 Byte an das Pi übertragen. Das 1. Byte enthält das Mikrofon, auf das der Schall zuerst getroffen ist. Danach kommen je 2 Byte mit den 3 Laufzeiten. Diese Laufzeiten ergeben sich aus der Zeitdifferenz vom Eintreffen des Schalls bei den drei übrigen Mikrofonen bezogen auf das erste Mikrofon.

Am Pi wird daraus dann errechnet, wo vor dem Mikrofonquadrat geklatscht wurde. Momentan werden 9 Sektoren unterschieden: Oben links, oben mitte, oben rechts, links, mitte, rechts, unten links, unten mitte und unten rechts.

Damit lässt sich die LED Matrix eigentlich schon vollständig bedienen. Bis zu unserer Präsentation am Donnerstag will ich allerdings noch versuchen mit 4 weiteren Mikrofonen - also insgesammt 8 Mikrofonen - eine genau Berechnung der Koordinaten wo geklatscht wurde zu realisieren.

Montag, 4. März 2013

Endspurt

Guten Morgen ;)

So mir is grad als ich beim Schreiben meiner Bachelorarbeit zum Thema LED-Treiber gekommen, bin brennend heiß eingefallen, dass ich noch ein Layout der Treiberplatine hochladen wollte. Da ich mich jetzt ins Bett begeben werde, dachte ich mir lad ich das noch schnell hoch.
Morgen gehts dann in Coburg weiter. Und morgen Abend ist die Arbeit hoffentlich geschrieben. Bis dann


Samstag, 2. März 2013

Neues Video von der LED Matrix

Diese Woche waren wir wieder fleißig und konnten die LED Matrix fertig stellen. Jetzt haben wir nur noch ein paar EMV Probleme, welche mit ein paar Kondensatoren aber sicherlich zu lösen sind.

Donnerstag stand ein Besuch bei der embedded world in Nürnberg auf dem Programm. Heute hab ich den halben Abend und die halbe Nach an meiner Bachelorarbeit geschrieben... jetzt werde ich auch gleich schlafen gehn.

Hier aber noch das Video, aufgenommen am Dienstag abend.


Momentan wird die Laufschrift einfach auf einer HTML Seite auf dem Raspberry Pi angezeigt, über HDMI ausgegeben, vom Atlysboard eingelesen und anschließden an der LED Matrix ausgegeben.

Die Steuerung des ganzen mittels Klatschgesen ist momentan noch nicht möglich, wird aber hoffentlich kommende Woche realisiert.

Fürs Wochenende steht jetzt aber erstmal hardcore-Bacheloararbeit-schreiben an ;-) gn8

Dienstag, 26. Februar 2013

Bilder von der Nachtschicht

Der Christian hat ja bereits von unserer Nachtschicht berichtet... hier ein paar Bilder als Zusammenfassung:

Um so lange Zeit stupides Löten durchzuhalten und bei Laune zu bleiben muss man sich natürlich erstmal stärken...

Anschließend ging es dann im Akkord los... Freundlicherweise hat uns der Fabi geholfen



Wir konnten uns natürlich nicht nur flüssig ernähren:


Zwischenzeitlich hab ich auch an meiner Schallerkennung weiter gearbeitet. Hier ein Bild vom Testaufbau mit den 4 Mikrofonen im Abstand von 36cm, wie es auch später in der LED Matrix sein soll:


Um halb 11 hat dann endlich die halbe LED Matrix geleuchtet:


und 10 Stunden später warn wir dann mit dem Verdrahten endlich fertig:



Hier kann man auch die verflochtenen Masseleitungen schön sehn.

Es war eine heiden Arbeit, für den nächsten Aufbau werden wir uns wohl eine Lösung mit Leiterbahnen zum verdrahten ausdenken ;)

Montag, 25. Februar 2013

Der Aufbau ist vollendet

So eine Woche Funkstille, allerdings keine Woche Pause. Wir waren sehr fleißig in der letzten Woche.

64 Pixel x 3 Stripes x 4 Anschlussleitungen x 2 Aderenden, abschneiden, ab isolieren, durch die Löcher fädeln, den Stripe festkleben und anschließend noch die Leitungen verlöten. Eine sehr, wirklich sehr mühselige Arbeit. Gut kurz und knapp reden wir von 1536 Leitungsenden und 2 vollen Tagen Arbeit.

Zu guter Letzt mussten wir die einzelnen Farben der Pixel natürlich noch mit 12V versorgen und die geschaltene Masse auf unsere Treiberplatine führen. Wir reden wieder von Unmengen an Leitungen. Die 12V haben wir in der Reihe der Pixel durchgebrückt, was schonmal einiges an Aufwand ersparte. Mussten nur noch die 192 Massekabel bei den Treibern ankommen. Wir haben anfangs für jeweils 8 Pixel einen Zopf gepflochten aus den Leitungen um etwas Ordnung auf der Rückseite beibehalten zu können. Als wir uns dann stetig der Platine näherten, sind wir auf 4 Pixel je Zopf umgestiegen. Das bedeutete insgesamt weniger Klingelversuche um die richtige der farbigen Leitungen zu finden.

Apopros Farbcode, gelb ist für grün, weiß für rot und braun für blau. Selbsterklärend oder ;)

Dann ist uns noch ein kleines Missgeschick passiert, als wir von Donnerstag morgen bis zum Freitag mittag die Nacht über im Labor mit dem Auflegen der Treiberplatine beschäftigt waren. Da die Platine in 2 Reihen zu jeweils 6 Treibern aufgebaut ist und ich eigentlich von links nach rechts springen wollte, Stefan allerdings erst links von oben nach unten und dann rechts von oben nach unten gelötet hat, musste ich meine Ansteuerung aus dem RAM im FPGA nochmal etwas modifizieren. Naja ganz klarer Abstimmungsfehler, aber sowas passiert schon mal.

Langer Rede kurzer Sinn, ich sitze wieder im Labor und wenn der Stefan nachher kommt, werden wir euch mal ein paar Bilder hochladen. Gestern Abend hatte ich allerdings schon das erste Erfolgserlebnis zu Hause. Mein LED Rahmen hat Hallo zur Welt gesagt!! Ist das nicht ein nettes Kind?