Neustes Layout Seite 2 ganz unten.

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... -
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.
-
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
.
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 Mega128ZitatDas 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
.
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.
Ich begreife den Sinn dieser Reihenfolge nicht ganz...aber ich bin auf das Ergebnis sehr gespannt.
-
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... -
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.
ZitatBin 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.
-
Würd' die Cs am Quarz umdrehen, damit die Masseverbindung zum µC zurück was direkter ist. Ansonsten ganz nettes Layout, würde höchstens noch die Zuordnung von Ports zu den FETs anders machen, so dass du dir nicht die Zwischenräume für GND, Versorgung und Cs an den passenden Stellen verbaust.
-
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.;) -
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.
-
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 ?
-
was spricht gegen FETs wie beispielsweise IRLZ34N?
-
Es spricht nichts gegen FET´s aber ich wollte das ganze layout in SMD und wenn ich da 54 IRLZ34N draufpacke ist glaub ich etwas voll desweiteren sind die IRLZ34N auch nur NPN nur weis ich immernoch nicht genau wie ich die NPN´s an die WS2803er anschließen soll.
-
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...
-
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
.
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