logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Atmega8][Avr Studio] Diody słabo świecą

ShadowDancer 19 Lis 2011 21:33 2907 10
REKLAMA
  • #1 10158210
    ShadowDancer
    Poziom 10  
    Witam,
    Moje pierwsze starcie z mikrokontrolerami. Wykonałem prosty układ, tak jak na tym schemacie: [Atmega8][Avr Studio] Diody słabo świecą

    Z tym, że do portów B0-B5 podpiąłem zwykłe LED-y z opornikami 330omów.
    Problem jest taki, że jedna z tych diod świeci jasno, a pozostałe 5 ciemno, nie mam pojęcia dlaczego (mimo, że mają taki sam opornik). Boję się dać mniejszy rezystor, aby nie spalić µC. Jak podpiąć te diody, aby świeciły jasno?

    Dopiero zaczynam zabawę z mikrokontrolerami, więc mogłem popełnić jakiś oczywisty błąd, dlatego załączam 2 zdjęcia.
    Zasilacz:
    [Atmega8][Avr Studio] Diody słabo świecą
    Układ:
    [Atmega8][Avr Studio] Diody słabo świecą
  • REKLAMA
  • #2 10158268
    Zocha24
    Poziom 21  
    Pokaż program, może zamiast ustawić stan wysoki ustawiasz pullup-y
  • REKLAMA
  • Pomocny post
    #3 10158351
    snnaap
    Poziom 25  
    Program ważna rzecz, ale z tego co widać anodę diody podłączyłeś do uK a katodę do masy, czyli niby prawidłowo a jednak nie. Uk mają to do siebie eż ich wydajność prądowa na port jest "mała".
    W przypadku Atmega8 absolutnie max prąd na pin wynosi 40mA.
    Diody powinny być podłączone odwrotnie czyli plusem do zasilania a minusem do portów uK. Wtedy dioda zapala się po podaniu stanu niskiego na danym pinie. Obecne podłączenie diod może grozić uszkodzeniem portu.
  • #4 10158554
    ShadowDancer
    Poziom 10  
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    snnaap: Możesz rozwinąć? Co znaczy uK. I dlaczego grozi przepalniem portu? (możesz podać jakieś np. obliczenia, czy jakieś inne źródło? Dioda ma napięcie 2.5V i natężenie 20mA).
  • REKLAMA
  • Pomocny post
    #5 10158574
    Zocha24
    Poziom 21  
    Masz błąd bo tylko jeden pin ustawiasz jako wyjście DDRB=32; powinno być DDRB=0xFF; to ustawia wszystkie piny jako wyjście
  • #6 10158726
    ShadowDancer
    Poziom 10  
    Zocha: Faktycznie, powinno być 31, dzięki. Dziwi mnie to, że gdy diody były podpięte przez rezytor do masy (tak jak na początku), to "świeciły" (musiałem zgasić światło żeby coś widzieć, ale jednak). Świeciła oczywiście tylko ta jedna, która miała podłączone wyjście.

    Obróciłem diody, rezystory podpiąłem do zasilania i w programie zanegowałem zmienną - teraz działa jak złoto, dzięki wielkie.

    Ciekawi mnie jednak odpowiedź na pytania zadane w poprzednim poście.
  • #7 10158728
    Fredy
    Poziom 27  
    Tak patrzę na ten Twój schemat i mi coś nie pasuje. Jeśli to jest ATMEGA8 to napewno ta piniologia jest nie właściwa. Napewno na pinach 4 i 6 nie ma tam zasilania. Reset jest na 1 nodze a nie na 29.
  • #8 10158739
    ShadowDancer
    Poziom 10  
    Na schemacie może jest w innej obudowie, na płytce podpiąłem wszystko wg datasheet.
  • REKLAMA
  • #9 10158748
    Fredy
    Poziom 27  
    Diody świeciły bo płynął bardzo mały prąd przez wewnętrzny pull up. Tam jest rezystor około 50K.
  • #10 10158764
    Zocha24
    Poziom 21  
    uK to mikrokontroler, a jeśli chodzi o przepalenie portu to porównaj wydajność prądową piny dla stanu niskiego i dla wysokiego. dla niskiego o ile dobrze pamiętam ok 40mA a dla wysokiego to 15mA ale musisz doczytać co do wartości bo nie jestem pewien
  • #11 10158858
    ShadowDancer
    Poziom 10  
    Teraz wszystko jasne, dziękuje bardzo :)
REKLAMA