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

[Rozwiązano] Poprawne podłączenie wyświetlacza 7 segmentowego

RedDevilMU 06 Sie 2018 17:01 2637 17
REKLAMA
  • #1 17369680
    RedDevilMU
    Poziom 6  
    Posty: 8
    Witam serdecznie,

    Na początku chciałbym się z wszystkimi przywitać i przedstawić :) Od pewnego czasu uczę się programować Arduino. Staram się nie używać gotowych schematów typu podłącz wszystko jak na zdjęciu/filmie, skopiuj program i ciesz się, że działa. Zawsze nawet jeśli korzystam z jakichś przykładów podłączenia, staram się zrozumieć dlaczego ktoś to podłączył tak, an nie inaczej i policzyć wszystkie prądy, napięcia itp. I tutaj doszedłem do tego przykładu, w którym nie do końca mogę zrozumieć dlaczego jest to podłączone w taki sposób.

    Mianowicie... Chciałem zmontować i zaprogramować układ wyświetlający "coś" na 4 pozycyjnym wyświetlaczu 7-segmentowym. I tutaj pojawia się mały problem. Aby za bardzo nie obciążyć pinów Arduino poszczególne pozycje chcę zasilić za pomocą tranzystorów bipolarnych. Znalazłem schemat podłączenia, który oczywiście zamieszczam. Właśnie na tym schemacie nie mogę zrozumieć, dlaczego nie zostały uwzględnione żadne rezystory ograniczające prąd płynący przez diody. Każda dioda(segment) ma maksymalny chwilowy prąd 60mA wydaje mi się, że takie rezystory powinny się pojawić, ale może źle na to patrzę.

    Bardzo proszę o wyjaśnienie mojego problemu. Chciałbym zaznaczyć, że próbowałem znaleźć rozwiązanie na własną rękę, ale niestety nie znalazłem odpowiedzi, która pomogłaby mi to naprawdę zrozumieć, a co to za nauka jak to zmontuję i będzie działać, ale nie będę wiedział dlaczego.

    Poprawne podłączenie wyświetlacza 7 segmentowego
  • REKLAMA
  • #2 17369769
    arturdip
    Poziom 31  
    Posty: 1175
    Pomógł: 170
    Ocena: 324
    Raczej to nie ma prawa działać.Podłączenie wyświetlaczy nie ma sensu .Przecież każdy segment wyswietlacza musi być sterowany oddzielnie.
  • Pomocny post
    #3 17369781
    maciej_333
    Poziom 38  
    Posty: 4247
    Pomógł: 488
    Ocena: 1606
    Chodzi tu o sterowanie wyświetlaczem multipleksowanym. Jak widać chodziło o wyświetlacz ze wspólną anodą, ale schemat nie ma absolutnie sensu. Brak rezystorów ograniczających prąd dla poszczególnych segmentów i kropki. Powinno być 8 takich rezystorów. Lepiej byłoby też z tranzystorami PNP, załączanymi poziomem niskim przez mikrokontroler. Ponadto w linii GND mikrokontrolera wszystkie prądy się sumują. Zaś prąd ten nie może przekroczyć iluś mA, co można sprawdzić w dokumentacji. Lepiej dodać jakiś bufor, ale trzeba to przeliczyć.

    Zobacz to: Link.
  • #4 17369783
    RedDevilMU
    Poziom 6  
    Posty: 8
    Samo podłączenie do mikrokontrolera jest akurat w porządku, bo całość działa na zasadzie multipleksowania i przez podanie "0" i "1" na odpowiednie wyjścia z odpowiednią częstotliwością wszystko powinno działać :) chodzi mi tylko o te prądy i brak rezystorów
  • REKLAMA
  • Pomocny post
    #5 17369784
    JacekCz
    Poziom 42  
    Posty: 8670
    Pomógł: 760
    Ocena: 1463
    RedDevilMU napisał:
    ... Właśnie na tym schemacie nie mogę zrozumieć, dlaczego nie zostały uwzględnione żadne rezystory ograniczające prąd płynący przez diody. Każda dioda(segment) ma maksymalny chwilowy prąd 60mA wydaje mi się że takie rezystory powinny się pojawić, ale może źle na to patrzę.


    Słusznie zauważyłeś.
    Nie jest to zgodne ze sztuką, korzysta z ograniczenia 20mA na nóżce uP (BTW przy czym razem nie więcej niż ... dajmy na to 100mA - sprawdź sobie)

    arturdip napisał:
    Raczej to nie ma prawa działać.Podłączenie wyświetlaczy nie ma sensu .Przecież każdy segment wyswietlacza musi być sterowany oddzielnie.


    Czteropozycyjny będzie zawsze sterowany matrycowo - zaznaczam, nie analizowałem konkretnych nóżek.
  • #6 17369805
    RedDevilMU
    Poziom 6  
    Posty: 8
    Czyli dobrze rozumiem, że w przypadku załączenia zbyt małej liczby segmentów i złym doborze rezystora ograniczającego prąd bazy, w najlepszym przypadku spalę tylko któryś segment w wyświetlaczu, a w trochę gorszym przypadku spalę mikrokontroler? Bo prąd zawsze popłynie taki sam i w przypadku kiedy mamy załączone kilka segmentów to "rozdzieli się" na kilka diod, ale jeśli załączymy tylko jeden to cały prąd popłynie tylko przez ten jeden?
  • #7 17369809
    arturdip
    Poziom 31  
    Posty: 1175
    Pomógł: 170
    Ocena: 324
    Do każdego segmentu powinien być jeden rezystor!

    Dodano po 49 [sekundy]:

    I nie ma tego problemu.
  • REKLAMA
  • #8 17369834
    RedDevilMU
    Poziom 6  
    Posty: 8
    arturdip napisał:
    Do każdego segmentu powinien być jeden rezystor!

    Dodano po 49 [sekundy]:

    I nie ma tego problemu.


    Właśnie też tak to widzę, ale chciałem się dowiedzieć czy dobrze rozumuję ;)

    Mimo wszystko proszę jeszcze o odpowiedź na moje wcześniejsze pytanie :)
  • #9 17369899
    Konto nie istnieje
    Konto nie istnieje  
  • #10 17369923
    arturdip
    Poziom 31  
    Posty: 1175
    Pomógł: 170
    Ocena: 324
    Ale na jakie pytanie?

    Dodano po 3 [minuty]:

    Jeśli chodzi o rezystory.Spadek na przewodzącym tranzystorze to ok 20mv.Reszta to prawo Ohma

    Dodano po 2 [minuty]:

    Sorry ok 200mV
  • #11 17369971
    RedDevilMU
    Poziom 6  
    Posty: 8
    nowyARM napisał:
    Co to za typ wyświetlacza? Może ma wbudowane rezystory? Co prawda takich nie spotkałem ale ledy z wbudowanym rezystorem można kupić tak jak i tranzystory z rezystorem na bazie.


    Wyświetlacz to 3461BS i na 99% nie ma wbudowanych rezystorów. Może podam link do artykułu ze schematem, to możo ktoś tam znajdzie jaką odpowiedź, ale myślę że po prostu schemat jest błędny tak jak tu wszyscy zauważyli: https://www.adamdrees.com/tag/3461bs/

    Po krótkich poszukiwaniach znalazłem też stronę z opisem Arduino UNO i wyczytałem tam, że maksymalny prąd wejściowy/wyjściowy pinów I/O
    wynosi 200mA. http://robotics.lib-ieronimoub.gr/?p=715

    Czyli jak dobrze rozumiem, przy ograniczonym prądzie diod do 30mA i załączonych wszystkich segmentach suma prądów wpływających wynosi 240mA (+ mały prąd wyjściowy na bazę) i zaczynam "stąpać po cienkim lodzie" jeżeli chodzi o wytrzymałość mikrokontrolera ? Czyli lepiej ograniczyć prąd do ok. 20mA i mieć jakiś zapas. Jeśli źle myślę to nie krępujcie się mnie zje...ać ;)

    Dodano po 2 [minuty]:

    arturdip napisał:
    Ale na jakie pytanie?

    Dodano po 3 [minuty]:

    Jeśli chodzi o rezystory.Spadek na przewodzącym tranzystorze to ok 20mv.Reszta to prawo Ohma

    Dodano po 2 [minuty]:

    Sorry ok 200mV


    Chodziło mi o to czy dobrze rozumiem, że ten układ może działać przy załączeniu większej ilości segmentów jednocześnie, ale już w przypadku załączenia tylko jednego coś "spalimy" (chodzi mi o układ bez rezystorów)
  • Pomocny post
    #12 17369981
    Konto nie istnieje
    Konto nie istnieje  
  • #13 17370822
    RedDevilMU
    Poziom 6  
    Posty: 8
    RedDevilMU napisał:
    Po krótkich poszukiwaniach znalazłem też stronę z opisem Arduino UNO i wyczytałem tam, że maksymalny prąd wejściowy/wyjściowy pinów I/O
    wynosi 200mA. http://robotics.lib-ieronimoub.gr/?p=715

    Czyli jak dobrze rozumie, przy ograniczonym prądzie diod do 30mA i załączonych wszystkich segmentach suma prądów wpływających wynosi 240mA (+ mały prąd wyjściowy na bazę) i zaczynam "stąpać po cienkim lodzie" jeżeli chodzi o wytrzymałość mikrokontrolera ? Czyli lepiej ograniczyć prąd do ok. 20mA i mieć jakiś zapas. Jeśli źle myślę to nie krępujcie się mnie zje...ać


    Proszę jeszcze tylko o odpowiedź na to pytanie i myślę, że temat do zamknięcia :)
  • REKLAMA
  • Pomocny post
    #14 17370844
    Konto nie istnieje
    Konto nie istnieje  
  • #15 17370867
    RedDevilMU
    Poziom 6  
    Posty: 8
    @nowyARM Wielki dzięki za wyczerpującą odpowiedź :)

    Teraz pojawił się kolejny "problem"... Tranzystory które posiadam (NPN BC548B i PNP BC557B) mają max Ic 100mA. Czyli przy załączeniu wszystkich segmentów muszę pilnować żeby tego prądu za bardzo nie przekroczyć, ale myślę że z tym już jakoś sobie poradzę :)

    Czekam jeszcze kilka godzin na ewentualne sugestie na co jeszcze mogę zwrócić uwagę, a później zamykam temat. Bardzo wszystkim dziękuję za pomoc, bo naprawdę pomogło mi to lepiej zrozumieć działanie tego układu. Jeszcze raz wielkie dzięki! :D
  • Pomocny post
    #16 17370897
    Konto nie istnieje
    Konto nie istnieje  
  • Pomocny post
    #17 17372112
    pawlik118
    Poziom 34  
    Posty: 2428
    Pomógł: 202
    Ocena: 608
    arturdip napisał:
    Ale na jakie pytanie?

    Dodano po 3 [minuty]:

    Jeśli chodzi o rezystory.Spadek na przewodzącym tranzystorze to ok 20mv.Reszta to prawo Ohma

    Dodano po 2 [minuty]:

    Sorry ok 200mV



    Tak, ale napięcie na bezie musi być okk 0,6V wyższe niż na kolektorze. Według tego schematu, Uc-e będzie wynosiło około 0,6-0,7V.
  • #18 17373251
    RedDevilMU
    Poziom 6  
    Posty: 8
    Jeszcze raz wszystkim dziękuję za pomoc :) Układ na razie zrobiłem z wykorzystaniem tranzystorów PNP BC557 (bo tylko takie miałem pod ręką). Wszystko działa zgodnie z założeniami i wiem dlaczego tak jest :D Dlatego temat zamykam. Myślę, że nic więcej nie muszę dodawać, bo odpowiedzi na wszystkie pytania są wyżej.

Podsumowanie tematu

✨ Użytkownik poszukuje pomocy w poprawnym podłączeniu 4-pozycyjnego wyświetlacza 7-segmentowego do mikrokontrolera Arduino, zwracając uwagę na brak rezystorów ograniczających prąd w schemacie. W dyskusji podkreślono, że każdy segment wyświetlacza powinien być sterowany oddzielnie, a brak rezystorów może prowadzić do uszkodzenia zarówno segmentów, jak i mikrokontrolera. Zasugerowano użycie tranzystorów PNP do sterowania oraz dodanie rezystorów dla każdego segmentu. Użytkownik potwierdził, że zastosował tranzystory PNP BC557 i uzyskał działający układ. Wskazano również na możliwość użycia układów ULN2803 oraz driverów do większej liczby anod.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA