PWM auf beliebigem Pin?

OP #4153736
Lesenswert?
• ▲
▼
Hallo Zusammen,


Ich versuche  4 RGB Led-s mit Hilfe von PWM Verfahren anzusteuern. Ich 
muss die Helligkeit der RGB LEDs von 0 bis 99% mit Tastendruck verändern 
können.

Das Problem ist jedoch das die LEDS nicht an die Pins angebracht sind wo 
die PWM Signale erzeugt werden. Als Beispiel von Timer0 bei Atmega 88 
wäre der OC0A der PD6 meine LED ist aber in Pin PC4. Gibt es eine Lösung 
das ich auch andere Pins für PWM benutzen kann.

Vielen Dank im Voraus.
Gast #4154053
Lesenswert?
• ▲
▼
Hi Ado Ra,

geht es darum die 4 RGB LEDs an einem Atmega88 über 12 PWM Ausgänge 
farbig anzusteuern (Farbkreis und Helligkeit)?

Dann bleibt Dir wahrlich nur die Soft-PWM, weil die beiden 8-Bit- und 
der 16-Bit-Timer eh jew. nur 2 PWM-Kanäle haben.

Oder man nimmt ein TLC5940, der gleich 16PWM Kanäle hat und über I2C 
geladen wird.

Beim ELV gibt's den als Bausatz auf Platine und bei Tinkersoup als IC im 
DIP Gehäuse.
Gast #4154484
Lesenswert?
• ▲
▼
Und beim Thema Soft-PWM, mal hier rein schauen:
www.mikrocontroller.net/attachment/207919/BitAngleModulation.pdf
Ist für 4 LEDs noch n bissl übertrieben, aber wenn de da später mal 8 
oder mehr draus machen willst ;-)...

Hans
#4154745
Lesenswert?
• ▲
▼
Wolfgang schrieb:
> Hans M. schrieb:
>> Und beim Thema Soft-PWM, mal hier rein schauen:
>> https://www.mikrocontroller.net/attachment/207919/BitAngleModulation.pdf
>
> Damit erzeugt man aber unnötig viel Verlustleistung in den Treibern,
> weil ungünstigstenfalls für jedes Bit ein Schaltvorgang erforderlich
> ist. Bei acht Bit hat man also, wenns dumm läuft, acht mal so hohe
> Umschaltverluste wie bei PWM.

Ja, für Leistungs LEDs ist das vielleicht nicht optimal. Bei den 
normalen zig bis einige 100 milliampere ist das aber irrelevant. Dafür 
bekommt man mit weniger Rechenleistung mehr Auflösung. Zudem spielt es 
nur wenig Rolle, ob man 1 oder 20 Kanäle macht.
Gast #4154775
Lesenswert?
• ▲
▼
Sean Goff schrieb:
> Bei den normalen zig bis einige 100 milliampere ist das aber irrelevant.

Das ist natürlich richtig.

Und ich muss mich korrigieren. Selbst ungünstigstenfalls ist die Bit 
Angle Modulation nur einen Faktor Bitzahl/2 schlechter, weil PWM auch 
schon zwei Umschaltungen pro Periode macht.

Insofern ist die Modulationsart schon interessant, weil das Timing sehr 
einfach wird, auch wenn man die Bits einmal gut durchschütteln muss.
#4154906
Lesenswert?
• ▲
▼
Wolfgang schrieb:

>> https://www.mikrocontroller.net/attachment/207919/BitAngleModulation.pdf

> Damit erzeugt man aber unnötig viel Verlustleistung in den Treibern,
> weil ungünstigstenfalls für jedes Bit ein Schaltvorgang erforderlich
> ist.

Nein.

> Bei acht Bit hat man also, wenns dumm läuft, acht mal so hohe
> Umschaltverluste wie bei PWM.

Nein. Maximal zweimal so hohe. BAM bei 8 Bit schaltet maximal 4-mal um. 
Konventionelle PWM schaltet 2-mal um.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.