Sterowanie wieksza iloscia wysw. LED

Aug 17, 2004 23 Replies

Potrzebujê sterowaæ kilkunastoma wy¶wietlaczami LED, ka¿dy od 2 do 6 cyfr, najchêtniej za po¶rednictwem I2C. Na razie mam 3 pomys³y, niestety wszystkie maj± wady:



  1. MAX6956 - chyba najprostsze w realizacji, jednak uk³ad trudny do zdobycia w Polsce.
  2. PCF8575 - 8 bitów na wybór cyfry, 8 do sterowania segmentami. Ze wzgl. na ograniczon± pulê adresów, trzeba kombinowaæ z dynamicznym adresowaniem.
  3. uP (np ATtiny26) + ULN2803 - hmm... to rozwi±zanie podoba mi siê coraz bardziej, ale na pewno znajdzie siê jaki¶ haczyk :-)

Macie mo¿e jeszcze jakie¶ pomys³y?



Darek ¯o³na


No, jest jeszcze SAA1064 - ³atwy do zdobycia i na 4 cyfry

Leszek

U¿ytkownik "Leszek W" <leszek @poczta.onet.pl> napisa³:

Ale drogi i du¿y, nawet nie bra³em ich pod uwagê. Poza tym to samo ograniczenie - ma³a pula adresów.

Darek ¯o³na

U¿ytkownik "Leszek W" <leszek @poczta.onet.pl> napisa³ w wiadomo¶ci news:cfu1uu$nt2$ snipped-for-privacy@nemesis.news.tpi.pl

Jak czêsto ma byæ aktualizowa tre¶æ na tych wy¶wietlaczach? Bo jest jeszcze jeden patent ( (c) by ziel).

D³uuugi ³ancuch HC595 albo innych 4094. (Je¶li ma byæ zbyt nierozs±dnie d³ugi do mo¿esz go ew. podzieliæ na kilka mniejszych równoleg³ych). £adujesz go szeregowo, bit po bicie ca³± zawarto¶ci± a potem jednym STROBem rozprowadzonym równolegle do wszystkich rejestrów przepisujesz nowe stany na wyj¶cia. HC595 mo¿na spokojnie taktowaæ setkami kHz i wy¿ej. Nawet je¶li ³añcuch bêdzie mia³ 128 ko¶ci (czyli 1024bity) to prze³adowanie ca³o¶ci zajmie kilka..na¶cie...dziesi±t ms.

BTW. Co to bêdzie? Tablica kursów do kantoru? ;-)

U¿ytkownik "Marek Dzwonnik" <mdz@WIADOMO_PO_CO_TO.message.pl> napisa³ w wiadomo¶ci

to jest calkiem dobry patent robilem tak i dane wsuwalem sprzetowym SPI z ATMega o ile pamietam na full predkosci wiec zegar mial pare MHz

chodzilo OK

wygodne i chyba najtansze z mozliwych rowiazan

U¿ytkownik "Marek Dzwonnik" napisa³:

To te¿ jest jakie¶ rozwi±zanie, ale mo¿e siê nie sprawdziæ, bo ilo¶æ wy¶wietlaczy podpiêtych do tego samego ukladu steruj±cego jest zmienna, a tu musia³yby byæ wszystkie kostki wpiête w szereg, czyli albo wszystkie na p³ycie g³ównej i mnóstwo kabli do wy¶wietlaczy, albo kombinowaæ co¶ ze zworkami. Poza tym nie wystarczy do bezpo¶redniego sterowania LED-ami, trzeba do³o¿yæ jeszcze po kostce na segment, a to ju¿ zajmuje du¿o miejsca i koszt ro¶nie. Ale pomy¶lê jeszcze nad tym.

Nieee... deska rozdzielcza do rajdówki.

Darek ¯o³na

Dariusz Zolna napisal(a):

Ja tez stosuje takie rozwiazanie od jakiegos czasu. Kiedys mialem zrobic projekt na multipleksie, ale siadlem, zaczalem liczyc i wyszlo, ze mulipleks jest po prostu drozszy niz te kilka kostek. Przewodow trzeba wiecej rozprowadzic. No i sa klopoty z zasilaniem.

kwestia ile prądu potrzebujesz na segment. Możesz też wziąć segmenty z driverami i wejściem BCD, to masz mniej sieczki na płycie i potrzebujesz jeden HC595 na dwa segmenty. Ja używam HC595 do sterowania dwiema matrycami po 24 LEDy każda. Mają małą moc (prąd na diodach < 5mA) więc mam je podpięte bezpośrednio do rejestrów. Sterowane jest toto ATTiny12. Te dwie matryce są ze sobą połączone tasiemką 4-przewodową (+, -, strobe, data).

Waldek

U¿ytkownik "Marcin E. Hamerla" napisa³:

Multipleks odpada, to mo¿na sobie robiæ dla max kilkunastu cyfr. Ale licz±c koszty, to AtTiny26 + ULN2803 + reszta, wychodzi mi ok 12 z³ / wy¶wietlacz niezale¿nie od ilo¶ci cyfr, a do ka¿dego modu³u wy¶wietlacza potrzebujê 4 przewody. Rozwi±zanie z rejestrami, jest rzeczywi¶cie trochê tañsze (ok 3 z³ / cyfrê), ale trzeba na nie sporo miejsca i pokombinowaæ co w przypadku, kiedy nie wszystkie wy¶wietlacze s± pod³±czone.

Darek ¯o³na

U¿ytkownik "Waldemar Krzok" napisa³ w wiadomo¶ci:

Hmm... coraz bardziej przekonujecie mnie do tego rozwi±zania :-) Jedna kostka na cyfrê, to nie jest jeszcze tak du¿o, zamontowane powierzchniowo da siê umie¶ciæ za ka¿d± cyfr±, wiêc miejsca nie zajmie. Na p³ycie g³ównej w przypadku braku którego¶ z wy¶wietlaczy, trzeba bêdzie za³o¿yæ zworkê i powinno hulaæ.

Darek ¯o³na

U¿ytkownik "Dariusz Zolna" snipped-for-privacy@abc.com napisa³ w wiadomo¶ci news:cfva97$hfu$ snipped-for-privacy@atlantis.news.tpi.pl...

Mozesz sygnal z ostatniego rejestru wpuscic spowrotem na procesorek, bedzie mozna automatycznie wykryc liczbe rejestrow. Taki PnP ;)). Tylko jeden przewod wiecej na szynie i na koncu zworka.

Krzysiek Rudnik

U¿ytkownik "Dariusz Zolna" snipped-for-privacy@abc.com napisa³ w wiadomo¶ci news:cfv7bd$1uh$ snipped-for-privacy@atlantis.news.tpi.pl

"Zmienna" tzn? Czy zamierzasz rekonfigurowaæ uk³ad w czasie u¿ytkowania? O adresie zespo³u 595+bufor+wy¶w.LED decyduje jego pozycja w ³añcuchu. £±czysz ³añcuch, wpisujesz adresy do sta³ej tablicy w programie i uzywasz... do czasu nastêpnej rekonfiguracji.

Je¿eli wydajne LED-y to mo¿e wystarczy im te kilka mA jakie siê da poci±gn±æ z HC lub HCT?

-------------- IMO Wy¶wietlacze da siê zaprojektowaæ w postaci standardowych modu³ów w dwoma gniazdami IDC - wej¶ciowym i wyj¶ciowym do ³±czenia w ³añcuch. Przy monta¿u SMT modu³y maj± szanse byæ niewiele wiêksze od samych wy¶wietlaczy. Nie wiem wprawdzie w jakim uk³adzie i odleg³o¶ciach chcesz rozmieszczaæ te wy¶wietlacze, ale ja bym to zrobi³ mniej wiêcej w takim uk³adzie:

formatting link

  • ca³e pole odczytowe podzielone na modu³y obejmuj±ce grupê cyfr przyporz±dkowan± do jednej wy¶wietlanej wielko¶ci.
  • na ka¿dym module: bufory zegara i strobu, N*HC595, N*wy¶w. (N=2...6)
  • modu³y po³±czone 16 ¿y³ow± ta¶m± rozprowadzajac± zasilanie, masê i sygna³y: DATA, CLK, STB (ew. mo¿na do³o¿yæ jeszcze OE i sterowaæ jasno¶ci± w PWM.)
  • na ka¿dym module po dwa gniazda IDC. Wtyki IDC wpiête parami na wspólnej ta¶mie, pomiêdzy ka¿d± par± przeciête linie DATA. W ten sposób zasilanie i reszta sygna³ów leci jedn± nie pociêt± ta¶m±. Ta¶ma 16-zy³owa jest wziêta ze sporym zapasem, ale jeszcze da siê j± ³adnie uk³adaæ a zarazem zapewnia du¿y nadmiar linii masy i zasilania a przede wszystkim redundancjê styków.
  • jak siê sprytnie zaprojektuje p³ytkê, to bêdzie mo¿na odcinaæ potrzebn± liczbê cyfr i tylko krosowaæ domkniêcie pêtli danych.
  • na ka¿dym module do³o¿y³bym jeszcze parê LED-ów do diagnostyki (przede wszystkim linii DATA)

U¿ytkownik "Marek Dzwonnik" napisa³:

Niekoniecznie w czasie u¿ytkowania, ale konfiguracja mo¿e byæ dla ka¿dego u¿ytkownika inna.

Odpada. To musi byæ konfigurowalne przez osobê montuj±c± uk³ad, bez pojêcia o elektronice.

W sumie powinno wystarczyæ 5mA / segment.

Zrobiê to na jednym gnie¼dzie, reszta po³±czeñ bêdzie na p³ycie g³ównej, co u³atwi te¿ konfiguracjê - w przypadku braku którego¶ z modu³ów, wystarczy za³o¿yæ zworkê pomiêdzy przepe³nieniem z poprzedniego i wej¶ciem danych nastêpnego.

wy¶wietlaczy.

Zgadza siê, tak chcê to zrobiæ.

Odleg³o¶ci bêd± kilkunasto - kilkudziesiêcio centymetrowe. Chodzi tylko o dowolne rozmieszczenie wy¶wietlaczy na p³ycie czo³owej.

Tzn. ¿eby szukaæ ewentualnej przerwy w ³añcuchu? Ze wzgl. na to ¿e panel czo³owy bêdzie najprawdopodobniej z plexi, odpada. Ale wypuszczê sobie jakie¶ punkty diagnostyczne na p³ycie g³ównej.

A przy okazji - wpad³em na fajny pomys³ robienia estetycznych p³yt czo³owych przy u¿yciu bardzo prostych ¶rodków. Jak sprawdzê w praktyce, to rzucê opis na grupê.

Darek ¯o³na

U¿ytkownik "Dariusz Zolna" snipped-for-privacy@abc.com napisa³ w wiadomo¶ci news:cfvg8u$j2u$ snipped-for-privacy@nemesis.news.tpi.pl

Mo¿na trzymaæ adresy w EEPROMIE i wprowadziæ tryb konfiguracyjny. Np. w³±czamy grupê "obrotomierz" w tryb "migaj±cych ósemek" i jednym przyciskiem przesuwamy po ca³ej tablicy a¿ siê znajdzie na swoim miejscu.

Tylko zwróæ uwagê, ¿eby nie przesadziæ z d³ugo¶ci± linii i obci±¿alno¶ci± uk³adów.

To mog± byæ LEDy smd na tylnej stronie modu³ów czyli niewidoczne dla puliczno¶ci. A mog± siê przydaæ do szybkiej oceny gdzie pu¶ci³ styk na ta¶mie. W ka¿dym razie i tak by³bym sk³onny co najmniej zdublowaæ punkty styku i liniê danych.

Mile widziane :-)

U¿ytkownik "Marek Dzwonnik" napisa³:

Podoba mi siê ten pomys³ :-)

Licz±c powiedzmy po 15cm na modu³, to wyjdzie ze 2 metry miêdzy pierwszym i ostatnim, bior±c pod uwagê powroty to 4m, czyli 13ns opó¼nienia o ile dobrze liczê. Wiêcej jak 100kHz do wype³niania rejestrów mi nie potrzeba. Chyba ¿e co¶ ¼le kombinujê :-) Bardziej obawiam siê jednak 1,5A potrzebnego do zasilenia ca³ego uk³adu w max. konfiguracji :-/ Tego ju¿ na 7805 nie zrobiê ;-) no i trzeba pomy¶leæ co z ciep³em zrobiæ.

Zgadza siê, mo¿na SMD z ty³u lutn±æ. Wiêkszo¶æ linii bêdzie mo¿na zdublowaæ na ta¶mie 10. ¿y³owej.

Darek ¯o³na

Obecnie steruje 3800 LED. Odświeżanie 20ms. Co 20ms odbiera z peceta dane do wyświetlenia. Niestety, program w całości napisany w asm. :-(

pzdr Artur

Dariusz Zolna napisal(a):

3? A nie ponizej 1?

No nie wiem czy tak duzo miejsca potrzeba.

?

U¿ytkownik "Marek Dzwonnik" napisa³:

No i zrobiê to tak, ¿e do uk³adu podepnê 16 dodatkowych portów (tak ¿eby starczy³o na wszystkie modu³y wy¶wietlacza) na 2x PCF8574. Za ich pomoc± bêdê sterowa³ liniami zegarowymi oddzielnie dla ka¿dego modu³u. Linie strobe i danych bêd± wspólne dla wszystkich modu³ów. Dziêki temu brak któregokolwiek z modu³ów nie przerwie ³añcucha i nie bêdê musia³ znaæ konfiguracji wy¶wietlacza.

Dziêki za pomoc! Darek ¯o³na

W artykule <cg7e8v$9a8$ snipped-for-privacy@nemesis.news.tpi.pl> autorem którego mieni się Dariusz Zolna, napisano:

Może wygodniej będzie sterować indywidualnie strobami dla każdego modułu ? Wystarczą dwa odwołania do I2C na transmisję do danego modułu (a nie 2*liczba bitów) - będzie szybciej, a do obsługi będziesz mógł zatrudnić sprzętowe SPI.

BTW stroby można sterować z dekodera '42, '154 albo '138, podłączonego do czterech linii portu (max 15 modułów). Właściwie może to być nawet jeszcze jeden łańcuch rejestrów '595 - wtedy wystarczy tylko jedna linia portu podłączona do jego strobu.

U¿ytkownik "JS" snipped-for-privacy@polbox.com.pl_without_pl> napisa³:

Hmm... a mo¿e i wygodniej. Zaraz bêdê drutowa³, to sprawdzê jak to dzia³a.

Masz racjê, siaki¶ dekoder bin-dec bêdzie prostszy w obs³udze, szybszy i tañszy. Pod rêk± mam teraz tylko '145, ale do testów wystarczy.

Pomys³ z 8574 przyszed³ mi do g³owy, bo ja wszystko najchêtniej robi³bym na I2C :-)

Darek ¯o³na

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required