30 PWM-Kanäle mit ATmega48 machbar?

Gast #1962080
Lesenswert?

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!
#1962108
Lesenswert?

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.
Gast #1962230
Lesenswert?

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?
#1962312
Lesenswert?

@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
(Firma: EleLa - www.elela.de) #1962436
Lesenswert?

>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.
(Firma: TravelRec.) Persönliche Seite #1962442
Lesenswert?

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.
#1962492
Lesenswert?

@  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
Gast #1962611
Lesenswert?

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?
(Firma: TravelRec.) Persönliche Seite #1962723
Lesenswert?

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.
#1962998
Lesenswert?

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
#1963029
Lesenswert?

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
Gast #1963116
Lesenswert?

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.
Gast #1963695
Lesenswert?

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...
#1963744
Lesenswert?

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?
#1963899
Lesenswert?

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.
(Firma: EleLa - www.elela.de) #1963945
Lesenswert?

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 ;-) .
Gast #1985547
Lesenswert?

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?
#1985597
Lesenswert?

@ 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
Gast #1985603
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren