logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zbudować sterownik do matrycy LED 10x10 z ATmega8 i SPI?

lord_dagoth 03 Gru 2007 19:29 14616 16
REKLAMA
  • #1 4548070
    lord_dagoth
    Poziom 25  
    Posty: 860
    Pomógł: 68
    Ocena: 6
    Witam ponownie.

    Mam mały problem... ostatnio próbuje samodzielnie zbudować sterownik do matrycy led, 10x10 diód.

    Obecną wersję zaprojektowałem na podstawie 6 mikrokontrolerów ATmega8. 5 z nich steruje diodami, zaś szósty steruje kilkoma LED'ami oraz pełni funkcję mikrokontrolera nadrzędnego, sterującego pozostałą piątką.

    Komunikują się poprzez interfejs SPI. Do złącz są podłączone diody. Czy schemat jest poprawny?

    I tak na marginesie mam pytanie... zna ktoś jakiś układ scalony używany właśnie do sterowania matrycą led 10x10? bo widziałem jakiegoś MAX'a do matryc 5x7.

    Z góry dziękuję za pomoc:)
    Załączniki:
    • schemat.JPG (624.79 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • REKLAMA
  • #4 4548615
    lord_dagoth
    Poziom 25  
    Posty: 860
    Pomógł: 68
    Ocena: 6
    Poszukuje właśnie jakiegoś prostszego rozwiązania. Póki co zastosowałem coś takiego, gdyż mógłbym przećwiczyć niedawno nabyte umiejętności programowania mikrokontrolerów i korzystania z interfejsu SPI.

    Tamte drivery mają 16 kanałów... a ja potrzebuje sterować 100 diodami:(

    Lecz teraz musze wykonać coś takiego dla kogoś... więc poszukuje znacznie wydajniejszego, tańszego i szybszego rozwiązania ;)
  • Pomocny post
    #5 4548847
    danthe
    Poziom 30  
    Posty: 1256
    Pomógł: 125
    Ocena: 294
    Należy zastosować sterowane multipleksowane. Diody połącz w matrycę 10x10 , anody razem kolumnami, katody wierszami. W ten sposób otrzymasz 10 "wejść" i 10 "wyjść" matrycy, więc do jej wysterowania wystarczy 20 portów. Należy cyklicznie podawać zasilanie na kolejne kolumny zwierając odpowiednie wyjścia wierszy do masy. Zeby nie być gołosłownym oto moja konstrukcja (prototyp) 30x7 na 3x atmega8.


    Jak zbudować sterownik do matrycy LED 10x10 z ATmega8 i SPI?

    Jak zbudować sterownik do matrycy LED 10x10 z ATmega8 i SPI?

    Jak zbudować sterownik do matrycy LED 10x10 z ATmega8 i SPI?

    Litery trochę rozmyte bo napis się przesuwa a ja robiłem bez lampy błyskowej więc długi czas naświetlania.
  • REKLAMA
  • REKLAMA
  • #7 4549578
    lord_dagoth
    Poziom 25  
    Posty: 860
    Pomógł: 68
    Ocena: 6
    Wielkie dzięki za zainteresowanie i szybką pomoc:)

    Jak znajde troche czasu i to zmontuje, to pokaże:)
  • #8 4603823
    Konto nie istnieje
    Konto nie istnieje  
  • #10 4606317
    Konto nie istnieje
    Konto nie istnieje  
  • #11 4606337
    Konto nie istnieje
    Konto nie istnieje  
  • #12 4606383
    danthe
    Poziom 30  
    Posty: 1256
    Pomógł: 125
    Ocena: 294
    Przy jakiej częstotliwości generatora wydaje ci się że diody świecą znacznie jaśniej, czy nie masz wtedy efektu "płynącego punktu"?

    Aha, przeczytałem jeszcze raz i już rozumiem. Gdy diody sterowane są wolno to widzisz przesuwający się punkt świecący pełną jasnością. Gdy zwiększysz częstotliwość to bezwładność wzroku powoduje że nie widzisz już płynącego punktu lecz linię ale za to świecącą z 1/28 jasności jednej diody. I jest to zupełnie normalne, diody zapalają się z pełną jasnością ale za to tylko przez 1/28 czasu na sztukę. podejrzewam że dalsze zwiększanie częstotliwości nie powinno wpływać znacząco na jasność świecenia diod. Proszę spróbować z częstotliwością 5 kHz i 10 kHz, jeśli jasność będzie taka sama lub niewiele się różniła to znaczy że trafiłem.
  • #13 4606680
    Konto nie istnieje
    Konto nie istnieje  
  • #14 4606800
    danthe
    Poziom 30  
    Posty: 1256
    Pomógł: 125
    Ocena: 294
    Jest to możliwe, ale należy rozbić sterowanie na najwyżej 10 kolumn do multipleksu, jeśli będzie więcej to już nawet forsując prąd diod kilka razy powyżej nominalnego ne da się uzyskać właściwego świecenia. inne rozwiązanie to użycie specjalizowanych układów scalonych które zasilają diody prądem ciągłym - np. MBI 5025, 16 diod led na scalak, można łączyć szeregowo, ustalenie prądu diod jednym rezystorem tak jak w lm3914.
  • #15 4609485
    Konto nie istnieje
    Konto nie istnieje  
  • #16 7177559
    niw
    Poziom 11  
    Posty: 45
    Ocena: 13
    Odgrzebię trochę temat było tego trochę na necie no ale nie znalazłem konkretnej odpowiedzi która rozwiała by moje wątpliwości.

    Mam do wykonania matrycę LED składającą się z 10 elementów w których umieszczonych są po 64 diody. Innymi słowy mam moduły 8x8 diod które muszą połączyć w szereg tak aby otrzymać listwę 1x16 znaków bądź jak kto woli 8x80.

    W nocie katalogowej tych modułów znalazłem informację że Forward Current Per Chip wynosi 30mA a Peak Forward Current Per Chip wynosi 100mA przy czym Pulse Width dla tego impulsu nie powinna być większa niż 0,1ms. Co w związku z tym...

    Chciałem z początku zastosować sterownik np MBI5025 który multipleksował by mi kolumny a każdą diodę w poszczególnej kolumnie multipleksować mikrontrolerem. Myślę że to w miarę jasne jest. Jednak po przeliczeniu czasów czyli 0,1ms na diodę (albo i trochę więcej bo MBI ma max I 90mA) wyszło by że częstotliowść odświerzania takiej matrycy wynosiła by ok 15 Hz. Tak więc nie wiem teraz czy mógłbym np zwiększyć relatywnie prąd na diodę zmniejszając jednocześnie czas trwania impulsu czy to co jest podane w nocie to już górna granica? jeśli mogę zwiększyć prąd to znacie jakiś sterownik które by wycisł więcej niż to 90-100mA na kanał które oferuje MBI5025?

    Jeśli tak się nie da to wpadłem na inny pomysł. Można by multipleksować tylko kolumny a diody w poszczególnej kolumnie zapalać na raz wtedy częstotliwość odświeżania rośnie nam 8 krotnie czyli ponad 120 Hz ale za to zużycie prądu wzrasta tak samo :/ i nie wiem czy na dłuższą metę było by to ekonomiczne. Poza tym jeśli uważacie że takie rozwiązanie było by najlepsze to mógłby mi ktoś pomóc jak dobrać elementy sterujące tak aby stracić jak najmniej na mocy Wiem że multipleksowanie trzeba by zrobić na licznikach ale jakimi tranzystorami i jak je wysterować dla kolumn i wierszy ?

    Jest też pomysł 3. Podzielić matrycę na mniejsze kawałki które będą obsługiwane jak w pomyśle pierwszym przez pojedyncze mikrokontrolery które będą np nadzorowane przez układ nadrzędny. Mikrokontrolery wyświetlały by jednocześnie na kawałkach matryc część tekstu która powinna akurat znajdować się w części matrycy przez nie nadzorowaną... pytanie tylko czy to nie jest przerost formy nad treścią...

    Z góry dziękuję za pomoc i nakierowanie na odpowiednie tory:)




    Jest zarys ogólny i tak na prawdę chodzi o to która koncepcja dla tej matrycy którą chcę złożyć była by najlepsza
  • #17 7180777
    danthe
    Poziom 30  
    Posty: 1256
    Pomógł: 125
    Ocena: 294
    Można by użyć następującego rozwiązania: 5 szt. SCT2024 - łatwo dostępne np. w tme, mogą służyć do obsługi całego wiersza, czyli podłączasz do końcówek wyjściowych wszystkie 80 kolumn. Warunek - wyświetlacze mają wspólną anodę podłączoną do wiersza. Wtedy wystarczy że wrzucisz do sterowników SCT cały wiersz, i podasz zasilanie na 1 wiersz na np. 1 mS, i tak po kolei wszystkie wiersze. Oczywiście wejścia wierszy wszystkich wyświetlaczy powinny być połączone razem.

    Można też bez problemu użyć po jednej sztuce atmega8 do obsługi pojedynczego modułu 8x8, podobnie jak w moim prototypie, a dane przesyłać szeregowo pomiędzy modułami. Podejrzewam jednak że taniej będzie na układach sct2024.

