Gast
#2020268
hallo, wie generiere ich eine Pwm mit fester Frequenz (ca 25kHz) aber mit einem variablem Tastverhältnis per hardware? kome nicht weiter... controller: Attiny2313 grüße
|
Anzeige
|
Wie generiere ich eine Pwm mit fester Frequenz aber variablem Tastverhältnis
Gast
#2020268
hallo, wie generiere ich eine Pwm mit fester Frequenz (ca 25kHz) aber mit einem variablem Tastverhältnis per hardware? kome nicht weiter... controller: Attiny2313 grüße AVR Anfänger schrieb im Beitrag #2020268: > hallo, wie generiere ich eine Pwm mit fester Frequenz (ca 25kHz) aber > mit einem variablem Tastverhältnis per hardware? so wie alle anderen auch. Indem man den richtigen Timermode auswählt, die richtigen Register besetzt und den µC arbeiten lässt. Vor die grobe Vorgehensweise liest man in den Tutorien AVR-Tutorial AVR-GCC-Tutorial nach, selbst wenn die nicht für den tatsächlich benutzten Prozessor geschrieben sind. Denn die Details (die aber ähnlich oder analog zu dem im Tut gesagte funktionierern) finden sich dann im Datenblatt des spezifischen Prozessors.
Gast
#2020284
Die tutorien habe ich bereits durch, pwm erzeugen ist kein problem aber womit ändere ich mein Tastverhältins?? dachte an den ctc modus. aber wo und wie kann ich jetzt mein tv einstellen (ausser am icr1, das wird für input capture benötigt) AVR Anfänger schrieb im Beitrag #2020284: > Die tutorien habe ich bereits durch, pwm erzeugen ist kein problem aber > womit ändere ich mein Tastverhältins?? Tastverhältnis ist normalerweise eines der OCR Register. Welches genau, hängt vom verwendeten Timer bzw. vom verwendeten Timermodus ab- > dachte an den ctc modus. Nö. CTC brauchst du hier überhaupt nicht, solange die PWM Frequenz nicht aufs Hz genau sein muss.
Gast
#2020292
also wähle ich zb fast pwm nicht invertiert und kann mit ocr0a die frequenz und mit ocr0b das tv einstellen oder? mal ganz blöd gefragt beim attiny2313 gibt es: (OC0B/T1) PD5 und (OC0A/PCINT2) PB2, an welchem der beiden kommt jetzt meine pwm raus? AVR Anfänger schrieb im Beitrag #2020292: > also wähle ich zb fast pwm nicht invertiert und kann mit ocr0a die > frequenz und mit ocr0b das tv einstellen Du solltest Dich mal enscheiden. Erst wolltest Du doch die Frequenz nicht ändern. Peter AVR Anfänger schrieb im Beitrag #2020292: > also wähle ich zb fast pwm nicht invertiert Das heißt Modus 7 vom Timer 0 > und kann mit ocr0a die > frequenz und mit ocr0b das tv einstellen oder? genau > mal ganz blöd gefragt > beim attiny2313 gibt es: > > (OC0B/T1) PD5 und > (OC0A/PCINT2) PB2, > > an welchem der beiden kommt jetzt meine pwm raus? OCR0A ist für das Zurücksetzen des Timers auf 0 verantwortlich, hat also mit der PWM an sich nichts zu tun, sondern nur damit, wie weit der Timer zählt. Die PWM wird mittels OCR0B erzeugt (weil OCR0A ja schon anderweitig benutzt wird). Dieser Compare-Match steuert, wann der Pin auf 0 bzw. wann er auf 1 ist. Du musst diesen Compare Match freischalten und du musst Tabelle 38 benutzen um den Output Pin zu konfigurieren. Überall kommt 'B' vor. Also wo wird jetzt deine PWM rauskommen?
Gast
#2020464
@ peter: die frequenz möchte ich auch zur laufzeit nicht ändern sondern einmal fix einstellen. @Karl heinz: okay, also über ocr0b wird das tv eingestellt und in ocr0a die frequenz (zb bis 0xff) . ich benötige aber noch zur verwaltung der tasks einen overflow interrupt welcher mir eine variable zählt von timer0, das wäre doch dann timer0_compa oder der normale timer0 overflow int??
Gast
#2020482
Hi >okay, also über ocr0b wird das tv eingestellt und in ocr0a die frequenz >(zb bis 0xff) . $FF als Top-Wert für PWM haben alle Timer. Da brauchst du kein Register. >ich benötige aber noch zur verwaltung der tasks einen >overflow interrupt welcher mir eine variable zählt von timer0, das wäre >doch dann timer0_compa oder der normale timer0 overflow int?? Bei PWM wird immer, wenn der Timer wieder auf Null springt ein Overflow-Interrupt ausgelöst. MfG Spess
Gast
#2020485
also der ganz normale TIMER0_OVF_vect? danke!
Gast
#2020488
Hi >also der ganz normale TIMER0_OVF_vect? >danke! Ja. Steht so im Datenblatt. MfG Spess Hallo, habe mich vor einiger Zeit auch damit beschäftigt. Den Fast PWM-Mode 7 kann man anscheinend nur als symetrischen Rechteckgenerator benutzen ( Puls,- zu Pausenverhältnis 1:1 ). Setze hier mal mein Assembler Programm rein, das eine Power-LED über eine N-MOSFET per PWM in drei Helligkeitsstufen betreibt oder bis zur einer minimalsten Helligkeitsstufe dimmt. Hoffe Du kannst daraus ein paar Passagen gebrauchen. Viel Erfolg wünscht Dir Bernd_Stein Bernd Stein schrieb: > Hallo, > > habe mich vor einiger Zeit auch damit beschäftigt. > Den Fast PWM-Mode 7 kann man anscheinend nur als symetrischen > Rechteckgenerator benutzen ( Puls,- zu Pausenverhältnis 1:1 ). Das würde mich jetzt aber wundern.
Gast
#2020508
Hi
>Das würde mich jetzt aber wundern.
Mich auch.
MfG Spess
Gast
#2020549
und ich danke trotz allem :)) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|