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

MAX7219 - Podłączenie wyświetlaczy wspólna anoda

Elektronik_Kraków 13 Cze 2014 13:41 2961 7
REKLAMA
  • #1 13703799
    Elektronik_Kraków
    Poziom 13  
    Posty: 182
    Ocena: 7
    Witam
    Mam zmontowaną płytkę z sześcioma wyświetlaczami typu wspólna anoda ( 4 większe - godziny, minuty, 2 mniejsze - sekundy ). Anody są sterowane przez tranzystory PNP, a katody segmentów przechodzą przez ULN2803.

    Chciałem tę płytkę podłączyć do MAX7219, ale on jak wiadomo obsługuje tylko wyświetlacze typu wspólna anoda.

    Więc wymyśliłem, że sterowanie wyświetlaczy podepnę bezpośrednio pod tranzystory ( PNP czyli aktywne stanem niskim ), a segmenty poprzez negator 74HC04 ( trzeba dwie sztuki, bo ma tylko 6 bramek ), dodatkowo nie będę przez to obciążał MAX7219, bo całą robotę zrobią tranzystory i ULN2803.

    Czy dobrze kombinuję ?

    Dołączam schemat
    MAX7219 - Podłączenie wyświetlaczy wspólna anoda
  • REKLAMA
  • #2 13706581
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 13707248
    Elektronik_Kraków
    Poziom 13  
    Posty: 182
    Ocena: 7
    uppss. Mój błąd, oczywiście chodziło o wyświetlacze wspólna katoda i takie mam na płytce, którą zakupiłem do celów testowych. Natomiast moja złożona ma wyświetlacze 1,8 i 1,5 cala wspólna anoda.
  • #4 14000078
    Tweenk
    Poziom 13  
    Posty: 34
    Pomógł: 5
    Ocena: 9
    Żeby podpiąć wyświetlacz ze wspólną anodą do MAX7219, nie jest potrzebny żaden dodatkowy komponent elektroniczny. Wystarczy podłączyć wyjścia segmentów do cyfr, a wyjścia cyfr do segmentów. Następnie trzeba nieco zmodyfikować dane wysyłane do układu: po takim podłączeniu segmenty każdej cyfry są w odpowiednim bicie wszystkich ośmiu rejestrów, nie można też korzystać z dekodera BCD - trzeba sterować układem w trybie macierzy diodowej. Jeśli jest jeszcze zapotrzebowanie, to mogę napisać dokładnie jak to zrobić.
  • REKLAMA
  • #5 14009063
    Elektronik_Kraków
    Poziom 13  
    Posty: 182
    Ocena: 7
    Tweenk napisał:
    Żeby podpiąć wyświetlacz ze wspólną anodą do MAX7219, nie jest potrzebny żaden dodatkowy komponent elektroniczny. Wystarczy podłączyć wyjścia segmentów do cyfr, a wyjścia cyfr do segmentów. Następnie trzeba nieco zmodyfikować dane wysyłane do układu: po takim podłączeniu segmenty każdej cyfry są w odpowiednim bicie wszystkich ośmiu rejestrów, nie można też korzystać z dekodera BCD - trzeba sterować układem w trybie macierzy diodowej. Jeśli jest jeszcze zapotrzebowanie, to mogę napisać dokładnie jak to zrobić.


    Jeśli chodzi o sterowanie, to zapewne trzeba "zdefiniować" każdą cyfrę, czyli coś takiego jak przy podłączeniu wyświetlaczy bezpośrednio do kontrolera lub przez 74HC595. Czyli, które bity mają mieć stan niski dla danej cyfry.
    Chodzi o coś takiego ?
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Oczywiście zmienna Cyfra typu Byte określa poszczególne bity ( segmenty ), która przed wysłaniem musi zostać "wyciągnięta" z tablicy określającej wartość bitów dla danej cyfry.

    Jeśli chodzi podłączenie na "odwrót" dla wyświetlaczy ze wspólną anodą, to faktycznie na to nie wpadłem. Czyli nie będzie problemu ze sterowaniem bezpośrednio wyświetlaczem wspólna anoda dowolnego koloru, który ma jedną diodę na segment. W sumie, jeśli można sterować bezpośrednio w przypadku MAX7219 to korzyść, bo można sterować jasnością.
    Jeśłi chodzi o użycie dodatkowych układów, to chciałem "odciążyć" nieco MAX7219 bo mocno się grzeje przy czerwonym wyświetlaczu na płytce testowej.
  • REKLAMA
  • #6 14009459
    Tweenk
    Poziom 13  
    Posty: 34
    Pomógł: 5
    Ocena: 9
    Elektronik_Kraków napisał:

    Jeśli chodzi o sterowanie, to zapewne trzeba "zdefiniować" każdą cyfrę, czyli coś takiego jak przy podłączeniu wyświetlaczy bezpośrednio do kontrolera lub przez 74HC595. Czyli, które bity mają mieć stan niski dla danej cyfry.
    Chodzi o coś takiego ?


    Nie jest to aż tak proste, oprócz zdefiniowania bitów dla każdej cyfry trzeba też niejako obrócić je o 90 stopni - po podłączeniu układu "na odwrót" każda cyfra jest rozsiana po wszystkich rejestrach sterujących, np. segmenty cyfry numer 3 są teraz w trzecich bitach wszystkich rejestrów.

    Przykładowo jeśli przy normalnym połączeniu wysyłamy 8 bajtów, to trzeba zrobić coś w tym rodzaju (kod w C/C++, niestety nie znam Basica):

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Dostałem właśnie parę układów MAX7219, więc spróbuję o tym napisać post ze schematem podłączenia i przetestowanym kodem.
  • #7 16498877
    ar_w
    Poziom 9  
    Posty: 12
    Temat jest stary, wiem, ale dodam tylko, że połączenie we wspolną anodę, ogranicza znacząco wydajność prądową z ~300mA do 40mA na wyswietlacz! co daje *1/8 na segment * PWM 1/8 wynikający z multiplexingu, czyli 40mA * 1/64 = 0.654mA / segment.
    Mało. Zbyt mało.
  • #8 16499508
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    Temat jest stary, a Ty nie masz ani trochę racji.

Podsumowanie tematu

✨ Użytkownik zmontował płytkę z wyświetlaczami typu wspólna anoda i planuje podłączyć je do MAX7219. Zastosował tranzystory PNP do sterowania anodami oraz ULN2803 do katod segmentów. W odpowiedziach zasugerowano, że do podłączenia wyświetlaczy wspólna anoda do MAX7219 nie są potrzebne dodatkowe komponenty, ale wymagana jest modyfikacja danych wysyłanych do układu. Użytkownik musi zdefiniować bity dla każdej cyfry oraz obrócić je o 90 stopni, co komplikuje proces. Zwrócono również uwagę na ograniczenia prądowe przy użyciu wspólnej anody, co może wpływać na jasność segmentów.
Wygenerowane przez model językowy.
REKLAMA