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

Projektowanie dużego wyświetlacza LED 16x64/24x64/32x64 - doświadczenia i uwagi

tomba 06 Wrz 2007 22:34 5170 7
  • #1 4258008
    tomba
    Poziom 17  
    Posty: 275
    Pomógł: 11
    Ocena: 18
    Witam
    zbiorę doświadczenia i uwagi kolegów w temacie wyświetlania textu lub grafiki na dużym wyświetlaczu LED 16x64 / 24x64 / 32x64 diod

    Podam pierwszy pomysł:

    - moduły MBI502x Taiwanskiej f-my MacroBlock
    do sterownia kolumn w naszym przypadku 64 takie układy 16bit

    - HC595 oraz układy tak zwane ( bramki rejestry zatrzaski )

    - oraz ...... i tu czekam na ugruntowaną praktycznym podejsciem krytykę

    mój wzór tablicy przedstawiam poniżej
    jeden procesor MASTER może byc np. ATMega32
    64 układy SLAVE zdecydowanie 89S52 ( niska cena )
    dla wysterowania każdej kolumny zastosowac 89S52 = 28 nóg podpiąc pod ULN2003 pozostaną 4 wolne piny np. do zaprogramowania transmisji RS232 tylko RX bo dane będą kierowane tylko w jedna stronę lub może 1 WIRE
    Dlatego podałem 1 WIRE bo mam wielki problem z RS232 z 64 odbiornikami lini - tak wiem idealny w tym miekscu byłby RS422 typowy do takiego układu Master i 64 slave

    proszę o wypowiedzi iiiiiii określenie własnego stanowiska w tej kwestii[/youtube]
  • #2 4258168
    antrykot
    Poziom 20  
    Posty: 470
    Pomógł: 27
    Ocena: 27
    Hmm, biorąc pod uwagę koszta scalaków, może lepiej było by zastosować jakiegoś szybkiego CPLD,FPGA czy inne tego typu układy. Masz chyba do 100 I/0, dodając do tego trochę zatrzasków zrobiło by sie z tego coś sensownego, i o znacznie niższej cenie. 64 '51 toche będą kosztować, już nie mówiąc o programowaniu tego :P Ciekawe gdybyś w późniejszej fazie prac miał je wszystkie przeprogramować :)

    Układy typu Xilinx i inne są dużo szybsze od jakiegoś tam AVRka czy 51, dlatego można by coś multipleksować. Podzielić to na jakieś 8x8 czy tam inne, zrobić szynę adresową, zatrzaski i powinno działać.
  • #3 4258855
    Mad Bekon
    Poziom 23  
    Posty: 794
    Pomógł: 31
    Ocena: 36
    Przyznam szczerze trochę mi szczęka opadła jak przeczytałem o tym, że chcesz użyć 64 procków, tylko po to, żeby jednym wysterować 4 kolumny po 8 znaków... Zdecydowanie przerost formy nad treścią.
    Moim zdaniem oczywiśćie.
    Wydaje mi się, że takie procki to CO NAJWYŻEJ CZTERY, a resztę pozałatwiać rejestrami przesuwanymi z zatrzaskami, ULNami.
  • #4 4258996
    tomba
    Poziom 17  
    Posty: 275
    Pomógł: 11
    Ocena: 18
    Powstaje teraz tylko idea...nie gotowe urządzenie i dlatego pytam i otrzymuję cenne opier....
    1. proszę o opinię jakim sterowaniem koledzy by sterowali lepiej i szybciej - szeregowym lub równoległym
    2. tablica jest SLAVE i jest oddalona od nadajnika MASTER 100-200m
    3. tablica wg założeni musi się komunikować z modułem radiowym ( CC1000PP lub SMARTRF ) i tu dlatego praca ATMega32 - tego AVR nie zaprzegam do roboty nad tablicą
    4. jak najprostrzy protokół danych do tablicy ( jak najmniejszą liczbą danych przesłanych po radio [ ponoć się tego wyrazu nie odmienia])

    przykład :
    23;0010100100100100
    24:1010010010010010
    25;0101001010010111
    tutaj te ZERA I JEDYNKI to 28 bit która dioda zaświecona a która nie
    23 oznacza kolumna numer 23 i tak 64 linijki kodu


    odp. antrykot :
    nadal w typowym warsztacie - laboratorum PROTOTYPÓW pozostaje max montaż SMD układów AVR lub '52 ( narazie poza ARM )
    mulipleksowania ma tu nie być - każda dioda sterowana 20mA

    odp. Mad Bekon
    nie tak każda '52 steruje jedną kolumną i tytaj różne wersje można zastosować 4x8 bit ponieważ mamy 32 nogi programowalne tylko jak się dostać do proca z informacją co ma być w danej chwili wyświetlane - dlatego pomysł RS232 - RS422 lub 1WIRE
    w każdej '52 program do wysterowania diod przyjmijmy minimum ( pozostanie 4 nogi na jakiś protokól komunikacji pomiędzy ATMega32 i '52 oraz jedna noga na CLS ( czyszczenie całej kolumny ) 4x7=28bit ten pomysl koszty :
    89S52 +4szt ULN2003 = 4+(4x0,5) = 4+2=6pln ( 28bit na kolumne )
    od MBI5025 16bit 2pln 2x2=4pln ( 32bit na kolumne )
    pójdę dalej w temacie CHCĘ zrobić tablicę kolorową
    R i B 2 x 14bit dwa kolory red i blue
    może jeszcze by tak dać kolor yellow

    Doczytałem gdzieś na mikrokontrolerach wypowiedzi kolegów, że skłaniają się bardziej do sterowania równoległym aniżeli szeregowym
    tutaj mamy inne 1WIRE szybko można tym gadać w jedną stronę szybciej niż RS232 ( 9600 - 19200 może wyżej )
    widziałem wiele jak nie wszystkie posty o tablicach LED kolegów

    proszę jeszcze raz o opinię jakim sterowaniem szeregowym lub równoległym lub 1WIRE

    I2C - tak sądzę odpada odpada
  • #5 4259050
    Mad Bekon
    Poziom 23  
    Posty: 794
    Pomógł: 31
    Ocena: 36
    Ale o co pytasz? O przesyłanie danych do tablicy, czy o wyświetlanie.

    Moim zdaniem powinieneś to zrobić tak, że w tablicy znajduje się sterownik, który wyświetla ten obraz który ma w pamięci. I tu raczej zastosowałbym sterowanie równoległe, a nawet równoległo -szeregowe.

    Do przesyłania danych do tablicy z innego urządzenia, połączenie szeregowe.

    Ja wyobrazam sobie to np tak:
    64 kolumny, to jest 8 zatrzasków 8 bitowych.
    Procek wystawia 8 pierwszych bitów, jeden zatrzask, ciach, 8 kolejnych, ciach, 8, ciach... tak 8 razy i przejście do następnego wiersza.

    Jeśli faktycznie chcesz, żeby te procki multipleksowały to, to wykorzystaj połączenie szeregowe, i przesyłaj od razu od mastera cały obraz jaki ma wyświetlić dany procek slave.
    Zależy jak szybko obraz ma się zmianiać.
  • #6 4259162
    tomba
    Poziom 17  
    Posty: 275
    Pomógł: 11
    Ocena: 18
    własnie cenne informacje piszesz 64 kolumny 8 układow 595 i sterowanie tych układów szeregowo po 8 bitów ale to mało albo czegoś nie rozumiem proszę napisz mi to na łopacie

    ja mam na kazdej kolumnie 28 diod kolumn jest 64
    i wszystkie procki steruję tylko jednym przewodem 1WIRE
    napiszę dlaczego tak walczę o tym moim sterowaniu
    każda kolumna będzie oddalona od siegie o 5-7 cm
    płytki zatem muszą być pinowo do czoła tablicy
    ważne tu jest połaczenie tego w całość i minimalizacja połączeń kablowych
    każda plytka '52 połączona jest tasiemką 10pin
    Ucc, Gnd, 1WIRE osobne zasilanie 28x64=1792diod =35,84 A max takimi tasiemkami nie pójdzie
    w kazdej '52 mogę zapisać kody na stałe standardowe obrazy texty które modę wysyłaćnp tak porówanj poprzedni post odnosnie kodowania
    23A16
    24A16
    25A16
    26A16
    wszystkie kolumny dostają informację wyświetlania wzoru 28bitowego pod munerem 16
    litera A w tym przypadku brak srednika oznacza gotową bitmape do czytanie u siebie czyli '52
    wtedy nie potrzbuję wysyłać wogóle numeru kolumny tylko A16 i po przesłaniu tylko takiej informacji na CAŁEJ tablicy wyświetli sie zaszyta wczesniej bitmapa : LOGO firmy, dane adresowe, telefony, texty stałe itd
    jak wyświetlam inne dane mogę znacznie wolniej tworzyć obraz zwłaszcza że tablica mogła by był RGB kolorowa
    PROSZĘ TU O OPINIĘ i ZBIOROWĄ zj....... może się mylę i czegoś teraz nie widzą


    sorry zapomiałem dopisać czy macie PANowie jakieś wyczucie jakię prędkości można uzyskać przy różnych sposobach sterowaniach
    szeregowo równolegle może inaczej - KODY gotowych grafik zapisanych w EEPromie lub flashu programu
    widziałem tablice 126x15 kolegi[/img]
  • #7 4259300
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    Strasznie to wszystko będziesz miał skomplikowane :wink:. Dlaczego nie chcesz wykorzytsać możliwości '51 do mapowania pamięci?

    Moim zdaniem prościej będzie jak całym wyświetlaniem zajmie się jeden uK któremu wysyła się rozkazy dt. wyświetlanych informacji. Odpada programowanie każdego uK osobno, połączenie tego w całość magistralą 1WIRE która jest bardzo wrażliwa na dokładność oscylatorów. Dodatkowo trzeba załadować do każdego z nich info co ma wyświetlać. Wykorzystując np: kartę SD można w bardzo prosty sposób zmieniać wyświetlane teksty czy bmp. Ale to tylko propozycja :wink: wybór należy do ciebie.
    Poniżej zamieszczam koncepcję takiego wykonania. Między płytkami prowadzisz magistralę 8bitową + zasilanie + sygnały sterujące. Myślę że te kilka kabelków więcej nie robi róźnicy.
    Aby wyświetlić jedną kolumnę wystarczy 5 rozkazów. Zapalenie kolumny oraz 4x zapalenie tych 28diód w kolumnie. Oczywiście będzie potrzebne odpowiednie zaprogramowanie (ale tylko jednego uK :wink: )
    Z pozdr.
    MK

    ups :oops: doczytałem ze nie chcesz mulipleksowania. To zmienia postać rzeczy, jednak przy równoległym przesyle danych nie będzie tego tak mocno widać.
    Załączniki:
    • 64x28.jpg (279.03 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #8 4259382
    Mad Bekon
    Poziom 23  
    Posty: 794
    Pomógł: 31
    Ocena: 36
    Z tego co zrozumiem, tablica którą chcesz zrobić, będzie dużych wymiarów. A z dalszej odległości nie widać migotania w przypadku multipleksowania, tak mi się wydaje w każdym razie.
    Myślę, że to co napisał Markosik jest całkiem całkiem.
    Do tego faktycznie wykorzystać jakąś pamięć typy flash i mozesz zapisywać obrazów od groma.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy projektowania dużego wyświetlacza LED o rozmiarach 16x64, 24x64 lub 32x64 diod, ze szczególnym uwzględnieniem sterowania kolumnami i przesyłania danych. Proponowany układ bazuje na modułach MBI502x firmy MacroBlock do sterowania kolumnami (64 układy 16-bitowe), rejestrach przesuwanych typu HC595 oraz mikrokontrolerach ATMega32 jako master i 89S52 jako slave do sterowania każdą kolumną. Autor rozważa zastosowanie magistrali 1-WIRE do komunikacji z powodu problemów z RS232 przy 64 odbiornikach, choć sugerowane jest też RS422 jako bardziej odpowiednie rozwiązanie. W odpowiedziach pojawiły się sugestie zastąpienia wielu mikrokontrolerów (64 sztuki) przez szybsze i bardziej efektywne układy CPLD lub FPGA, co zmniejszyłoby koszty i złożoność programowania. Krytykowano nadmierne użycie mikrokontrolerów i proponowano ograniczenie ich liczby do kilku sztuk, a resztę funkcji realizować za pomocą rejestrów przesuwanych i multipleksowania. Dyskutowano o sposobach sterowania – równoległym, szeregowym lub mieszanym – oraz o konieczności prostego protokołu transmisji danych, zwłaszcza przy komunikacji radiowej (moduły CC1000PP lub SMARTRF). Zwrócono uwagę na problemy z magistralą 1-WIRE, wrażliwość na oscylatory i trudności w synchronizacji wielu układów. Proponowano też alternatywne podejścia, takie jak centralizacja sterowania jednym mikrokontrolerem z pamięcią do przechowywania obrazów (np. karta SD) i przesyłanie gotowych bitmap do wyświetlacza. Wskazano, że multipleksowanie może być akceptowalne przy dużych wymiarach tablicy i odpowiedniej odległości obserwatora, co zmniejsza efekt migotania. Podsumowując, dyskusja skupia się na optymalizacji architektury sterowania dużym wyświetlaczem LED, minimalizacji liczby mikrokontrolerów, wyborze odpowiedniego protokołu komunikacji oraz efektywnym przesyłaniu i wyświetlaniu danych tekstowych i graficznych.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA