Beiträge von Elite

    Laut Atmel wurden mit der Einführung der -P- Version nur Register hinzugefügt, jedoch keine existierenden entfernt oder an eine andere Stelle verschoben, was sicher auch die verschiedenen .def's, die ich nun durch Kanwass' Hinweis entdeckt habe, erklärt. Auch Bascom unterscheidet den m88def.dat vom m88Pdef.dat. Für den Mega48 gibts das File nicht, aber davon erhoffe ich mir sowieso keine Veränderung; sollte ich?

    Hallo ihr Lieben,


    folgendes kann ich mir nicht erklären und erhoffe deshalb eure Hilfe:
    Vom User Wurzel habe ich ein paar Mega48PA erstanden, also die Stromsparvariante wie ich jetzt herausgefunden habe. Das wäre aber nicht das Problem, nur leider bekomme ich diese nur mit "Umständen" programmiert: Mein Versuch den Controller über einen USB-ISP Programmer zu programmieren schlug erstmal fehl. Bascom sagt: could not detect chip. Na gut, also wieder den alten Rechner mit serieller Schnittstelle ausgegraben und per Adapter auf dem Pollinboard versucht einen anderen Controller der Energiesparsorte mit PonyProg anzusprechen: geht auch nicht. Ein Mega48-20 allerdings lässt sich problemlos ansprechen; sowohl über USP-ISP als auch über die serielle Schnittstelle. Und jetzt das Kuriose: nachdem ich einen Mega48-20 erfolgreich per USB-ISP programmiert habe und dann folgend die PA- Version programmiere ohne in Bascom den Programmer zu schließen, geht das! ?(
    Zuerst dachte ich an ein reduzieren der Schreibgeschwindigkeit und habe auch in den Programmereinstellungen von Bascom schon erfolglos rumgespielt. Mein Programmer wird mit" auto ISP-Speed-Detect" beworben, das sollte doch reichen oder etwa nicht?


    Was muss ich machen um den Chip direkt programmieren zu können?

    Gerade wollte ich schreiben, dass ich dabei bin, da hab ich doch noch mal nach dem regulären Preis geschaut und siehe da: bei CSD-electronics z.B. kostet ab einer Abnahmemenge von 100 Stück ein Widerstand auch nur noch 1 Cent. Die Versandkosten sind mit 3,59€ auch recht günstig und man kann sich sein Sortiment selbst aussuchen (wobei die Auswahl nicht gerade üppig ist). Für 34.95€ gibts die komplette E12 Reihe. Also danke, aber nein danke.

    Da deine Angelegenheit ja nun Pesis Hoheitsgebiet (DMX) verlassen hat, erlaube ich mir auch ein paar Worte darüber zu schreiben.
    Der Ansatz einfach eine LED mit bekanntem Takt blinken zu lassen kam mir auch zuerst. Allerdings gehe ich jetzt einfach mal davon aus, dass die LED bei dir blinken wird; schließlich funktioniert das Flashen ja noch nachdem du auf den Quarz gefused hast. Demnach muss dein Quarz ja schwingen.?
    Die Frage die ich mir stelle ist, ob er das nun richtig tut; was du im Groben ja durch die Blinkfrequenz feststellen solltest. Du sagst du hast die Hardware überprüft; haben die Kondensatoren sicher um die 22pF? Ansonsten einfach mal mitsamt dem Quarz tauschen, kann nicht schaden. Ob die Fusebits geeignet sind, kann ich leider nicht beurteilen. Da würde ich als Nächstes suchen.

    einfach beim Drucken bei" Anpassen der Seitengröße" "keine" auswählen bzw in Originalgröße drucken.
    Dann hast du ein Raster von 2,5mm anstatt von 2,54mm was auf die Länge des Mega8 immer noch 0,65mm aus macht, aber mit etwas "Geschick" noch praktikabel ist.

    Oha! Respekt! Ich verbeuge mich... und alles ohne Hardware. So gehts tatsächlich auch mit Hardware-SPI. Hatte schon mehrmals bewundert, wie gut du dich mit Bascom auskennst. Echt der Hammer, Danke Neni.


    Ps: habe seit ner Ewigkeit die Version 1.11.9.7 document build 26, gibt ja keine neuere.

    Habe gerade alle Vorschläge abgearbeitet und bin dabei auf des Rätsels Lösung gestoßen.


    Punkt 1: Takterhöhung von 8 MHz auf 16 MHz: keine Veränderung
    Punkt 2: Senden via Array: keine Veränderung (ws2801_test.bas.txt)
    Punkt 3: Senden via SoftSPI: läuft wie es soll (ws2801_test.bas.txt)
    Punkt 4: Senden via mehrfach Spiout: läuft wie es soll
    Punkt 5: Taktverringerung auf 8 MHz: läuft wie es soll


    Die Punkte bauen aufeinander auf; die Lösung brachte also SoftSPI. Danke an alle Mitdenker; vor allem an Andy_KEH, der mich durch 2bl's Code zur Lösung gebracht hat. Zum Glück haben Tinys kein HardSPI :thumbsup:

    Das hört sich für mich nach einem Fall für den CMOS 4017 an. Der braucht nur einen Takt am Eingang und macht dann deine gewünschte Lauflichtfunktion. Um auf die gewünschte Anzahl an Ausgängen zu kommen, kannst du das Ding kaskadieren. Das heißt mit dem letzten geschalteten Ausgang des ersten 4017 gehst du auf den Clock- Eingang des Nächsten. Funktionsprinzip erweiterbar:
    [Blockierte Grafik: http://www.bowdenshobbycircuits.info/4017-7.gif]
    Oder schast du dich hier mal um, spart ein paar Bauteile.

    oh nee, ich dachte die machen im Datenblatt ein Beispiel mit 24 Byte, also 8 Kanälen. Damit ist die Funktionsweise klar wie es Jony beschrieben hat: seriell durchgereicht und bei der Pause wird ausgegeben. Genaue Funktionsweise hier. Demnach sendet man für zwei WS2801 R1G1B1R2G2B2 (von Sender weg gezählt) und dann eine Pause. Beispiel drei also.
    Kann es sein, dass die WS2801 ziemlich empfindlich sind was Restwelligkeit angeht? Bekomme leider nur wüstes Geblinke; mit Glättungkondensator oder an einer Batterie fadet Kanal 1 korrekt. Kanal 2 scheint "nach unten überzulaufen".

    du meinst ich bringe das Protokoll durcheinander? Wenn ich das Datenblatt (S.12) richtig verstehe, dann sollte das Format mit RRGGBB ja stimmen. Was sich mir auch nicht erschließt, ist dass die Bytefolge komplett durchgereicht wird. Wie soll der zweite WS2801 wissen, dass er der zweite ist (und dass Byte 2, 4 und 6 für ihn bestimmt sind)?
    "die Ausgabe durch mehrere Befehle hintereinander erwirken" was ist damit gemeint?

    Edit: Dieser Thread ist ja nun zu einer schönen Codesammlung zum WS2801 geworden. Deshalb stelle ich mal mein Anliegen in den Hintergrund und stelle ein Verzeichnis voran:


    Funktionsweise [2bl]
    WS2801 Testprogramm [stromflo] C
    kleines Blinkprogramm [stromflo] Basic
    Ansteuerung per DMX [max-84] C
    Neni's Konfiguration [synvox] Basic
    Regenbogenfader [Andy_KEH] Basic
    SPI Routine für Atxmega [stromflo] Basic
    USART SPI Mode beim Atxmega [stromflo] C
    USART SPI Mode mit DMA [Stromflo] C


    Danke an alle Codespender.


    Ursprünglicher Thread:
    nach einigen Anlaufschwierigkeiten leuchten 2 angeschlossene LEDs, die durch die WS2801 getrieben werden weiß, wie sie es nach dem Codebeispiel von Stromflo's Forum sollen. Um etwas Farbe rein zu bekommen möchte ich nun einen Fade laufen lassen, der alle Kanäle in der selben Farbe ansteuert. Der Code läuft allerdings nur korrekt, wenn ich nur einen Kanal ausgebe.


    Ergänze ich >ws2801_test_1kanal.txt<

    Code
    1. Spiout R , 1
    2. Spiout G , 1
    3. Spiout B , 1
    4. Waitms 10


    zu >ws2801_test_2kanal_1.txt<,

    Code
    1. Spiout R , 1
    2. Spiout R , 1
    3. Spiout G , 1
    4. Spiout G , 1
    5. Spiout B , 1
    6. Spiout B , 1
    7. Waitms 10


    so bringt das genauso wenig den gewünschten Effekt wie >ws2801_test_2kanal_2.txt<

    Code
    1. Spiout R , 1
    2. Spiout G , 1
    3. Spiout B , 1
    4. Spiout R , 1
    5. Spiout G , 1
    6. Spiout B , 1
    7. Waitms 10


    wie geht's denn nun richtig?

    Ein herzliches Dankeschön auch von mir für die Zeit und Arbeit, die du in mittlerweile 4000 zumeist lesenswerte und für dieses Forum sehr wertvolle Beiträge investiert hast. Wenn hier einer ein Lob verdient hat, dann du!

    Beide hier im Forum verfügbaren Ambilightnachbauten sind auf Dauerbetrieb ausgelegt. Der Betriebsstrom wird durch die Hardware begrenzt, weshalb auch ein "Übertakten" auf 300% keine unmittelbar merklichen Effekte auf die LEDs mit sich bringt. Natürlich verkürzt sich die Lebensdauer der LED, wenn sie (im Durchschnitt) höher bestromt wird, aber das sollte niemanden daran hindern die angesprochene Funktion zu verwenden.
    EDIT: Diese Funktion bewirkt eine Verstärkung (Verminderung) jedes einzelnen RGB- Kanals um den Faktor 0,5 - 4 bis eine der drei Farben die volle Helligkeit und damit den Wert 255 angenommen hat. Dadurch werden lediglich dunklere Bereiche verstärkt und das Gesamtbild verfälscht.

    Eine Plexiglasplatte dieser Größenordnung bei einer Tiefe von ich denke mal max 50 mm homogen zu hinterleuchten ist nicht einfach. Nimmst du das TruLED- Plexi, bekommst du zum einen "Hotspots" durch den geringen Abstand der LEDs von der Rückseite der Platte, zum anderen sieht man die Versteifungen. Um die Hotspots weg zu bekommen hilft entweder ein größerer Abstand oder eine höhere Diche an verbauten LEDs, die Versteifungen verden allerdings weiter zu sehen sein. Die Idee mit dem Endlighten und dem aufliegenden TruLED ist in der Theorie nicht schlecht, pratisch wird allerdings an der Einspeiseseite, speziell direkt an der Stelle an denen sich die LEDs befinden, mehr Licht emittiert. Eine wirklich homogene Ausleuchtung bringen beide Varianten nicht, mich würden allerdings die Schatten der Streben mehr stören.
    Ich habe von dem TruLED ein Stück hier und kann zu "normalem" XT- Plexi ähnlicher Lichtdurchlässigkeit keinen Unterschied ausmachen, der den Preisunterschied wert wäre.


    Edit:
    Habe gerade mal nen kleinen Test dazu aufgebaut. Der Aufbau besteht aus einer Acrylglasplatte weiß 2% LD, auf der eine Endlighten- und dann eine Plexiplatte mit ca 45% LD im Format Din A4 liegen. Bei größerem Abstand zur Einspeisestelle ist die Homogenität dort natürlich besser. Die Enlightenplatte ist noch sägerauh; LED- Pitch 30 mm.
    [Blockierte Grafik: http://img231.imagevenue.com/loc539/th_81936_IMG_5780_com_122_539lo.JPG][Blockierte Grafik: http://img265.imagevenue.com/loc569/th_81944_IMG_5781_com_122_569lo.JPG][Blockierte Grafik: http://img215.imagevenue.com/loc1062/th_81952_IMG_5782_com_122_1062lo.JPG]