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
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
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]
Schau dir alternativ noch BAM an: http://www.mikrocontroller.net/attachment/207919/BitAngleModulation.pdf ist oft einfacher, gerade bei 8 LEDs.
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.
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.
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
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.