Wyświetlacz matrycowy

Dawno temu kupiłem kilka wyświetlaczy matrycowych 5x7 (takich:

formatting link
ły służyć jako wyświetlacz zegara z "ładniejszymi" cyferkami niż 7-segmentowe. Ale z powodu pracochłonnego sterowania zrobiłem tylko zegar na małym Atmelu z jednym wyświetlaczem, z przewijanym tekstem.

Znalazłem te wyświetlacze w szafie i sprawdziłem, czy może istnieje już jakiś wygodny w użyciu sterownik (żeby jednak zrobić kompletny zegar). Znalazłem MAX6953 sterujący czterema takimi wyświetlaczami. Ale jest według mnie zbyt skomplikowany w obsłudze i trudno go kupić.

Znalazłem też kilka opisów projektów sterowania wieloma wyświetlaczami 5x7 (np. cgh_SVRqchs na YT). Zwykle zastosowanych jest kilka rejestrów przesuwnych, służących do wybierania kolejnych kolumn. Diodami w rzędach sterują oddzielne wyjścia mikrokontrolera. Przy 8 modułach 5x7 jest 40 kolumn, co sprawia problemy: szybkość odświeżania oraz konieczność stosowania dużych prądów chwilowych. Każda kolumna świeci przez mniej niż 1/40 czasu i musi świecić odpowiednio jasno.

Dlatego chcę zrobić prosty (w montażu) i tani sterownik wyświetlacza. Jedną matrycą 5x7 sterowałby jeden układ ATtiny2313 za ok. 5 zł. Ogólna koncepcja: głównym zadaniem 2313 będzie multipleksowanie pięciu kolumn i wyświetlanie 5x7 punktów, możliwie szybko (10 kHz?). Dane do wyświetlania przesyłane byłyby szeregowo, np. przez USART. Komunikacja z głównym procesorem byłaby jednokierunkowa

- procesor tylko wysyła dane ("bitmapę") do wyświetlacza. Przy zastosowaniu wielu modułów, wszystkie wejścia RxD są połączone, a każdy moduł 5x7 ma indywidualny numer 8-bitowy nadany na stałe podczas programowania. Procesor wysyła "słowo sterujące", numer modułu i 5 (lub 7) bajtów bitmapy. W razie potrzeby można zrobić buforowanie i przesyłane dane tylko zapamiętywać (a wyświetlać stare). Dopiero w chwili wysłania ustalonego "słowa synchronizującego" (które dotrze do wszystkich modułów jednocześnie) może nastąpić aktualizacja treści. Takie rozwiązanie pozwoli na realizację precyzyjnego synchronizowania wyświetlanej treści, "skalowalność" (w podstawowej wersji do 256 modułów) i małą ilość dodatkowych elementów (na każdy moduł 5x7 jeden układ 2313 i kilka rezystorów). Przy szybkości transmisji

250 kbps, 7 bajtach potrzebnych na przesłanie danych do jednego modułu i 8 modułach daje to możliwość zmiany treści całego wyświetlacza około 450 razy na sekundę.

Czy ktoś mógłby ocenić powyższą koncepcję (np. napisać, że da się łatwiej używając ...)?

Drugi element to właściwy zegar. Skoro ma być "inny", to będzie różnił się od zwykłych następująco:

- Zamiast zwykłego rezonatora kwarcowego (albo 50 Hz z sieci, DCF, GPS) będzie miał układ DS32KHZ - generator 32768 Hz z kompensacją temperatury. Jest tam termometr i zapisana funkcja częstotliwość = f(temperatura). Generator automatycznie dokonuje korekty. Układ kosztuje 12 zł.

- Zegar będzie wyświetlał czas z rozdzielczością 0,1 sekundy (a może 0,01 sekundy). M.in. do tego jest potrzebne dokładne sterowanie wyświetlaczem.

- Zależnie od oprogramowania - wyświetlanie fontem "proporcjonalnym", fragment wyświetlacza przeznaczony na "linijkę świetlną" pokazującą dziesiąte części sekundy itp.

A może ktoś już zrobił coś podobnego?

P.

Reply to
Piotrne
Loading thread data ...

W dniu 18.08.2014 o 01:47, Piotrne pisze:

Pewnie że da się łatwiej, ale zacznij od ustalenia przy jakim średnim prądzie diody ten wyświetlacz ma taką jasność jaką chcesz.

Jak wyjdzie ci, że średni prąd 3..4mA jest wystarczający i będziesz zapalał cały wiersz jednocześnie (40 ledów), to przy multipleksowaniu 7 wierszy potrzebujesz bufora o wydajności 21..28mA na kolumnę. Taką wydajność mają układy CMOS szybkich serii (VHC?). Trzeba tylko sprawdzić maksymalny prąd jaki może płynąć przez linie VCC/GND w takim układzie (musi być na poziomie 200mA). Przy takich założeniach wystarczy ci np. 5 szt. VHC595 do sterowania kolumn + jeszcze jeden HC595 z 8 tranzystorami TSM2302CX do sterownia wierszy.

Całość będziesz mógł sterować z uC przez zaledwie 3...4 linie (CLK, DATA, LATCH, OE - przydatne do regulacji jasności przy pomocy PWM) i do wysyłania danych wykorzystasz SPI (+ ewentualnie DMA). Odświeżanie wystarczy jak będzie 100Hz dla wszystkich wierszy, czyli nowy wiersz musisz wystawić 700 razy na sekundę. Przy 40 pikselach w poziomie wystarczy ci zegar >40kHz (np. 1MHz) w SPI. AVR nawet bez DMA poradzi sobie z tym bez problemu.

Coś podobnego masz na tym schemacie:

formatting link
jest to pomyślane na sporo słabszy średni prąd ledów (1..2mA).

Reply to
Zbych

W dniu 2014-08-18 09:00, Zbych pisze:

Te wyświetlacze "zegarowe" są inne niż wcześniej napisałem (tamte są za małe): LTP1257AA, opisane tu:

formatting link
To są wyświetlacze dwukolorowe 5x7. Według dokumentacji: Peak forward current per dot (1/10 duty cycle): 100 mA Continuous forward current per dot: 25 mA Z kolei dla ATtiny2313: Maximum DC Current per I/O Pin: 40 mA Skoro już projektuję sterownik, to powinien potrafić wykorzystać pełne możliwości wyświetlacza, albo przynajmniej jakiś znaczący ułamek. Wyświetlacz ma połączone anodami diody, po 14 sztuk na jednej linii (kolumnie). Przy bezpośrednim sterowaniu z mikrokontrolera prądu "w poziomie" wystarczy na 1/3 dopuszczalnej mocy. Na kolumnę potrzeba byłoby chwilowo nawet 1400 mA przy pełnej mocy. Zakładając ok. 1/3 mocy (40 mA chwilowego prądu): 560 mA. Czyli potrzebne jest "wspomaganie" co najmniej dla kolumn.

Sterowanie z multipleksowaniem wszystkich 40 kolumn sprawia większe problemy. A liczba dodatkowych układów jest porównywalna z wersją z niezależnym multipleksowaniem każdej matrycy 5x7.

P.

Reply to
Piotrne

Ale nadal nie sprawdziłeś, czy trzeba dusić aż 10 czy 25mA na diodę, żeby wyświetlacz miał wystarczającą jasność. A może wystarczy 1mA?

Dobrze to sobie policz, bo jak będziesz kombinował z 10mA średniego prądu diody, to cały wyświetlacz po zapaleniu wszystkich pikseli będzie potrzebował prawie 3A prądu na jeden tylko kolor.

Zapomniałeś, że prąd nie płynie tylko przez pin I/O, ale także przez piny zasilające i suma nie może przekroczyć 200mA, więc tylko 5 pinów I/O może na raz wydusić te 40mA.

No to bierzesz garść tranzystorów N-MOS, które już ci podałem.

Multipleksujesz wiersze (których masz 7 na kolor) a nie kolumny. Wysłanie 5 bajtów (40 bitów) przez SPI, to taka straszna komplikacja?

Reply to
Zbych

Zobacz na MAX7219, co prawda jest on do 8x8, ale może obsługiwać w zasadzie dowolne matrycowe Nx8, gdzie 0<N<9, lub zwykłe znakowe. Dostępny na kontenery na ebay-u. Jedna sztuka już za $1 z przesyłką, więcej sztuk oczywiście taniej :-) Jak będziesz miał po scalaku na cyfrę, to też problemu odświeżania nie będzie. Dodasz fotodiodę i będziesz mógł też programowo ściemniać wyświetlacz w nocy:-)

