[ANNOUNCE] DF10CH Atmolight Controller

  • Hallo,


    Bin gerade am testen des ersten Kontrollers, habe es tatsächlich geschafft die Firmware zu flashen.


    Habe nur die Bootloader geflasht, der Kontroller wird dann einwandfrei erkannt.


    Code
    usb 1-2.4: new low speed USB device using ehci_hcd and address 63
    usb 1-2.4: New USB device found, idVendor=16c0, idProduct=05dc
    usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    usb 1-2.4: Product: DF10CH
    usb 1-2.4: Manufacturer: yak54@gmx.net
    usb 1-2.4: SerialNumber: AP
    usb 1-2.4: configuration #1 chosen from 1 choice


    Dann habe ich über das Setup programm die Applikation für den USB-Prozessor eingespielt.


    Jetzt findet das Setup Programm aber den Kontroller nicht mehr:

    Code
    Scanning for Controllers fails:DF10CH[0,3]: Broken pipe


    diese Meldungen kommen dann nach beenden des setup programms:

    Code
    /df10ch-atmolight-controller/df10ch_setup_pkg/device_drv.py:281: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
      self.message = msg
    /df10ch-atmolight-controller/df10ch_setup_pkg/device_drv.py:284: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
      return '{0}: {1}'.format(self.id, self.message)


    Habe ich vielleicht etwas falsch gemacht oder übersehen?


    Gruß
    jm24

  • Zitat

    Original von henfri
    Ui... lohnt sich das?
    Was war dein 'Stundenlohn' dafür ;)


    Im Ernst: Ich würde tippen, dass man damit gut 2h pro meter beschäftigt ist.
    Dann würd ich mir doch lieber für 79€ die 5m von Pollin kaufen und 'doppelt' verlegen, oder?


    Wenn Du nur fragst, was ist billiger hast Du eh schon verloren. Die Frage ist doch: Sind die Stripes geeignet?


    Damit Aurora/SolarStorm/DF10H Sinn macht, benötigt man eine gewisse Anzahl von RGB-Gruppen je Seite. Ich habe bisher 2 Varianten aufgebaut, eine mit 10x16x10 und die zweite mit 8x13x8. Als Minimum würde ich 6x9x6 betrachten. Je größer der TV, desto mehr Gruppen sollten es sein. Wenn Du die Pollin-Stripes verwendest, ist eine Gruppe 10cm lang. Das macht dann bei 6x9x6 60x90cm, was ca. einem 42"TV entspricht. Bei einem 42"TV würde ich mehr Gruppen empfehlen. Meiner Meinung nach sind die Pollin-Stripes ungeeignet.


    Die Geschwindigkeit liegt nur bei 15cm pro Stunde. Der Controller ist aber bereits in die Stripes integriert und es gibt keinen Kabelverhau hinter dem TV.


    Gruß
    e9hack

  • Zitat

    Original von e9hack


    Wenn Du nur fragst, was ist billiger hast Du eh schon verloren. Die Frage ist doch: Sind die Stripes geeignet?


    Na, ich hab ja mehrfach gefragt, ob die geeignet sind. Wenn sie nicht geeignet sind, werden sie eben nicht gekauft.


    Zitat


    Damit Aurora/SolarStorm/DF10H Sinn macht, benötigt man eine gewisse Anzahl von RGB-Gruppen je Seite. Ich habe bisher 2 Varianten aufgebaut, eine mit 10x16x10 und die zweite mit 8x13x8. Als Minimum würde ich 6x9x6 betrachten.


    Für die ersten beiden Varianten würde man ja gleich drei Controller benötigen. Durchflieger beschreibt im Wiki ja eine Variante mit 19 Zonen. Darauf hätte ich jetzt abgezielt (kommt einem Minimum ja recht nah)


    Zitat

    Je größer der TV, desto mehr Gruppen sollten es sein. Wenn Du die Pollin-Stripes verwendest, ist eine Gruppe 10cm lang. Das macht dann bei 6x9x6 60x90cm, was ca. einem 42"TV entspricht. Bei einem 42"TV würde ich mehr Gruppen empfehlen. Meiner Meinung nach sind die Pollin-Stripes ungeeignet.


    Ja, ich habe auch 'nur' 40 Zoll (glaube ich).


    Zitat

    Die Geschwindigkeit liegt nur bei 15cm pro Stunde. Der Controller ist aber bereits in die Stripes integriert und es gibt keinen Kabelverhau hinter dem TV.


    Ach so, bei Aurora gibt's keinen eigenen Kontroller, sondern 'nur' die LED-Stripes auf denen alles integriert ist?
    Das macht den Vergleich schwer. Aber 15cm pro Stunde würde ich nicht daran sitzen wollen. (zwei Stunden den Controller löten ist etwas anderes als acht Stunden Streifenlöt-Monkey-Work).



    Hiervon ganz abgesehen:
    Wo sind überhaupt die Unterschiede zwischen
    Solarstrom
    DF10CH
    Aurora
    ?


    Gruß,
    Hendrik

  • Servus,


    Habe jetzt nochmal etwas probiert, für mich sieht es so aus als würde er beim flashen den falschen Usb-port nehmen, erkannt wird DF10CH[0,3] aber flashen will er anscheinend DF10CH[0,0].


    Kann das sein?


    [Blockierte Grafik: http://home.arcor.de/jjmm_de/vdr/df3.jpg]


    Nach Abschluss des Vorgangs kommt dann diese Meldung:
    [Blockierte Grafik: http://home.arcor.de/jjmm_de/vdr/df2.jpg]


    Gruß
    Johannes

  • jm24


    nach dem Firmware-Update des Controller führt dieser einen Reset am USB-Bus durch womit dem Controller eine neue USB-Adresse zugewiesen wird. Leider liefert das python libusb-Interface die USB Bus- und Devicenummer (zumindestens bei mir unter Ubuntu) nicht richtig. Deshalb werden diese Nummern zur Zeit vom Setup-Programm selber erzeugt und stimmen mit den Nummern z.b. eines lsusb nicht überein. Dass der Controller andere Nummern nach dem Update bekommt ist also normal.


    Ich habe hier auch anfangs dass selbe Problem gehabt, dass das Setup den Controller nach dem Update nicht findet. Nach einbauen von Pausezeiten im Setup (sind bereits in der V2 enthalten) ging es dann aber bei mir.
    Der eigentliche Firmwareupdate war aber ordnungsgemäss durchgelaufen und ich musste den Controller nur ab und wieder anklemmen.


    Was mich bei dir ein wenig stuzig macht ist die gemeldet Serialnumber in deinem Protokoll in deinem Artikel etwas weiter vorne.
    Anhand der Serialnumber wird erkannt, ob der Bootloader oder die Applikationsfirmware aktiv ist.


    Serialnumber = "BL" -> Bootloader
    Serialnumber = "AP" -> Applikationsfirmware


    Da bei dir schon AP ausgegeben wurde müsste die Applikationsfirmware des USB-Controller schon laufen. Allerdings zeigt das Feld "Version" im Screenshot genau das Gegenteil.


    Die Fehlermeldung deutet auf Übertragungsfehler hin. Ist der Controller bei dir direkt am PC angeschlossen (ohne USB-Hub). Wie lang ist das USB-Verbindungskabel?



    Gruss
    durchflieger

  • So habe noch mal von vorne begonnen, das USB-Kabel ist 1m lang und direkt am PC angeschlossen.


    Nach dem ersten Anschluss schauts so aus:

    Code
    usb 6-3: new low speed USB device using ohci_hcd and address 3
    usb 6-3: New USB device found, idVendor=16c0, idProduct=05dc
    usb 6-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    usb 6-3: Product: DF10CH
    usb 6-3: Manufacturer: yak54@gmx.net
    usb 6-3: SerialNumber: BL
    usb 6-3: configuration #1 chosen from 1 choice


    Das Flashen der USB Applikation funktioniert auch, wenn er fertig ist kommt aber die Meldung:

    Code
    No Controllers Found!


    und das log läuft mit folgenden Meldungen voll:


    Auch ein Umstecken auf einen anderen USB-Anschluss ändert nichts.


    Wenn ich allerdings den Controller an dem in meinem Gehäuse integrierten USB-Hub antecke wird er richtig erkannt, und die dmesg
    Meldungen sind auch weg.

    Code
    usb 1-2.4: new low speed USB device using ehci_hcd and address 101
    usb 1-2.4: New USB device found, idVendor=16c0, idProduct=05dc
    usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    usb 1-2.4: Product: DF10CH
    usb 1-2.4: Manufacturer: yak54@gmx.net
    usb 1-2.4: SerialNumber: AP
    usb 1-2.4: configuration #1 chosen from 1 choice


    Starte ich jetzt allerdings das Setup Programm, kommt wieder die weiter oben schon genannte Meldung:

    Code
    Scanning for controllers fails:DF10CH[0,3]: could not read all payload data


    Gruß
    Johannes

  • jm24


    offenbar hat das flashen funktioniert weil er jetzt "SerialNumber: AP" meldet.
    Die LED auf dem Controller sollte jetzt auch leuchten.


    Die Kommunikation über USB läuft bei dir nicht zuverlässig.
    Eventuell muss du die Werte von R7 ... R9 und D3/D4 für deinen PC anpassen.
    Für R9 probiere bitte mal einen 1K5.
    Bei den Z-Dioden können wohl auch grössere Toleranzen auftreten.
    Informationen hierzu findest du hier: VUSB unter "Solution B: Level conversion on D+ and D-"
    Es gibt dort auch ein Forum zu Problemen in Verbindung mit VUSB.


    Falls du noch einen zweiten PC hast könntest du den Controller auch probehalber mal an dem probieren.


    Gruss
    durchflieger

  • Habe mich gestern noch etwas durchs Netz und das VUSB Forum gelesen, bin aber auch nicht weiter.


    Das einzige was ich gefunden habe ist, das es an D- nicht weniger als
    3,0 V sein sollten.(mit dem 2K2 sind es 2,88V) Habe für den R9 dann 1K5 (3,0V) und 1,0K (3,16V) probiert, hat aber auch nichts gebracht.


    An einem anderen PC mit Ubuntu 9.04 habe ich den Controller auch getestet, mit den gleichen Meldungen im Log.


    Könntest du vielleicht mal bei dir die Spannungen messen?
    (Ist es korrekt das bei mir an D+ 0V anliegen?).


    Gruß
    Johannes

  • jm24


    Prinzipiell funktioniert die USB-Kommunikation bei dir ja. Immerhin läuft der Firmware Update inkl. Verify ja offenbar ohne Fehler durch. Erst wenn dann die Applikationsfirmware zum Zuge kommt gibt es die Probleme.
    Ich habe mal meine Firmware Hexfiles angehängt. Vieleicht haben deine selbsgebauten ja doch ein Problem. Der Bootloader scheint aber ok zu sein. Vieleicht reicht es erstmal nur die Applikations-Firmware per Setup-Programm nochmals upzudaten.


    Wenn ich meinen USB-Hub verwende habe ich ja ähnliche Probleme wie bei dir. Ich werde am Wochenende mal austesten, ob es mit einer Quarzfrequenz von 12Mhz vieleicht besser funktioniert.



    Gruss
    durchflieger

  • jm24


    deine Fehlermeldungen könnten auch durch einen nicht richtig funktionierenden PWM-Controller (atmega162) resultieren.
    Nachdem der Firmware-Update für den USB-Controller durchgelaufen ist sollte die LED leuchten. Das würde einen betriebsbereiten PWM-Controller signalisieren.
    Kannst du das bitte mal prüfen.


    Gruss
    durchflieger

  • Jetzt bin ich sehr verwirrt, der Controller funktioniert, juhu!!!


    Also, angeschlossen an irgendeinen USB-Port direkt am Rechner, auch an dem, wo ich ursprünglich die USB Firmware geflasht habe, blinkt die LED und ich habe die fehlermeldungen im Log.


    Stecke ich den Controller jetzt an den USB-Anschlüssen im Card-Reader meines OrigenAe an wird er sofort erkannt, und funktioniert.(die LED leuchtet dauerhaft)
    Das ganze funktioniert auch wenn ich den Controller an einem USB Hub mit Stromversorgung betreibe.


    So wie es ausschaut funktioniert es bei mir nur über einen USB-Hub und nicht direkt. Komisch das wäre ja dann genau das Gegenteil, wie bei dir??


    Gruß
    Johannes

  • Hi,


    ich habe mal für ein Projekt so eine Soft-USB-Lösung verwendet. Irgendwie hat das nicht wirklich funktioniert. Ich bin dann zum USBN9604 gewechselt. Der ist zwar seit einiger Zeit abgekündigt, ist aber immer noch verfügbar (Momentan stricke ich das auf einen MAX3420 um. Der kostet als Sample nichts und kann echtes USB2.0.). Da der ATMega8 ja nur ein USB-nach-TTL-RS232-Wandler ist, wie wäre es da, den ATMega8 komplett durch einen USB-Seriell-Wandler (z.B. FT323) zu ersetzen? Wenn Du dann noch meine Aurora-Lösung (PWM in Assembler programmiert) verwendest, hättest Du auch eine höhere Auflösung. Meiner Meinung nach macht Aurora/Atmo/df10ch mit weniger als 12Bit-PWM-Auflösung keinen Sinn.


    Gruß
    e9hack

  • e9hack


    der Scharm des ATMega8 als USB-Controller ist halt der dass es den überall einfach und preiswert zu kaufen gibt und der im PDIP-Gehäuse daherkommt womit der Aufbau einfacher ist. Wir sind halt nicht alle Uhrmacher mit Lupe für smd's :)


    Die Probleme mit der Kommunikation müssen aber in der Tat noch gelöst werden damit das ganze nachbausicherer wird. Ich habe hier mittlerweile 5 Controller am laufen die direkt am PC (Server als auch Client siehe Signatur) sowie unter Windows mit Acer Notebook und einem EeePC einwandfrei funktionieren.


    Eine höhere PWM-Auflösung ist sicherlich nicht schlecht aber ob man den Unterschied wirklich sieht bezweifele ich doch ein wenig. Wenn man sich die Werte der Gammatabelle anschaut dann sind da bei der derzeitigen Auflösung bereits so gut wie keine doppelten Werte vorhanden. Damit sollte eine ausreichende Differenzierung gegeben sein. Trotzdem fände ich es natürlich klasse wenn du die derzeitige IRQ-Routine durch Assembler optimieren würdest. Es ist ja ein open source Projekt!


    Gruss
    durchflieger

  • Servus,


    Danke für die neue Firmware, damit funktioniert der Controller bei mir an jedem USB-Anschluss (keine Fehlermeldungen mehr), auch an einem Hub mit 3m Kabel, Super!!


    Meine 4 Controller sind jetzt fertig, jetzt gehts an die LED-Stripes.
    (allerdings habe ich mich wohl mit den Platzverhältnissen hinter meinem Fernseher verschätzt, muss jetzt schauen wie sie unterbringe).


    Gruß
    Johannes

  • jm24


    dass sieht ja schonmal gut aus bei dir! Was verwendest du denn da für ein Gehäuse?


    Ich habe in den GIT Repositorys mal meinen aktuellen Entwicklungsstand commited der einige Verbesserungen enthält.
    Im DF10CH Projekt findest du jetzt eine Testapplikation die einen Lasttest mit allen angeschlossenen Controllern durchführt. Bitte führe doch mal dieses Programm mit ca. 100 Testloops durch um zu prüfen ob deine Kommunikation jetzt wirklich ohne Fehler läuft.
    Es wäre schön wenn du diesen Test auf allen deinen möglichen Kombinationen (die verschiedenen Rechner, mit/ohne Hub, mit/ohne HUB-Stromversorgung) durchführen würdest.


    Informationen zu den Verbesserungen findest du in den jeweiligen HISTORY und README Dateien.
    Die Projekte werden mittels GIT folgendermassen ausgecheckt:


    DF10CH:
    git clone git://projects.vdr-developer.org/df10ch-atmolight-controller.git


    atmolight:
    git clone git://community.xeatre.tv/xine-lib-atmolight.git


    Gruss
    durchflieger

  • Das Gehäuse ist das BOPLA EG-2030L von Reichelt, damit der Controller reinpasst musste ich von den RJ11 Buchsen den Steg oben entfernen, und die Auflagepunkte am Gehäuseboden kürzen.


    Das Setup V3 funktioniert bei mir nicht:

    Python
    vdr-wohn:/atom/neu/df10ch-atmolight-controller # python df10ch_setup.py
    Traceback (most recent call last):
      File "df10ch_setup.py", line 30, in <module>
        from df10ch_setup_pkg.areas_dlg import AreasDialog
      File "/atom/neu/df10ch-atmolight-controller/df10ch_setup_pkg/areas_dlg.py", line 24, in <module>
        import Image
    ImportError: No module named Image


    Die Tests habe ich durchgeführt, beide Firmwares sind V2, aber bei dem R9 habe ich noch den 2K2 verbaut. Soll den noch gegen einen 1K5 tauschen?


    Probleme gibts anscheinend nur mit HUB ohne Stormversorgung.


    Gruß
    Johannes

  • jm24


    deine Log's sehen gut aus. Vielen Dank dafür.


    Für das Setup V3 musst du noch weitere Python-Libs installieren. Siehe dazu die README-Datei.


    Meine Controller haben auch noch alle 2K2 für R9 und funktionieren einwandfrei damit. Die resultierenden ~2,8V sind aber schon eng am Limit laut USB-Spezifikation und es ist schon denkbar, das bestimmte Hardwarekombinationen damit Probleme bekommen könnten. Im VUSB Forum wird auch 1K5 empfohlen. Um die Nachbausicherheit zu erhöhen habe ich es deshalb auch geändert.


    Die Probleme mit dem HUB kann ich mit meinem HUB genauso nachvollziehen. Mit Stromversorgung geht es immer einwandfrei. Ohne Stromversorgung geht er nur an meinem EeePC fehlerfrei. Evt. kann man hier abhilfe Schaffen indem man die 5V USB-Versorgungsspannung noch besser siebt. Z.b. C5 auf 100uF erhöhen. Allerdings bewegt man sich damit wieder ausserhalb der USB-Spezifikation die nur max. 10uF vorsieht. Ich hab aber mal meinen HUB aufgeschraubt und dort ist doch glatt ein 100uF verbaut. Die Chinesen halten es da wohl auch nicht so genau. :)


    Gruss
    durchflieger

  • jm24


    Zitat

    Original von durchflieger


    Anschlussbelegung siehe Schaltplan. Wenn du die fertig konfektionierten Kabel von Reichelt verwendest dann ist die gelbe Leitung der "common" Anschluss.


    Gruss
    durchflieger


    Ich habe gestern bei einer neuen Charge konfektionierter Kabel von Reichelt festgestellt das sich die Farbkodierung geändert hat! Prüfe bitte die Anschlussbelegung deiner Kabel!


    Gruss
    durchflieger

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!