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

Sterowanie matrycą LED.

06 Sie 2008 21:47 3668 11
  • Użytkownik usunął konto  
  • PCBway
  • Poziom 12  
    Najlepiej i najłatwiej problem rozwiązać stosując rejestr przesuwny (o szeregowym wejściu i równoległym wyjściu). Przykładem takiego układu jest 74164. Dzięki temu można za pomocą jednego pinu wysterować 8 diod. Dalsze zwielokrotnianie można uzyskać sterując którymś z wejść A1 albo A2 poprzez dekoder jakiś np. 74138. W połączeniu z rejestrami przesuwnymi pozwala na wysterowanie 64 diod za pomocą jedynie 4 pinów. Jak coś zawsze można dodać kolejną warstwę dekoderów, ale kto by się tam już w tym wtedy połapał :D. Pozdrawiam.
  • Użytkownik usunął konto  
  • PCBway
  • Poziom 12  
    Zaproponowałem Ci właśnie gotowe scalaki. Ogólnie zgoda co do działania 74164, tyle że przypatrz się parametrom czasowym układu. Wyzerowanie i ustawienie nowego bajtu danych na wyjście dzieje się tak szybko, że jest niezauważalne gołym okiem. Wystarczy dać odpowiednio szybki zegar. Zresztą możesz wykonać parę prób - układ kosztuje grosze. Pozdrawiam.
  • VIP Zasłużony dla elektroda
    Witam,

    Lista układów serii 7400. Oczywiście część z nich ciężko będzie dostać w Polsce...

    Co do rejestrów przesuwnych to nie musisz ich resetować, po prostu możesz wpisać nową zawartość (jedna nóżka sterująca mniej). No i jak to z rejestrami szeregowymi - można je połączyć w szereg :) Czyli z dwóch 8-bitowych robisz sobie 16-bitowy i tak dalej, i tak dalej. No i nie potrzebujesz żadnych dekoderów.

    Pozdrawiam,
    Dr.Vee
  • Użytkownik usunął konto  
  • VIP Zasłużony dla elektroda
    Witam,

    No to zrób sobie 200 przerzutników + 200 driverów do sterowania diodami i jeszcze jakąś sprytną magistralę do ładowania tych wszystkich bitów. Możesz nawet użyć FPGA, tylko zwróć uwagę, żeby układ miał wystarczającą ilość pinów I/O... :D

    Może uda Ci się znaleźć rejestry szeregowe z output enable (albo dodać takie bufory na wyjścia rejestrów), to by pozwoliło taniej zrealizować Twoje dążenie do idealnego drivera matrycy LED... ;)

    Pozdrawiam,
    Dr.Vee
  • Użytkownik usunął konto  
  • VIP Zasłużony dla elektroda
    Witam,

    Pitrija napisał:
    nie wiem co to jest output enable
    ale :) fakt że potrzebuje 200 przerzutników, ale nie 200 driverów, po prostu multiplekser->demultiplekser->200przerzutników->diody


    Nie bardzo rozumiem ten multiplekser->demultiplekser, ale nie musisz tłumaczyć :)
    Zresztą nawet gdybyś miał 200 przerzutników i zapisywał do nich przez demux, to i tak nie zostałyby wszystkie zapisane w tym samym momencie.

    Output enable jest z logiki trójstanowej (Tri-state logic) i załatwia to, co chcesz - pozwala odłączyć wyjścia od układu sterującego.

    Pitrija napisał:
    Ale kurde ta oczywista wada czyli gaszenie i świecenie bez potrzeby mnie rozwala :D Czy naprawdę tak się robi profesjonalne ekrany ledowe?


    Profesjonalne rzeczy robi się według jednej zasady - najprostsze, najtańsze, najszybsze w realizacji rozwiązanie, które spełnia postawione wymagania.

    Pitrija napisał:
    ...
    żeby mieć władzę nad każdą diodą w każdym czasie.


    Ale masz, kolego, dyktatorskie zapędy! :D
    Jak widać Twoje wymagania są inne niż producentów komercyjnych tablic LED ;)

    Pozdrawiam,
    Dr.Vee
  • Użytkownik usunął konto  
  • Pomocny post
    VIP Zasłużony dla elektroda
    Witam,

    Pitrija napisał:
    Hehe ok Dr.Vee ale właśnie mi się przypomniało... mówisz że 200 przerzutników to obłęd... ale ale :) Przecież rejestr jest zbudowany właśnie z przerzutników i to dokładnie tej samej liczby która byłaby potrzebna na mój sposób :)


    Tak, ale taką samą ilość bitów w rejestrach uda Ci się poskładać z mniejszej liczby układów scalonych.

    Pitrija napisał:
    A wiem że nie zapalałbym wszystkich w tym samym czasie ale mógłbym zapalać:
    najpierw pierwszą,
    później nie ruszając pierwszej - drugą,
    później nie ruszając pierwszej i drugiej - trzecią itd


    Jeśli taki rodzaj "mrugania" Cię satysfakcjonuje, to tak zrób.
    Jeśli chciałbyś bez żadnego "mrugania", to musisz mieć podwójne przerzutniki, albo rejestr szeregowy + przerzutniki - wtedy stan wszystkich wyjść jest zmieniany dokładnie w tym samym czasie.

    Jeśli zastosujesz bufor trzystanowy i wyłączysz output enable, to tak jakbyś odłączył diodę od wyjścia.

    Pitrija napisał:
    Kurdę chciałbym zobaczyć schemat komercyjnego wyświetlacza :D


    I jak byś zobaczył, to byś zmienił zdanie co do "migotania" diod?
    Przyjrzyj się dobrze, na niektórych komercyjnych matrycach nawet widać migotanie, bo są one projektowane "na styk". Najłatwiej to zobaczyć patrząc "kątem oka" - potrenuj na telewizorze kineskopowym :)

    Co do "profesjonalnego" sterowania, to poczytaj o scalonych sterownikach diod np. serii MBI50 i MBI51 (do dostania w maritexie). Tam masz wszystko, czego Ci potrzeba:
    * rejestry szeregowe
    * output enable
    * konfigurację trybów pracy
    * źródła prądowe (podłączasz diody prosto do wyjść)
    * sterowanie jasnością za pomocą PWM

    Jedyna wada to cena no i lutowanie SMD. Ale pomyśl, ile miejsca na płytce zajmą Ci te wszystkie rejestry/demultipleksery/przerzutniki/rezystory (już nie wspominając o tym, że cięzko Ci będzie wyprowadzić sterowanie każdej diody z osobna).

    Pozdrawiam,
    Dr.Vee