Hallo zusammen, möchte mit dem Attiny2313 einen Lüfter steuern, kurze Frage zum Phase correct modus: Top ist definiert mit ORC0A wenn WGM2:0 = 5. was löst mir dann jetzt den output compare match aus? normal macht das ja OCR0A... viele Grüße
rtfm...? ah okay... sorry das manual schweigt sich darüber ein wenig aus.
Hi
>niemand mehr ne idee...?
Welche Register bleiben denn noch übrig?
Und wozu braucht man bei einem Lüfter Phase Correct PWM? Da reicht Fast
PWM.
MfG Spess
OCR0B wäre noch übrig... ja bei nem lüfter reicht das schon aber ich glaub ich hab dir letztens schon erzählt wie die gesamte regelung aufgebautr werden soll (selbstermittelnder regler usw)
Hi >OCR0B wäre noch übrig... Bingo. >glaub ich hab dir letztens schon erzählt wie die gesamte regelung >aufgebautr werden soll (selbstermittelnder regler usw) Sollte ich mir das merken? MfG Spess
ne solltest nicht :) sicher das ocr0b dann richtig ist? also geht die phase correct pwm nur auf dem ocr0a pin im modus 5?
Hi Mode 5: Top = OCR0A Compareregister = OCR0B Brauchst eigentlich eine variablen Top-Wert? Du engst damit (wenn < $FF) auch die Auflösung ein. MfG Spess
micha schrieb: > ne solltest nicht :) > sicher das ocr0b dann richtig ist? Nein. Bei einer Phase Correct PWM wird das PORTB Register umfunktioniert, so dass es in Zusammenhang mit dem ADCSRA Register eine zusätzliche PWM am Reset Pin des Tiny erzeugen kann, die man durch FUse freischalten kann. Das hat Atmel extra für einen gewissen 'micha' eingebaut, weil der sich nicht vorstellen kann, dass man auch mit dem OCR0B eine PWM erzeugen kann. Natürlich ist das richtig. OCR0A und OCR0B unterscheiden sich in nichts. Beide können exakt für dasselbe benutzt werden. Wenn also in einem bestimmten Modus OCR0A für eine Sonderaufgabe benutzt wird, wie zb den TOP Wert für eine PWM festzulegen, dann bleibt immer noch OCR0B übrig um damit die PWM zu erzeugen. > also geht die phase correct pwm nur auf dem ocr0a pin im modus 5? Was soll der Quatsch. Gerade waren wir uns noch einig, dass die PWM über OCR0B erzeugt wird, weil OCR0A in diesem Modus als TOP Wert fungiert und daher als Match-Geber für die PWM ausfällt.
das ist klar, aber bei top = 0xff beträgt die auflösung 510 tics, wenn ich die frequenz verdopple heißt sind das immerhin noch 205 tics, das reicht meiner ansicht nach dicke :) ja sollte variabel bleiben, das hat den sinn das das ganze dann bald mal weitergeführt und soll auf eine eingehende pwm die mit dem icp gemessen wird, zum mittelpunkt aufsynchronisiert werden.
sorry ghab die register vertauscht ;) ich meinte es ja so, ocr0a als top und das b register für das tastverhältnis. danke atmel^^
Hi >ja sollte variabel bleiben, das hat den sinn das das ganze dann bald mal >weitergeführt und soll auf eine eingehende pwm die mit dem icp gemessen >wird, zum mittelpunkt aufsynchronisiert werden. Dann hoffe ich, das dein Verständnis für Regelungen grösser als das für AVRs ist. MfG Spess
danke ja das ist es :)) haben früher immer mit dem 8051 gearbeitet, da war grad das thema pwm ein wenig einfacher. aber im endeffekt ist es nicht viel anders, man muss nur lernen welches register für was zuständig ist in welchem modus, ich finde ich komme gut voran dafür das ich ein absoluter avr nub bin :))
sehr schön leute, herzlichen dank alles funktioniert so wie es soll :)
schön zu hören. (und verzeih den manchmal etwas rauhen Ton hier)
ach das ist okay, bin ja so gesehen selber schuld da ich manchmal mehr als nur verplant bin :))
@ kbuchegg: eine frage hätte ich allerdings noch: wenn ich im modus 5 eine pwm erzeuge geht das nur am oc0a pin oder? oc0b ist in dem fall inaktiv, richtig? oder kann ich ihn über die beiden com0b ebenfalls mit der gleichen pwm füttern?
Hi >eine frage hätte ich allerdings noch: >wenn ich im modus 5 eine pwm erzeuge geht das nur am oc0a pin oder? >oc0b ist in dem fall inaktiv, richtig? oder kann ich ihn über die beiden >com0b ebenfalls mit der gleichen pwm füttern? Beitrag "Re: Frage zum "Phase Correct PWM" Modus" Ausgang ist OC0B . OCR0A ist als Topwert vergeben! MfG Spess
DAMN der ist bereits belegt... :( naja werd es wohl irgendiwe umbauen
micha schrieb: > war grad das thema pwm ein wenig einfacher. aber im endeffekt ist es > nicht viel anders, man muss nur lernen welches register für was > zuständig ist in welchem modus, Ganz genau. Und weil diese Info wichtig ist, hat sie Atmel im Datenblatt bei jedem Timer in einer Tabelle zusammengefasst: Waveform Generation Mode Bit Description Die findet sich bei jedem Timer immer im Datenblatt Abschnitt des Timers, Subkapitel "Register Description". Normalerweise ist das immer das letzte Subkapitel in der jeweiligen Timerdescription. Wenn in einem Modus, ein Register die Rolle des TOP Wertes übernimmt, dann ist es dort jeweils beim Modus vermerkt. Alle anderen Register dieses Timers behalten ihre volle Funktion! Warum sollen die auch nicht weiter arbeiten wie bisher? Die Elektronik, die nach jedem Timerincrement den Inhalt von OCR0B mit dem aktuellen Timerwert vergleicht und bei Übereinstimmung eine Aktion auslöst, hängt ja nicht davon ab, wer jetzt gerade den TOP Wert des Timers vorgibt. Und um mehr geht es ja im Grunde bei einer PWM nicht auf Hardwareebene: laufendes vergleichen des Timerwertes mit einem Register und auslösen einer Aktion bei Übereinstimmung. Ist die Aktion bei einem Compare-Match dieses Compare-Registers zufällig das Umschalten eines Outputpins, dann kommt eben an diesem Pin eine Hardware-PWM raus.
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.