- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 10

Thema: Atmega8 PWM - Timer2 - Pin17 ?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    11.07.2004
    Beiträge
    43

    Atmega8 PWM - Timer2 - Pin17 ?

    Anzeige

    Powerstation Test
    Hallo,
    ich bin jetzt langsam am verzweifeln.

    Ich versuche verzweifelt den dritten PWM-Kanal vom Atmega8 am Pin 17
    zum klaufen zum bringen.

    Wenn ich das alles richtig verstanden habe, muss ich den über Timer2
    einstellen. Doch irgendwie bekomme ich den dann mittels dem
    compare - befehl nicht zum laufen.
    Bascom bringt mir immer eine Fehlermeldung.

    Kann mir eventuell jemand die richtige initialisierung posten, und wie ich dann den Ausgang einfach setzen kann.

    Wäre für jede Hilfe dankbar.

    Gruß

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.06.2008
    Ort
    Rösrath
    Alter
    40
    Beiträge
    332
    Was für eine Fehlermeldung bringt Bascom denn?

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    11.07.2004
    Beiträge
    43
    Also mal genau:

    Programmauszug :
    ---------------------------------------------------------------------------------------
    Config Timer2 = Pwm , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1


    'Die Timer freigeben
    Enable Timer1
    Enable Timer2

    'Die Timer starten
    Start Timer1
    Start Timer2

    'Die PWM-Register zuweisen
    Led3 Alias Pwm0a
    Led2 Alias Pwm1a
    Led1 Alias Pwm1b


    Led1 = 0
    Led2 = 0
    Led3 = 0

    -----------------------------------------------------------------------------------

    folgende Fehler bringt Bascom :

    Assignment Error (PWM0A) für die Zeile mit " Led3=0"

    -----------------------------------------------------------------------------------

    Für Led1 und Led2 bekomme ich keine Errormeldung.

    Schon mal danke für euere Hilfe

    Gruß

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Hast du denn in der Bascom Hilfe oder im Manual des Mega8 nachgesehen, ob der Timer0 überhaupt PWM machen kann?

    Gruß

    Rolf

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    PWM0A kann auf keine Fall richtig sein, da der PWM-Kanal zu Timer 2 und nicht zu Timer 0 gehört. Probier mal PWM2 aus.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.06.2008
    Ort
    Rösrath
    Alter
    40
    Beiträge
    332
    Da der Atmega8 nur einen Kanal für Timer0 hat wäre PWM0 richtig (und würde keine Bascom-Fehler provozieren).
    Du möchtest aber Timer2 benutzen, deshalb solltest du dem Rat von uwegw folgen

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Timer 0 hat gar keinen PWM-Kanal! PWM0 gibt es also nicht.

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    11.07.2004
    Beiträge
    43
    Hallo,
    erstmal danke für die Hilfe, leider war keiner auf dem richtigen Weg

    Der Fehler lag daran, das ich Timer2 nicht über pwm.. ansprechen kann,
    sondern nur über orc2 ; hat mich sehr sehr langes suchen im Internet
    gekostet. Da scheinbar mehr Leute das problem haben, hier die ultimative Lösung :
    --------------------------------------------------------------------------------------
    Blablabla wie üblich am Anfang

    Config Timer2 = Pwm , Prescale = 1 , Compare Pwm = Clear Up , Pwm = On
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1


    'Die Timer freigeben
    Enable Timer1
    Enable Timer2

    'Die Timer starten
    Start Timer1
    Start Timer2

    'PWM auf 0 setzen

    Pwm1a = 0 'PWM1
    Pwm1b = 0 'PWM2
    Ocr2 = 0 'PWM3

    - weiterer Programmcode

    Pwm1a = A1
    Pwm1b = A1
    Ocr2 = A1

    -----------------------------------------------------------------------------------

    Vielleicht hilfts ja jemanden weiter, damit er nicht auch ewig suchen muss.

    Gruß

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    24.09.2007
    Beiträge
    20
    Hallo Hellraider,
    vielen Dank,mir hat diese Zeile

    ....Compare Pwm = Clear Up , Pwm = On ...

    sehr geholfen.

    viele Grüße

  10. #10
    Hallo Hellraider,
    mir hats auch sehr geholfen-Danke!!

Berechtigungen

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

12V Akku bauen