Podsumowanie tematu

✨ Dyskusja dotyczy budowy sterownika do matrycy LED 10x10 z wykorzystaniem mikrokontrolerów ATmega8 i interfejsu SPI. Autor początkowo zastosował sześć mikrokontrolerów ATmega8, z których pięć steruje diodami, a szósty pełni funkcję nadrzędną. Uczestnicy sugerują, że do matrycy 10x10 wystarczy jeden mikrokontroler ATmega8 z odpowiednim multipleksowaniem, gdzie anody łączone są kolumnowo, a katody wierszowo, co wymaga 20 portów. Wskazano na możliwość użycia specjalizowanych układów scalonych do sterowania matryc LED, takich jak MBI5025 czy SCT2024, które umożliwiają zasilanie diod prądem ciągłym i multipleksowanie kolumn. Poruszono kwestie częstotliwości odświeżania i jasności świecenia diod przy sterowaniu impulsowym, zwracając uwagę na ograniczenia prądowe i czasowe diod LED (np. prąd impulsowy do 100mA przy czasie impulsu max 0,1ms). Wskazano, że zbyt szybkie multipleksowanie zmniejsza jasność ze względu na krótkie czasy załączenia diod. Zaproponowano także rozwiązania z użyciem tranzystorów do sterowania prądem oraz multipleksowanie kanałów w celu uzyskania odpowiedniej jasności i stabilności wyświetlania. Dyskusja zawierała przykłady schematów i prototypów matryc LED z mikrokontrolerami ATmega8 oraz uwagi dotyczące praktycznych aspektów sterowania dużymi matrycami LED, np. 64x64, z podziałem na mniejsze moduły 8x8.
Wygenerowane przez model językowy.
REKLAMA