ATtiny 261 - PWM-Modes

Gast #743227
Lesenswert?

Hallo...

ich versuche mich jetzt schon eine Weile in die PWM-Erzeugung mittels 
ATtiny261 einzulesen und bin schier erschlagen. Ich sehe mittlerweile 
den Wald vor lauter Bäumen nicht mehr und suche daher jemanden, der mich 
mal kurz an die Hand nimmt ;)

Ist es möglich, mit dem Timer(1) eine Frequenz zwischen 400KHz und 
500KHz, bei einem möglichst frei einstellbarem Puls-Pausenverhältnis 
(20%-80%)zu erzeugen, ohne (!) zwischen jeder Flanke ein 
Output-Compare-Register umzuschreiben - also vollständig freilaufend ?!
Der Tiny sollte nach Möglichkeit mit seinem internen RC-Oszillator 
laufen - gern die vollen 8MHz.

Ich wünschte, ich hätte mich damals mit AVR/PWM befasst, als die 
Angelegenheit noch überschaubar und nicht so komplex war :-\


Gruß, Stefan


---
#743230
Lesenswert?

8 MHz / 500 kHz = 16. Du hättest also maximal 16 Schritte bei der 
höheren Frequenz über den gesamten Bereich von 0-100% zur Verfügung. Ich 
sehe zwar nicht, warum Du meinst, ständig irgendein Compare-Register 
ändern zu müssen (außer natürich, wenn Frequenz und/oder Tastverhältnis 
geändert werden müssen, aber das sollte eigentlich klar sein), aber mit 
ner gescheiten Auflösung wird das bei den Frequenzen nichts. Ich 
erinnere mich zwar, dass es zumindest mal AVRs mit sog. High Speed PWM 
gab, der Tiny261 hat das aber afaik nicht.
#743238
Lesenswert?

Andreas Kaiser wrote:
> Die TinyX61 haben einen solchen High Speed Timer.
Ah, ja, hab grad nachgeschaut. Damit könnte es gehen.

Aber nach wie vor muss man selbstverständlich bei einer Änderung von 
Tastverhältnis und Frequenz die entsprechenden Register ändern. Anders 
gehts nunmal nicht. Einmal eingestellt sollte das ganze aber 
"freilaufend" arbeiten.
Gast #743242
Lesenswert?

Der Tiny261 unterstützt Fast PWM mit 64 oder 32 MHZ.

Also leider habe ich eben erst an das AVR-Tutorial gedacht -Schande über 
mich- und das war sogar recht hilfreich.

Ich war irritiert, weil im Datenblatt etwas steht, nachdem OC1A beim 
hochzählenden Compare gesetzt und beim runterzählenden Compare gelöscht 
wird...

Also, wenn ich das richtig verstanden habe, müsste ich für die 
Einstellung der absoluten Frequenz, den oberen Überlauf und für die 
Einstellung des Puls-Pausenverhältnisses den Comparewert vorgeben können 
!?

Ist aber wohl nicht möglich, oder ?
Gast #743255
Lesenswert?

Jetzt wird's langsam klarer - Den Wert für Top, also den oberen Überlauf 
kann ich in OCR1C vorgeben und definiere damit die Frequenz. Durch die 
Definition des PWM-Wertes, das Puls-Pausenverhältnis - Ich stochere dann 
mal ein wenig in den Registern, wenn die Platine kommt ;)

Vielen Dank erst mal...

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