Hallo! Reicht ein ATMega48, um mit akzeptablem Programmieraufwand 30 LEDs mit 10bit PWM auf einen Zufallswert faden zu lassen? Wenn nicht, würde es mit 8bit gehen? Die LEDs sollen allerdings recht langsam gefadet werden, drum bin ich mir nicht sicher ob 8bit dafür noch reichen. Alles in allem soll es so etwas werden, nur größer: http://geekphysical.blogspot.com/2009/12/green-tree-in-electronics-pot.html Hat schonmal jemand sowas gemacht und vielleicht sogar Codeschnipsel für mich? Habe es etwas eilig, das Ding soll natürlich bis 24.12. fertig sein ;) Ich hoffe ihr könnt mir helfen!
Das dürfte schon daran scheitern, dass der mega48 nur 23 IO-Pins hat. Rechentechnisch dürfte es auch mit 10 Bit funktionieren. Hab gerade ein paar Soft-PWM-Tests auf einem mega8 mit 3,6864 MHz. Das PWM lastet den µC bei 6 Channels etwa zu 10% aus. Mit 20 MHz kommt man sicher auf 30 Channels.
Ich würde bei so vielen LED's eine Matrix Ansteuerung bevorzugen und dann über SPI arbeiten.Dann ist das wirklich kein Problem.
Morgen schau mal hier, vielleicht reicht dir das ja schon. Quelle: http://www.maxim-ic.com/app-notes/index.mvp/id/4472 Stephan
@ saftpresse (Gast) >Reicht ein ATMega48, um mit akzeptablem Programmieraufwand 30 LEDs mit >10bit PWM auf einen Zufallswert faden zu lassen? Wird eng, könnte aber gerade so noch klappen mit 20 MHz. > Wenn nicht, würde es >mit 8bit gehen? Ja. Siehe Soft-PWM und LED-Fading. MFG Falk
Der geht: STM32F103xF Der hat 12 Timer drin, die kann man so programmieren dass man 32 unabhängige PWM Ausgänge hat. Ist halt kein Atmel.
Antwort schrieb: > Ich würde bei so vielen LED's eine Matrix Ansteuerung bevorzugen hatte auch an eine 5x6 matrix gedacht. wenns den programmieraufwand sehr erleichtert würde ich mich auch mit 5x5 zufrieden geben. Markus Müller schrieb: > Ist halt kein Atmel. fraglich ob ich dann damit umgehen kann ;)
> fraglich ob ich dann damit umgehen kann ;) Das musst Du entscheiden. Eine Übersicht gibt es in diesem Artikel: STM32
@ Markus Müller (mmvisual) >Das musst Du entscheiden. Eine Übersicht gibt es in diesem Artikel: >STM32 Der Staubsauger-, ähhhh, STM32-Vertreter ist wieder da. ;-)
ich seh schon, diese spezialcontroller sind mir für ein kleines weihnachtsgeschenk eindeutig zu teuer. also heißts aus dem mega48 rausholen was geht.
@ saftpresse (Gast) >weihnachtsgeschenk eindeutig zu teuer. also heißts aus dem mega48 >rausholen was geht. Warum Atmega48? Weil du den rumliegen hast? Nimm einen mit 40 Pins und gut, dann klappts auch problemlos mit der 30 Kanal PWM. MFG Falk
richtig, weil ich den rumliegen hab ;) hätte noch einen mega32, aber den wollte ich eigentlich nicht aufbrauchen... ist multiplexing so anspruchsvoll, dass es ohne extra-controller nicht geht?
saftpresse schrieb: > ist multiplexing so anspruchsvoll, dass es ohne extra-controller nicht > geht? Überhaupt nicht, die Grundidee ist ziemlich simpel. Irgendwo in der Codesammlung gab es auch ein Beispiel für nen ATmega. Müsste man mal die Suche bedienen.
@saftpresse (Gast) >hätte noch einen mega32, aber den wollte ich eigentlich nicht >aufbrauchen... Jaja, die 3 EUR wären schon Verschwendung für ein Weihnachtsgeschenk . . . >ist multiplexing so anspruchsvoll, dass es ohne extra-controller nicht >geht? Nö, das ist kinderleicht, aber im Zusammenspiel mit PWM ist das mit dem AVR in der von dir gewünschen Auflösung von 8 oder gar 10 Bit nicht mehr drin. MFG Falk
Falk Brunner schrieb: > Jaja, die 3 EUR wären schon Verschwendung für ein Weihnachtsgeschenk . . > . naja, erstens solls ja nicht bei dem baum bleiben, und ausserdem haben die smd-leds sowie kupferdraht schon rund 8€ gekostet... naja ich werde wohl dann den mega32 nehmen... hilft ja nichts ;)
>Der Staubsauger-, ähhhh, STM32-Vertreter ist wieder da. ;-) Ja, ja. Ist es denn meine Schuld dass andere Hersteller keine 30 echte PWM Kanäle können???? Er fordert: - 30 Kanäle - 8-10 Bit Auflösung Der STM32 hätte dafür eine funktionierende Hardware-PWM Lösung, diese paar Timer bekommt man sicher auch als nicht-ARM-Kenner bald zum Laufen. Wenn er sich für einen anderen entscheidet ist es sein Problem, ich kann nur immer wieder hinweisen, dass es noch andere Hersteller gibt, die mehr können.
Markus Müller schrieb: > ich kann > nur immer wieder hinweisen, dass es noch andere Hersteller gibt, die > mehr können. Wayne interessiert´s. Wir sind uns dessen bewußt, dass das Streben nach Fortschritt und Profit nicht nur einen Controllerhersteller hervorgebracht hat. Das ist eine Frage der eigenen Vorlieben und Fähigkeiten, ob und wann man wechselt. Man muss nicht ständig mit der Nase ´reingeduckt werden, weil das nervt auch irgendwann.
Bin ich denn der Einzige hier der hier eine garantiert funktionierende Lösung anbietet? Biete doch auch mal eine vernünftige Lösung, meckern kann jeder. Ich habe im Datenblatt vom STM32 nachgeschaut und dann erst gepostet! Eure sinnlosen Postings nerven noch viel mehr!
@ Markus Müller (mmvisual) >Bin ich denn der Einzige hier der hier eine garantiert funktionierende >Lösung anbietet? Wer lesen kann ist klar im Vorteil. Lies den Artikel Soft-PWM, die dort vorgestelle Variante 3 läuft bei mir seit 2 Jahren mit Kanälen und 8 bit PWM Auflösung. Hmmmm. Und das auf einem kleinen ATmega16. >Eure sinnlosen Postings nerven noch viel mehr! Selber doof ;-) Welcome to the kindergarden. MFG Falk
hmm, bei 16 leds über 4x4 multiplexing reicht dann also ein atmega48 aus, laut dem link. aber 16 leds sind mir für meinen baum zu wenig. was wär denn so die oberste schmerzgrenze was machbar ist mit multiplexing und mega48?
Bei der "Grösse" und dem Stromverbrauch der AVRs kann man auch mehrere Controller einsetzen, die sich die Arbeit teilen. Aber ich würde lieber einen einzigen mit mehr Pins nehmen und nicht auch noch multiplexen. Ein Mega16 oder ein Mega164 kann über 30 LEDs einfach über Portpins mit Soft-PWM treiben und hat damit auch noch genug Speed. Läuft alles in einer einzigen ISR. In Assembler ist das durch die Möglichkeit der direkten Bitmanipulation auf die Ports besonders zügig zu machen.
Wenn Du die LEDs mit 20mA ansteuerst, kannst Du sowieso nur maximal 20 LEDs an einen ATmega anschliessen: 10 gegen GND und 10 weitere gegen Vcc. Im worst-case fliessen dann nämlich 200mA durch den Vcc oder GND-Pin des uCs. Das Maximum für AVRs - egal ob ATtiny4 oder ATmega644. Zusätzliche Hardware ist also sowieso nötig. Wie viel Strom verkraftet denn so ein ARM? :-) Gruß Jobst
Jobst M. schrieb: > Wenn Du die LEDs mit 20mA ansteuerst, kannst Du sowieso nur maximal 20 > LEDs an einen ATmega anschliessen: 10 gegen GND und 10 weitere gegen > Vcc. Im worst-case fliessen dann nämlich 200mA durch den Vcc oder > GND-Pin des uCs. Das Maximum für AVRs - egal ob ATtiny4 oder ATmega644. > Zusätzliche Hardware ist also sowieso nötig. Dafür gibts Treiber-ICs. Achja du brauchst nur 6pins für deine 30LEDs. Schau dir mal Charlieplexing an: Bsp: 3 Pins - 6 LEDs 1 2 3 | | | 1 - x o o 2 - o x o 3 - o o x o = LED x = keine LED
@ saftpresse (Gast) >was >wär denn so die oberste schmerzgrenze was machbar ist mit multiplexing >und mega48? Wenn du willst kannst du 200 LEDs per Multiplexing ansteuern, siehe LED-Matrix. Aber DIMMEN wie im Artikel LED-Fading ist dann nicht mehr drin. Dazu braucht man zusätzliche ICs, ala TLC5922 & Co. MFG Falk
Samuel K. schrieb: > Achja du brauchst nur 6pins für deine 30LEDs. Schau dir mal > Charlieplexing an: PWM stelle ich mir damit interessant vor. Wenn man nicht die volle Helligkeitsausbeute benötigt, könnte das sogar funktionieren. Progammtechnisch aber bestimmt nicht ohne ... Gruß Jobst
Jobst M. schrieb: > Wenn Du die LEDs mit 20mA ansteuerst, kannst Du sowieso nur maximal 20 > LEDs an einen ATmega anschliessen: hab ich bedacht und extra low-current-leds bestellt. zum thema charlieplexing: ich spiele gerade mit dem gedanken, einfach die software von dem fertigen projekt zu nehmen und anstatt einer 4x4 matrix eben eine charlieplex-matrix über die 8 anschlüsse zu verwenden. wie die leds gedimmt werden ist ja sowieso zufall. und es ist auch egal wenn mal zwei leds gleichzeitig dimmen. von dem her verschmerzbar.
Hi! Also ich hatte mal ein matrix 16x8 (also 8x8 mal 2 Farben) mit einem ATtiny2313 + 2x ein Scheiberegister mit dem Dimmen, allerdings nur 4bit (aber das lag an dem Speicher von ATtiny2313). Also 5x6 mit 8-bit / ATmega48 müsste ohne Probleme gehen...
Markus Müller schrieb: >> fraglich ob ich dann damit umgehen kann ;) > > Das musst Du entscheiden. Eine Übersicht gibt es in diesem Artikel: > STM Auf der Seite wird behauptet, daß es die scho für 85 Cent gibt, aber bei den dort angegebenen Bezugsquellen geht es erst so bei 5 Euro los. Wo gibt's die also für 85 Cent? Oder ist das der Preis ohne Mährchensteuer für Abnahmemengen ab 100.000 Stück?
Die Preise haben sich zwischenzeitlich leicht erhöht. http://www.ebv.com/index.php?L=0&no_cache=1&id=58&tx_ebvsearch_pi1[qs]=1&ct_ref=u6&tx_indexedsearch[sword]=STM32F100&tx_indexedsearch[results]=5&tx_indexedsearch[lang]=&x=0&y=0 http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=497-10501-ND Inflation lässt grüßen.
Also der Preis ohne MwSt. ab 10.000 Stück... Das ist schon ein gewaltiger Vorteil für einen Einsteiger. Viele Hobbyisten haben die horrenden Preise der AVRs ja schon in die Privatinsolvenz getrieben. Wenn jemand eine Sammelbestellung organisieren will, wäre ich so mit 2000-3000 Stück dabei ;) Vielleicht wäre es sinnvoller die Preise für Kleinmengen anzugeben. Da sind die Dinger auch günstiger als AVR/PIC, auch wenn der Unterschied dann nicht mehr ganz so spektakulär ist.
Es ist schon schwierig einen Preis rein zu schreiben, daher der AB Preis. Je nach Lieferant, Apotheke oder Distri gibt es gewaltige Unterschiede. Der Preis ist, solange es keine 20 EUR sind, für Hobby ohnehin nicht sehr interessant. Für Firmen hingegen ist er überlebenswichtig, denn wenn die sich für einen Prozessor entscheiden und das dann in Serie produziert werden soll, dann zählt jeder cent. Ein Bauteil bestücken wird ja nach dem mit 2-3 cent berechnet. Ich habe damals den STM32 in meiner Firma eingeführt und alle sind begeistert. Der Preis ist exakt gleich wie ein ATMEGA128! (über Distri, Stückzahlen und Verhandlung, bei beiden Typen!) Also gibt es für meinen Chef keinen Grund mehr warum man ein Atmel für neue Projekte eingsetzen sollte, wenn ein 32-Bitter gleich viel kostet und zudem viel mehr Möglichkeiten bietet. Zumal auch beim STM32 über 100 Varianten existieren, also für jede Anwendung gibt es die passende Variante (solange man keinen PC bauen möchte oder 500GB RAM braucht wobei ich mir beim zweiten nicht sicher bin wie viel man beim STM32 extern anschließen kann ;-) .
Michael G. schrieb: > Wenn jemand eine Sammelbestellung organisieren will, wäre ich > so mit 2000-3000 Stück dabei ;) Kann man ja prima wieder für tree fiddy (*) pro Stück oder so beim Online-Auktionshaus verhökern. * Wer's nicht kennt: http://www.treefiddy.com/
so, ich habe jetzt also das 5x6 matrix. ich bräuchte nun eine software, die mir die 6 ausgänge fadet. im idealfall auf zufallswerte (könnte man ja vom adc holen), ein vorgespeichertes muster ist aber auch ok. und in 3 tagen ist weihnachten. es wird knapp. kann mir da jemand unter die arme greifen?
@ saftpresse (Gast) >so, ich habe jetzt also das 5x6 matrix. ich bräuchte nun eine software, >die mir die 6 ausgänge fadet. Tja, hättest du dein Hirn nicht durch das Gerät deines Codenamens gejagt und die Hinweise hier beherzigt, wäre dir nicht entgangen, dass Multiplexen UND LED-Fading durch Soft-PWM nicht sonderlich gut geht. Vielleicht beim nächsten Mal.
Versuchst mit 2x TLC5940 mit 16 Kanälen und 12 bit Auflösung. Dann funktionierts auch. Beim Multiplexen mit Fading wirst du ein Flackern haben, das man sieht.
aber es geht wohl, irgendwie hat mans hier ja auch geschafft: http://geekphysical.blogspot.com/2009/12/green-tree-in-electronics-pot.html
@ saftpresse (Gast) >Reicht ein ATMega48, um mit akzeptablem Programmieraufwand 30 LEDs mit >10bit PWM auf einen Zufallswert faden zu lassen? Wenn nicht, würde es >mit 8bit gehen? "LEDs are connected in a 4X4 matrix on an Arduino shield." "Code was quickly written to run through the lights, four at a time and control their individual brightness in 64 levels by multiplexing." Hmm, was hätten's denn gern, der Herr? 30 Kanäle > 16 Kanäle 10 biT PWM >> 6 Bit PWM
6 kanäle reichen mir inzwischen. meine ansprüche schwinden ;) dann werden halt immer 5 leds auf einmal gefadet. besser als nichts. und dann eben 6 bit. ich versuch dann eben mal an den code von oben genanntem projekt ran zu kommen.
@saftpresse (Gast) >6 kanäle reichen mir inzwischen. meine ansprüche schwinden ;) Ach, auf einmal? Vor ein paar Augenblicken war es noch eine 5x6 Matrix! Bei 6 Kanälen lohnt sich Multiplexen nicht, nimm einfach Soft-PWM.
Falk Brunner schrieb: > Ach, auf einmal? Vor ein paar Augenblicken war es noch eine 5x6 Matrix! > > Bei 6 Kanälen lohnt sich Multiplexen nicht, nimm einfach Soft-PWM. ja, aber 5 der anschlüsse sind einfach auf masse. das soft-pwm läuft auch schon. aber ich brauch noch das fading...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.