-
        

Ergebnis 1 bis 10 von 10

Thema: LED PWM / LED Fader - Testprog für RN-Control

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.03.2009
    Beiträge
    10

    LED PWM / LED Fader - Testprog für RN-Control

    Anzeige

    Aus reinen Test- bzw. Lernzwecken wäre es schön ein kleines LED Fader Prog für die RN-Control zu haben.

    Dazu hat Uwe DK1KQ vor einer Weile schonmal was geschrieben, nämlich diesen Code hier, ich habe lediglich ein paar Sachen an die RN-Control angepasst.

    Bei mir leuchtet die LED jedoch einfach nur auf, kein Fading. Was stimmt nicht??

    ### Korrigiert

    $regfile = "m32def.dat"
    $crystal = 16000000

    Dim A As Word
    Dim B As Word
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1

    Config Pind.5 = Output

    Do

    For A = 255 To 10 Step -10
    Pwm1a = A
    Waitms 50
    Next

    For A = 10 To 255 Step 10
    Pwm1a = A
    Waitms 50
    Next

    Loop
    End

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Config Pinc.0 = Output
    Hast Du das "nur so" übernommen, oder vielleicht doch die LED an den Port C.0 angeschlossen?
    Beim Mega32 ist der OC1A-Ausgang nämlich der Port D.5...

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    18.03.2009
    Beiträge
    10
    nein das habe ich geändert. pinc.0 ist die LED1 auf dem Board, pinc.7 ist LED8 ...

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Okay - die LED hämgt also an D.5.
    Stimmen denn die 16 MHz? Ansonsten könnten nämlich die vermeintlichen 50 Millisekunden sehr viel länger dauern, was Extrem-Zeitlupentempo zur Folge hätte...

    Der Code sieht soweit ziemlich o.k. aus...

    Im Zusammenhang mit dem Mega32 liest man hier öfter noch was über das JTAG-Fuse, das wohl öfter mal Ungemach bereitet. So ´ne druckreife Erklärung was das genau ist habe ich leider nicht parat, aber Du könntest das entsprechende FuseBit ja mal löschen (ist im Original-Zustand gesetzt).

    So´n einfaches Programm, das die Zeiten und den Ausganspin checkt, hast Du schon versucht? Etwa so...

    DDRD.5=1

    Do
    Toggle PortD.5
    waitms 500
    Loop

    Mehr fällt mir im Moment auch nicht ein...

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    18.03.2009
    Beiträge
    10
    die 16Mhz stimmen, ist doch wie gesagt die RN Control.

    Habe es auch schon mit PortA1 etc. ausprobiert, ist das selbe. Auch egal was ich bei den ms einstelle, die LED leuchtet einfach nur normal.

    Habe auch JTAG mal von disabled auf enabled umgestellt - kein effekt.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    die 16Mhz stimmen, ist doch wie gesagt die RN Control.
    Sorry - die kenn´ ich nicht. Ich hab´ ein etwas angestaubtes, aber herrlich großes Steckboard vom Flohmarkt

    Habe es auch schon mit PortA1 etc. ausprobiert, ist das selbe.
    Aber jetzt muss ich noch mal ganz blöd fragen: Die LED ist schon an D.5, oder? Das ist nämlich der einzige Pin, an dem es funktionieren kann..

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    18.03.2009
    Beiträge
    10
    oww jetzt funktioniert es! Um zu wissen warum es nur an D5 geht kenn ich mich noch nicht genug aus aber wie steuert man dann mehrere LEDs an?!

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Na also - geht doch

    Beim Hardware-PWM zählt der Zähler immer rauf und runter. Wenn der Zähler den Wert im "Output-Compare"-Register (OCR) erreicht, wird ein bestimmter, definierter (!!) Pin getoggelt. Man kann zwar wählen, ob dieser Pin beim raufzählen auf High gesetzt und beim runterzählen auf Low gesetzt werden soll, oder eben umgekehrt (Compare = Clear Up bzw. Clear down). Aber welcher Pin getoggelt wird - das kann man nicht beeinflussen.

    Dieser Pin ist beim Mega32 (Du ahnst es wahrscheinlich schon...) - D.5!

    Ein sehr gutes Kapitel zum Thema PWM findest Du hier:
    http://www.roboternetz.de/wissen/ind...Bascom_und_PWM

    Viel Spaß noch beim rumexperimentieren!!

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.05.2007
    Beiträge
    329
    viele Kanäle unterschiedlich dimmen geht bedingt mit Software-PWM oder mit einem zusätzlichen PWM-Chip. Gute Erfahrungen hab ich mit dem PCA9635 gemacht

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    56
    Beiträge
    2.543
    hi,

    mit dem ATmega168 kannst du 6 Hardware PWM´s realisieren.

    Reicht das?


    liebe Grüße,

    Klingon77
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

Berechtigungen

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