Forum: Mikrocontroller und Digitale Elektronik Atmega16 Hardware PWM mit variabler Frequnez


von Heins H. (heins_h)


Lesenswert?

Hallo,
ich baue gerade eine kleine Steuerlogik für einen Teifsetzsteller (zum 
testen). Das ganze wird von einem ATMega16 angesteuert, mit dem ich 
sowohl den Tastgrad als auch die Freqzenz verändern will. Der Tastgrad 
soll von 0 bis 1 variiren und die Frequnez in einem Bereich von 5 kHz 
bis 35kHz.
Beide Werte werden jeweils über den ADC eingelesen.

Jetzt habe ich nur das Problem das sich der Tastgrad auch mit der 
Frequnez verändert.
Die PWM wird in "Mode:8" (Datenblatt S.112) betrieben, sodass ich mit 
ICR1 die Frequenz ändern kann und mit OCR1A den Tastgrad. Aber der z.B. 
maximal Tastgrad "1" ist abhängig von dem ICR1 Wert.

gibt es eine andere Möglichkeit das zu realisiern oder muss ich den 
Tastgrad immer umrechnen?

vielen Dank.

von Peter D. (peda)


Lesenswert?

Heins H. schrieb:
> muss ich den
> Tastgrad immer umrechnen?

Dein MC freut sich, wenn er auch mal etwas rechnen darf. Dafür sind CPUs 
gemacht.

von Maude (Gast)


Lesenswert?

Wenn ich deinen Ansatz richtig verstehe, ist ICR1 der Top Wert, wo der 
Timer zurückgesetzt wird?
Das machst du, um die Frequenz zu ändern nehme ich stark an. Das hat 
natürlich auch den Preis, dass du Auflösung verlierst.
Du könntest auch den Timer auf ein Pulssignal von außen einstellen und 
den Ausgangspin eines anderen Timers auf den Eingangspin von Timer1 
legen. Dann bleibt deine AUflösung erhalten.

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.