-         

Ergebnis 1 bis 9 von 9

Thema: Mal wieder PWM Probleme.....

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.11.2005
    Beiträge
    56

    Mal wieder PWM Probleme.....

    Anzeige

    Hi,
    ich möchte ein PWM signal mit folgendem code erzeugen.
    Aber leider habe ich die ganze Zeit nur 5V anliegen, anstatt (zum Test) abwechselnd 0V und 5V. Woran könnte das liegen?

    $regfile = "m8def.dat"
    $crystal = 1000000

    Config Pinb.1 = Output

    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1



    Do
    Compare1a = 1024
    Wait 2
    Compare1a = 0
    Wait 2
    Loop



    Schonmal Danke für eure Hilfe!
    Gruß
    Jan

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Lässt sich das direkte PWM-Signal wirklich als Spannung messen?
    Soweit ich weiß nicht.

    jon
    Nice to be back after two years
    www.roboterfreak.de

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    19.11.2005
    Beiträge
    56
    Ich meß es ja hinter einem tiefpassfilter.
    Aber bei compare1A=0 muss er eine Spannung von 0V haben, da er ja keinen high pegel hat.
    Könnte es vllt an Config Pinb.1 = Output liegen?
    Gruß
    Jan

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Nur so am Rande: Der "End" Befehl fehlt.
    Es sollte eigentlich "Config Portb.1 = Output" heißen, sollte aber auch nicht soo viel ausmachen.
    Vielleicht hilft es auch etwas das "Config..." nach der PWM Initialisierung zu schreiben. Glaube ich aber kaum.

    jon
    Nice to be back after two years
    www.roboterfreak.de

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    19.11.2005
    Beiträge
    56
    das ist nur ein kleiner Teil aus dem code den ich rauskopiert habe. Die restlichen 6kB habe ich nicht mitgepostet...
    Daran könnte es liegen, ich versuchs mal.
    Gruß
    Jan

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    19.11.2005
    Beiträge
    56
    so, ich habe noch ein bisschen rumprobiert, aber es funktioniert leider immernoch nicht.
    Allerdings bekomme ich die Fehlermeldung "Can't find HW-register [DDR1",
    wenn ich "config Pinb.1=Output" durch "config Portb.1=Output" ersetze.
    Ich benutze das erste mal PWM, muss ich evtl irgendwelche fusebits verändern oder so?
    Gruß
    Jan

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Fusebits musst du keine umstellen.
    "Config Pinx.y = Output" stimmt doch. Da habe ich mich vertan.
    Hat der Timer1 des ATMega8 eine 10bit Auflösung? Schau das nochmal im Datenblatt nach.
    Probiere mal anstatt dem Tiefpass eine LED anzuschließen. Leuchtet die heller, bzw. dunkler, dann funktioniert das mit dem PWM. Dann hast du im Tiefpass einen Fehler.

    jon
    Nice to be back after two years
    www.roboterfreak.de

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    19.11.2005
    Beiträge
    56
    Laut Datenblatt kann der timer1 10bit. Ich habs mit 8bit versucht, es funzt auch nicht.
    Mit dem LED test komme ich zum gleichen ergebnis, es liegen die ganze zeit volle 5V an.
    Habt ihr irgendeine Vermutung?
    Gruß
    Jan

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    19.11.2005
    Beiträge
    56
    so, ich habe den Fehler gefunden......
    Ich habe dem compare1a 1024 und 0 zugeordnet.
    1024 ist kein gültiger 10bit Wert, es geht ja von 0 bis 1023.... so ein doofer Fehler. Mit 1023 funktioniert es. *freu*
    Danke für eure Hilfe!
    Gruß
    Jan

Berechtigungen

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