Czy multipleksowanie jest kiedykolwiek lepsze niż Charlieplexing?

17

Przejrzałem dwie metody, a multipleksowanie wydaje się mieć tylko jedną zaletę, że łatwiej byłoby wyśledzić uszkodzoną diodę LED niż w tablicy Charlieplex.

Czy ktoś bardziej kompetentny może wyjaśnić inne kompromisy?

Chris B. Behrens
źródło

Odpowiedzi:

26

Tak, multipleksowanie i charlieplexowanie mają swoje zalety i najlepiej nadają się do różnych zadań.

Główną zaletą charlieplexowania jest to, że można tego dokonać na średnim mikrokontrolerze, napędzającym więcej diod LED za pomocą mniejszej liczby pinów I / O i potencjalnie bez zewnętrznego sprzętu poza diodami LED.

Teraz zaleta „braku zewnętrznego sprzętu” dotyczy tylko stosunkowo niewielkiej liczby diod LED, aż do osiągnięcia aktualnego limitu mikrokontrolera, i narzuca limit jasności, którego nie mają tablice multipleksowane. Jeśli zdecydujesz się nie używać zewnętrznego sprzętu, generalnie jesteś ograniczony do napędzania tylko jednej diody LED w matrycy w danym momencie - w przeciwieństwie do multipleksowanej tablicy, w której prowadzisz jednocześnie cały rząd.

Po dodaniu zewnętrznego sprzętu do napędzania diod LED o wyższej jasności, aby dopasować je do multipleksowanej matrycy, charlieplexing traci swój blask.

Po pierwsze, tablica multipleksowana jest adresowana ściśle według wierszy i kolumn; bardzo łatwo to zrobić. Włącz wiersz 1, włącz wszystkie kolumny dla wiersza 1, wyłącz wiersz 2, włącz wszystkie kolumny dla wiersza 2 i tak dalej. Z kolei tablica z charlieplexem jest znacznie mniej prosta. Zawsze jest niepotrzebny wiersz po przekątnej, a ja osobiście używam tabel przeglądowych, aby odnosić się między moimi tablicami a prostokątną tablicą, w której przechowuję moje dane.

Po drugie, zabójcą jest to, że charlieplexowanie zwykle wymaga sterowników trójstanowych. Multipleksowanie odbywa się jednak przy ścisłej logice binarnej włączania i wyłączania. Jeśli masz mikrokontroler o niskiej liczbie pinów i chcesz sterować dużą liczbą diod LED, łatwo jest użyć zewnętrznych układów logicznych (np. Rejestru przesuwnego i / lub sterowników LED) do sterowania osiami X i Y. Większość układów typu rejestr przesuwny nie obsługuje tristatingu niezbędnego do zrobienia tego samego w tablicy z charlieplexem. Dostępne są dedykowane sterowniki charlieplexed, ale nie są one tak wszechstronne.

Po trzecie, w tablicy z charlieplexem każdy pin, który nie robi czegoś aktywnie, jest nadal podłączony do diod LED poprzez słabe połączenie („wysokiej impedancji”). I chociaż połączenie jest słabe, jest niezerowe. Załóżmy, że masz 25 styków we / wy podłączonych do siatki diod LED. Jeśli zaświecisz jedną diodę LED - biorąc jedną z tych 25 linii wysoko, a jedną z tych 25 linii nisko, pozostawia to 23 linie o wysokiej impedancji. W każdym miejscu, w którym linia wysokiego we / wy przechodzi przez diodę LED do linii neutralnej, istnieje pewna możliwość upływu prądu. Niewiele. Może mikroamp tu czy tam. Ale w przypadku nowoczesnych, wydajnych diod LED wystarcza to często, aby stworzyć widoczne duchy.

Po czwarte, trudniej jest kontrolować jasność diod LED w charakterystycznym układzie tablic. W multipleksowanym układzie można użyć dowolnej liczby powszechnie dostępnych „opadających” układów LED regulujących prąd, które regulują jasność każdej kolumny osobno, poprzez zastosowanie regulacji prądu w połączeniu ze sterownikiem PWM. W zakresie, w jakim lokalizacje matrycy z charlieplexem są adresowane indywidualnie i używają tylko rezystora na wiersz lub kolumnę, znacznie trudniej jest wykonać korekcję jasności kropki i pełną animację skali szarości / koloru w tablicy charlieplexx.

Windell Oskay
źródło
1
Dobra lektura. Zapewnia pewien wgląd w twoje peggy projekty ...
NickHalden
Właśnie kupiłem słabe zwykłe diody LED, ale ghosting nadal stanowi problem. Czy lepiej jest użyć rezystora dla każdej diody zamiast każdej linii? Prowadzę 6 diod LED za pomocą Attiny85. Wcześniej użyłem rezystorów 330 Ohm dla każdej linii, a teraz używam 1K. Z 1K dudnienie jest mniejsze, ale nadal tam jest, również diody LED nie są tak jasne, jak przy 330 Ohm oczywiście. Czy to lepiej, że każda dioda LED ma własny rezystor, aby to wyeliminować?
Codebeat,
3

Najbardziej znaczącą wadą świateł „Charlieplexing” jest to, że ogranicza liczbę diod LED, którymi można sterować za pomocą multipleksowania „n” w trybie do n (n-1). Nie uważam, aby wymóg dotyczący sterowników trójstanowych stanowił duży problem w całej technice. Z pewnością konieczność użycia dwóch konwencjonalnych sterowników zamiast sterownika trójstanowego zmniejszy korzyść z CharliePlexing, ale w niektórych przypadkach nadal mogą pozostać zalety (np. Może zmniejszyć liczbę przewodów połączeniowych między panelem ze sterownikami a panelem z światła lub przełączniki).

Jeśli chodzi o przełączniki Charlieplexing, artykuł w Wikipedii nie wspomina o największej wadzie: Charlieplexing nie pozwala biernemu sterownikowi czekać na naciśnięcie przycisku. Z drugiej strony jest to zbyt pesymistyczne co do wymagań dotyczących komponentów. W 1997 r. Wyprodukowałem urządzenie, które skanuje osiem przycisków za pomocą trzech styków we / wy i jednego styku tylko wejściowego na PIC12C508, bez potrzeby stosowania zewnętrznych diod lub innych elementów oprócz IIRC podciągania dla styku PIC, który nie mieć jeden wbudowany; podejście mogło obsłużyć dziesięć przycisków z dodatkowym rezystorem podciągającym (dla innego styku we / wy, który nie miał takiego), ale klient potrzebuje tylko ośmiu przycisków, więc nie było takiej potrzeby.

supercat
źródło
Czy masz schemat tego gdzieś w sieci?
Codebeat
@Erwinus: Wszystkie przewody z procesora są podciągane. Podłącz przełącznik do każdej możliwej pary przewodów (więc jeśli są cztery przewody, byłoby to sześć przełączników; jeśli pięć przewodów, 10; jeśli sześć, siedem lub osiem, 15, 21 lub 28). Podłącz przełącznik między każdym przewodem a uziemieniem (jeden dodatkowy przełącznik na przewód).
supercat,