Forum: Mikrocontroller und Digitale Elektronik ATMEGA16 und PWM


von blutengel (Gast)


Lesenswert?

Hi!


Hab da mal ne kurze Frage. Kann man mit einem MEGA16 beliebig viele PWM 
Signale ausgeben. Würde gerne 18 LED´s gleichzeitig und unabhängig 
voneinander ansteuern können.


mfg  blutengel

von xfr (Gast)


Lesenswert?

In Hardware nicht, aber in Software könnte es klappen:
http://www.mikrocontroller.net/articles/Soft-PWM

von blutengel (Gast)


Lesenswert?

Das heißt also das ich in Soft PWM so viele PWM Signale erzeugen kann 
wie ich pins habe. Habe ich das so richtig verstanden?

von Dominik S. (dasd)


Lesenswert?

Wie viele Signale du erzeugen kannst ist hauptsächlich von deinen 
Anforderungen an jedes einzelne Signal abhängig, sprich Auflösung und 
Frequenz.
Erhöhst du die Parameter treibt das die CPU-Last hoch und irgendwann ist 
dann eben Schluss.

von Electronics'nStuff (Gast)


Lesenswert?

blutengel schrieb:
> Das heißt also das ich in Soft PWM so viele PWM Signale erzeugen kann
> wie ich pins habe. Habe ich das so richtig verstanden?

Grundsätzlich: Ja.

von XSHEN (Gast)


Lesenswert?

Hallo,

nimm einen shift-register. Mit Hilf von einem Timer im µC kriegst Du das 
hin.

Gruß
XSHEN

von blutengel (Gast)


Lesenswert?

Es geht darum 6 RGB Led´s anzusteuern. Würde gern jede Farbe und Led 
einzel ansteuern. Wären dann 16 PWM Signale die ich bräuchte.



MFG

blutengel

von Electronics'nStuff (Gast)


Lesenswert?

Naja, normalerweise macht man das noch mit einem externen 
Treiber-Baustein.
Z.B. sowas:

http://www.siti.com.tw/product/spec/LED/DM163.pdf

Du kannst sie sowieso nicht direkt vom µC ansteuern, da wäre das ganz 
günstig.

Gruss

von Dominik S. (dasd)


Lesenswert?

blutengel schrieb:
> Es geht darum 6 RGB Led´s anzusteuern. Würde gern jede Farbe und Led
> einzel ansteuern. Wären dann 16 PWM Signale die ich bräuchte.

Das geht (neben der Verwendung eines spezifischen Treiberbausteins) auch 
mit nur 3 PWM-Signalen.
Stichwort Multiplexing.
6 RGB-LEDs lassen sich ansteuern wie eine 6x3-Matrix.
Leistungstreiber brauchst du natürlich trotzdem.

Der DM163 von Electronics'nStuff sieht ja an sich super aus und wäre 
genau das, was auch ich manchmal brauchen könnte, hat aber genau das 
selbe Problem wie viele andere solcher "Spezial-ICs".
Man bekommt sie kaum her und wenn sind sie oft teuer.
Hast du eine Bezugsquelle für den DM163?

von Vlad T. (vlad_tepesch)


Lesenswert?

Dominik S. schrieb:
> Das geht auch mit nur 3 PWM-Signalen.
> Stichwort Multiplexing.
eventuell aber nur mit Helligkeitseinbußen.

TLC59xx
wobi xx glaub ich 47 oder so war:
24 Kanal 12Bit PWM-Controller mit SPI-Interface und internem Oszillator

von Dominik S. (dasd)


Lesenswert?

Vlad Tepesch schrieb:
> eventuell aber nur mit Helligkeitseinbußen.

Klar, es gibt natürlich Grenzen.

Vlad Tepesch schrieb:
> TLC59xx
> wobi xx glaub ich 47 oder so war:
> 24 Kanal 12Bit PWM-Controller mit SPI-Interface und internem Oszillator

Danke schön, den werde ich mir mal ansehen.
Den gibt es zumindest bei Farnell und RS zu kaufen und er kostet ~5€

von blutengel (Gast)


Lesenswert?

Dierekt wollte ich ja auch nicht ansteuern. Hatte schon vor 
Transistoren(BC 817) vor zu schalten. Aber wie ist das denn jetzt. Kann 
ich diese 16 PWM Signale erzeugen oder nicht. Multiplexen will ich 
nicht, weil
 Vlad Tepesch

da schon recht hat mit der Helligkeit.


MFG

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

blutengel schrieb:
> Dierekt wollte ich ja auch nicht ansteuern. Hatte schon vor
> Transistoren(BC 817) vor zu schalten. Aber wie ist das denn jetzt. Kann
> ich diese 16 PWM Signale erzeugen oder nicht. Multiplexen will ich
> nicht, weil
>  Vlad Tepesch
>
> da schon recht hat mit der Helligkeit.
>
>
> MFG

Ja, geht.

Wenn deine LEDs sparsam sind und du sie nicht mit mehr als je 3 x 10 mA 
ansteuern musst, brauchst du wahrscheinlich nicht einmal Transistoren. 
Als Mikrocontroller reicht sogar ein ATmega8 – oder ein neuerer, wie 
z.B. der ATmega328. Falls du außer den LEDs noch anderes Zeug 
anschließen willst und mehr I/O-Pins brauchst, dann bleib bei deinem 
ATmega16 (oder nimm z.B. den neueren ATmega324A).

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
Noch kein Account? Hier anmelden.