Forum: Mikrocontroller und Digitale Elektronik Fast PWM beim Mega8


von Mattias (Gast)


Lesenswert?

Hallo Experten,
habe folgendes Problem:
mit meinem mega8 generiere ich ein fast pwm. Habe folgendes gemacht:

/*  PWM Configuration  **********************************/
    sbi(DDRB,PB1);      // Pin PB1 autput for PWM
    outp(0x83, TCCR1A); // Config 10 bit fast pwm
    outp(0x09, TCCR1B); // Prescaler und fast pwm

Den Wert für das Verhältnis stelle ich so ein:

void set_pwm(unsigned int pwm)
{
  unsigned char h, l;
  h = pwm >> 8;                 // inhalt um 8 bit verschieben
  l = (pwm & 0x00FF);           // bit 9 und 10 abschneiden
  outp(h, OCR1AH);
  outp(l, OCR1AL);
}

Es funktioniert soweit auch richtig, nur das ich den Wert Null% nicht
ganz erreiche. Ich habe immer noch einen ganz kleinen Peak auf meinem
Scope. Auch wenn ich
  outp(0x00, OCR1AH);
  outp(0x00, OCR1AL);
schreibe, sehe ich noch einen kleinen Peak, so als würde mein minimum
pwm 1 sein. 100% wird dagegen erreicht.

Was kann das sein ???

Danke schon im voraus.
Mattias

von Matthias (Gast)


Lesenswert?

Hi

Datenblatt gelesen? Seite 89? Viertletzter Absatz? Da wo

If the OCR1x is set equal to BOTTOM(0x0000) the output will be a narrow
spike for each TOP+1 timer clock cycle.

steht? Nein? Aha!

;-)

Matthias

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.