Też się przymierzam do takiego zegarka (mam już MAX7219 i matryce 8x8), ale pewnie jako źródło czasu dam jakiś stary kiepski moduł gps :-)

Pozdrawiam

Marek

Reply to
Marek Wodzinski

W dniu 2014-08-19 00:40, Marek Wodzinski pisze:

To wygląda na znacznie szybsze rozwiązanie niż robienie sterownika "od zera". Szczególnie, że na ebay-u są gotowe moduły: jeden wyświetlacz 8x8 razem z MAX7219 na płytce, z boku złącze 5-pinowe (VCC, GND, DIN, CS, CLK). Cena za całość poniżej 3$, przesyłka za darmo. Chyba zamówię takich 8 sztuk, a wyświetlacze 5x7 schowam z powrotem do szafy. Ale właściwie pytałem o sterowanie, bo chciałem użyć starych wyświetlaczy...

Ciekawe: na ebay-u MAX7219CNG kosztuje 1$, a w sklepie TME 26zł + VAT (taniej jeśli kupuje się więcej sztuk). Jest jednak problem z dostawą z Chin: trwa miesiąc, a nawet 5 miesięcy (tak mi się zdarzyło).

P.

Reply to
Piotrne

W dniu 2014-08-19 01:45, Piotrne pisze:

