-         

Ergebnis 1 bis 3 von 3

Thema: RGB LED PWM mit Timer2

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2011
    Beiträge
    25

    RGB LED PWM mit Timer2

    Anzeige

    Hallo,

    ich hab leider ein Problem:
    Ich hab mir ne RGB LED geholt die 6 Pins hat. 2xblau, 1xrot und 1xgrün.
    Ich habe rot und grün am timer1 hängen und die 2 blauen an Timer2 geschaltet, also PB1-3 belegt. Jeweils mit passenden Widerständen.
    Nun zum Problem:
    Ich kann dem Timer1 ohne Probleme ansteuern, also einen Wert eingeben
    und die Farbe leuchtet entsprechend. Leider scheint bei Timer2 irgendwo ein Fehler zu sein, denn wenn ich die Farbe einschalten möchte, und die anderen sollten aus sein, leuchten immer alle Farben. Die blaue Farbe kann ich zwar meiner Meinung nach dimmen, aber die anderen gehen nicht aus...
    Woran könnte das denn liegen? Such mir schon nen Wolf aber scheinbar hat keiner dieses spezielle Problem.
    Was ich beobachten kann: Wenn ich den Chip beschreibe, ist an PB3 ja auch ein Kabel vom Programmer dran, währen er programmiert, leuchten die 2 blauen allein, nur dann eben über das Programm stimmt die Steuerung wohl nicht...
    Programm ist:

    Code:
    $regfile = "M8def.dat"
    $crystal = 16000000
    $hwstack = 100
    $swstack = 100
    $framesize = 100
    $baud = 2400
    
    Config Pinb.1 = Output
    Config Pinb.2 = Output
    Config Pinb.3 = Output
    
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8
    Config Timer2 = Pwm , Prescale = 32 , Compare Pwm = Clear Up , Pwm = On
    
    'Die Timer freigeben
    Enable Timer1
    Enable Timer2
    
    'Die Timer starten
    Start Timer1
    Start Timer2
    
    'PWM auf 0 setzen
    
    Pwm1a = 0                                                   'PWM1 Grün
    Pwm1b = 0                                                   'PWM2 Rot
    Ocr2 = 0                                                    'PWM3  Blau
    
    
    Do
     Pwm1a = 0
     Pwm1b = 0
     Ocr2 = 50
    Loop
    
    End
    Bin über jede Hilfe oder jeden Tip dankbar. Ich verzweifle
    Gruss

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Hallo!

    Das Enable / Start brauchts nicht.
    Prescale 32 gibts nicht.

    MfG
    Rone

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2011
    Beiträge
    25
    Hi Rone,

    hehe Danke. Mittlerweile bin ich nen Schritt weiter. Prescale hab ich wieder anders eingestellt, die 2 blauen Pins an PB1 und den roten an PB3. Jetzt gehts scheinbar soweit, auch wenn mir nicht klar ist, warum, obwohl ich bei allen Clear Up habe, die Farben an PB1 und PB2 bei 0 leuchten und bei 255 nicht, und an PB3 die Farbe leuchtet genau andersrum... Ich hab für Timer2 nun Clear Down genommen und jetzt sind alle gleich.

    Aber ich denke es gibt noch ein weiteres Problem, bzw. gehts ja, aber wie lang halt. Ich weis nicht ob die die blauen Pins richtig angeschlossen habe. Wenn ich, in meiner "Anfängerunwissenheit" das richtig verstanden habe, braucht die LED 20mA. Zählt das nun pro Farbe oder gesamt? Wenns pro Farbe wäre, dann hätte ich an PB1 ja 40mA dran, oder nicht? Sind ja 2xblau. Jeweis mit einem Vorwiderstand an PB1 geführt. Ist das so ok, oder muss das anders machen? Widerstand ist für blau, da 3,3V, für 5V VCC 100 Ohm. Und das halt pro blauem Pin.

    Noch was: Ich hab natürlich ne klare LED genommen, weil ich das ja sehen wollte, aber jetzt sieht man jede Farbe einzeln, und nur teilweise wirkt es wie die gewünschte gemischte Farbe. Ist ja an sich irgendwo schon klar, aber bekomm ich das in den Griff? Also entweder durch andere Einstellung/Schaltung oder durch eine Art "Aufsatz" den ich mir basteln kann, das man nur die gemischte Farbe sieht?

    Gruss

Berechtigungen

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