Forum: Mikrocontroller und Digitale Elektronik PWM mit mega128 (timer1)


von Torsten (Gast)


Lesenswert?

Hallo Leute,

Ic hwerde nicht schlau aus dem Datenblatt des 128 bzw. aus dem was ich
im Netz finde.
Mein Ziel ist es, mit dem Mega mehrere Frequenzen mittels Timer1 und
OC1 zu erzeugen, was bislang auch funktioniert.
Wenn ich nun dieses Signal mit einer PWm erzeugen möchte, sprich
zunächst mal eine Frequenz, von mir gewählt (erweiternist kein Problem,
wenn das System klar ist) die ic hin 10% Schritten mit einer PWM
versehen möchte, muss ich also den Fast PWM modus nehmen.

Mode 14 (ICRn als TOP) und 15 (OCRnA als TOP) stehen also zur Auswahl.

Allerdings erzeugt der mega nun eine Frequenz (122 Hz bei 8 mHz
Kristall) die ich nicht beeinflussen kann (simulator funzt ja nicht imt
dem Timer, wie mir ein Atmelmensch mitteilte) und mit OCR1A beinfluße
ich also den Ein/Ausanteil, prozentual.

Normalerweise sollte ich docht 2 Register haben, mit denen ich zum
Einen den Topwert (meine Frequenz einstelle) und zum anderen den
Heighanteil meines Signals (Timer zählt bis zum ersten und am Ausgang
OC1 ist bis dahin 0, anschließend bis zum zweiten Register hoch,
Ausgang ist bis dahin dann 1, und wieder von vorne.
Die Dokumentation ist für mich unverständlich...

weiss einer Rat???

in der Suche hab ich  nicht viel gefunden was mich weiterbrachte, für
alle die jetzt "SCHAUINDERSUCHE SCHREIEN"

Ic hsuche schon recht lange und weis einfach ncith, warumn es nicht
tut, was ich will und langsam verzweifle ich ...

von Torsten (Gast)


Lesenswert?

Ich hab den Fehler gefunden.. passt

von Hagen (Gast)


Lesenswert?

Du kannst OCR1A nur dann als TOP benutzen wenn du nur mit OCR1B die PWM
erzeugen willst. Willst du mit OCR1A und oder OCR1B die PWM
frequenzunabängig einstellen dann musst du als TOP das ICR1 benutzen.
Hat aber dann den Nachteil das du bei Änderungen am ICR1 Register
überprüpfen musst ob OCR1A und OCR1B und TCNT1 noch innerhalb der
gültigen Schranken liegen.

Gruß Hagen

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.