Pwm berechnen?

Gast #1945706
Lesenswert?

Hallo Forum,

wie aus der Überschrift hervorgeht habe ich ein Problem um eine PWM zu 
berechnen.

DATA:
ATmega8
f_t = 4MHZ
N   = Teiler 64
top = 1 = OCR1A/B

nur das ich es richtig verstehe es gibt eine Grundfrequenz wie errechnet 
sich eigentlich diese???? Denn im 2ten Punkt ist ja eigentlich die fout 
ja schon die veränderte oder nicht?????

2: fout = f_t/(N*(1+top) = 4Mhz/(64*(1+1)) = 31,25KHz  JA/Nein?? ich 
denke schon ^^

3: so d.h. doch eigentlich das von diesen 31,25Khz in Abhängigkeit von 
OCR1A/B der pin low oder high ist oder ist der pin für 31,25Khz(32µs) 
dies schon????
Gast #1945782
Lesenswert?

@hans

Danke für die Seite, und wie kann man das aus den Datenblatt heraus 
lesen denn dort steht ja

fout = f_t/(N*(1+top)

@Hubert G.

auch dir vielen dank und wo im datenblatt steht steht das ich das

 fout = f_t/(N*(1+top) nochmal durch 2 teilen muss????

bzw. meint man das, siehe datenblatt S.93

The waveform generated will have a maximum frequency of fOC1A = 
fclk_I/O/2 when OCR1A is set to zero (0x0000)
#1945806
Lesenswert?

chris schrieb:
> @hans
>
> Danke für die Seite, und wie kann man das aus den Datenblatt heraus
> lesen

Indem man sich klar macht, wie ein Timer eigentlich arbeitet.

Wenn du vor dich hinzählst, und zwar zählst du alle 1/100 Sekunde um 1 
höher, wie oft kannst du dann in 1 Sekunde bis 10 zählen, wenn du 
jedesmal wenn du bei 10 angelangt bist, wieder bei 0 anfängst?

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, ....

d.h. die Frequenz, wie oft du einen bestimmten Endwert in 1 Sekunde 
erreichst, hängt davon ab:

* in welchen Zeitabständen du immer um 1 höher zählst (vulgo: mit
  welcher Frequenz du zählst. Und zwar: mit welcher realen Frequenz
  du zählst. Wenn du 500 mal in der Sekunde mit einer Nadel gestochen
  wirst, du aber nur bei jedem 5 Nadelstich zählst, dann zählst du
  mit 100Hz, weil die Anregungsfrequenz 500Hz war und du einen Vor-
  teiler von 5 benutzt)

* bis zu welchem Endwert du zählst

Alles andere ergibt sich daraus. Auch diese Formel

> fout = f_t/(N*(1+top)

> auch dir vielen dank und wo im datenblatt steht steht das ich das
>
>  fout = f_t/(N*(1+top) nochmal durch 2 teilen muss????

Auch das ergibt sich durch Nachdenken.
Wenn du jedesmal wenn du bis 10 gekommen bist, das Licht entweder ein 
oder ausschaltest, je nachdem ob es schon brennt oder nicht, mit welcher 
Frequenz blinkt dann das Licht?


Auch mit Datenblatt ist eigenständiges Denken nicht verboten.
Gast #1945833
Lesenswert?

wie ein C/T funktioniert ist mir bekannt, nur bin ich bei der Berechnung 
und dem Simulieren im Studio auf unterschiedliche Ergebnisse gekommen 
und konnte mir nicht erklären warum,

@Karl heinz Buchegger

> Auch das ergibt sich durch Nachdenken.
> Wenn du jedesmal wenn du bis 10 gekommen bist, das Licht entweder ein
> oder ausschaltest, je nachdem ob es schon brennt oder nicht, mit welcher
> Frequenz blinkt dann das Licht?

> Auch mit Datenblatt ist eigenständiges Denken nicht verboten.

Im warsten Sinne des Wortes ist bei mir jetzt die Lampe angegangen. ^.^

War leider zu sehr auf den Timer fixiert.

Dank an KarlHeinz und Hubert für die Geduld und vernünftige Erklärungen.

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