Forum: Mikrocontroller und Digitale Elektronik Mehrere LEDs (8Stk) unabhängig voneinander dimmen Atmega8


von Mike (Gast)


Lesenswert?

Hallo,

ich möchte bei ienem kleinen Projekt 8 LEDs unabhängig voneinander 
dimmen können.
Sagen wir ich hätte LED1 bis LED8,

dann möchte ich, dass LED1 bis LED8 alle mit sagen wir 30% PWM leuchten.
Nun möchte z.B. LED1, LED3, LED4 100% leuchten lassen und den Rest 
weiter mit 30%

Kann ich per SoftPWM auch 8 LEDs ansteuern oder reicht das Zeitlich 
nicht mehr?

Gruss

von Willi W. (williwacker)


Lesenswert?

Ich weiß jetzt nicht, wie viele PWMs ein mega8 hat. Aber mit einem PWM 
kann man genau ein Verhältnis einstellen.

Aber PWM ist sehr einfach, es sollte kein Problem sein, für jede LED ein 
jeweils anderes Verhältnis einzustellen, ein bisschen knifflig ist es 
schon. Die Rechenleistung des mega 8 ist allemal ausreichend.

Dein Ansatz "Soft-PWM" ist schonmal korrekt!

Vorgehenesweise (sorry falls Du das schon weisst)

- wie geht PWM (unseren Studenten empfehle ich Wikipedia-gar nicht 
schlecht)
- wie kann ich eine PWM programmieren - nur eine
- und dann noch die restlichen sieben.

Ich gehe hierbei davon aus, dass Du letztlich die Lösung selbst finden 
willst. Ist für meine Studenten (jeder fängt mal klein an) eine 
Standardaufgabe, die bringen das hin.

Ich bin mir nicht sicher, dass meine Antwort Deine Frage gut trifft - 
Nachsicht bitte!

Ciao
Willi

: Bearbeitet durch User
von Dennis K. (scarfaceno1)


Lesenswert?


von Oliver R. (orb)


Lesenswert?

Mike schrieb:
> Kann ich per SoftPWM auch 8 LEDs ansteuern oder reicht das Zeitlich
> nicht mehr?

Das ist bei LEDs eigendlich kein Problem, da reicht eine Frequenz um die 
100Hz vollkommen aus.
Wirf mal einen Blick in http://www.mikrocontroller.net/articles/Soft-PWM


[ot]
Willi Wacker schrieb:
> unseren Studenten empfehle ich Wikipedia

Sind die inzwischen etwa als wissenschaftliche Quelle anerkannt?
[/ot]

von Sean G. (atmega318)


Lesenswert?

Schau dir alternativ noch BAM an:
http://www.mikrocontroller.net/attachment/207919/BitAngleModulation.pdf
ist oft einfacher, gerade bei 8 LEDs.

von Icke ®. (49636b65)


Lesenswert?

Sofern es nicht gerade speziell um das Erlernen von PWM-Funktionen geht, 
läßt sich die Aufgabe prima mit WS2812 LEDs lösen. Neben der Helligkeit 
ist da auch noch die Farbe unabhängig einstellbar.

von Mike (Gast)


Lesenswert?

Danke schonmal für die Antworten.

Ich hätte jetzt man eine Grundsätzliche Frage noch zu den Hardware PWM.
Das ist ja OSC1A und OSC1B und der dritte OSC2

Ist es denn möglich zu sagen dass sich sagen wir Ausgangspin 1 bis 8 so 
verhalten soll wie OSC1A und sagen wir bei Ereigniss X verhalten sich 
LED1 bis LED4 weiterhin wie OSC1A und LED5 bis LED8 wie OSC2B.

Quasi als würde ich die Ausgangspins direkt mit den Hardware PWMs 
verbinden.

Sonst werd ich es mit Soft PWM versuchen.

von Frank K. (fchk)


Lesenswert?

Schau hier:

http://www.ti.com/product/tlc5940

Hardwarelösung, bis zu 120 mA per Pin, integrierte Konstantstromquellen, 
daher keine Vorwiderstände nötig.

fchk

von MaWin (Gast)


Lesenswert?

Mike schrieb:
> Kann ich per SoftPWM auch 8 LEDs ansteuern

Also andere können das programmieren, der uC reicht aus, um 6000 LEDs im 
Multiplex einzeln zu dimmen allerdings mangels RAM nur in festem Bild, 
ob du das kannst wissen wir nicht.

von Karl H. (kbuchegg)


Lesenswert?

Mike schrieb:
> Danke schonmal für die Antworten.
>
> Ich hätte jetzt man eine Grundsätzliche Frage noch zu den Hardware PWM.
> Das ist ja OSC1A und OSC1B und der dritte OSC2
>
> Ist es denn möglich zu sagen dass sich sagen wir Ausgangspin 1 bis 8 so
> verhalten soll wie OSC1A und sagen wir bei Ereigniss X verhalten sich
> LED1 bis LED4 weiterhin wie OSC1A und LED5 bis LED8 wie OSC2B.

Und um das auch noch zu beantworten:
Nein das ist nicht möglich. Die Harware-Verschaltung ist dir beim Mega8 
vorgegeben und du kannst sie per Programm nicht ändern.
Die 3 möglichen Hardware-PWM kommen auf bestimmten Pins raus und es gibt 
nichts was du daran ändern könntest.

: Bearbeitet durch User
von Konrad S. (maybee)


Lesenswert?

Karl Heinz schrieb:
> Die 3 möglichen Hardware-PWM kommen auf bestimmten Pins raus und es gibt
> nichts was du daran ändern könntest.

Hm! Unter Inkaufnahme einer gewissen Unschärfe könnte man sich in die 
Overflow- und Compare-Match-Interrupts reinhängen und da die Ports 
bedienen. Aber als "Lösung" empfehlen möchte ich das nicht unbedingt.

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.