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

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

Elektronik_Kraków 13 Cze 2014 13:41 1995 7
  • #1 13 Cze 2014 13:41
    Elektronik_Kraków
    Poziom 13  

    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

    0 7
  • #2 14 Cze 2014 14:18
    emarcus
    Poziom 35  

    Elektronik_Kraków napisał:
    Witam
    .... MAX7219, ale on jak wiadomo obsługuje tylko wyświetlacze typu wspólna anoda.


    A gdzie uzyskałeś taką wiadomośc?...
    Pierwsze zdanie w datasheet dokładnie precyzuje zastosowanie tych driverów....

    e marcus

    0
  • #3 14 Cze 2014 18:58
    Elektronik_Kraków
    Poziom 13  

    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.

    0
  • #4 29 Wrz 2014 10:29
    Tweenk
    Poziom 12  

    Ż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ć.

    0
  • #5 02 Paź 2014 14:49
    Elektronik_Kraków
    Poziom 13  

    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: basic4gl
    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.

    0
  • #6 02 Paź 2014 17:45
    Tweenk
    Poziom 12  

    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: cpp
    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.

    0
  • #7 27 Maj 2017 23:46
    ar_w
    Poziom 5  

    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.

    0
  • #8 28 Maj 2017 15:10
    BlueDraco
    Specjalista - Mikrokontrolery

    Temat jest stary, a Ty nie masz ani trochę racji.

    0