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.
@ 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
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 ;)
@ Markus Müller (mmvisual)
>Das musst Du entscheiden. Eine Übersicht gibt es in diesem Artikel:>STM32
Der Staubsauger-, ähhhh, STM32-Vertreter ist wieder da. ;-)
@ 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?
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.
@ 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...