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????
Ich glaube, Du bringst die Begriffe Frequenz und Tastverhältnis durcheinander... ;-)
will, kann mir keiner helfen oder habe ich mich zu undeutlich ausgedrückt???? Wenn jemand ne Frage hat sollte ihn man nicht unbedingt dumm sterben lassen.
Schau mal hier: http://www.rn-wissen.de/index.php/Bascom_und_PWM Steht zwar Bascom dabei, aber die Erklärung ist Sprachunabhängig ;) hans
chris schrieb: > Wenn jemand ne Frage hat sollte ihn man nicht unbedingt dumm sterben > lassen. Was glaubst du eig haben Leute vor der Verbreitung des Internet gemacht? Nope, die sind nicht alle dumm gestorben.
Es kommt darauf an welche PWM du verwendest. Mit Taktfrequenz durch Teiler hast du nur den Timer-Takt festgelegt. Diesen Takt musst du noch durch deine PWM-Bit teilen damit du auf die PWM-Frequenz kommst. Je nach Fast-PWM oder Phasen und Frequenzkorrekter PWM dann noch durch 2. Vielleicht hilft auch das: http://www.mikrocontroller.net/articles/AVR-Tutorial:_PWM
@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)
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.
Datenblatt Seite 112 und 114, da stehen die jeweiligen Formeln. Dort ist auch der Ablauf gut beschrieben.
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.
chris schrieb: > wie ein C/T funktioniert ist mir bekannt, nur bin ich bei der Berechnung DAS ist eine dummdreiste und sowas von erlogene Behauptung! Wenn dir das klar wäre, müsstest du hier nicht wie der erste Mensch auf Erden fragen. Unglaublich...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.