Software PWM mit nur 4 Bit

Gast #2261871
Lesenswert?

Hallo!

Ich habe folgendes Problem, ich verwende einen Attiny13 dessen Timer0 
fix mit fosc/64 ( in dem Fall also 9.6MHz/64 ) betrieben wird, aufgrund 
der Aufgabe im Timer Compare B Interrupt, den ich auch nicht verändern 
kann.

Der Timer Compare B Interrupt wird verwendet, der Timer Compare A bleibt 
also noch frei.

Ich hätte mir nun folgendes Programm überlegt, es sollte funktionieren, 
aber hat jemand eine bessere Idee?
1
ISR( TIM0_COMPA_vect )
2
{  if(x==1)
3
   {  PWM = 1; // Ausgang immer auf High
4
   }
5
   
6
   else if(x<31)
7
   {  if(toggle)
8
      {  PWM = 1; // Ausgang High
9
         toogle = 0;
10
         OCR0A = TCNT0 + x;
11
      }
12
      else 
13
      {  PWM = 0;  // Ausgang Low
14
         toogle = 1;
15
         OCR0A = TCNT0 + 31 - x;
16
      }
17
   }
18
   else
19
   {  PWM = 0; // Ausgang immer auf Low
20
   }
21
}

Schöne Grüße aus Österreich,
Manuel
#2262018
Lesenswert?

Hallo,

ich nehme mal an des der Timer immer bis 255 durchläuft. Dann kannst du 
doch auch die PWM-Funktion des Timers nehmen, und deinen 4-Bit-Wert in 
die oberen 4-Bit des OCR0A-Registers schreiben. Wenn du natürlich nur 
deshalb auf 4-Bit gehst damit die Frequenz höher ist dann nützt das 
nichts.

Sascha
Gast #2262055
Lesenswert?

Hallo!

Ja es geht um eine höhere Frequenz.

Natürlich hätte der Titel 5-Bit lauten sollen, hab mich verdrückt.

@Falk:
Ich habe es mir mal angesehen, Lösung 2 sieht aber schonmal nicht 
passend aus, aber ich werde es mir noch weiter ansehen, danke!

Schöne Grüße
Manuel
Gast #2262159
Lesenswert?

Grüß dich Peter,

ich hätte gerne etwas mehr im Bereich 3-4kHz. Fast PWM hilft mir doch 
auch nur die doppelte Frequenz zu erhalten richtig?

Es geht nicht um die Flackerfrequenz sondern um die minimierung eines 
zum Einsatz kommenden Kondensators.

Schöne Grüße
Manuel

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