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

Linijka diodowa na attiny2313

05 Mar 2011 10:04 2133 11
  • Poziom 9  
    Witam mam pewien problem odnośnie Attiny2313. Zrobiłem układ 16 diod na kondensatorach czyli nie chcę żeby od razu gasły tylko powoli przygasały (chodzi o taki pasek jak ktoś się może orientuje w takim starym filmie "Knight rider"). Cały układ działa poprawnie bo sprawdzałem go baterią na "krótko" jednak gdy wepnę uC sterujący to diody zaświecają się poprawnie, ale nie ma efektu przygasania diod.
    Dlaczego tak się dzieje? Jak to rozwiązac? Z góry dzięki.
  • Poziom 23  
    Diody (i kondensatory) są sterowane zbyt krótkim czasem, dlatego nie ma efektu przygasania. Kondensator nie zdąży się odpowiednio naładować.
    Pokaż schemat układu. Jeśli podłączyłeś kondensator bezpośrednio do portu mikrokontrolera i do potencjału zasilania, to zafundowałeś uC spore przeciążenie.
  • Poziom 21  
    uC zwiera do masy, przez co kondensatory wyładowują się od razu całkowicie. Tak jakbyś przy testowaniu na baterii po odłączeniu plusa od baterii od razu go do minusa zwarł. Steruj diodami przez tranzystor, dzięki temu nie będzie się kondensator rozładowywał.

    Albo inna metoda: PWM. Na internecie na pewno znajdziesz kod do sterowania wieloma diodami przez PWM. Wtedy będziesz miał precyzyjną kontrolę nad czasem przygasania diody. W głównej pętli programu zmieniałbyś tylko wartość przy której każda dioda ma zgasnąć (czyli regulowałbyś jasność).

    //edit
    Kolega wyżej również ma rację, kondensator się może nie ładować do końca. wyjścia mikrokontrolera mają zbyt mały prąd. W takim przypadku również musisz sterować przez tranzystory.
  • Poziom 9  
    Linijka diodowa na attiny2313

    I tak do każdej diody. Nie wiem czy chodzi tutaj o czas bo potem ustawiałem już trochę dłuższy (1s). Możliwe że tak jak mówicie problem może byc z wydajnością prądową uC. Trochę lipa, myślałem że uda mi się to jakoś prosto zrobic ale widzę że chyba nie, a tranzystor do każdej diody to średnio mi się widzi;] Może sterowanie z Darlingtona ULN2003AN 12V bo taki akurat mam w domu?
  • Poziom 43  
    Ale piszesz że problem masz z przygasaniem? A to z rozjaśnianiem nie masz problemu?
    Bo po tym schemacie to spodziewał bym się problemów z rozjaśnianiem.
    No i ewentualnie ze ściemnianiem w sumie też jak pin AVRa zwiera również do masy, ale tego jeszcze nie wiemy.
  • Poziom 9  
    Nie, z rozświetlaniem problemu nie ma. Brakuje tylko efektu ściemniania, gasną normalnie jak by kondensatorów nie było. A i dodam jeszcze że to oczywiście kondensatory elektrolityczne.
  • Poziom 43  
    To pewnie w programie ustawiłeś piny jako wyjścia i sterujesz nimi za pomocą rejestrów PORTx.
    A powinieneś ustawić jedynki do portu PORTx a diodami sterować rejestrem DDRx.
  • Poziom 9  
    Za bardzo skomplikowane;] Chodzi o to by podac + cały czas a sterowac z uC masą?
  • Poziom 43  
    No powiedzmy.
    A w sumie to można by sterować obydwoma rejestrami (inaczej przy niby zgaszeniu diody będzie ona minimalnie świeciła z powodu podciągania piny do VCC).
  • Poziom 42  
    A nie myślałeś o tym aby uprościć sobie życie i zamiast walczyć z kondensatorami, tranzystorami jak ci tu koledzy podpowiadają - to wykorzystać ogromne możliwości takiego procka i zrobić to w ogóle bez ŻADNYCH kondensatorów ???? Tylko same diodki LED podłączone do pinów przez rezystorki.

    Toż efekt Knight Ridera można uzyskać w sposób czysto programowy i to z pięknymi efektami, płynnym rozjaśnianiem i ściemnianiem. Z różnymi przejściami itp. Podpowiedź - wykorzystaj programowy PWM do sterowania diodami LED. To wszystko nic więcej nie potrzeba.
  • Poziom 9  
    Zmieniła się koncepcja i nie będę potrzebował tej linijki aczkolwiek natomiast znajduje się tu wiele przydatnych odpowiedzi.