AVR PWM 100% möglich?

Gast #3352099
Lesenswert?

Ich habe Timer 1 vom Tiny25 im PWM Betrieb um 3 PWMs zu erzeugen (Fast 
PWM mode).

Der Ausgang wird beim Compare-Match gesetzt. Also bei Erreichen von 
BOTTOM (0x00) wird der Ausgang auf LOW gesetzt, bei Compare-Match auf 
HIGH gesetzt. Soweit so gut.

Wenn ich jetzt 0xFF als Compare-Match Wert verwende, kann ich dann davon 
ausgehen, dass bei 0xFF ein Compare-Match erfolgt (also Ausgang auf 
HIGH) und bei 0x00 der Ausgang wieder zurück gesetzt wird auf LOW? Oder 
ist der Ausgang dauerhaft LOW?

Ich würde den Ausgang gerne dauerhaft auf LOW haben (also 100% 
Duty-Cycle, da mein Signal LOW-Aktiv ist). Ein kurzer High-Puls für eine 
Timer-Periode wäre nicht so gut.
#3352107
Lesenswert?

Artjomka schrieb:

> Wenn ich jetzt 0xFF als Compare-Match Wert verwende, kann ich dann davon
> ausgehen, dass bei 0xFF ein Compare-Match erfolgt (also Ausgang auf
> HIGH) und bei 0x00 der Ausgang wieder zurück gesetzt wird auf LOW?

Genau so ist das.

> Ich würde den Ausgang gerne dauerhaft auf LOW haben (also 100%
> Duty-Cycle, da mein Signal LOW-Aktiv ist). Ein kurzer High-Puls für eine
> Timer-Periode wäre nicht so gut.

Dann kannst du dir überlegen, ob du die PWM nicht einfach umdrehst und 
du damit leben kannst, dass 0% nicht Dauer-High bedeutet.
Aber irgendeinen Tod musst du sterben. Der Wert an einem Ende der Skala 
ist nicht erreichbar.
Wenn du das brauchst, dann musst du dem Timer den Pin an diesen Wertn 
'wegnehmen' und selbst auf Dauer-Low (oder Dauer-High) stellen.
Gast #3352108
Lesenswert?

Artjomka schrieb:
> Ich würde den Ausgang gerne dauerhaft auf LOW haben (also 100%
> Duty-Cycle, da mein Signal LOW-Aktiv ist). Ein kurzer High-Puls für eine
> Timer-Periode wäre nicht so gut.

Dann fang das ab, schalte die PWM bei 100% und 0% ab und setz den Pin 
"per Hand"! Ansonsten hast du immer Spikes, wenn auch nur kurze...



Ingo
#3352227
Lesenswert?

@ Artjomka (Gast)

>Ich würde den Ausgang gerne dauerhaft auf LOW haben (also 100%
>Duty-Cycle, da mein Signal LOW-Aktiv ist). Ein kurzer High-Puls für eine
>Timer-Periode wäre nicht so gut.

Drei Möglichkeiten

a) PWM-Wert 0 extra behandeln und dabei den Pin vom OCR abkoppeln und 
manuell auf LOW setzen.
b) PWM-Modus invertieren und nicht ganz 100% PWM erreichen
c) Phase Correct PWM nutzen, dann geht auch 0 ohne SOnderbehandlung

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