LED flackert im 16-Bit-PWM

Gast #640521
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.
#640537
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
Gast #640545
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?
#640546
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!
#640560
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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren