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

Sterowanie 7-segmentowymi LED wspólna anoda z AT89C2051 - alternatywy dla 40110/4513

liba 05 Wrz 2005 21:14 3132 19
REKLAMA
  • #1 1794280
    liba
    Poziom 14  
    Posty: 235
    Pomógł: 1
    Ocena: 17
    Witam wszystkich. Oto mój problem:

    Chce wysterowac sześć 7-segmentowych wyswietlaczy LED za pomoca AT89C2051. Przegladnalem forum i znalezlem kilka ukladow sterujacych takimi wyswietlaczami, z ktorych najbardizje spodobaly mi sie 40110 i 4513 aż tu nagle zauwazyłem że są one przeznaczone do wyświetlaczy o wspolnej katodzie!! wiem, że moge zastosować tranzystory na wyjściach, ale 42 tranzystory troche mnie odstraszają. czy są jakieś odpowiedniki tych ukladów dla wysw. o wspólnej anodzie? Jak sobie z tym poradzić?

    Z góry dzieki za pomoc
  • REKLAMA
  • #2 1794339
    patrx
    Poziom 16  
    Posty: 245
    Pomógł: 7
    Ocena: 15
    Witam,

    czy nie lepiej w takim przypadku zastosować 89C5x i sterować wyświetlaczami multiplexowo?
    Zawsze to tylko jeden scalak na płytce, a co za tym idzie mniej skomplikowany obwód drukowany i mniejsze koszty.

    Pozdrawiam
  • REKLAMA
  • #3 1794384
    Fajfer2
    Poziom 20  
    Posty: 507
    Pomógł: 18
    Ocena: 14
    AT89C2051 też się nada do sterowania multiplexowego(do wysterowania
    led-ów można dać ULN2803 , a na sterowanie anodami dowolny tranzystor
    małej mocy pnp +parę rezystorków)
    A ile ma być tych wyświetlaczy?
  • #4 1794458
    liba
    Poziom 14  
    Posty: 235
    Pomógł: 1
    Ocena: 17
    jak juz wyżej wspomnialem mam tych wyswietlaczy aż 6. Przy wyswietlaniu multipleksowym beda one chyba bardzo slabo swiecic, obaiwam sie czy w ogole bedzie mozliwy odczyt, tymbardziej ze beda one uzywane takze na zewnątrz.
    Co wy na to?
  • #5 1794514
    Fajfer2
    Poziom 20  
    Posty: 507
    Pomógł: 18
    Ocena: 14
    Jeśli jest ich 6 , to jak zastosujesz ledy z przecinkiem + sterowanie to
    zostanie tylko jeden PX.X wolny(można co prawda klawisze podpiąć
    razem z sterowaniem , ale chyba lepiej wybrać uP z większą liczbą
    portów)
    Jasność wyświetlaczy powinna jeszcze być dobra(zastosuj superjasne)
    rezystory ograniczające policz dla prądu 10mA*6=60mA
    Podprogram "odświeżający" nie powinien przemiatać cyferek
    zbyt szybko ani też zbyt wolno(może to być np.4ms na znak)
  • REKLAMA
  • #6 1794537
    liba
    Poziom 14  
    Posty: 235
    Pomógł: 1
    Ocena: 17
    hmm, zrobie eksperymenty i zobacze jaki bedzie efekt, ale i tak chciałbym sie dowiedzieć czy są scalaki przeznaczone dla wyśiwetlaczy ze wspólną anodą

    i jeszcz jedno dodatkowe pytanie, gdzie jest jakiś wmiare pełny katalog układów scalonych?
  • #7 1794583
    Kminek
    Poziom 15  
    Posty: 200
    Pomógł: 21
    Ocena: 16
    liba napisał:
    hmm, zrobie eksperymenty i zobacze jaki bedzie efekt, ale i tak chciałbym się dowiedzieć czy są scalaki przeznaczone dla wyśiwetlaczy ze wspólną anodą

    i jeszcz jedno dodatkowe pytanie, gdzie jest jakiś wmiare pełny katalog układów scalonych?


    Hej!

    Jako dekoder kodu BCD na kod wyświetlacza siedmio segmentowego polecam Ci układzik 4543. Jest on przystosowany zarówno do wyświetlaczy ze wspólną katodą jak i anodą (wystarczy zewrzeć do masy lub do + zasilania odpowiednią nóżkę) oraz ma bardzo dobry rozkład wyprowadzeń (wszystkie nóżki idące do wyświetlacza są po jednej stronie scalaczka).

    Co do samego sterowania polecałbym troszkę droższą ale naprawdę skuteczną metodę opierającą się na układzikach PCF8574 (jeden scalaczek na allegro kosztuje około 5zł) i magistralę I2C. Jeżeli jesteś zainteresowany to mogę przesłać Ci schemat układu w którym tą metodą steruję 6 wyświetlaczy siedmio segmentowych.

    Co do spisu elementów to polecam: http://www.elfa.se/pl/ Ale tylko do przeglądania ponieważ ceny to tam mają astronomiczne.

    Pozdrawiam
  • Pomocny post
    #9 1794623
    raffin
    Poziom 25  
    Posty: 589
    Pomógł: 86
    Ocena: 109
    Tylko ze te dwa uklady wymienione wyzej przez Ciebie sa calkowicie rozne od siebie:
    40110 - dziesietny licznik gora/dol, + ster. wysw LED 7 segm.
    4513 - dekoder BCD na LED 7 segm.

    Jest jeszcze jeden fajny uklad 4543 i moze tego wlasnie szukasz
    4543 - dekoder BCD na 7 segm. (WA/WK/LCD) wiecej juz sie chyba nie da :D
    Podobny jest tez 4544

    Powodzenia

    P.S. Chyba w trakcie pisania wyprzedzil mnie Kminek :D
  • #10 1794648
    Jarema
    Użytkownik obserwowany
    Posty: 1179
    Pomógł: 86
    Ocena: 32
    Witam,
    Możesz również zastosować do sterowania segmentów układ 74164 który jest 8 bitowym rejestrem przesuwnym, a do sterowania anod 74138 + 6xBC557.
    Przy takim sterowaniu będziesz potrzebował tylko 5 linii procka.
  • #11 1794655
    liba
    Poziom 14  
    Posty: 235
    Pomógł: 1
    Ocena: 17
    pcf8574 byłoby interesujące gdyby nie cena, lepszym rozwiazaniem wydaje sie SAA1064 bo steruje az 4 segmentami a kosztuje ok.10zl. chyba sie na niego zdecyduje, ale byłbym wdzieczny gdybyście mi jeszcze napisali jakie inne uklady nadają się do sterowania wyśw. ze wspólną anodą (sorry za upierdliwośc ale mój sklep elektroniczny nie jest wspaniale wyposażony, a nie chce płacić niewiadomo ile za przesylke w sklepie internetowym)
  • Pomocny post
    #12 1794679
    Fajfer2
    Poziom 20  
    Posty: 507
    Pomógł: 18
    Ocena: 14
    Zdaje się że są jeszcze inne wersje (uboższe ) tego SAA ,ale za to
    stosowane w starszych TV (tych bez OSD) mogą być dostępniejsze
    Poszukaj w np. ELENOTA etc.
  • #13 1794700
    liba
    Poziom 14  
    Posty: 235
    Pomógł: 1
    Ocena: 17
    wiem ze sa calkiem inne ale oba mnie satysfakcjonują
    4543,4544 też są dobre, zobacze co bedzie w sklepie

    dzieki wszystkim za pomoc
  • #14 1794856
    Jarema
    Użytkownik obserwowany
    Posty: 1179
    Pomógł: 86
    Ocena: 32
    Zamieszczam schemat układu o którym pisałem wcześniej.
    Myślę, że wart jest uwagi ze względu na zalety jakie posiada m.in. niski koszt wykonania, możliwość wyświetlenia każdego znaku.
    Załączniki:
    • Sterowanie 7-segmentowymi LED wspólna anoda z AT89C2051 - alternatywy dla 40110/4513 6LED.JPG (96.1 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #15 1795191
    liba
    Poziom 14  
    Posty: 235
    Pomógł: 1
    Ocena: 17
    dzieki za schemat, bo jest ciekawy, ale czy na tych wyswietlaczach cokolwiek widać, skoro w danej chwili swieci tylko jeden z szesciu?
    ale i tak raczej nie zdecyduje sie na to rozwiazanie gdyz wolalbym zeby procek nie byl zajety ciaglym wyswietlaniem ale aby mozna mu bylo jednorazowo wysylac dane ktore maja byc wyswietlane.
    daltego zdecyduje sie na 4543 +ew. jakis dekoder lub rejest przesuwajacy.
    W gre wchodzi jeszcze SAA1064. Jest drogi ale ma duzo zalet.

    dzieki wszystkim za wypowiedzi
  • REKLAMA
  • #16 1796005
    Fajfer2
    Poziom 20  
    Posty: 507
    Pomógł: 18
    Ocena: 14
    No pewnie że widać! W końcu jeśli oglądamy TV to nie widać plamki
    "omiatającej", tylko cały obraz
  • Pomocny post
    #17 1796296
    lbugiera
    Poziom 21  
    Posty: 348
    Pomógł: 45
    Ocena: 5
    Nie wiem czy procek, na którym chcesz to zrobić ma interfejs SPI bo się na '51 nie znam, ale jeśli nawet nie ma to można to zrobić software'owo. Ja bym użył rejestrów przesuwających 74hc595. Łączysz je szeregowo i sterujesz za pomocą min 2 linii - zegar i dane. Wyłaczyć wyświetlacz możesz na dwa soposby : albo uzywająć linii OE albo ustawiając wszystkei wyjścia rejestrów jako 1 (nie potrzeba żadnych dodatkowych tranzystorów). Między anode a VCC włączasz rezystor 0,6W i 330-510 omów. Albo do każdej linii między katode a rejestr (jeśli chcesz aby przy każdej liczbie wyświetlacz równomiernie świecił). Takie podejście wymaga translacji z liczby binarnej na odpowiedni stan diód w wyświetlaczach, ale jak ma się do dyspozycji mikrokontroler to moim zdaniem bez sensu (lenistwo :) ) jest używanie specjalizowanych układów. Emulacji może wymagac też SPI jak go niema w twoim uC, ale to jest jeszcze prostsze. Jeśli masz sprzętowe SPi to możesz z bardzo dużą prędkością przemiatać te rejestry (np dla AVR maks 8 Mhz bo więcej nie wyciągnie procek ale rejestr może szybciej). Jeśli w tym rejestrze osobno będziesz sterował linią STCP to możesz całkowicie wyeliminowac efekt migania, bo wyjscia bedziesz updatował dopiero po całkowitym wsunięciu nowych danych. No i przedewszystkim zaleta tego rozwiązania jest cena, za 6 takich rejestrów zapłacisz około 5 zeta

    Powodzenia
    Boogie
  • Pomocny post
    #18 1796395
    Fajfer2
    Poziom 20  
    Posty: 507
    Pomógł: 18
    Ocena: 14
    AT89C2051 wprawdzie nie ma SPI ale można wprowadzić sprzętowy UART
    w tryb pracy synchronicznej doskonale nadający się do tego celu
  • #19 1816131
    liba
    Poziom 14  
    Posty: 235
    Pomógł: 1
    Ocena: 17
    sorry,że dawno się nie odzywałem

    pomysł z zastooswaniem UARTa i 74...164 lub 74...595 wydaje sie idealny. Są nawet gotowe schematy, bardzo mi pomogliście, dzieki Wam za to
  • #20 2479092
    kurdemac
    Poziom 11  
    Posty: 26
    ale 74hc595 może maksymalnie przepuścić 70mA. troche za mało jeżeli miałyby się świecić wszystkie segmenty razem z kropką

Podsumowanie tematu

✨ Dyskusja dotyczy sterowania sześcioma 7-segmentowymi wyświetlaczami LED o wspólnej anodzie za pomocą mikrokontrolera AT89C2051. Użytkownik poszukiwał alternatyw dla układów 40110 i 4513, które są przeznaczone do wyświetlaczy ze wspólną katodą. Zaproponowano sterowanie multipleksowe, wykorzystujące mikrokontrolery z większą liczbą portów lub układy ULN2803 do sterowania segmentami oraz tranzystory PNP do anod, jednak obawy dotyczyły jasności wyświetlaczy przy tej metodzie, zwłaszcza w zastosowaniach zewnętrznych. Wskazano układ 4543 jako dekoder BCD na 7-segmentowy kompatybilny z wyświetlaczami wspólnej anody i katody, a także 4544 jako podobną alternatywę. Polecono także układy PCF8574 i SAA1064, które sterują wyświetlaczami przez magistralę I2C, przy czym SAA1064 obsługuje do 4 cyfr i pozwala na programowe ustawienie prądu, co zmniejsza liczbę elementów zewnętrznych. Zaproponowano również użycie rejestrów przesuwnych 74164 lub 74HC595 wraz z dekoderem 74138 i tranzystorami BC557 do sterowania segmentami i anodami, co pozwala na ograniczenie liczby linii mikrokontrolera. Wskazano, że AT89C2051 nie posiada sprzętowego SPI, ale można emulować interfejs programowo lub wykorzystać synchroniczny tryb UART do sterowania rejestrami przesuwnymi. Podkreślono, że przy sterowaniu multipleksowym jasność może być wystarczająca przy zastosowaniu superjasnych diod i odpowiedniego czasu odświeżania. Ostatecznie autor zdecydował się na układ 4543 lub SAA1064, rezygnując z ciągłego odświeżania przez mikrokontroler na rzecz wysyłania gotowych danych do sterownika. Zwrócono uwagę na ograniczenia prądowe 74HC595 (maks. 70 mA), co może być niewystarczające przy jednoczesnym świeceniu wszystkich segmentów z kropką.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA