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

Wyświetlacze 7-segm, tranzystory PNP i rezystory

08 Lut 2015 18:25 1485 14
  • Poziom 20  
    Witam,

    Mam problem ze swoim układem, ponieważ za słabo świecą się segmenty LEDów. Jestem początkujący, więc wartości rezystorów dobrałem na oko wspomagając się innym projektem o podobnych elementach i wydawało mi się, że powinno być wszystko ok, jednak przy świetle słonecznym nic nie widać na tych wyświetlaczach.

    W załącznikach jest plik PDF z schematem połączeń, do załączania poszczególnych segmentów używam ULN2803APG z rezystorami ograniczającymi prąd 47Ω.

    Wyświetlacze są z wspólną anodą, więc załączam je tranzystorami PNP, dokładnie BC557B (hFE chyba 220-475 dla Ic = -2mA i Vce = -5V, więcej tutaj).

    Rezystory na bazie są 3,3kΩ i wydaje mi się, że źle je dobrałem, tak samo złe mogą być te 47Ω.

    Wyświetlacze to LSD056BUE-105, niestety w lokalnym sklepie nic się na jego temat nie dowiedziałem, w sieci znalazłem tylko to: Wyświetlacz LSD056BUE105 /LW/ RoHS
    Wynika z tego, że IF=20mA; VF=1.85V i jak rozumiem dotyczy to jednego segmentu.

    Czy mógłby mi ktoś pomóc i podać chociaż wzory jakie zastosować by DOKŁADNIE wyliczyć sobie rezystory ograniczające na segmentach i rezystory dla tranzystora?
    Z tego co teraz wiem, to R15-R20 powinny być 10x większe od tych ograniczających na bazie-uC więc tutaj już mam błąd, nie wiem jak obliczyć pozostałe...

    Z góry dziękuję za odpowiedzi.

    Pozdrawiam,
    Kuzdo
  • Pomocny post
    Moderator Mikrokontrolery Projektowanie
    Kuzdo napisał:
    Wynika z tego, że IF=20mA; VF=1.85V i jak rozumiem dotyczy to jednego segmentu.

    Przyjąłeś wartość prądu dla ciągłego świecenia diody w wyświetlaczu. Jednakże multipleksujesz 6 wyświetlaczy. Oznacza to, że dany wyświetlacz świeci tylko przez 1/6 pełnego kresu wyświetlania wszystkich wyświetlaczy. De facto więc radykalnie spada Ci ilość wyemitowanego światła.

    Dlatego w takiej sytuacji należy diody zasilać znacznie większym prądem niż 20mA. W związku z tym powinieneś znaleźć w dokumentacji wyświetlacza jaki prąd diody mogą maksymalnie przyjąć (Pulse Current Ipeak) i w jakich warunkach (Duty). Dopiero na tej bazie policzyć swój układ pod kątem doboru rezystorów.
  • Poziom 20  
    Niestety do tego wyświetlacza nie ma nigdzie dokumentacji jak na złość :/ Są podane dwa odpowiedniki tego wyświetlacza, ale również nie bardzo można na nich polegać, bo oba mają inne wartości (obojętnie na co spojrzymy), nawet IF i VF mają minimalnie różne...

    Dla jednego Peak Forward Current wynosi 100mA dla 1/10 Duty Cycle, 0.1ms Pulse Width, dla drugiego 155mA dla takiego samego Duty Cycle. Powinienem przyjąć zatem, że i mój wyświetlacz da radę przy 100mA dla 1/10? I w takim przypadku rezystory do segmentów mam liczyć dla 100mA i 1.85V z 5V zasilaniem? I w jaki sposób obliczyć rezystory bazy tranzystora? Jest na to jakiś wzór, bo na razie wiem tylko tyle, że drugi rezystor powinien być 10x większy od tego na bazie.
  • Pomocny post
    Moderator Projektowanie
    Tranzystor BC557 się tu nie nadaje, raczej BC327 albo 2N2904 itp.
    Rezystor bazowy licz tak aby tranzystor się nasycił, czyli Ib=5-10% Ic (patrz datasheet danego tranzystora) czyli Ib=5-10mA (dla Iled=100mA - ??). Rb sobie wylicz z prawa Ohm'a: Rb=(Uster-Ube)/Ib.
    Pytanie, czy sygnał sterujący kluczami ma taką wydajność prądową (5-10mA) ? Jeśli nie to trzeba go wzmocnić.
    Teraz prąd jest ograniczany przez tranzystor kluczujący (który ma zbyt mały Ib) ale gdy otworzysz klucze (tranzystory pnp) wtedy opornik 47 Ohm ograniczający prąd LED trzeba przeliczyć R=(Uzas-Uled-Ucesat)/0,1A; Uled=2V (dla 0,1A !), Ucesat to napięcie nasycenia klucza =ok.0,2V
  • Poziom 20  
    Dziękuję Wam bardzo za odpowiedź :)

    @dondu, nie wiem czy to robi jakąś wielką różnicę, ale moje mają końcówkę -105, tak czy siak dziękuję bardzo za znalezienie tej noty :)
    Vf mierzyłem przy 20mA przy stale zaświeconej diodzie (jeden segment) i wyszło 1.9V, więc chyba sklep miał rację z Vf=1.85V

    @trymer01, jak dobrze rozumiem, te tranzystory nie nadają się, bo ich maksymalna wydajność to 100mA? Nie wiem czy dobrze liczę (pewnie źle), więc proszę mnie poprawić jeżeli jest to źle liczone. Jeżeli założę, że na segment potrzebuję 60-80mA, to dla 8 segmentów Ic powinno być 640mA, więc Ib = 32-64mA. Uster to napięcie na bazie, a Ube to napięcie baza-emiter? Z noty BC327 wynika, że Vbe = 1.2V, więc Rb = (5-1.2)/0.064 = 60R? Wyjścia ATMegi mają max. 40mA. Ucesat dla BC327 wynosi maks. 0.7V wg. noty.
  • Pomocny post
    Moderator Projektowanie
    Kuzdo napisał:

    @trymer01, jak dobrze rozumiem, te tranzystory nie nadają się, bo ich maksymalna wydajność to 100mA?

    Tak, i nie nadają się do pracy z prądem >20-30mA.

    Kuzdo napisał:
    Jeżeli założę, że na segment potrzebuję 60-80mA, to dla 8 segmentów Ic powinno być 640mA, więc Ib = 32-64mA.

    Nie, poczytaj jak działa multipleksowanie (w danej chwili włączone są tylko segmenty jednej cyfry). Jeśli 80mA/segment to Ic=80mA, Ib=5mA.

    Kuzdo napisał:
    Uster to napięcie na bazie

    Nie, to napięcie wyjściowe na pinie uC (ok. 4,5V - obniżone z 5V z powodu pobieranego prądu Ib-5mA) - czyli przed Rb.

    Kuzdo napisał:
    Ube to napięcie baza-emiter? Z noty BC327 wynika, że Vbe = 1.2V

    Tak, baza-emiter (po oporniku Rb), niemożliwe aby wynosiło 1,2V.
    http://www.biltek.tubitak.gov.tr/gelisim/elektronik/dosyalar/4/BC327.pdf - str. 2 Figure5 - dla Ic=80mA Ube=0,72V - bezpiecznie przyjąć 0,75V albo nawet 0,8V.

    Kuzdo napisał:
    więc Rb = (5-1.2)/0.064 = 60R?

    Nie (rachunki !!!), Rb=(4,5-0,75)/0,005=750Ω
    Kuzdo napisał:
    Ucesat dla BC327 wynosi maks. 0.7V wg. noty.

    Tak, ale dla Ic=500mA.
    Figure4 dolna linia (pomyłkowo opisano je odwrotnie - zamieniono opis Uce z Ube) Ucesat=0,05V dla Ic-80mA, bezpiecznie można przyjąć 0,1V.

    Jeśli Vf=1,9V dla If=20mA to na pewno dla If=80mA, Uf>2,0V.
  • Poziom 20  
    trymer01 napisał:
    Kuzdo napisał:
    Jeżeli założę, że na segment potrzebuję 60-80mA, to dla 8 segmentów Ic powinno być 640mA, więc Ib = 32-64mA.

    Nie, poczytaj jak działa multipleksowanie (w danej chwili włączone są tylko segmenty jednej cyfry). Jeśli 80mA/segment to Ic=80mA, Ib=5mA.

    No i tak właśnie napisałem. Na segment, zgodnie z wypowiedzią dondu, przyjmuję 60-80mA, więc dla 8 segmentów jednego wyświetlacza jest to max. 640mA. Kolektor tranzystora PNP jest na WA, więc powinien dostarczyć maksymalnie 640mA dla 8 segmentów dla równomiernego świecenia. Więc czy nie powinno być Ic=640mA i Ib=32-64mA ?

    trymer01 napisał:
    Kuzdo napisał:
    Uster to napięcie na bazie

    Nie, to napięcie wyjściowe na pinie uC (ok. 4,5V - obniżone z 5V z powodu pobieranego prądu Ib-5mA) - czyli przed Rb.

    Kuzdo napisał:
    Ube to napięcie baza-emiter? Z noty BC327 wynika, że Vbe = 1.2V

    Tak, baza-emiter (po oporniku Rb), niemożliwe aby wynosiło 1,2V.
    http://www.biltek.tubitak.gov.tr/gelisim/elektronik/dosyalar/4/BC327.pdf - str. 2 Figure5 - dla Ic=80mA Ube=0,72V - bezpiecznie przyjąć 0,75V albo nawet 0,8V.

    Kuzdo napisał:
    więc Rb = (5-1.2)/0.064 = 60R?

    Nie (rachunki !!!), Rb=(4,5-0,75)/0,005=750Ω

    Hmm, albo coś źle rozumiem, albo jestem głupi (:D). Rb to rezystor bazowy, pomiędzy pinem bazy, a pinem uC. Na pinie uC jest 5V, spadek na BE to 0,75V, więc spadek na Rb to 4,25V. Jeżeli Ib ma być 5mA, to Rb=(5-0,75)/0,005=850Ω, chyba że dobrze wyliczyłem Ic i założymy Ib = 48mA, to Rb=4,25/0,048≈90Ω

    Dla testu, w schemacie, który podałem w pierwszym poście, zamieniłem parę rezystorów (np. R9 i R15) przy PNP z 3k3 na 220Ω i wyświetlacz świeci o wiele mocniej, w sumie tak jakbym chciał by świecił. I to na tych tranzystorach BC557, z dokładnie takim podłączeniem jak na schemacie, a rezystory i tranzystory nie grzeją się w ogóle, wszystkie segmenty na wyświetlaczu prawidłowo się zapalają - jak to działa, skoro BC557 nie powinien podobno wyrobić? Poza tym, tutaj jest takie samo zastosowanie tych tranzystorów.
  • Pomocny post
    Poziom 16  
    Kuzdo...... na 100% masz za małej wartości rezystory R15 - 20 lub one są w ogóle nie potrzebne ponieważ nie potrzebujesz dodatkowego podciągania wyjść do +5V wtedy kiedy masz to zrealizowane za pomocą tranzystora. Wysoki stan na wyjściu PD oraz rezystor 3.3kOhm nie powinien otwierać tranzystora. Kiedy to na wyjściach PD2 - PD7 jest stan niski to równe wartości rezystorów R 15 oraz R9 powodują że na bazie tranzystora napięcia spada do 2,5 v. Taką samą wartość tylko 2,5V masz moim zdaniem na kolektorze tranzystora, natomiast powinieneś mieć dostępne 5V podawane na LED1 i przez rezystory R1 - 8 ograniczające prąd segmentu zwierane poprzez niski stan ULN2803
  • Pomocny post
    Moderator Mikrokontrolery Projektowanie
    Kuzdo napisał:
    @dondu, nie wiem czy to robi jakąś wielką różnicę, ale moje mają końcówkę -105, tak czy siak dziękuję bardzo za znalezienie tej noty :)

    Ja także nie wiem, bo w dokumentacji nie zauważyłem opisu tej danej, a na stronie producenta 105 nie ma.
  • Pomocny post
    Moderator Projektowanie
    Wybacz, ale to ja pomyliłem tranzystor włączający anodę z tranzystorem włączającym segment.
    Masz rację, Ic= ok. 600mA i na taki prąd trzeba dobrać tranzystory, tu nawet BC327 jest zbyt słaby.
    Chcesz użyć BC557 o Icmax=100mA aby pracował z prądem 600mA? - powodzenia. Przypomnę, że zawsze od Icmax (dla BC327 to 500-700mA w zależności od producenta) należy trzymać się z daleka, nie tylko dla bezpieczeństwa (aby tranzystor się nie spalił) ale też dlatego, że przy Ic zbliżonym do Icmax inne parametry ulegają gwałtownemu pogorszeniu (beta spada, Ucesat rośnie).
    Wg mnie tu należałoby użyć np. 2SA2040 itp - duża beta umożliwia pracę jako klucz z prądem Ib=2%Ic, co dałoby Ib=12mA, co odciążyłoby uC. Jeszcze lepszy byłby MOSFET P-channel "Logic Level".
    Kuzdo napisał:
    trymer01 napisał:
    Rb=(4,5-0,75)/0,005=750Ω

    Hmm, albo coś źle rozumiem, albo jestem głupi (:D). Rb to rezystor bazowy, pomiędzy pinem bazy, a pinem uC. Na pinie uC jest 5V, spadek na BE to 0,75V, więc spadek na Rb to 4,25V. Jeżeli Ib ma być 5mA, to Rb=(5-0,75)/0,005=850Ω, chyba że dobrze wyliczyłem Ic i założymy Ib = 48mA, to Rb=4,25/0,048≈90Ω

    Na pinie uC jest 5V tylko w teorii - bez obciążenia prądem Ib. Im większy Ib tym mniejsze jest Uster (na pinie uC) - dlatego dla Ib=5mA zakładałem Uster=4,5V. Dla Ib=40mA Uster będzie dużo niższe - rzędu 3V (to zapewne jest podane w datasheet uC).

    Powołujesz się na schemat zegara z DCF - ale zauważ, że skopiowałeś to rozwiązanie i u Ciebie to nie działa? - a to dlatego, że tam są błędy!

    Oporniki R15-R20 nic tu złego nie czynią ("podkradają" tylko ok. 0,2mA z prądu Ib), na dobrą sprawę można się ich pozbyć.
  • Poziom 20  
    Dziękuję wszystkim za odpowiedzi :)

    @Keram480, R15-R20 mam dokładnie takie jakie są na załączonym schemacie. Wiem, że powinny być 10x większe. A z tego co słyszałem, to stosuje się je do ustabilizowania stanu wyłączenia tranzystora.

    @trymer01, czy ta tabelka z załączników odnosi się właśnie do Uster od Ib? Wynikałoby z niej, że Uster wynosi 3.5V@48mA lub nawet 3.25V@64mA.
    Zaczynam się martwić, bo nie wiem jakim cudem wyświetlacz działa i dla rezystorów bazowych 3k3 świeci się po prostu słabo, a dla 220R już świeci się normalnie... Poniżej dwa filmiki przedstawiające układ złożony tak jak na schemacie z pierwszego posta, z tą różnicą, że pierwsza cyfra ma R9/R15=220Ω


    Link


    Link


    I co w takim razie polecacie zrobić? Faktycznie montować mosfety? Nigdy ich nie używałem, nawet nie wiem jak do końca działają, dopiero jakiś czas temu poznałem tranzystory bipolarne...
  • Moderator Projektowanie
    Kuzdo napisał:

    @trymer01, czy ta tabelka z załączników odnosi się właśnie do Uster od Ib?

    Tak, to napięcie wyjściowe uC w stanie wysokim w zależności od pobieranego prądu Uwy=f(Iwy).
    Kuzdo napisał:
    Zaczynam się martwić, bo nie wiem jakim cudem wyświetlacz działa i dla rezystorów bazowych 3k3 świeci się po prostu słabo, a dla 220R już świeci się normalnie...

    Dla 3,3k jest zbyt mały Ib, co daje ograniczony Ic - dlatego LED-y słabo świecą.
    Jeśli zmniejszysz R9-14 (ale nie zmniejszaj R15-20 ! - zostaw 3,3k albo usuń je) to Ib rośnie, rośnie wtedy Ic i LED-y zaczynają świecić lepiej.
    Tyle, że przełączanie 600mA przez tranzystor BC557 to ...się do komentowania nie nadaje.
    Od biedy wystarczą BC327, bo ten prąd 600mA to impuls jest, a nie stały.

    Kuzdo napisał:
    Faktycznie montować mosfety? Nigdy ich nie używałem,

    Ich użycie jest banalnie proste, łatwiejsze od bipolarnych. Tyle, że potrzebne tu P-channel Logic Level będą droższe, np. podwójny IRF7314 http://www.tme.eu/pl/details/irf7314pbf/tranzystory-z-kanalem-p-smd/international-rectifier/#
  • Poziom 16  
    Najlepiej zrobisz jeśli do sterowania anod wyświetlaczy wymienisz tranzystory na jakieś BC313 lub coś współczesnego BD136 itp. Następnie w bazach tranzystorów w miejscu R9 - 14 powinieneś zastosować wartości 75 Ohm - 150 Ohm. Rezystory R15 - 20 mogą pozostać jako 3.3kOhm. Poza tym weź pod uwagę że tranzystory zasilają czasami dwa a czasami 8 segmentów więc muszą mieć odpowiednie wzmocnienie a do dyspozycji masz tylko 5V zasilania i po drodze złącze PNP tranzystora na którym napięcie spada o 1,2 - 1,4 V a ponadto w bufor to też jeśli się nie mylę bo nie czytałem jego DTR nic innego jak tranzystory z otwartym kolektorem więc kolejne 1,2V spadku napięcia a w nim rezystory 75 Ohm. Jeśli podsumujemy twój wyświetlacz już zasilany jest z 2,3 - 2,5 V Nic innego jak prawo Ohma a czasem Kirchoffa i tylko to jest całą tajemną wiedzą z której należy obliczać rezystory.Jeśli dalej masz wątpliwości czemu wyświetlacz po zmianie rezystorów z 3,3k na 220 Ohm świeci jaśniej to nie wiem jak to prościej wytłumaczyć.
  • Specjalista elektronik
    Jeśli sam tworzysz program do sterowania, to masz do wyboru dwa sposoby multipleksowania: (1) włączasz jeden z tranzystorów PNP, odpowiadający jednej cyfrze, i wyjścia ULN2803 odpowiadający segmentom tej cyfry, które mają zaświecić; (2) włączasz jedno wyjście ULN2803, odpowiadające któremuś segmentowi cyfr, i tranzystory PNP, odpowiadające cyfrom, w których ten segment ma zaświecić. Z tego (2) nie da się zrobić, jeśli dekoder z BCD na segmenty jest w postaci osobnego układu.

    Co do prądu, proponuję dla (1) 2.5x prąd nominalny (20mA), a dla (2) 3x prąd nominalny. Dla (1) prąd tranzystora PNP może sięgnąć 8x2.5x20mA=400mA; dla (2) prąd wyjścia ULN2803 może sięgnąć 6x3x20mA=360mA. Pytanie, czy BC557 nadaje się do 60mA - a właściwie, jakiego napięcia kolektor-emiter będzie potrzebował (NPX podaje tylko charakterystyki dla 5V)? Wygląda na to, że za dużo, i trzeba użyć BC327 - one wytrzymają i 400mA, ale według wykresu 3 Fairchild-a potrzebują prądu bazy prawie 10mA, żeby im wystarczył 1V napięcia kolektor-emiter (u Philips-a dużo lepiej - wzmocnienie ponad 100 przy 500mA i 1V). Pomysł z MOSFET-ami (z #13) w wersji (1) może być dobry, o ile nie za drogi.

    Niestety spadek napięcia na tranzystorze jest trochę nieprzewidywalny, i zależy od tego, do ilu segmentów ma płynąć jego prąd, więc dobór oporników musi być trochę doświadczalny. Na początek można spróbować z opornikami 47R, jeśli już takie są, i zmierzyć prąd, jaki płynie, gdy cały czas świeci jeden segment (to nie znaczy, że cały czas ten sam - ma być świecenie rotacyjne, żeby nie przegrzać żadnego segmentu). A ULN2803 ma duży spadek napięcia przy większych prądach - 1.3V przy 400mA, więc to raczej wyklucza wersję (2).