Hallo Commmunity,
ich habe mal wieder eine Frage, udn da mir bisher immer gut geholfen
werden konnte, hoffe ich auch diesmal auf eure Hilfe:
Wie funktioniert das mit der PWM, damit ich eine LED Dimmen kann bei
einem ATMEGA168.
Ich habe mir schon Applicationsnotes und andere Quellen über Software
PWM mit einem ATMEGA durchgelesen, konnte aber kein ansatzweise
laufendes Programm erstellen. um das mal zu testen.
Nun meine Frage, kann mir wer ein kleines Beispiel für eine Softwarepwm
für den ATMEGA 168 zeigen und erklären? Es reicht völlig, wenn in diesem
Beispiel nur 1 LED z.B. die led an PORTD PIN3 auf die hälfte gedimmt
wird, wenn ich PORTB PIN0 auf 0V ziehe.
Vielen Dank
Tobias xxx schrieb:> Nun meine Frage, kann mir wer ein kleines Beispiel für eine Softwarepwm> für den ATMEGA 168
Du kannst ein Programm für den ATmega8 hier aus dem Forum nehmen und
mußt nur ein paar Registerbezeichnungen anpassen. Funktionieren tut der
ATmega168 sonst sehr ähnlich.
wo finde ich den so einen beispiel-code? finde mich noch nicht so recht
zurecht. das Programm sollte auch in c sein, da ich assembler noch
fremder bin als c.
Danke
Tobias xxx schrieb:> wo finde ich den so einen beispiel-code?
Über die Suchfunktion des Forums. Zu PWM finden sich ungefähr 13744
Threads. Hast du da schon mal geguckt?
Du mußt dir im Datenblatt nur den passenden PWM-Mode aus dem Datenblatt
raussuchen und die Register entsprechend setzen. Der Rest läuft dann per
Timer und PWM-Hardware des Prozessors selbständig. Zur Änderung des
Tastverhältnis muß dann nur z.B. eines der Output Compare Register
geändert werden.
z.B.
Beitrag "Ansteuerung einer RGB LED (PWM)"
Es geht natürlich auch per Software:
Beitrag "8-fach 12-Bit Soft-PWM LED-Dimmer für mega48"
Hallo,
habe jetzt einen Code gefunden und umgeschrieben, womit ich alle meine
LED'S Dimmen kann.
Der Code war für einen ATMEGA 8 und ich habe ihn schon soweit
umgeschrieben, das er auf einem MEGA168 läuft.
Meine Frage ist jetzt, wo muss ich eingreifen, bzw. was ändern/löschen,
damit die nicht wie es ja zu demo zwecken ist, die ganze zeit dimmen.
sondern das ich die LEDS mit einem POTI am Analogeingang PC5 dimmen
kann. Der Poti soll dann für Später einen Fototransiostor simulieren.
Also die LEDS sollen dauerhaft an sein, udn durch den POTI gedimmt
werden können.
Wäre klasse, wenn mir wer da helfen könnte.
... schrieb:> Es geht natürlich auch per Software:> Beitrag "8-fach 12-Bit Soft-PWM LED-Dimmer für mega48"
Hier geht es doch wenn ich das richtig sehe um eine HArdware PWM
anstelle iner Software pwm.
Tobias xxx schrieb:> Hallo,>> habe jetzt einen Code gefunden und umgeschrieben, womit ich alle meine> LED'S Dimmen kann.> Der Code war für einen ATMEGA 8 und ich habe ihn schon soweit> umgeschrieben, das er auf einem MEGA168 läuft.> Meine Frage ist jetzt, wo muss ich eingreifen, bzw. was ändern/löschen,> damit die nicht wie es ja zu demo zwecken ist, die ganze zeit dimmen.> sondern das ich die LEDS mit einem POTI am Analogeingang PC5 dimmen> kann. Der Poti soll dann für Später einen Fototransiostor simulieren.> Also die LEDS sollen dauerhaft an sein, udn durch den POTI gedimmt> werden können.>> Wäre klasse, wenn mir wer da helfen könnte.
Hatte leider vergessen, den CODE anzuhängen: