FAQ | Points | Add... | Recent posts | Search | Register | Log in


[AVR] PWM, Led, tranzystor


Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> [AVR] PWM, Led, tranzystor
Author
Message
sztcz
Poziom 2
Poziom 2


Joined: 03 Dec 2007
Posts: 2
Location: Tcz

Post#1 Post from the author of the topic 03 Dec 2007 22:41   

[AVR] PWM, Led, tranzystor


Witam forumowiczow!

Otoz mam nastepujacy problem, wymarzylo mi sie stworzyc cos w rodzaju reflektora led ktorym bedzie sterowal uC. Potrafie sterowac jasnoscia ledow poprzez tranzystor (2n3906), kostke zwana (7805, nie wiem co to jest, bazowalem na schemacie znalezionym w internecie) oraz potencjometr analogowy. Jednak nie jest to to co chcialbym osiagnac, zalezy mi na sterowaniu przy pomocy jakiegos avrka (najlepiej attiny2313) i PWM. PWM potrafie oprogramowac, ale jak to polaczyc z ukladem, nie mam pojecia. Dodam ze do dyspozycji mam zasilanie +5V (uC) i +12V ktorym chcialbym zasilac diody. Diod na jeden uklad ma byc docelowo 16 (matryca 4x4). I tutaj mam prosbe, czy ktos moglby nakierowac mnie w jakim kierunku powinienem budowac uklad? Czy ten tranzystor bedzie dobry? Jesli tak to jak to polaczyc z PWM.

PS. Jestem programista, nie elektronikiem, prosilbym o wmiare lapotologiczna odpowiedz :)

Pozdrawiam, Sz.
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 03 Dec 2007 22:41   





Back to top
   
autoservice
Poziom 18
Poziom 18


Joined: 28 Jul 2005
Posts: 492
Location: Polska

Post#2 03 Dec 2007 23:54   

Re: [AVR] PWM, Led, tranzystor


...sorki ale :D...rejestry PWM w palcem w nosie oprogramuje ale co to jest 7805 to nie wie :D to chyba "joke" miesiaca :D
Back to top
   
sztcz
Poziom 2
Poziom 2


Joined: 03 Dec 2007
Posts: 2
Location: Tcz

Post#3 Post from the author of the topic 04 Dec 2007 01:10   

Re: [AVR] PWM, Led, tranzystor


Stabilizator napiecia (akurat wygooglowalem przed zlozeniem sobie tego czegos :] ) Pisalem tego posta w pospiechu (w pociagu), i nie bardzo moglem sobie przypomiec co to jest, a schematu nie mialem przy sobie :] W kazdym razie, w zyciu nie tworzylem jakis urzadzen od strony hardware'u, tylko od strony softu, wiec akurat pwm nie sprawia mi problemu.
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 04 Dec 2007 01:10   





Back to top
   
nouki
Poziom 20
Poziom 20


Joined: 12 Feb 2005
Posts: 819
Location: ŁÓDŹ

Post#4 04 Dec 2007 02:09   

Re: [AVR] PWM, Led, tranzystor


hmmm a moze Kolego piszesz w Bascomie pewnie nie:)
Ale skoro nie sprawia Ci problemów to kiedyś pytałem o takie coś i nikt nie był w stanie napisać nic:) a mianowicie
chciałem by po podaniu stanu 1 na jakieś wejscie tranzystor sterowany pwm rozjaśnił mi płynnie żarówkę od o do 90.... % w czasie 10 sek a jeśli bedzie stan zero to spadnie z 90...% do zera w czasie 10sek.
Back to top
   
seba_x
Poziom 22
Poziom 22


Joined: 07 Jul 2003
Posts: 1598
Location: czarna dziura

Post#5 04 Dec 2007 12:03   

Re: [AVR] PWM, Led, tranzystor


może tak :

[AVR] PWM, Led, tranzystor

r41 daj 3.3k , tranzystor mosfet może być irfz44 , r42 dobierz tak żeby nie przekroczyć prądu leda , 2n3906 obawiam się że będzie za słaby do 16 ledów
Back to top
   
intertom
Poziom 7
Poziom 7


Joined: 25 Jan 2007
Posts: 21
Location: Krosno

Post#6 04 Dec 2007 13:36   

Re: [AVR] PWM, Led, tranzystor


NIE MOŻĘ BYĆ IRFZ44!!!
- wymaga ok 10V do pełnego otwarcia kanału!!! a nie 4v jak ten na schemacie. A poza tym to sterowanie PWM jest proste. Jedyny kłopot to przy dużych prądach i sporych częstotliwościach może sprawiać grzanie tranzystorka spowodowane faktem przełączania bramki (lub nie pełnego otwarcia-małe napięcie sterujące). Jeśli ktoś będzie potrzebował sprawdzonego prostego układu do przełączania dowolnego MOSFETa (nie tylko takich sterowanych poziomem TTL) to jest tu: http://www.elektroda.pl/rtvforum/viewtopic.php?t=885095&highlight=

Ten układzik działa tak: Gdy na pinie PWM jest stan 1 to tranzystorek Q5 załącza bramkę MOSFETa a gdy stan się zmieni na 0 to Q4 powoduje rozładowanie pojemności bramki MOSFETa (przez opornik 10om) i tranzystor się 'szybko' wyłącza.
Oczywiście w profesjonalnych układach stosuje się scalone drivery MOSFETów.

PS: a ten problem z płynnym rozjaśnianiem 0..90%jest banalny np:
w pętli (powiedzmy 100 krokór) umieszczasz opóźnienie na 99ms i instrukcję inkrementacji zmiennej PWM o 1, i już masz płynne zwiększanie PWM w 100 krokach i w ciągu ok 10 sek. A zmniejszanie analogicznie. Reszta to tylko kwestia fantazji.:D
Back to top
   
Google

Google Adsense


Post# 04 Dec 2007 13:36   





Back to top
   
nouki
Poziom 20
Poziom 20


Joined: 12 Feb 2005
Posts: 819
Location: ŁÓDŹ

Post#7 04 Dec 2007 20:49   

Re: [AVR] PWM, Led, tranzystor


Może ja jej nie mam bo sie ucze bascoma jak wstawisz przykład to moze zakapuje i moja fantazja sie rozbudzi:)
Back to top
   
intertom
Poziom 7
Poziom 7


Joined: 25 Jan 2007
Posts: 21
Location: Krosno

Post#8 05 Dec 2007 09:13   

Re: [AVR] PWM, Led, tranzystor


Kiedyś popełniłem taki programowy PWM x 3 do sterowania RGB (ot tak dla fantazji :D)

Code:
Config Timer1 = Timer , Prescale = 1                        'dla prescale=8 przerwanie co ok 4 ms dla 256 co 15 ms dla 1024 co 64 ms
Config Int0 = Falling
'Config Portb.6 = Input
'Set Portb.6                                                 ' Końcówka Dla Int0
Ddra = &B01111111                                           ' ustawienie portu a jako wyjście
Config Rc5 = Pinb.6
Pwm_r Alias Porta.0                                         ' porty podpięcia led RGB
Pwm_g Alias Porta.1
Pwm_b Alias Porta.2
Redled Alias Porta.6
Relay Alias Pina.7
 Enable Interrupts
 Enable Timer1
 On Timer1 Int_timer1
 Enable Int0
 On Int0 Odbierz
 Set Redled                                                 ' zgaś leda
 Speed = 1                                                  'Początkowa Deklaracja Prędkości Zmian
 Max_r = 255                                                ' deklaracja zakresów zmian kolorów
 Min_r = 0
 Max_g = 255
 Min_g = 0
 Max_b = 255
 Min_b = 0

Do                                                          ' główna pętla
If C > 255 Then C = 0


If R > C Then Set Pwm_r Else Reset Pwm_r                    ' pwm dla red
If G > C Then Set Pwm_g Else Reset Pwm_g                    ' pwm dla green
If B > C Then Set Pwm_b Else Reset Pwm_b                    ' pwm dla blue