Jak te przeleżały w szafie, to miesiąc nie gra roli :) Ja ostatnio kupuje większość pierdołków u chińczyków. Tych mało pilnych. Do sklepu daleko, dupy ruszać się nie chce, potrzeby małe. Zachciało mi się naprawiać pewne urządzenie gdzie padł lm1117 5v. U nas w Polsce chciałem zamówić to i parę drobiazgów, a tam zakupy za

30pln i dodatkowo 16 poczta :) Zamówiłem u chińczyka, przesyłka darmowa i wydałem na to samo 12pln, w tym jeden ból, tych stabilizatorów dostane 10 :) u nas prawie 3 pln widziałem w sklepie gdzie akurat chciałem zakupy zrobić. U nas warto jak coś pilnego, a jak może poczekać to... Chyba, że duże ilości, stały klient etc. A same max7219 to 5 szt po 8pln na ebayu widzę.
Reply to
Jawi

W dniu 2014-08-19 01:45, Piotrne pisze:

Słabo szukałeś, w Polsce w polskim sklepie mozna go kupić za 5zł, z wysyłką 2-3dni.

Reply to
janusz_k

Dlaczego ciekawe? ;-) Standard w polskich firmach. A jak się jednak przełamiesz i chcesz kupić, to *po* zakupie się dowiadujesz "sorki, skończyły się, doślemy na własny koszt już za jedyne

2 tygodnie". Z tego powodu praktyczne przestałem kupować w polskich sklepach elektronicznych innych niż Allegro (bo tam można wystawić komentarz "zadowolonego" klienta i to działa odstraszająco) i od dwóch lat wspieram gospodarkę brytyjską. W Farnellu wybór jest taki, że w głowie szumi, ceny interesujących mnie elementów przeważnie były niższe, przesyłka jedynie 5 zł. droższa niż z TME, więc się kompensuje i jest u mnie następnego dnia na biurku. Bez ANI JEDNEGO problemu.

