Forum: Mikrocontroller und Digitale Elektronik ATmega8 Timer2 PWM 0-100%


von _CH_ (Gast)


Lesenswert?

Hallo,

ich habe den Timer2 des Mega8 im fast-PWM-mode laufen (kein Prescaler, 
clear OC2 on compare match).
Jetzt tritt folgender Effekt auf: wenn das OCR2 Register 0 ist, dann 
treten am OC2-Pin immer noch kurze Nadeln auf, d.h. ich kann das Signal 
nie ganz abschalten.

Zitat aus dem Datenblatt:
"If the OCR2 is set equal to BOTTOM, the output will be a narrow spike 
for each MAX+1 timer clock cycle."

Ist logisch, da der Pin beim Timerüberlauf gesetzt wird und der eine 
Takt zum Vergleich mit dem OCR2-Register benötigt wird.

Jetzt stelle ich mir die Frage wie man den Spike wegbekommt.
Eine Idee wäre, den Wert des OCR2-Registers auf 0 zu prüfen und dann den 
Ausgang abzuschalten.

Geht's einfacher/eleganter?

Gruß,
Christian

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Eine Idee wäre, den Wert des OCR2-Registers auf 0 zu prüfen und dann den
>Ausgang abzuschalten.

Geht nicht, dafür hat Der Controller, wenn Timer2 ohne Vorteiler läuft, 
gar keine Zeit.

von Rolf Magnus (Gast)


Lesenswert?

> Geht nicht, dafür hat Der Controller, wenn Timer2 ohne Vorteiler läuft,
> gar keine Zeit.

Was haben die zwei Dinge denn miteinander zu tun? Man bedenke, daß OCR2 
sich nicht einfach auf magische Weise ändert und man es deshalb auch 
nicht bei jedem Timerdurchlauf prüfen muß. Man prüft es einfach, bevor 
man den neuen Wert ins Register schreibt.

von Branko Golubovic (Gast)


Lesenswert?

Natürlich geht, aber nicht direkt OCR2-Register überprüfen, sonder Wert 
vor den Zuweisung:
1
 If(PWM_Wert==0) DDRB&=~(1<<PB3);
2
 // OC2 PIN als input konfigurieren und PWM abschalten 
3
 //Pull Down Widerstand nicht vergessen.
4
else
5
{
6
 DDRB|=(1<<PB3); // PWM wieder einschalten
7
 OC2R=PWM_Wert;  // PWM aktualisieren
8
}

Branko

von _CH_ (Gast)


Lesenswert?

Danke für die Antworten.

Wenn ich das richtig interpretiere, dann würdet ihr das genauso machen 
(Pin abschalten).
Hätte gedacht, es gäbe evtl. noch eine andere Möglichkeit/Trick wie man 
das noch lösen könnte.

Gruß,
Christian

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

...ähh okay, Frage falsch interpretiert :-/.

von _CH_ (Gast)


Lesenswert?

@Travel Rec.
Kein Problem. Ich gebe zu, man hätte es deutlicher formulieren können.

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.