C = C + 1
Loop

End


Int_timer1:
  Disable Timer1

 If Pom > 510 Then Pom = 0

 If Pom < 255 Then Flag_r = 1                               'Regulacja wypełnienia od 0 do 255 i od 255 do 0
 If Pom > 255 Then Flag_r = 0
 ' ##########  regulacja RED
 If Flag_r = 1 Then If R < Max_r Then R = R + 1
 If Flag_r = 0 Then If R > Min_r Then R = R -1

 ' ##########  regulacja GREEN
 If Flag_r = 1 Then If G < Max_g Then G = G + 1
 If Flag_r = 0 Then If G > Min_g Then G = G -1

 ' ##########  regulacja BLUE
 If Flag_r = 1 Then If B < Max_b Then B = B + 1
 If Flag_r = 0 Then If B > Min_b Then B = B -1

 Pom = Pom + 1

'#########################################
'teraz zpodamy sobie jakieś kolorki!!!
 If Pom1 >= Speed Then
 If Licz <= 35 Then Licz = Licz + 1 Else Licz = 0

   If Licz > 0 Then
       Min_r = 100
       Max_r = 255
       Min_g = 0
       Max_g = 0
       Min_b = 0
       Max_b = 0
    End If
   If Licz > 5 Then
       Min_r = 0
       Max_r = 0
       Min_g = 0
       Max_g = 0
       Min_b = 0
       Max_b = 0
    End If
    If Licz > 7 Then
       Min_r = 0
       Max_r = 0
       Min_g = 100
       Max_g = 255
       Min_b = 0
       Max_b = 0
    End If
    If Licz > 12 Then
       Min_r = 0
       Max_r = 0
       Min_g = 0
       Max_g = 0
       Min_b = 0
       Max_b = 0
    End If
    If Licz > 14 Then
       Min_r = 0
       Max_r = 0
       Min_g = 0
       Max_g = 0
       Min_b = 100
       Max_b = 255
    End If
    If Licz > 21 Then
       Min_r = 0
       Max_r = 0
       Min_g = 0
       Max_g = 0
       Min_b = 0
       Max_b = 0
    End If

    If Licz > 25 Then
       Min_r = 0
       Max_r = 0
       Min_g = 20
       Max_g = 50
       Min_b = 10
       Max_b = 20
    End If
    If Licz > 30 Then
       Min_r = 10
       Max_r = 150
       Min_g = 0
       Max_g = 0
       Min_b = 20
       Max_b = 50
    End If
   Pom1 = 0
 Else
  Pom1 = Pom1 + 1
 End If
 Enable Timer1
 Return





                                           ' Obsługa pilota
  Odbierz:

Enable Interrupts
Disable Int0
Disable Timer1
Reset Redled                                                ' zapal leda
Getrc5(adres , Komenda)
Komenda = Komenda And &B00111111
If Komenda = Rc_komend Then Toggle Relay
Waitus 100
Set Redled                                                  ' zgaś leda
Enable Int0
Enable Timer1
Return


o i jeszcvze RC5 obsługuje. Te kolumny ze zmiennymi min i max to już nie jest ważne. Cały PWM jest realizowany w petli powyżej, częstotliwość zależy od preskalera.
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> [AVR] PWM, Led, tranzystor
Page 1 of 1
Similar topics
[Atmega8]Transmisja danych AVR+LED->fototranzystor+AVR (1)
[AVR][PWM] PwM sterowany z AVR (12)
[avr][pwm][mostek h] sterowanie mostkiem h za pomocą pwm (9)
[ATmega32][C/AVR Studio 5] Regulacja świecenia diody LED - PWM (9)
[C][AVR] Dimmer PWM diody LED. (1)
[AVR][C] PWM + multipleksowanie LED + krokowy (9)
uC + PWM + Tranzystor + 70*LED (8)
Jaki tranzystor do PWM (18)
PWM w AVR!!! (10)
[AVR][C] PWM i AtMega8 (21)

Page generation time: 0.182 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed