Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

"obrobienie" tysiąca LED-ów

11 Gru 2002 23:54 7241 33
  • Poziom 31  
    Cze mam taki pomysł żeby zrobić tablicę diodową składającą się z 1000 sztuk diod LED miał by to być rodzaj modułu wyświetlacza dołączonego do LPT i sterowanego przy pomocy programu na kompie a nie przez sam procek tylko pytanie jaki procek ma tyle wyprowadzeń i jest dość szybki żeby obrobić w multipleksie LED które miały by być zorganizowane w 25 linii i 40 kolumn co daje 65 linii do sterowania do głowy przychodzi mi tylko ATMEGA ale może macie jakiś sposób na zrobienie tego na innym procku. Dodam jeszcze że taki pomysł jest zrealizowany u mnie w szkole na prawie 10 000 LED-ów i do tego dwukolorowych !!! sterowanie tym jest na tyle szybkie że da radę wyświetlić naprawdę płynną grafikę w trzech kolorach. Nie jest to bynajmniej sprzęt fabryczny a czyjaś praca dyplomowa.
  • Computer Controls
  • Poziom 13  
    Liniami możesz sterować poprzez wykorzystanie dwóch dekoderów
    BCD/1 z 16 , wtedy wystarczyłoby jakieś 8 lini do sterowania dekoderami, jedna adresująca dekoder który w danym momencie pracuje. I w ten sposób z 65 lini można zejść do 49 :)
  • Poziom 42  
    Ja bym to zrobil na pamięci dwuportowej RAM do jednego portu hardwarowy licznik wybierający komorke i rząd (kolumne) wyswietlacza, do drugiego portu LPT. Trzeba by też policzyć jak szykbo trzeba wpisywać nowe dane do pamięci żeby nie było widać stopniowego odswierzania.
  • Poziom 12  
    Witam.
    Możesz też dać rejestry szeregowo-równoległe połączone kaskadowo (jeden za drugim) i wtedy masz tylko CLK, DANE i CLR. Niestety przesłanie kilkudziesięciu bitów będzie trochę trwało... (a może nie).

    Powodzenia.
  • Poziom 14  
    Problem nie wydaje sie niesamowicie trudny ale ku mojemu zdziwieniu mało osób przyłącza sie do tej dyskusji choć jest to ciekawe zagadnienie. Dobry rok temu planowałem zrobienie podobnej tablicy jednakże koszty czegoś takiego okazały sie ogromne. Jednakże moje przemyślenia może Ci sie przydadzą:

    W tym przpadku po pierwsze trzeba sie zająć ilością wyprowadzeń, warto by pomysleć nad rejestrami, teraz kwestia jakimi. Sterowanie wszystkiego z poziomu jednego wielopinowego procesora (np. atMEGA) nie jest zbyt łatwym rozwiązaniem, moze softwerowo nie byłoby problemu ale kwestia wykonania obwodów drukowanych z gąszczem długich ścieżek nie budzi chyba zbytniego entuzjazmu. Warto by zastosować rejestry szer-równ, standardowe 4094 bez problemu działaja z fCLK=1MHz, bądz pobawić sie w zespoły rejestrów równ-równ. W tym drugim przypadku mamy zapewnioną dużą prędkość odświeżania. Jeżeli chodzi o rejestry 4094 to dzieki wstępnemu buforowaniu nie ma problemu z przesyłaniem danych i dopieru po zakończeniu transmisji można wszystko wystawić na "zewnątrz". Wszystko będzie oczywiście działać poprawnie z odpowiedni dobranymi diodami/matrycami LED, ich światłość musi być odpowiednia ale to juz chyba oczywiste.

    Co myślicie o tym, może ktoś zweryfikuje moje przemyślenia.

    POZDRAWIAM :multi:
    patryk
  • Poziom 31  
    Z racji kosztów też zmniejszyłem swoje początkowe zamiary bo miało być 8000 ledów ale koszty jak wiadomo ogromne zwłaszcza że ledy musiały by być ultrajasne. Myślałem nad tym trochę i doszłam do wniosku można by zbudować moduły z których każdy obrabiał by np. 200 diod można by dzięki temu rozbudowywać urządzenie jedyny problem dla mnie to skomunikowanie ze sobą modułów opartych np. na 89s8252 chociaż nie wiem czy się wyrobi. Jedyne co przychodzi mi do głowy to wykorzystanie czegoś ala RS232 wykorzystując wbudowany w procesor interfejs. Tylko jak dołączyć do jednego coma 5 procków ?
  • VIP Zasłużony dla elektroda
    Pracujesz w firmie która robi tablice led dla autobusów komunikacji miejskiej? bo ta firma mieści się w Bydgoszczy i jest niezła, poszukaj tam wtyczki, powiedzą ci jak tym się steruje.
  • Poziom 42  
    Są do kupienia segmenty 5x7 diód mające ząbki na krawędziach żeby je równo montować.
  • Computer Controls
  • Poziom 15  
    KJ napisał:
    jedyny problem dla mnie to skomunikowanie ze sobą modułów opartych np. na 89s8252 chociaż nie wiem czy się wyrobi. Jedyne co przychodzi mi do głowy to wykorzystanie czegoś ala RS232 wykorzystując wbudowany w procesor interfejs. Tylko jak dołączyć do jednego coma 5 procków ?

    Standardowy UART '51 posiada tryb pracy wieloprocesorowej. Działa to tak, że jeden procesor jest nadrzędny i inicjuje transmisję, a pozostałe są podrzędne(każdy ma swój niepowtarzalny adres) i oczekują na swoją kolejkę. Dane w tym trybie są 9 bitowe, dodatkowy bit określa czy jest transmitowany adres czy dane. Procesor nadrzędny jeżeli chce się skomunikować z którymś z pozostałych wysyła najpierw jego adres, wtedy procek o tym adresie oczekuje na transmisję danych a pozostałe blokują UART dla danych aż do momentu gdy procek nadrzędny nie wyśle kolejnego adresu, wtedy znowu wszystkie procki podrzędne sprawdzają czy to jest ich adres i.t.d.
    (Mam nadzieję, że nie zamotałem za bardzo :D )
    Ale wydaje mi się, że w tym przypadku najlepszym rozwiązaniem będzie użycie rejestrów szeregowo równoległych z zatrzaskiem.
  • Poziom 42  
    Tadzior podsunał mi rozwiązanie przecież te wszystkie procesory muszą TYLKO ODBIERAĆ DANE a nie nadawać. Więc można im nadać adresy i wszystkim razem spiąć nóżki RxD i podłączyć do jednego RSa. Wtedy można urzyć dowolnych procedur trasmisji szeregowej bez specjalnych protokołów.
  • Poziom 15  
    No właśnie, coś w tym stylu.
  • Specjalista - oświetlenie sceniczne
    barzdiej mi sie to kojarzy z I2C
    moze zamiast nadawania każdemu prockowi adresu zrobić tak aby każdy z nich reagował tylko na któryś tam bajt. kazdy procesor liczy tarnsmitowane bajty i np: procek piąty z kolei reaguje tylko na piąty bajt. też ciekawe rozwiazanie i wydaje sie prosztrze "o połowe" -bo za kazdym razem nie trzeba wysyłać sdresu i danej :!: :idea:. Jest to wykorzystane w sprzecie dyskotekowym (oświetleniu) pracujacym w standardzie DMX 512. niby usatwia sie adres urzązdenai zworkami, ale sterownik nie wysyła za każdym razem adresu i danej, tylko cały czas "sypie" bajtami danych. a odbiornik tylko je zlicza i reaguje na te które go interesują (ustawienie zworek)


    tu jest stronka, gdzie ten standard był kiedyś opisany- nie dość że było tego nie wiele, to teraz cosik nie moge go w ogóle znaleść
    http://www.pxm.pl/
  • Poziom 15  
    Jest to rozwiązanie mniej elastyczne, bo musi być stała i z góry założona ilość wysyłanych danych
  • Poziom 14  
    Mysle że rozwiązanie z modułami nie wypali, wraz ze wzrostem ilości modułów będą coraz większe problemy z synchronizacją. Mysle że nie ma sensu bawić się w systemy wieloprocsorowe. Łatwieszym rozwiązaniem było by zastosowanie rejestrów szer-równ .

    POZDRAWIAM :multi:
    patryk
  • Poziom 27  
    rozkrecalem taka tablice w autobusie. w srodku oprucz przetwornicy napiecia jesc procesorek PIC okolo 20 nozkowy i scalak z wyswietlacza LCD. i do tego duuuuzo diod.
    wszystko jest sterowane transmisja RS
  • Poziom 11  
    moze wiecej praktyki,jakis schemacik:>?
  • Poziom 27  
    Fima PIXEL, adres w każdym autobusi, no prawie każdym :), lub kolejowe zakłady łączności na ludwikowie. Tam może Ci ktoś pomóc.
  • Poziom 34  
    kwestja transmisji:
    a może jakiś masowy I2C? 8 procków podżędnyh, jeden nadżędny.. procek nadżędny miał by jedno wyjście taktujące i 8 wyjść danych.. podżędne miały by wejście taktujące i wejście danych (jeden bit)
    wtedy dane ulegały by szybszej transmisji...
    (master by nadawał do 8 układów równocześnie.. zero adresowania.. prędkość od woli programisty)
    podżędny obsługiwał by tylko 25 linii/5 kolumn...
  • Poziom 34  
    przez noc przyszedł mi inny pomysł:
    niestosować protokołu i2c ale zastosować transmisje synchroniczną.. każdy atmel w podstawce dil20 ma uart zdolny pracować w trybie synchronicznym więc odbiór danyh był by jusz w kwestji sprzętu.. układ nadrzędny by wysyłał dane programowo..
    co do rozkłądu lepiej by było zastosować 5 układów podrzędnych do obsługi po 8 kolumn... master by taktował slavy do cyklicznej zmiany stanu wyjść, a sam by wybierał linie... co by pozwoliło radykalnie uprościć matryce.
    załącznik przedstawia moje wyobrażenia..
  • Poziom 11  
    przepraszam za 'lamerstwo' lecz nie jestem z kregu elektronikow:) natomiast interesuje sie programowaniem i chialbym wykonac na lpt obsluge duzej ilosci urzedzen zewnetrznych. Mam tylko pytanie jak obsluguje sie multiplexery ?
  • Poziom 27  
    Takie tablice produkuje PIXEL z Bydgoszczy i R&G z Mielca .. praj jakas firma z czech albo slowacji. wszystko idzie na transmisji RS485 jak dobrze pamietam.

    schemat jest nieosiagalny. prawa autorskie i korzysci z profitów zwiazanych z serwisowaniem i naprawa.
  • Poziom 19  
    Ja też chciałem sobie coś takiego zrobić (ale 200 LED :) i doszedłem do jednego normalnego rozwiązania - jest coś takiego jak rejestr przesówny z zatrzaskiem (jakaś TTLka) - jeżeli chodzi o szybkość - nie ma sprawy, dodatkowo jest zatrzask i podczas wpisywania nowych danych, stare nie zostają zmienione, póki nie poda się impulsu wyzwalającego - bajka :-)
  • Poziom 40  
    Taką tablice kiedyś naprawiałem. Wykonana była z rejestrów przesuwnych ale TTL 74LS164 które wprost sterowały diodami nawet bez rezystorów ograniczających. Rejestry pracowały jako kolumny wyświetlacza łączone kaskadowo i wykonane w postaci modułów więc szybko można było naprawić nieświecącą kolumne. Tablica wyświetlała jednak dane statyczne - nie wiem czy wyrobiła by się przy animacjach - chociaż TTLe są dosyć szybkie. Druga sprawa to zasilanie - UFF stado modułów impulsowych. Wydaje mi się ze świetnie nadawało by się do tego kilka zasilaczy z PC - AT.
    p.s.
    74164 nie ma zatrzasku ale to nie szkodzi - przy szybkim taktowaniu danych - zmiana jest niewidoczna
  • Poziom 34  
    sq6ade napisał:
    74164 nie ma zatrzasku ale to nie szkodzi - przy szybkim taktowaniu danych - zmiana jest niewidoczna

    przecież na czas wpisywania danych można wygasić sygnał wyboru linii (żadna linia nieświeci)..
    hm.. pomysł bardzo dobry.. można powiedzieć że przewyrzsza mój pomysł prostotą i końcową ceną..
    ostatecznie można zrobić tak jak ja to pokazałem ale zamiast slave zastosować rejestr przesuwany (każdy z osobnym wejściem danych.. bende przy swoim :) )
    demultiplekser też by tak szło zastąpić :)
  • Poziom 32  
    Ja wlasnie pracuje nad taka tablica, ktora ma okolo 1500 diod. Rejstr wykonalem na 4094 plus wzmacniacz na UL2803 Calosc steruje ATmega32, ktory wyposazony jest w RS485 sterujacy innymi tablicami. Transmisje zrobilem jednokierunkowa bo na wejscie Rx podpialem klawiature na AT89c2051 Anody wybieram przez tranzystory MOSFET z kanalem P aby miec wiekszy wykop.
  • Poziom 39  
    Robiąc takie tablice pamiętajcie o sprzętowym zebezpieczeniu przed zanikiem multipleksowania. Bez niego jak się program w uC zawiesi to padnie cały rządek LED-ów.
  • Poziom 11  
    Procki stosowane w tablicach diodowych:
    R&G - 8051, 90S8515 (będą nowe)
    PIXEL - 8086
    LAVO - niepamietam :)
    M-TEST (SL)- jeszcze nie rozbieralem
  • Poziom 32  
    W mojej tablicy nad programem czówa wotchdog. Myślę że to wystarczy.
  • Poziom 11  
    Ta zalezy jak jest zbudowany hardware. Jesli podczas resetu nogi uP sa na "H" to w demultiplekserze masz wybrany 16 wiersz (przy 4 bitach) i jezeli w kolumnach jest przypadkowa wartosc (wlaczenie zasilania) wiersz bedzie swiecil. Bedzie swiecil swiatlem ciaglym co przy malych R moze doprowadzic LEDy (kilka matryc) do stanu ze juz nigdy nie zaswieca :)