W PL kupuję tylko elementy, których potrzebuję dużo, tanio i "na kiedyś", np. ostatnio 32 przekaźniki na 12V, a i tak sklep AVT nawalił z przewodami silikonowymi -- sprzedają rzeczy, których nie mają na stanie.

Kupowałem procesory w Microchip Direct w Malezji, przyszły po ~2 tygodniach. Więc to raczej nie o Chiny w sensie geograficznym chodzi, tylko o to, jakiego sobie dostawcę sklep weźmie.

Pozdrawiam, Piotr

Reply to
Piotr Wyderski

Januszu, zastanawia mnie co motywowało Tobą w momencie gdy zdecydowałeś, że nie podasz namiaru na ten sklep koledze...

Reply to
Pszemol

Na świętego Hieronima jest deszcz

albo go ni ma :-)

I jaką przesyłkę się wybierze. Jeśli zwykłą pocztę, to nic dziwnego że paczka idzie 2...6 tygodni.

Reply to
Zbych

W dniu 2014-08-20 02:14, Pszemol pisze:

Po 1 bo sie nie spieszy tzn nie szuka na wczoraj :)

2 po to żeby trochę się wysilił i poszukał, elecena.pl jest tutaj pomocą. Znalezienie tańszego zajęło mi <5sek, sądzę że jest to w jego możliwościach intelektualnych, w końcu to nie "identyfikator" :) a jak nie znajdzie to zapyta wtedy podam mu sklep.
Reply to
janusz_k

No ale wciąż nie widzę powodu aby nie podać odrazu i skrócić całą sprawę. No chyba że lubisz być proszony i odgrywać rolę profesorka... Ja np. o serwisie elecena.pl nie słyszałem nigdy i nie szukałbym tam.

Reply to
Pszemol

Użytkownik Pszemol napisał:

Koledze Januszowi trzeba chyba wyjaśnić że tutaj nie elektroda gdzie nabijając kolejne posty i zbierając lajki gromadzi się punkty zajebistości. :)

Reply to
AlexY

W dniu 2014-08-21 10:24, AlexY pisze:

Bo on w amerce nie działa, szuka po polskich sklepach.

Nie przesadzaj, rozróżniam grupy news od forów typu elektroda. Elecena to wyszukiwarka podobna do np ceneo ale szuka to co nas interesuje

formatting link

Reply to
janusz_k

A co to ma do rzeczy? Często bywam w Polsce i robię tam także zakupy.

No widzisz... od razu lepiej.

Reply to
Pszemol

W dniu 2014-08-22 19:29, Pszemol pisze:

A skąd mam wiedzieć że polsce też kupujesz? po prostu uprzedziłem że szuka po polskich sklepach, chociaż ostatnio jakiś chińczyk też się podpiął pod tą wyszukiwarkę.

Wiesz, mam ponad 54 wiosny na karku i nie miałem problemu ze znalezieniem tej kostki, a szukałem bo mnie zainteresowała. Pytający ma pewnie coś koło połowy tego i potrafi tylko znaleść w TME?

Reply to
janusz_k

W dniu 2014-08-22 20:39, janusz_k pisze:

pojawia się tu taki często pytający, które zadziwia swoim rozgarnięciem. a jeszcze młodszy, powinien być "internetowy" :)

Reply to
Jawi

Wiek nie ma tu nic do rzeczy. Raczej chodzi o uprzejmość lub jej brak z Twojej strony - jakbyś celowo chciał zataić część informacji. Może przewrażliwiony jestem, ale tak mnie dotknęło "mentorstwo" Twojej wypowiedzi i teraz to potwierdziłeś: chciałeś aby się "szczeniak" lepiej postarał i sam poszukał, nie? :-)

Reply to
Pszemol

W dniu 2014-08-23 00:30, Pszemol pisze:

Jesteś :)

ale tak mnie dotknęło "mentorstwo"

Ale ta młodzież dzisiaj delikatna i przewrażliwiona.

Reply to
janusz_k

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.