54 Kanal WS2803 Dimmer Layout Prüfung

  • Das geht bestimmt...wenn du das löten kannst.


    Ist aber ein sehr ambitioniertes Projekt, was du da vorhast. Ohne Schieberegister wirst du da wohl schlecht alle Funktionen unterbringen.
    ATmega <-> USB ist auch so eine Sache. Ich hab mal was darüber im Netz gesucht und nur sehr wenig gefunden.
    Dafür aber so einige Hinweise, dass das USB-Protokoll sehr blöd zu implementieren ist.


    Wie man eine PWM mit 48 Kanälen programmiert, wenn man eine 8-Bit-Hardware hat...wird kompliziert.
    Wenn das überhaupt geht, im Programmieren sind andere hier fitter als ich. ;(


    Vielleicht würde ich an deiner Stelle das Ganze auf mehrere Controller aufteilen. Vielleicht für 8 Kanäle je einen Controller,
    die von einer zentralen Steuerung aus ihre Befehle bekommen. Dieser zentrale Controller kann dann auch
    die Kommunikation übernehmen...

    Das Erfolgskonzept von Windows ist eine gelungene Mischung aus Marketing, Korruption, Kartellmißbrauch und der erfolgreichen Spekulation auf das Naturgesetz, daß Scheiße oben schwimmt.


    Auch aus Steinen, die einem in den Weg gelegt werden,
    kann man Schönes bauen.
    Johann Wolfgang von Goethe

  • Der Usb Soll über ein FTDI Chip Laufen so das Man Auch mit MiniDMX Steuern Kann, de Dipswitches werden über einen PCF8574 Portextander Angesprochen.


    Ich weis das es ein Sehr Schweres Projekt ist aber es soll ja nur eine Alternative zu dem DMX4All Controller sein und sicherlich wird meine Firmware nicht so super sein wie mache Profis es hier machen es soll erstmal nur der DMX empfang gehen und die PWM alles andere kommt später.


    Aber wie gesagt erstmal will ich wissen wie ich die PWM Frequenz berechne.

  • Pesi hat mir mit einer PWM mal sehr geholfen.
    Ich such mal nen Link...


    Auf jeden Fall läuft es so, dass du einen Timer laufen läßt und ständig mit einem Register vergleichst, welches den entsprechenden Helligkeitswert enthält.



    EDIT:
    Da ist es:
    LEDs dimmen (Code-Hilfe)


    Mit dieser Routine kannst du eine 8-Kanal-PWM realisieren.

    Das Erfolgskonzept von Windows ist eine gelungene Mischung aus Marketing, Korruption, Kartellmißbrauch und der erfolgreichen Spekulation auf das Naturgesetz, daß Scheiße oben schwimmt.


    Auch aus Steinen, die einem in den Weg gelegt werden,
    kann man Schönes bauen.
    Johann Wolfgang von Goethe

  • Danke für den Link werde es wohl in ASM schreiben da es da am schnellsten läuft, jetzt muss ich nur noch ASM Lernen :D .
    Jetzt muss ich nur noch wissen ob überhaupt das geht mit dem Mega 128 mit 48 Softpwm Kanälen und DMX Empfang und nochn Portextander nicht das das zuviel ist für den Mega128


    Zitat

    Das geht bestimmt...wenn du das löten kannst.

    Ja Löten kann ich das Ganze wird eine 2 Seitige platine komplett in SMD das layout ist auch schon zu 70% fertig muss nur noch ein paar sachen wie Funk und bluetooth intigrien und Fertig ists Layout, danach muss ich nur noch nen Schaltplan machen :thumbup: .
    Das Layout ist einfach gehalten und alle bauteile sind so gewählt das man diese leicht beschaffen kann auch sind wiederstände und kondesatoren in 1206 und 0805 drauf also alles zu leichen nachbau.

  • Zitat

    Ja Löten kann ich das Ganze wird eine 2 Seitige platine komplett in SMD
    das layout ist auch schon zu 70% fertig muss nur noch ein paar sachen
    wie Funk und bluetooth intigrien und Fertig ists Layout, danach muss ich
    nur noch nen Schaltplan machen :thumbup: .

    Ich begreife den Sinn dieser Reihenfolge nicht ganz...aber ich bin auf das Ergebnis sehr gespannt. :whistling:

    Das Erfolgskonzept von Windows ist eine gelungene Mischung aus Marketing, Korruption, Kartellmißbrauch und der erfolgreichen Spekulation auf das Naturgesetz, daß Scheiße oben schwimmt.


    Auch aus Steinen, die einem in den Weg gelegt werden,
    kann man Schönes bauen.
    Johann Wolfgang von Goethe

  • Der sinn der reihenfolge ist der das ich alle Layouts in Sprint layout mache, Ich stehe ein wenig auf kriegsfuss was das Layout erstellen in eagle betrifft dort erstelle ich nur die Schaltpläne.
    Ich weis meist erstellt man ein schaltplan vor dem Layouten aber bei mir ists so das ich nie ein bestimmten plan habe wie es aussehen soll ich fange einfach das layout an und wenn ich eine idee habe was man noch alles drauf verwirklichen kann füge ichs hinzu oder entferne manchmal teile, deswegen ists bei mir sinnlos ein Schaltplan zu zeichnen bevor das layout fertig ist.
    Ich denke mal jeder hat so seine art ein Projekt anzugehen.

  • Naja, aber auf dem Layout ist die Anordnung doch dann auch anders als im Schaltplan.
    Den schaltplan macht man ja auch, damit man weiß was für/wieviele Bauteile man braucht und welche Pins man am Controller am Besten verwendet, usw...


    Der große Vorteil eines Schaltplans liegt darin, dass man den wesentlich übersichtlicher gestalten kann als das Layout.
    Das Layout kann man dann ganz und gar der Funktionalität unterwerfen.
    Bei mir ist es da rasch vorbei mit der Übersicht, wenn ich lauter Bahnen unter einen DIL-Käfer lege.


    Wie gesagt, auf dein Ergebnis bin ich gespannt.
    Kannst dein Layout ja mal hochladen. Mich würde interessieren wie es aussieht...

    Das Erfolgskonzept von Windows ist eine gelungene Mischung aus Marketing, Korruption, Kartellmißbrauch und der erfolgreichen Spekulation auf das Naturgesetz, daß Scheiße oben schwimmt.


    Auch aus Steinen, die einem in den Weg gelegt werden,
    kann man Schönes bauen.
    Johann Wolfgang von Goethe

  • ATmega <-> USB ist auch so eine Sache.

    Kein virtuelles USB in Software, das macht nur ärger. Mit Chips wie dem FT232RL (oder Nachfolgern) ist das aber gar kein Problem.

    Wie man eine PWM mit 48 Kanälen programmiert, wenn man eine 8-Bit-Hardware hat...wird kompliziert.

    Wo ist denn da der Zusammenhang? 48 Kanäle sollten grundsätzich bei 16MHz zu schaffen sein, viel Zeit für die Verarbeitung der seriellen Datenströme bleibt da aber nicht mehr. Hab vor ewiger Zeit mal 30ch auf einem mega16 gemacht. Damals noch in Bascom und immer wenn der UART-Interrupt ausgelöst hat flackerten die LEDs. Bascom ist aber auch nicht gerade bekannt dafür, ressourcenschonend zu arbeiten ;)


    Bin grad zu faul das Datenblatt rauszukramen. Hast du zwei UARTs auf deinem AVR? Sowohl DMX als auch die USB-Anbindung brauchen einen.

  • hier mal ein Bild des noch nicht fertigen Layout da fehlt noch einiges wie zb. das pins für die aufsteckplatinen jumper und nochn paar anschlüsse.


    [Blockierte Grafik: http://img7.imagebanana.com/img/4pndu1vd/thumb/tttt.JPG]


    Ist wie gesagt nur ne vorabversion bin schon am Überlegen ob ich die PWM vieleicht ein paar ws 2811 überlassen sollte würde auf jedenfall den MC entlasten , dieser könnte dann für andere aufgaben verwendet werden und mann könnte auch einen mit weniger pins nutzen.


    Zitat

    Bin grad zu faul das Datenblatt rauszukramen. Hast du zwei UARTs auf
    deinem AVR? Sowohl DMX als auch die USB-Anbindung brauchen einen.

    Ja der MC hat 2 UART´s habe extra darauf geachtet zur not kann man ja auch per jumper einstellen ob das teil per Usb, DMX oder per Funk laufen soll.

  • dgoersch:

    Zitat

    Wo ist denn da der Zusammenhang? 48 Kanäle sollten grundsätzich bei
    16MHz zu schaffen sein, viel Zeit für die Verarbeitung der seriellen
    Datenströme bleibt da aber nicht mehr.

    Eben...genau deswegen. Ich stell mir den Rechenaufwand auch nicht gerade gering vor, wenn er statt einem Register derer sechs vergleichen und bei Gelegenheit jede Kanalgruppe anders geschaltet werden will (von Pesis Code ausgehend). Wenn der Käfer nebenbei noch mit Blauzahn und wasweißich beschäftigt ist..


    Deshalb war ja mein Vorschlag, die PWM auf einem (oder mehreren) anderen Controllern laufen zu lassen und die Steuerung des Ganzen einem seperaten Controller zu überlassen.
    Dann hat er sogar noch Platz, um z.B. Effekte usw. zu realisieren. Und kommunizieren kann er mit was er will und wieviel er will.



    EDIT:
    @bulldog:
    Das Layout sieht wirklich nett aus auf den ersten Blick.
    Würde vllt nur noch die "toten" Masseflächen entfernen...ok, aber das ist ja Feinschliff.;)

    Das Erfolgskonzept von Windows ist eine gelungene Mischung aus Marketing, Korruption, Kartellmißbrauch und der erfolgreichen Spekulation auf das Naturgesetz, daß Scheiße oben schwimmt.


    Auch aus Steinen, die einem in den Weg gelegt werden,
    kann man Schönes bauen.
    Johann Wolfgang von Goethe

  • Naja PWM macht an sich keinen Rechenaufwand. Im weitesten Sinne wird ja nur durch einen Interrupt getriggert gezählt und entsprechend den Werten der Port getoggelt. Bei 48ch muss man aber schon ein bissl mehr Augenmerk auf die Routinen legen, denn die ISR würde zu lang werden wenn man dort toggelt. Ebenso dürfen die UART-ISR(s) nicht zu lang werden, weil sonst der Interrupt für die PWM verlorengeht bzw. ausbleibt.

  • solangsam glaube ich das der uc mit 48 kanal PWM und dann eventuel noch Funk überfordert wäre zumal ja noch wenns geht noch ein IR sensor für RC5 dran soll ich denke ich muss nochwas überarbeiten was die pwm betrift ich denke mal da muss ich mal ein paar WS2811er bei turi ordern und diese dann für die pwm nutzen oder eben 3 WS2803er das würden dann sogar 54 kanäle geben und man hätte für die Uart interupts mehr zeit und könnte sogar noch ein paar nette Programme draufmachen die dann per FB gesteruert werden können.

  • ganz ehrlich, ich würde das auch mit Treiber-ICs machen, und zwar hier 2x TLC5947 - Kosten sind ca. die selben (bzw. Du kannst Dir bei TI Samples bestellen, dann kosten die Dinger gar nix ;)), nur 2 ICs statt 16, aber damit dann auch 12 Bit PWM möglich... ;)


    dann muss der µC nur bisschen Daten da rein schieben und hat ansonsten viel Zeit für alles mögliche andere - da reicht dann auch ein Mega48 o.ä.


    Egal ob's ein Tiny2313 ist oder ein Mega1284, der Zusammenhang zwischen Taktfrequenz, PWM-Frequenz, Zahl der Kanäle und Prozessorauslastung ist immer der selbe, auch bei "nur" 200 Hz PWM-Frequenz ist der AVR bei 48 Kanälen schon zu gut 90% mit der Erzeugung der PWM beschäftigt...


    der Leddie macht gerade sowas in der Art (DMX auf TLC5947), da könntest Du Dich auch mit ihm kurzschließen.

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Ich werde die Schaltung nochmal Überarbeiten, ich habe mich für die WS2803er entschieden da diese wesentlich leichter zu bekommen sind.
    Ich werde die Schaltung auf 54 Kanäle erweitern um die ws2803er komplett zu nutzen, desweiteren habe ich mich entschieden einen Mega 644p einzubauen somit ist der Dimmer auch mit der Sedu Software zu nutzen jedenfalls in der grundfunktion.


    Ich hätte aber noch ein paar Fragen gibt es eigentlich für den WS2803 eine darstellung als schaltplanbeispiel oder ist der genauso zu nutzen wie am WS2801 und wie schließe ich diesen ws 2803 am besten an einen NPN transistor an denn der WS2803 gibt ja nur GND aus und der Transistor erwartet ja ein eine Positive spannung von 5 volt.


    Desweiteren wollte ich die BDP 947 als Transistoren nutzen da diese bis zu 3A aushalten nur habe ich im datenblatt gelsen das der Basisstrom 200ma standard ist also würde der garnicht mit den ws2801 gehen da die nur max 30mA abkönnen oder habe ich das datenblatt falsch gelesen ?

  • schau' mal in's Datenblatt, beim WS2801 ist da ne Schaltung dafür abgebildet, wird wohl beim WS2803 auch drin sein - der WS2801 hat für den Zweck nen Pin, um die Polarität zu ändern, falls der WS2803 den nicht hat, kannst Du trotzdem die Schaltung nehmen, musst halt dann die Werte in der SW invertieren...

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • schau' mal in's Datenblatt, beim WS2801 ist da ne Schaltung dafür abgebildet, wird wohl beim WS2803 auch drin sein - der WS2801 hat für den Zweck nen Pin, um die Polarität zu ändern, falls der WS2803 den nicht hat, kannst Du trotzdem die Schaltung nehmen, musst halt dann die Werte in der SW invertieren...

    Stimmt sollte also gehen wenn ich in der Software die werte Intervertiere gibt der ws2803 bei 100% 5 volt aus, lol daran habe ich mal wieder nicht gedacht :D .


    Würde der von mir ausgesuchte BDP 947 auch mit den WS2803er funktionieren mache mir das sorgen um den Basisstrom denn der wird wenn ich mich nicht irre mit 200mA angegeben und der ws2803 kann nur 30mA oder ich bin zu dlöd ein datenblatt zulesen obwohl die datenblätter von einigen Transistoren schon etwas verwirrend sind