-
        

Ergebnis 1 bis 7 von 7

Thema: Hardware PWM mit feineren frequenzabstufungen?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    01.08.2006
    Beiträge
    42

    Hardware PWM mit feineren frequenzabstufungen?

    Anzeige

    Hallo,

    ich bin gerade dabei mich mit PWM zu beschäftigen.
    Ich möchte einen DC-Getriebemotor mit PWM regeln.
    Hierzu weiß ich - habe einige PWM-Versuche ohne µC gemacht - daß die PWM-Frequenz recht genau auf den Motor abgestimmt werden muß um optimale Ergebnisse zu erhalten.

    Nun ist die hardwaremässige PWM-Erzeugzeugung mit Timer 1 ja hierfür eine einfache, schnelle und gute Sache, währen da nicht die extrem groben Abstufungen der PWM-Frequenz.

    Wenn ich das richtig sehe, müsste nachfolgende Betrachtung zutreffen:

    Timer 1 auf PWM-9 Bit Modus, somit 512 Schritte im PWM-Tastverhältnis.
    Der Prescaler kann 1, 8, 64, 256 oder 1024 sein.
    Die PWM-Ausgangsfrequenz ist = (Quarzfrequenz/Prescale ) /(Timerauflösung*2)

    Bei 8MHz, 9Bit Genauigkeit und Prescaler 8 also (8.000.000//(512*2)=977Hz.

    Bei 8MHz mit 9Bit Genauigkeit ergeben sich folgende PWM-Frequenzen:
    7813Hz
    977Hz
    122Hz
    30,5Hz
    7,6Hz

    Wie kann ich feinere Abstufungen der PWM-Frequenz im Bereich zwischen 1KHz und 5KHz erhalten?

    Vielen Dank!

    Wolfram

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Du könntest den Timer extern takten, evtl nen zweiten Timer die Frequenz erzeugen lassen und die Pins extern verbinden...

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    01.08.2006
    Beiträge
    42
    Hallo,

    ist ´ne gute Idee - DANKE.

    Vor allem die Möglichkeit Timer 1 z. B. über Timer 0 in der PWM-Frequenz zu bedienen finde ich klasse!

    Ich habe eben per Suche "Timer extern takten" versucht im Forum was darüber zu finden....Nix!

    Im Datenblatt fand ich die Info daß ein externes Timersignal auf T0 und T1 (Pin 4 und 5 des Mega4 gelegt werden muß.
    Den Rest im Datenblatt kapiere ich nicht.

    Wahrscheinlich muß ich die Ausgänge OC0A und OC0B (Pin 12 und 11 des Mega4 des Timer0 irgendwie mit den Takteingängen T0 und T1 des Timer1 verknoten?

    Wo finde ich Informationen über externe Taktung eines Timers mit der Frequenz eines anderen Timers?

    Wolfram

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Mit den CS10/11/12-Bits in TCCR1B, mit denem man auch den Prescaler einstellt, kann man den T1-Pin als Taktquelle auswählen, Datenblatt S.133. Und T1 dann mit dem Ausgang von Timer0 verbinden, der den Takt vorgibt.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    01.08.2006
    Beiträge
    42
    Danke, ich hab mir TCCR1B im Datenblatt angeschaut.

    Das Problem mit der externen Taktung durch einen weiteren Timer des ATMega48 ist, daß die anderen Timer keine hardwaremäßige Ausgabe (wie beim Timer 1 die PWM-Ausgabe) besitzen und daß es leider zu viel Zeit kostet die Frequenz Softwaremäßig auszugeben.

    Zumindest habe ich bei den Timern 0 und 2 nichts dergleichen gefunden.

    Da muß ich dann wohl ggf. noch ´nen zusätzlichen Quarz bemühen.

    Wolfram

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    doch, alle drei Timer können sowohl PWM erzeugen als auch hochzählen und beim compare match nen pin togglen. da wäre der CTC modus richtig...

    der M8 kann das noch nicht so viel, da zählt einer der 8bit-Timer nur durch, bis er überläuft, und der andere hat nur ein compare.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    01.08.2006
    Beiträge
    42
    ...und beim compare match nen pin togglen. da wäre der CTC modus richtig...
    Ähh...Bahnhof?

    Sorry das ist mir als Einsteiger zu hoch!
    Ich bin (noch) nicht in der Lage das alles nachzuvollziehen.

    Hast Du evtl. einen Codeschnipsel oder ´nen Thread dazu...meistens kapiere ich das zumindest oder kann es durch Versuche nachvollziehen.

    Wolfram

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •