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.
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
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?
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!
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

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.