Dienstag, 30. Juni 2015

AmbiController v0.4.1 - auf tindie.com

Es ist soweit, ich habe auf Tindie einen Artikel angelegt. Es handelt sich dabei um die die jeweils aktuelle Version der Platine. Heute die Version v0.4.1. Diese beinhaltet alle für die v0.4 - Hardware beschriebenen Funktionen.

Bei einer Bestellung lege ich voraussichtlich die folgenden Inhalte der Lieferung bei:
  • Die Platine (siehe hier, nur ohne Bugs)
  • Anleitung (deutsch) in der der Aufbau der Platine und der LED-Streifen beschrieben ist
  • Liste der benötigten Werkzeuge (mechanische als auch elektronische)
  • Liste der benötigten Bauteile für den Aufbau
  • Liste der optional benötigten HDMI-Geräte
  • Angaben zu dem benötigten LED-Streifen und zum Netzteil
  • CDROM/DVD mit einem Snapshot der aktuellen Software und Konfigurationsdateien


Was die Lieferung nicht enthält:
  • Bauteile/Kabel etc.
  • Optionale HDMI-Hardware
  • AVR XMega/Altera Cyclone IV kompatible JTAG-Programmieradapter
  • Netzteil
  • LED-Streifen
  • Ein Gehäuse für den AmbiController


Die Lieferzeit wird einige Wochen dauern, da ich keine Platinen sowie keine der oben genannten Inhalte auf Lager habe. Als eine weitere Option werde ich voraussichtlich ein Paket an Bauteilen zusammenstellen welche optional mitbestellt werden kann. Weiterhin bin ich daran zu testen ob ich eine teilweise vorgefertigte Platine liefern kann, auf der zumindest die ICs aufgelötet sind und ggfls. die Software und das FPGA-Design bereits geflasht worden ist. Auch werde ich prüfen ob es mir möglich sein wird vorgefertigte LED-Streifen anzubieten.

Eine vollständig aufgebaute Platine werde ich nicht anbieten, dies liegt an den Bestückungskosten. Der Preis liegt für kleine prototypischen Stückzahlen bei ca. 350€ pro Platine.

Wie dem Aufmerksamen Leser sicher aufgefallen ist befindet sich das Ganze im Aufbau, Änderungen behalte ich mir also vor.

Ich freue mich auf die ersten Anfragen und vor allem auf konstruktive Rückmeldung/Anregungen.

Dienstag, 9. Juni 2015

AmbiController v0.4 - Bugfix

Wie ich in meinem letzten Post bereits angekündigt hatte war es mein Ziel LED-Streifen an meinem TV anzubringen. Das ist nun erledigt und die neue Hardware wurde ausgiebig getestet. Hier ein paar Bilder dazu.





Hierbei ist noch ein Problem aufgefallen das zu immer schlechter werdenden Farben der Beleuchtung und zu einem starken Flackern geführt hatte. Es handelte sich dabei um ein Temperatur-Problem das dazu geführt hatte, dass der FPGA vom Videoprozessor fehlerhafte Daten empfangen hat. Dies lag aber nicht, wie zu erwarten wäre, daran das der Videoprozessor falsche Daten gesendet hätte. Sondern der FPGA hatte scheinbar ein Problem damit das sich der Eingangs-Tackt des Videoprozessors zum FPGA in Abhängigkeit zu der Temperatur verändert hatte. Der Videoprozessor, inklusive einem der dazugehörigen Spannungsregler, innerhalb von 1-2 so warm das man diesen nicht mehr mit der Hand oder einem Finger berühren konnte.

Da man sich das ganze nur schwer vorstellen kann habe ich das Problem aufgezeichnet.
Man beachte das während der Aufnahme mehrmals das Signalkabel abgezogen und wieder verbunden wurde, so dass der Videoprozessor zeitweise ein komplett schwarzes Bild übertragen sollte. In den beiden Videos (siehe unten) ist gerade in diesen "schwarzen" Videoanteilen deutlich zu sehen das diese nicht schwarz sind, sondern mehr und mehr fehlerhafte Pixel enthalten. Das eigentlich dargestellte Bild, sobald ein Signal angelegt gewesen ist, war hier nicht relevant.



Hier im zweiten Video ist der Videoprozessor bereits sehr viel wärmer geworden, die Auswirkungen auf das Gesamtsystem sind deutlich zu sehen. 



Das Problem im FPGA wurde damit korrigiert das der der HDMI-Support komplett entfernt worden ist. Damit wurde das Timing in der Synthese deutlich toleranter gegenüber Veränderungen geworden. Als nächster Schritt wird jedoch noch jeweils ein passiver Kühler auf einem der Spannungsregler und auch auf dem Videoprozessor angebracht.

Mit dem entfernen des HDMI-Support aus der Synthese sind damit alle Bildprobleme, welche auf der neuen Hardware aufgetaucht waren, entfernt. Weiterhin habe ich nun noch die Kommunikation des AVR mit dem Flash des FPGA auf 7kB/s herauf optimiert, welche aufgrund eines Compiler-Upgrades zunächst gar nicht mehr funktionierte und zuletzt doch ganze 700 Byte/s erreicht hatte.

Ich bin nun zufrieden, wenn es auch wie immer etwas zu tun gibt ;)

Es wird in den kommenden Wochen voraussichtlich trotzdem eine neue Platine geben, da wie bereits in einem früheren Beitrag beschrieben, ein paar wenige Kleinigkeiten verbessert werden können. Das einzige größere Problem bei der aktuellen Version ist das die 5-Volt Eingangsspannung (von USB) nicht mit den Spannungsreglern auf der Platine verbunden ist. Das verhindert natürlich eine Verwendung bei der nur ein USB-Anschluss verwendet werden soll, hindert aber nicht daran das System mit einem der anderen beiden Anschlüsse mit Spannung zu versorgen. Alle weiteren Änderungen sind lediglich zur Verbesserung der Optik gedacht oder um beispielsweise die Wärme besser von den Chips abführen zu können.

Ich werde wie immer darüber berichten.

Samstag, 30. Mai 2015

AmbiController v0.4 - Fertig

Nachdem ich doch eine ganze eine Weile an der Platine gearbeitet habe ist diese endlich fertig aufgebaut. Erfreulicherweise ergaben sich dabei keine gravierenden Probleme in der Platine selbst. Lediglich eine Leitung musste ich nachträglich - per Kupferlackdraht/Fädeldraht - einfügen. Insgesamt ein guter Schnitt, ich bin zufrieden!


Was meine Auswahl der Teile bei der Bestellung angeht sind mir zwei Fehlbestellungen untergekommen. Zum einen Waren die Taster minimalst größer als die benötigten.



Und zum anderen war das Quarz für den Videoprozessor nicht etwa ein einfaches Quarz, sondern ein Oszillator der mit Spannung versorgt werden muss und ein eigenartiges Rauschen erzeugt wenn man diesen dennoch verbaut hat. Die Alternative bot sich aus einem Quarz das ich noch als Ersatzteil für einen anderen Prototypen übrig hatte.


Was die Software angeht habe ich nach einem Update des AVR-GCC diverse Anpassungen machen müssen, damit die Firmware wieder vollständig funktionstüchtig ist. Zudem musste ich in der Routine - welche für das Update des FPGA-Flashes per USB zuständig ist - ein Delay in der Kommunikation einbauen um der USART-Verbindung zum FTDI-Chip die Möglichkeit zu geben die Daten auch tatsächlich übertragen zu können.

Den Schaltplan und das Layout der Platine habe ich bereits angepasst, so dass bei der nächsten Bestellung voraussichtlich keine Überraschungen mehr auftreten werden.

Das einzige was mich nun noch stört bei diesem Projekt ist der Aufbau der Hardware. Mir wäre es recht wenn die eine Firma für mich erledigt. Leider sind die Preise für die Bestückung von einzelnen Prototypen weit über dem Betrag welchen ich mir dafür vorgestellt habe.

Als nächstes werde ich einen weiteren Fernseher mit einem LED-Streifen ausrüsten, hinter meinem Monitor sieht es bereits sehr gut aus!