www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zum "Phase Correct PWM" Modus


Autor: Micha S. (e-tec)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rakete (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
rtfm

Autor: Micha S. (e-tec)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
rtfm...? ah okay... sorry das manual schweigt sich darüber ein wenig 
aus.

Autor: Micha S. (e-tec)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
niemand mehr ne idee...?

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Micha S. (e-tec)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ne solltest nicht :)
sicher das ocr0b dann richtig ist?
also geht die phase correct pwm nur auf dem ocr0a pin im modus 5?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry ghab die register vertauscht ;)
ich meinte es ja so, ocr0a als top und das b register für das 
tastverhältnis.

danke atmel^^

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :))

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sehr schön leute, herzlichen dank alles funktioniert so wie es soll :)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schön zu hören.

(und verzeih den manchmal etwas rauhen Ton hier)

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach das ist okay, bin ja so gesehen selber schuld da ich manchmal mehr 
als nur verplant bin :))

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DAMN
der ist bereits belegt... :(
naja werd es wohl irgendiwe umbauen

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.