Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 23 lut 2025, o 21:16


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 6 sty 2015, o 19:56 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 23 lip 2014
Posty: 12
Pomógł: 0

Hej
Chciałbym pracować na matrycy Led 16x16. Potrafię przesłać dane do wyświetlania
rejestrem przesuwnym przez SPI. I tu oszczędzam prawie 2 porty.
Ale do multipleksowania potrzebuję kolejne 2 pełne porty, które też chcę oszczędzić.
I pytanie(a) brzmi(ą): czy ma sens poprzez driver mocy (np. ULN2803) i za pomocą
kolejnych rejestrów przesuwnych multipleksować?
Czy ustawić aż 4 rejestry szeregowo i słać 32 bity - pół na dane a pół na multipleksowanie?
Czy po dwa rejestry równolegle (jeden dla danych, drugi do multipleksowania) i
jakoś na przemian przełączać (jak albo czym bo jest jedno MOSI) i na nie podawać po 16 bitów?
A może jeszcze inaczej?
Pozdrawiam wszystkich.

_________________
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 sty 2015, o 21:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

Ja bym rozwiązał to tak, jak piszesz. Osiem wierszy po 32 bity. Ja jakiś czas temu robiłem matrycę 21x20. Zrobiłem 7 wierszy po 60led i całkiem nieźle to śmiga. Oczywiście ULNy na kolumnach i wiersze sterowane przez Mosfety.
Rejestry na wierszach i kolumnach to chyba kiepski pomysł. Oszczędzisz ze trzy piny a zamieszania w kodzie programu za dużo według mnie.


Autor postu otrzymał pochwałę

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2015, o 15:35 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 23 lip 2014
Posty: 12
Pomógł: 0

Dzięki skalarro za odpowiedź, ale.... nie bardzo ją zrozumiałem.
Do obsługi wspólnej anody (i dalej multipleksowania kolejnych anod) potrzebuję 2 porty (16 pinów ) i tu rejestr oszczędzi kilkanaście pinów.
Na katody podaję 16 bitów aby coś się zapalało, tu też widziałbym rejestr przesuwny.
A moje pytanie jest o praktyczne rozwiązanie. Zapytam więc jeszcze raz pomijając sprawy prądu i napięć.
1. Czy ustawić 4 rejestry w kaskadzie i słać 32 bity - pół na dane a pół na multipleksowanie?
2. Czy po dwa rejestry równolegle (jeden dla danych - 16 bitów , drugi do (anod) multipleksowania - 16 bitów) i
jakoś na przemian przełączać (jak albo czym bo jest jedno MOSI w atmedze) i na nie podawać po 16 bitów?
3. A może jeszcze inaczej?
ozdrawiam

_________________
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2015, o 16:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

Każdy sposób jest dobry jak zadziała. Zależy co chcesz osiągnąć. Zając jak najmniej pinów procka czy jak najmniej skomplikować program. Ja wybrałbym rozwiązanie pośrednie.
Podziel matrycę na pół żeby była 8×32. Kolumny zapalają przez rejestry a wierszami steruj z procka (multipleks)
Według mnie tak najprościej - zapalasz wiersz i wysyłasz zawartość jakiejś tablicy. Potem drugi wierz trzeci i aż do 8.
Mam nadzieje ze jasno w miarę tym razem

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2015, o 20:08 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

A ja bym to zrobił na jednym pinie i czterech rejestrach. Albo na trzech rejestrach i demultiplekserze.
Nie wydaje się to bardziej skomplikowane softwarowo...za to o wiele ciekawsze ;-)

...Z drugiej strony...gdybym chciał uprościć hardware do maksimum, zmniejszając tym samym koszty, zużycie energii, pracochłonność montażu itd to pomyślałbym o charlieplexingu, gdzie tę matrycę być może dało by się wysterować za pomocą 17 pinów, a więc praktycznie dowolną atmegą.


Autor postu otrzymał pochwałę

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Ostatnio edytowano 8 sty 2015, o 20:54 przez xor, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2015, o 20:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Ja multipleksuje aktualnie 16 katod i 8 anod na 3 rejestrach przesuwnych wysylajac 24bity powiem ze latwiej bylo mi to opanowac niz kombinowac multipleksowanie na pimach uc

Namazane ze smarta.


Autor postu otrzymał pochwałę

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2015, o 21:58 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 23 lip 2014
Posty: 12
Pomógł: 0

Dzięki wszystkim
Korzystam z gotowych matryc 16x16 ze wspólną anodą.

Chyba w końcu Cię zrozumiałem skalarro. To faktycznie najprostsze podejście. I tak robiłem z matrycą 8x8.
Wybacz ale uczę się też zadawać pytania.

Xor Twoja podpowiedź to jak głos z innego wymiaru. Teraz to mam klina z demultiplekserem
oraz charlieplexingiem (Maxim?). Postaram się zgłębić.

Majster multipleksujesz katody (16sz.) jak rozumiem ? Z jaką częstotliwością odświeżania?

jeszcze raz dzięki wszystkim

_________________
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sty 2015, o 07:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

W ukłedzie mam 3 rejestry przesuwne gdzie

1 rejestr to 8 katod
2 rejestr to 8 katod
3 rejestr to 8 anod

Ty musiałbyś dodać jeszcze 1 rejestr by mieć dodatkowo 8 anod.

Wysyłam za 1 razem 24 bity w 32 bitowej zmiennej 800 razy na sekundę dla 2 wyświetlaczy 7 seg. Co daje mi 100x na sek dla jednego znaku czyli 8 katod.

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO