Forum: Mikrocontroller und Digitale Elektronik LED flackert im 16-Bit-PWM


von Maxim (Gast)


Lesenswert?

Nutze einen ATMega8 @ 8Mhz.

Habe hier in der Artikelsammlung diesen Artikel gelesen und auf meinem 
Board ausprobiert:
http://www.mikrocontroller.net/articles/LED-Fading

Alle Modis funktionieren prima. Weil die Beispiele für einen ATMega32 @ 
16Mhz geschrieben wurden, habe ich den Prescaler verringert, um eine 
höhere PWM-Frequenz zu erreichen. Leider reicht dies bei dem 
16-Bit-Modus nicht mehr aus. Der Prescaler ist auf 1 und trotzdem 
flackert die LED sehr stark. Wie kann ich das beheben? Eigentlich sollte 
die LED mit etwa 123 Hz betrieben werden: 8.000.000 / 65.000 ... Sieht 
aber nicht danach aus.

von Falk B. (falk)


Lesenswert?

@  Maxim (Gast)

>Nutze einen ATMega8 @ 8Mhz.

Das Tutorial nutzt einen MEGA32 @ 8 MHz, parktisch also das gleiche.

>Alle Modis funktionieren prima. Weil die Beispiele für einen ATMega32 @
>16Mhz geschrieben wurden, habe ich den Prescaler verringert, um eine

Nöö.

>flackert die LED sehr stark. Wie kann ich das beheben? Eigentlich sollte

Bist du sicher, dass dein Controller mit 8 MHz läuft? Fuses richtig 
gesetzt?

MFg
Falk

von Maxim (Gast)


Lesenswert?

>Bist du sicher, dass dein Controller mit 8 MHz läuft? Fuses richtig
>gesetzt?

Hm, da bin ich mir nicht sicher. Ich habe noch nie was mit den Fuse-Bits 
angestellt. Wahrscheinlich muss ich den Taktgeber auf extern schalten? 
Wie kann ich das in Ponyprog machen?

von Karl H. (kbuchegg)


Lesenswert?

Maxim wrote:
>>Bist du sicher, dass dein Controller mit 8 MHz läuft? Fuses richtig
>>gesetzt?
>
> Hm, da bin ich mir nicht sicher. Ich habe noch nie was mit den Fuse-Bits
> angestellt.

Also ein dahingehend jungfräulicher Prozessor.
Der läuft dann mit 1Mhz

> Wahrscheinlich muss ich den Taktgeber auf extern schalten?
> Wie kann ich das in Ponyprog machen?

http://www.mikrocontroller.net/articles/AVR_Fuses#Ponyprog2000

Und nimm die Warnhinweise ernst!

von Maxim (Gast)


Lesenswert?

Danke!

von Johannes M. (johnny-m)


Lesenswert?

Maxim wrote:
>>Bist du sicher, dass dein Controller mit 8 MHz läuft? Fuses richtig
>>gesetzt?
>
> Hm, da bin ich mir nicht sicher. Ich habe noch nie was mit den Fuse-Bits
> angestellt.
Ein fabrikneuer ATMega8 läuft mit 1 MHz vom internen RC-Oszi.

> Wahrscheinlich muss ich den Taktgeber auf extern schalten?
MUSST Du nicht. Wenn Du mit dem internen RC-Oszi leben kannst, dann 
kannst Du den auch so einstellen, dass er mit 8 MHz läuft. Dann kannste 
Dir den Quarz sparen.

> Wie kann ich das in Ponyprog machen?
Indem Du zunächst die Fuses ausliest (wichtich! Der ATMega8 ist einer 
der beliebtesten Kandidaten für einen Komplettabschuss beim 
Fuses-Programmieren!). PASS V.A. AUF DIE RSTDISBL-FUSE AUF!!! Ändere da 
nix dran, wenn Du die Fuses ausgelesen hast! Sonst kann es passieren, 
dass Dein ATMega8 ein Fall für einen High-Voltage-Programmer wird. Und 
da Du mit PonyProg arbeitest, vermute ich mal, dass Du keinen solchen 
besitzt...

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.