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

atmega8l (zasilanie 3v) i rezystancja do diody led smd

wader_669 02 Paź 2007 18:36 6724 17
REKLAMA
  • #1 4342018
    wader_669
    Poziom 28  
    Posty: 1512
    Pomógł: 93
    Ocena: 15
    chcialem sie dowiedziec jaki rezystor musze dobrac do dioda LED SMD 0603 czerwonej ktora pobiera 2.3V i 20mA. Bedzie podlonczona do wyjscia atmega8 ktory jest zasilany 3v.
    Bardziej prosze o wytlumaczenie tego jak dobierac rezystory
    oczywiscie prawo ohma nie jest mi obce. Problem tylko mam z mikrokontrolerami
  • REKLAMA
  • Pomocny post
    #2 4342088
    Dr_DEAD
    Poziom 28  
    Posty: 829
    Pomógł: 126
    Ocena: 3
    Odpowiedz jest prosta: Strona 264 figure 148 z http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf
    Taką diodę możesz podpiąć bezpośredno do pinu bez żadnego rezystora a i tak uzyskasz tylko ok 10 - 15mA w najlepszym przypadku (oczywiście przy zasilaniu 3V)

    Dodano po 5 [minuty]:

    W przypadku zasialnia z 5V było by to realne. Wtedy zakładasz sobie że np. chcesz mieć 20mA, więc odczytujesz z charakterystyki jakie będziesz miał napięcie dla takiego prądu, powiedzmy że Voh = 4.5V. A wtedy to już tylko prawo ohma zostaje: (4.5 - 2.3)/0.02 = 110 Ohm.
  • Pomocny post
    #3 4343915
    Ch.M.
    Poziom 27  
    Posty: 1009
    Pomógł: 62
    Ocena: 15
    Witaj
    Dobierając rezystor sugerujesz sie tym co ma przepłynąć przez diodę. Nawet przy zasilaniu 3,3V powinieneś zastosować rezystor: żeby uniknąć problemów z zawiechami i ewentualnym spaleniem I/O procka. Wyobraź sobie, że Twoja dioda się uszkadza przewodząc prąd...
    Pozdrawiam
  • #4 4344148
    wader_669
    Poziom 28  
    Posty: 1512
    Pomógł: 93
    Ocena: 15
    to jaki rezysotr bys mi polecal ?
  • REKLAMA
  • Pomocny post
    #5 4344279
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    I = U/R

    czyli aby wyliczyć rezystor:

    R = U/I

    w twoim przypadku U = 3,3V - 2,3V czyli 1V
    (od napięcia zasilania 3,3V odejmujesz spadek napięcia na diodzie LED 2,3V)

    dzięki czemu podstawiasz sobie to do wzoru na górze:

    1/0,02 = 50ohm

    czyli 1V dzielisz przez prąd dla diody który chcesz uzyskać - zakładamy że ma to być 20mA czyli 0,02A

    co daje ci wynik 50ohm

    jeśli chcesz dać troszkę mniejszy prąd dla diody bo po co 20mA skoro czasem ona tak samo świeci dla prądu 15mA (zależy od jej charakterystyki) to wtedy będziesz miał:

    1/0,015 = 66ohm

    i w ten sposób zawsze dobieraj sobie rezystory dla dowolnej diody (jeśli znasz jej spadek napięcia i oczywiście wiesz jakim napięciem ją zasilasz)

    bo jeśli procek byłby zasilany +5V

    to wzór wyliczenie wyglądałoby tak:

    5 - 2,3 = 2,7 - obliczmy napięcie

    2,7 / 0,15 = 180ohm

    czyli przy 5V zasilania dla tej diody dałbyś 180ohm i będziesz pewien że nie popłynie przez nią prąd większy niż 15mA

    oczywiście musisz pamiętać, żeby podłączać diodę do procka (AVR) w ten sposób, że jej KATODA podłączona jest bezpośrednio no pinu procka natomiast anoda przez ten obliczony rezystor do VCC

    Jeśli podłączysz diodę LED odwrotnie to nie będą te wyliczenia wiarygodne bo wprawdzie zapalał ją będziesz stanem wysokim czyli 1 ale za to w grę wchodzi jeszcze wewnętrzny rezystor w procku.

    Tak więc diodę LED najlepiej podłączać katodą bezpośrednio do pinu i aby się zaświeciła wystawiać stan niski - 0 na tym pinie ( z punktu widzenia programu żadna różnica)

    pozdrawiam
  • Pomocny post
    #6 4344365
    Ch.M.
    Poziom 27  
    Posty: 1009
    Pomógł: 62
    Ocena: 15
    rezystor w pinie procka??
    no to chyba jakieś bajki kolega opowiada :)
    wydajność prądowa obecnie produkowanych I/O procków jest jednakowa dla stanu niskiego i wysokiego
  • REKLAMA
  • Pomocny post
    #7 4344408
    Dr_DEAD
    Poziom 28  
    Posty: 829
    Pomógł: 126
    Ocena: 3
    Panowie, czy ktoś przeczytał mojego posta i posta autora tematu? Przy zasialniu z 3V nie można przy obliczeniach pominąć sobie spadku napięcia na pinie I/O. Z zamieszczonych w PDF'ie wykresów wynika że nawet przy zwarciu pina do masy nie uzyskamy prądu wiekszego jak 40mA a więc nie ma niebezpieczeństwa spalenia pojedynczego pinu I/O. Jeżeli te 15mA przy bezpośrednim podłączeniu będzie mało można zastosować zewnętrzy rezystor podciągający do plusa zasilania co podwoi prąd diody.
  • Pomocny post
    #8 4344506
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Ch.M. -> proszę rzuć okiem na budowę portu w procku AVR (w tym przypadku konkretnie ATmega8) i spróbuj na podstawie tego schematu z noty aplikacyjnej powiedzieć mi dlaczego opowiadam bajki ok?

    Dr_DEAD -> ja z ciekawością przeczytałem to co napisałeś jednak nie do końca bym się zgodził z twoim wnioskiem, że spokojnie możemy zewrzeć pin do masy szczególnie gdy będzie on ustawiony jako wyjscie. Aby potwierdzić moje obawy przytaczam z tej samej noty którą ty podałeś fragment zaznaczony na czerwono (proponuję dokonać małe doświadczenie tzn ustawić port jako wyjściowy, podłączyć go do VCC i ustawić na nim logiczne ZERO, wg mnie po krótkim czasie procek umrze, w przeciwnym wypadku gdy port jest wyjściowy i ustawimy na nim stan wysoki a następnie zewrzemy go do masy to oczywiście ponieważ w tym przypadku port działa jako źródło to nie przepalimy go - ale to właśnie temat do przeanalizowania dla kolegi Ch.M. i dla ciebie - ponieważ mamy w nocie 2 rodzaje wykresów dla pinów - jeden rodzaj to pin I/O SINK Current a drugi to I/O Source current) to po pierwsze a po drugie to oczywiście teraz mogę się mylić w tym co powiem (w razie czego proszę popraw mnie) ale gdzie ty widzisz na tej 264 str że jest jakiś taki istotny spadek napięcia na pinie procka i ile wynosi ten spadek?? mi się wydawało zawsze że jest on w zasadzie pomijalny dla sterowania np diodą LED

    poniżej schemat portu dla kolegi Ch.M. oraz czerwony fragment w tym dla kolegi Dr_DEAD

    a co do sposobu obliczania rezystora to chyba się zgodzicie ze mną?
    Załączniki:
    • atmega8l (zasilanie 3v) i rezystancja do diody led smd Port_AVR.jpg (114.81 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #9 4344874
    Dr_DEAD
    Poziom 28  
    Posty: 829
    Pomógł: 126
    Ocena: 3
    Po pierwsze:
    Piszesz że sie ze mną nie do końca zgadzasz a zgodziłeś sie w 100% :-).
    mirekk36 napisał:
    gdy port jest wyjściowy i ustawimy na nim stan wysoki a następnie zewrzemy go do masy to oczywiście ponieważ w tym przypadku port działa jako źródło to nie przepalimy go

    Dr_DEAD napisał:
    przy zwarciu pina do masy nie uzyskamy prądu wiekszego jak 40mA a więc nie ma niebezpieczeństwa spalenia pojedynczego pinu I/O.

    Po drugie:
    Przyznam szczerze nie bardzo rozumiem schemat portu który zamieściłeś ale czy ten sławny rezystor o który się rozchodzi to nie jest przypadkiem PULLUP czyli wewnętrzny rezystor podciągający który ma niewiele wspólnego z rezystancją portu?
    Po trzecie:
    We fragmencie pdf'a który dla mnie podkreśliłeś nie ma nic o napięciu zasilania procesora a wszystko co napisałem było przy założniu że napięcie zasilania wynosi 3V.

    Dodano po 6 [minuty]:

    mirekk36 napisał:
    gdzie ty widzisz na tej 264 str że jest jakiś taki istotny spadek napięcia na pinie procka i ile wynosi ten spadek?? mi się wydawało zawsze że jest on w zasadzie pomijalny dla sterowania np diodą LED

    Naprawdę tego nie rozumiem dlaczego tego nie widzisz, ale tak dla przykładu:
    Napięcie zasilania procesora: VCC=2.7V
    Prąd pobierany z pinu: IOH = 20mA
    Napięcie na pinie: VOH = 1.7V w 25stC.
    Spadek napięcia: VCC - VOH = 1V.
    Coprawda nie ma wykresu dla 3V ale można przypuszczać że prąd nie byłby dużo większy.
    wader_669 -> jeżeli ciągle ci mało prądu w diodzie to zastosuj patent z zewnętrzym rezystorem podciągającym do plusa zasilania.
  • Pomocny post
    #10 4344944
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Dr_DEAD -> ale zobacz w związku z tym przedstawionym schematem mogą wg mnie nastąpić dwa przypadki. W jednym razem się zgadzamy czyli w takim, że na port wystawiasz stan wysoki i zwierasz go do masy to teoretycznie nie powinno się nic stać (chociaż producent w nocie nie zaleca tego ostrzegając, że jednak może coś się stać - to zazanaczyłem własnie na czerwono)

    DRUGI przypadek jest całkowicie inny i być może pominąłeś go w przemyśleniach na szybko - bo teraz ustawiamy na pinie wyjściowym stan NISKI i zwieramy go do VCC - w tym przypadku wg mnie procek się "zfajczy"

    obydwa te przypadki mają związek ze schematem budowy portu. Zobacz wg mnie dwie różne sytuacje i jakimi drogami będzie przepływał prąd. W przypadku zwarcia do VCC i stanu logicznego ZERO nastąpi 'spalenie" układu

    a w pierwszym przypadku jako że droga leci poprzez właśnie ten rezystor Pull-Up który ma wiele jednak wspólnego bo jest po drodze i ma chyba ok 20-30kb dlatego też nie popłynie duży prąd
    Załączniki:
    • atmega8l (zasilanie 3v) i rezystancja do diody led smd AVR-JEDYNKA.jpg (56.45 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • atmega8l (zasilanie 3v) i rezystancja do diody led smd AVR-ZERO.jpg (58.09 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #11 4344966
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Dr_DEAD -> no tak jeszcze raz dzięki twojej podpowiedzi przeanalizowałem sobie te spadki napięcia i masz rację chyba , że akurat przy napięciu zasilania 3V można spokojnie pominąć rezystor dla diody LED ;) z tym się zgadzam teraz :idea:

    Przedtem widziałem gdzieś w necie jak ktoś do ATtiny2313 podłączał własnie LEDy bezpośrednio bez rezystorków ale zailanie to były dwie baterie paluszki 2x1,5V - i dziwiłem się że coś tam się nie popali ale teraz dzięki twojej uwadze już czaję o co chodzi ;)

    - nie mniej jednak dla +5V już nie będzie tak różowo i jeśli chodzi o przepływ prądu przez port i scalak to chyba ja mam rację zgodnie z tymi schematami
  • Pomocny post
    #12 4346690
    jj
    Poziom 19  
    Posty: 145
    Pomógł: 42
    :arrow: mirekk36 twoje rozumowanie co do drogi przepływu prądu, gdy linia portu pracuje jako wyjście jest błędne. Proponuję jeszcze raz przeanalizować schemat. Jako wskazówka pytanie: wartość jakiego rejestru należy zmienić, aby zmienić stan linii portu ustawionej jako wyjście?

    Pozdrawiam,
    Jacek
  • REKLAMA
  • Pomocny post
    #13 4346734
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    jj -> no może złe ;) ale mógłbyś to wyjaśnić zamiast odpowiadać pytaniem ? - aby zmienić stan linii portu jako wyjście trzeba zrobić odpowiedni wpis do DDRx (z tym że w trybie cyfrowym decyduje o tym DIEOExn oraz DIEOVxn) w związku z tym wydaje mi się że dobrze to rozrysowałem , natomiast dla sygnału z wejścia ustawionego jako analogowe ta droga byłaby inna AICx) ale mogę sę mylić - więc proszę popraw mnie to mi napewno też pomoże ;)

    pozdrówka
  • Pomocny post
    #14 4346809
    Ch.M.
    Poziom 27  
    Posty: 1009
    Pomógł: 62
    Ocena: 15
    Mirek36 --> Rozumiem, że sprawa magicznego rezystora jest już rozwiązana?
    Przytaczacie tu opinie o max parametrach... owszem jest to 40mA ale sa tez inne ograniczenia do których wróce za chwilę. jeszcze inna sprawą jest, że warunki przy których testowane sa procesory (czy też zalecane) są nieco inne, mianowicie jest to 20mA/5V i 10mA/3V.

    Dodatkowo należy pamiętać o innych ograniczeniach, czyli:
    1. The sum of all IOL, for all ports, should not exceed 300 mA.
    2. The sum of all IOL/IOH, for ports C0 - C5 should not exceed 100 mA
    i dodatkowo dla obudowy DIP:
    3. The sum of all IOL/IOH, for ports B0 - B7, C6, D0 - D7 and XTAL2, should not exceed 200 mA


    Co się stanie jak podłączysz pod C0-C5 sześć diód bez rezystorów ograniczających? Może nic... a może procek przestanie stabilnie pracować?

    Dziwiła mnie Twoja niechęć do wspólnej anody :)

    Pozdrawiam
  • Pomocny post
    #15 4346825
    Dr_DEAD
    Poziom 28  
    Posty: 829
    Pomógł: 126
    Ocena: 3
    mirekk36 -> Ciesze się że co do sytuacji przy zasilaniu z 3V sie zgodziliśmy. I masz rację że przy zasilaniu z 5V sytuacja co do zwierania portów będzie całkowicie odmienna a i spadek napięcia na porcie będzie pomijalnie mały.
    jj -> A co do Twojej zagadki to wydaje mi sie że sygnał zarówno przy 1 jak i 0 biegnie w poziomej lini prostej do Data Bus. I na tym schemacie są tylko logiczne zależności dotyczące portu i nie zobaczymy tu tranzystorów ściągających napięcie pinu do VCC lub GND.
  • Pomocny post
    #16 4346840
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Ch.M. -> ale miałeś wyjaśnić dlaczego twierdzisz że:
    Cytat:
    "wydajność prądowa obecnie produkowanych I/O procków jest jednakowa dla stanu niskiego i wysokiego "
    to było moje pytanie do ciebie ;)

    inną sprawą było to co pisał Dr_DEAD czyli o tym podłączeniu diod LED bez rezystorów przy 3V - i ja się z nim zgadzam, że spokojnie można tak zrobić i nic prockowi się nie stanie - a za jakiś czas nawet pozwolę sobie to sprawdzić chociaż jak mówiłem widziałem już gdzieś w necie jak ludzie tak robili i działało to fajnie z bateryjką 3V

    bo zapytałes też:
    Cytat:
    "Co się stanie jak podłączysz pod C0-C5 sześć diód bez rezystorów ograniczających? Może nic... a może procek przestanie stabilnie pracować? "

    no właśnie nic się nie stanie o ile tak jak zauważył wcześniej Dr_DEAD i ja to załapałem. A dlaczego? - bo gdy podłączysz nawet 8 diod LED przy zasilaniu procka +3V to z powodu spadków napięcia o jakich wyżej była mowa dla każdej diody będzie co najwyżej ok max 10mA czyli razem 80mA - a przecież sam podałeś zgodnie z notą że cały procek może przepuścić ze 200 czy 300mA - więc w tym jednym przypadku nic się nie stanie ale przy +5V już byłoby nie wesoło ;)

    Poza tym w/s tego rezystora PullUp czyli na te moje wyjaśnienia którędy i jak płynie prąd przez port w procku gdy jest ustawiony jako wyjście .... teraz odezwał się na to z kolei kolega jj ... ale widzę też tylko pytaniem jakimś zamiast próbą wyjaśnienia, to taka tradycja już na elektrodzie? ;)

    a odnośnie twoich powyższych wyjasnień odnośnie wielkości prądów to się zgadzam bo tak mówi nota - moim zdaniem tylko nie wyczytałeś w tej nocie że jednak różni się wydajność prądowa portu gdy sterujemy diodę LED normalnie podłączoną przez rezystor - w zalezności czy do pinu podłączona jest katoda czy anoda. Wg mnie i zdaje się noty aby prawidłowo wysterować diodę czy inne rzeczy gdy chcemy skorzystać z tych możliwości prądowych o jakich pisałeś wyżej to własnie poprzez sterowanie stanem NISKIM
  • Pomocny post
    #17 4346893
    jj
    Poziom 19  
    Posty: 145
    Pomógł: 42
    Dr_DEAD napisał:
    jj -> A co do Twojej zagadki to wydaje mi sie że sygnał zarówno przy 1 jak i 0 biegnie w poziomej lini prostej do Data Bus. I na tym schemacie są tylko logiczne zależności dotyczące portu i nie zobaczymy tu tranzystorów ściągających napięcie pinu do VCC lub GND.
    Dokładnie o to mi chodziło. Ten schemat nie pokazuje budowy bufora wyjściowego, więc do rozpatrywania spraw związanych z wydajnoścą prądową się nie nadaje.

    mirekk36 napisał:
    Poza tym w/s tego rezystora PullUp czyli na te moje wyjaśnienia którędy i jak płynie prąd przez port w procku gdy jest ustawiony jako wyjście .... teraz odezwał się na to z kolei kolega jj ... ale widzę też tylko pytaniem jakimś zamiast próbą wyjaśnienia, to taka tradycja już na elektrodzie? ;)
    Próba zachęcenia do samodzielnego znalezienia właściewego rozwiązania ;)

    Bufor wyjściowy to ten tajemniczy trójkącik na prawo od Pxn. Jeśli linia portu działa jako wyjście, to miliampery płyną właśnie przez niego.
  • Pomocny post
    #18 4346922
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    hyhyhy dobra już wycofuję swoje twierdzenia o tej różnicy przy sterowaniu poziomem niskim i wysokim ;) bo doczytałem się w nocie jeszcze coś takiego jeśli chodzi o port w AVR Atmega8:

    Cytat:
    "Each output buffer has symmetrical drive characteristics with both high sink and source
    capability"


    Dr_DEAD miał rację bo stwierdził że na tych schematch w nocie aplikacyjnej są pokazane tylko zależności logiczne a nie fizyczny schemat portu ;) tak wię ten wątek w wątku który rozpętałem niechcąco można zamknąć a dla autora tematu ważne będą te obliczenia rezystorów które opisałem bez tych kierunków podłączania (typu katoda czy anoda do pinu)

    o i jeszcze jj dzięki za trójkącik ;) i dzięki wszystkim za pomoc ;)

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy doboru rezystora do czerwonej diody LED SMD 0603 o spadku napięcia 2,3 V i prądzie 20 mA, zasilanej z mikrokontrolera Atmega8L na 3 V. Podstawowa zasada doboru rezystora opiera się na prawie Ohma: R = (Vcc - Vf) / I, gdzie Vcc to napięcie zasilania (3 V), Vf spadek napięcia na diodzie (2,3 V), a I prąd diody (np. 20 mA). W praktyce dla 3 V zasilania i diody 2,3 V obliczony rezystor wynosi około 50 Ω, choć przy takim napięciu często można podłączyć diodę bez rezystora, uzyskując prąd około 10-15 mA, co jest bezpieczne dla pinu mikrokontrolera. Przy zasilaniu 5 V rezystor jest konieczny, np. 110-180 Ω, aby ograniczyć prąd do bezpiecznego poziomu. W dyskusji poruszono także kwestie charakterystyki portów I/O Atmegi8, ich maksymalnych prądów (do 40 mA na pin, z sumarycznymi ograniczeniami dla całego mikrokontrolera) oraz ryzyka uszkodzenia przy zwarciach. Wewnętrzne rezystory pull-up nie zastępują rezystorów ograniczających prąd diody. Podsumowując, przy 3 V zasilania można czasem pominąć rezystor, ale zaleca się jego stosowanie dla stabilności i ochrony mikrokontrolera, a dobór rezystora powinien bazować na znanym spadku napięcia diody i wymaganym prądzie, stosując prawo Ohma.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA