Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Sterowanie jasnoscia diód - bufory sterowane

BananPK 31 Maj 2007 22:12 944 6
  • #1 31 Maj 2007 22:12
    BananPK
    Poziom 9  

    Mam takie pytanie dotyczące układu, który zamierzam zbudować. Czy mogę sterowac jasnoscia diod poprzez zastosowanie buforow sterowanych z 3 bitow AVR'a, ktore beda zalaczac odpowiednia rezystancje. I jaki będzie efekt takiego sterowania ? Bardzo bylbym wdzięczny za szybką odpowiedź. Poniżej zamieszczam schemat .
    Sterowanie jasnoscia diód - bufory sterowane

    Pozdrawiam

    0 6
  • #2 01 Cze 2007 13:32
    cyberdar
    Poziom 31  

    Witam

    Skoro masz mikrokontroler to prościej zrealizować regulację jasności w oparciu o PWM. Wtedy w łatwy sposób można będzie zrealizować regulację nie na 3 a np. 6 czy 7 bitach. Jeśli nie chcesz robić PWMa to proponuję dać 3 tranzystor sterowane z osobnych pinów portu. Między bazę a wyjście uC wpakuj rezystorki 10kΩ. Emitery tych tranzystorów podłącz do masy. W kolektory wpakuj rezystorki o różnych wartościach. Drugie końce rezystorów zewrzyj razem i do nich podłącz diody. Teraz w zależności od tego, który tranzystor i ile ich będzie włączonych uzyskasz określony poziom świecenia.

    -
    pozdrawiam

    0
  • #3 01 Cze 2007 15:06
    BananPK
    Poziom 9  

    Pierwotnie zamierzalem zrobić to na PWM ale nigdy tego nie używałem, dlatego mógłbym prosić o wyjaśnienie jego zasady działania. Najlepiej jak najdokładniejszą :) I dzięki za powyższą odpowiedź

    0
  • #4 02 Cze 2007 20:18
    _jta_
    Specjalista elektronik

    Jak chcesz mieć jasność np. 1/4 maksymalnej, to włączasz przez 1/4 czasu, a przez resztę jest wyłączone. Proste jak budowa cepa. ;)

    0
  • #5 03 Cze 2007 14:46
    jorgi6
    Poziom 11  

    Czyli cała w tym rzecz żeby sterować stopniem wypełnienia impulsu

    0
  • #6 03 Cze 2007 19:53
    cyberdar
    Poziom 31  

    Witam

    Przykład programowego PWMa. Program na ATMEGA8 z zegarem 16MHz. Zmienna Pwm ustawiona jest na 25%. Rozdzieczość PWMa od 0 do 100%. Częstotliwość PWMa około 260Hz.

    Code:


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

       Config Pinb.0 = Output : Wyjscie Alias Portb.0


       Config Timer1 = Timer , Prescale = 1
       Load Timer1 , 800
       On Timer1 Przerwanie

       Dim Licznik As Byte
       Dim Pwm As Byte

       Enable Timer1
       Enable Interrupts

       Licznik = 0
       Pwm = 25

       Do
       Loop
       End

       Przerwanie:
       Load Timer1 , 800
       Incr Licznik
       If Licznik >= Pwm Then
        Wyjscie = 1
         Else
          Wyjscie = 0
           End If
       If Licznik = 100 Then Licznik = 0
       Return



    --
    pozdrawiam

    0
  • #7 04 Cze 2007 18:19
    BananPK
    Poziom 9  

    Wielkie dzięki wszystkim za pomoc :) Zobaczymy co z tego wyjdzie.

    0