Forum: Compiler & IDEs Probleme mit einfacher Soft PWM


von meni (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe die angehängte, einfache PWM geschrieben, womit LEDs 
angesteuert und später auch gefadet werden sollten.

Die PWM stellen eigentlich nur die paar Zeilen im Timer 0 dar, jedoch 
habe ich folgendes Problem:
Die Leds bleiben zu hell, bedeutet wenn ich als Vergleichsvaribale 10 
eingebe ist praktisch kein Unterschied zu 200 erkennbar, bei 1 werden 
sie schon sichtbar dunkler, bleiben jedoch immer noch viel zu hell.

In der Main werden nur die Ports initialisiert und der Timer 0, dort 
sollen später mal die Anweisungen fürs faden landen.
Ich arbeite mit einem AT Mega 8535 mit einem 16Mhz Oszillator.

Hat irgendjemand eine Idee wo der Hund begraben liegt?

Grüße aus Bayern

Meni

von Sven P. (Gast)


Lesenswert?

Mess mal aus, wo du rumregelst. So ne LED für If = 20mA leuchtet 
vermutlich von 20mA bis 5mA gleichhell, dann gehts erst abwärts, dafür 
umso schneller...

von meni (Gast)


Lesenswert?

Ein großes Problem beim Debuggen ist, dass ich kein Oszi habe, aber rein 
vom Logischen her dürften 10µS Anphase und 200*10µS Ausphase doch recht 
dunkel sein.

von Rolf Magnus (Gast)


Lesenswert?

Hmm, ich komme nicht auf 10 µS, sondern nur auf 5, oder hab ich was 
übersehen?. Das ist allerdings eine sehr hohe Timer-Frequenz, die den 
Prozessor schon sehr stark auslasten dürfte.

von meni (Gast)


Lesenswert?

Danke an alle, die sich mit meinem Code beschäftigt haben!

Jetzt habe ich nochmal nachgerechnet...
und bin auf Folgendes gekommen:
#define Timer_0_data_reg   236  //10us bei 16Mhz

Ändert aber leider nichts an der Tatsache, dass die LEDs immer noch zu 
hell sind.

Hat irgendwer noch eine Idee oder sieht jemand meinen Fehler?

von meni (Gast)


Angehängte Dateien:

Lesenswert?

Nachtrag:

Wenn ich die Modulation wie im Anhand nachstelle, kriege ich eine 
Leuchtstärke welche ich auch erwartet habe.

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.