[ANNOUNCE] DF10CH Atmolight Controller

  • Hallo,


    nachdem mit dem Projekt Solarstorm ja bereits dass erste "next generation" Atmolight hier veröffentlicht wurde (herzlichen Glückwunsch an die Entwickler!) möchte ich euch meinen neuen Atmolight-Controller nicht länger vorenthalten. Vieleicht hat der ein oder andere von euch ja interesse das "Ding" nachzubauen.


    Eine Nachbauanleitung habe ich schon mal hier angefangen zu schreiben:


    DF10CH Atmolight Controller


    Gruss
    durchflieger

  • hi


    sehr schoen .. die steckverbindung gefaellt


    reicht denn eine platine fuer ein 40 bzw 46 zoller ?


    lg mentox


  • Das hängt ganz von deinen Ansprüchen ab! Ich konnte schon mit nur 3 Kanälen meine Bekannten beeindrucken :)


    Ich selber plane für meinen 37" 19 Kanäle. 5 links, 5 rechts, 7 oben und jeweils topLeft und topRight als Eckkanal. Warum? So lassen sich halt meine vorhandenen LED-Stripes aufteilen und ich komme noch mit zwei Controllern aus die gut ausgelastet sind.


    Bei einem Freund von mir sind 24 Kanäle mit drei Controllern an einem 42" geplant. Die Platinen liegen schon bei mir. Der hatte aber auch schon eine vierkanal Lösung am laufen. Und wenn schon umgebaut wird dann wird auch geklozt!


    Gruss
    durchflieger

  • Wow, das hört sich ja toll an!


    Mehr als 4 Kanäle würden meinem 50 Zöller auch gut tun, welche LED Stripes verwendest du denn?


    Ich habe die Stripes von slime, könnte ich die dann weiterverwenden?
    (die lassen sich alle 5cm trennen)


    Großes Lob für dieses Projekt, hoffe mal das übersteigt dann nicht meine Nachbaufähigkeiten.


    Gruß
    jm24


  • die Stripes von slime kenne ich nur aus seinem Web-Shop. Da der DF10CH ja - wie schon der "classic" Controller - sowohl gemeinsamme Anode oder Kathode unterstützt sollte dass schon funktionieren. Du musst dann halt nur die richtige Variante aufbauen.


    Bei 5cm Teilstücken kannst du ja sehr viele Kanäle vorsehen. Ich würde da wahrscheinlich immer zwei Teilstücke zu einem zusammenfassen.


    Die Stripes haben ja richtige RGB-Leds (alle Farben in einem Gehäuse). Klappt die Farbmischung ohne weitere Vorsätze bei dir gut?
    Meine Stripes haben jeweils eine LED pro Farbe und ich verwende Transparentpapier als "Streuglass" damit die Farben an der Rückwand dann vernüftig gemischt sind.


    Gruss
    durchflieger

  • Servus,


    Bezüglich der Farbmischung bin ich eigentlich zufrieden, das einzige was ich noch verbessern möchte ist die Überschneidung an den Ecken, das ist noch nicht optimal. (Müsste wohl die Streifen noch etwas kürzen)


    Aber da werde ich jetzt wohl abwarten und dann gleich auf deine neue Variante wechseln.


    Da der Fernseher nur 8cm von der Wand entfernt ist, sind die dünnen Stripes halt optimal.


    Hier mal 2 Photos:
    Atmo
    Atmo2


    Gruß
    jm24


  • Auf dem Bild hast du so einen blauen Farbsaum ausserhalb des weissen Bereich. Kommt das von der Kameraaufnahme?


    Die Ecken würde ich erstmal nicht kürzen sondern falls du den DF10CH einsetzen möchtest dann entsprechende Ecksektionen einsetzen. Das kann das neuste Xine-Atmo-Plugin ja jetzt.


    Gruss durchflieger

  • Hallo Durchflieger!
    Erst einmal auch von mir herzlichen Glückwunsch zum erfolgreichen Projekt!
    Offensichtlich führen viele Wege nach Rom ;)
    Du benutzt den ATMega8 als USB<->Seriell-Wandler, richtig?
    War der andere Atmel zu ausgelastet, um das noch mit zu erledigen?
    Die grafische Oberfläche zum Einstellen finde ich richtig gut!
    Wie befestigst Du Deine LED-Streifen (LEDs sind Superflux, richtig) am
    TV?


    Gruß,
    Daniel


  • Die Auslastung des USB-Prozessor hängt sehr davon ab, wieviele Endgerät gerade am Bus hängen da er prinzipbedingt alle Daten der Nachbarn mitliest. Ich vermute mal das daraus auch die derzeitigen Probleme mit der Verteilung über einen USB-Hub herkommen. Allerdings ist mein USB-Hub von der billigsten machart (< 5€) und vieleicht liegt das Problem auch ganz woanders.


    Das Problem bei Verwendung nur eines Prozessor für USB und PWM ist weniger die Auslastung sondern vielmehr die Reaktionsgeschwindigkeit.
    Bei VUSB darf z.B. bei 12Mhz Takt der IRQ nicht länger als 27 Taktzyklen gespeert sein. Ansonsten kommt es zu Übertragungsfehlern. Die Datenpakete die für den Controller bestimmt sind kommen aber nur im 1ms Takt rein (womit die erzielbare Datenrate nur bei max. 8KByte liegt! -> reicht aber für unsere Anwendung)
    Der IRQ Handler des VUSB benötigt ca. 100us pro empfangenes 8 Byte Datenpacket.
    Der IRQ-Handler für die PWM-Ausgabe hat 80 Taktzyklen länge. Obwohl er nicht in Assembler realisiert ist lässt sich da nicht mehr viel sparen.
    Bei der derzeitigen Auflösung des Controller muss der PWM-IRQ Handler aber alle 144 Taktzyklen zum zuge kommen können um nicht den richtigen Zeitpunkt zu verpassen (obwohl der IRQ ingesamt ja nur 31 mal in 10ms auftritt).


    Meine Stripes sind in 25mm Plexiglasröhren eingeschoben die wiederum mit Schellen aus dem Elektroinstallationsbereich befestigt sind.


    Gruss
    durchflieger

  • Zitat

    Original von durchflieger
    Die Auslastung des USB-Prozessor hängt sehr davon ab, wieviele Endgerät gerade am Bus hängen da er prinzipbedingt alle Daten der Nachbarn mitliest.


    Ein USB-Device sieht nur seine eigenen Daten. Der HUB leitet nur Setup-Packete und nach der Konfiguration entsprechende Daten-Packete weiter.


    Der Host fragt normalerweise alle 0,5 .. 1,5ms bei den Devices nach, ob neue Daten verfügbar sind. Ein Device antwortet mit NAK, wenn keine Daten empfangen oder gesendet werden sollen. Das lastet einen ATMega, der USB in Software macht, mehr oder weniger vollständig aus.


    Gruß
    e9hack

  • Servus,


    Habe mir gerade mal die Daten heruntergeladen, kann aber einige Dateien und Ordner die in der Readme beschrieben sind nicht finden.


    Kann es sein dass folgende Ordner bzw. Dateien nicht enthalten sind?

    Code
    pwm_appl/             Application firmware for PWM-Prozessor 
    pwm_boot/             Bootloader firmware for PWM-Prozessor 
    usb_appl/             Application firmware for USB-Prozessor 
    usb_boot/             Bootloader firmware for USB-Prozessor
    usbdrv/               Objective Development's firmware-only USB driver V-USB for Atmel AVR microcontrollers 
    kicad/                KiCad files of hardware design: circuit and board layout 
    df10ch_common.h       Common include file used by firmware 
    df10ch_usb_proto.h    Include file with definitions of implemented USB communication protocol 
    df10ch_setup.py       Main python script of DF10CH setup program 
    MANIFEST.in           File used by Python installation script


    Oder ich bin wiedermal blind!


    Gruß
    Johannes

  • jm24


    ich denke so richtig blind bist du nicht :)
    Im Download-Bereich waren bisher nur die Dateien hinterlegt, die man zum ausführen des Setupprogramm auf dem VDR Rechner braucht.
    Ich war davon ausgegangen das ihr den Rest direkt aus dem git Repository holt.
    Um euch die Umgang mit dem git Kommando zu ersparen gibts im Downloadbereich nun folgenden:


    df10ch_src_dist.tar.gz -> Volle source Distribution


    df10ch_setup-1.tar.gz -> Setupprogramm


    df10ch_firmware.tar.gz -> Firmwaredateien die per Setupprogramm geflasht werden können (also nicht die Bootloader, die findet ihr in der Sourcedistribution)


    Gruss
    Andreas

  • Gibts der Programmierung der AVR Controller vielleicht noch ne kleine Anleitung dazu?
    Würde das gerne nachbauen , aber momentan ist mir noch schleierhaft wie ich die AVRs Programmieren soll. Wäre cool wenn ne Anleitung geben würde;-)

  • Hallo,
    ich suche noch einen passenden Controller mit dem ich einen Raum beleuchten kann.
    Dazu möchte ich die LED-Stripes von slime unter vier Milchglasplatten legen.
    Bei den 10 Kanälen, die der Controller hat, wäre es logisch zwei pro Glas zu nehmen.
    Ein LED-Stripe wäre dann ca 75cm lang (insg. 6m). Die Frage ist, ob das der Controller schaft? Ich bin aus den Daten im Wiki nicht ganz schlau geworden.


    Dann wäre da noch das Problem, dass die Software unter Windows laufen müsste. Wie hoch ist da ca. der Portierungsaufwand? Was müsste alles gemacht werden? Zeit und Lust mich da einzuarbeiten habe ich.


    Vielen Dank


  • Jeder PWM-Ausgang am Controller kann max. 500mA. Es sind immer 8 Ausgänge an ein Treiber-IC geführt. Die Summe der Ströme dieser 8 Kanäle darf die erlaubte Gesamtverlustleistung des IC nicht überschreiten. Die Daten hierfür musst du den Datenblättern zum IC entnehmen. Die sind im Internet erhältlich. Einfach Bezeichnung des Treiber-IC suchen.


    Zitat

    Original von Jansen
    Dann wäre da noch das Problem, dass die Software unter Windows laufen müsste. Wie hoch ist da ca. der Portierungsaufwand? Was müsste alles gemacht werden? Zeit und Lust mich da einzuarbeiten habe ich.


    Ich weiss ja nicht was du genau machen willst?
    Das Setup-Programm läuft auch unter Windows. Da kannst du dir Code von abschauen.


    Gruss
    durchflieger

  • Zitat

    Original von Jansen
    Dann wäre da noch das Problem, dass die Software unter Windows laufen müsste.


    Wenn Du mit Windows Windows7 meinst, solltest Du Dir eine Lösung mit UART suchen, sodaß Du einen USB-Seriel-Wandler verwenden kannst. Alles, was libusb benögtigt, läuft unter Windows7 nicht wirklich.


    Gruß
    e9hack

Jetzt mitmachen!

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