Sari la conținut
ELFORUM - Forumul electronistilor

Afisaj matrice LED


ohamoha

Postări Recomandate

Salut.Vreau sa construiesc un afisaj LED pentru caractere alfanumerice. Voi lua vreo 20 de module de 5x7 led-uri. Pentru 20 de caractere. Planul meu este ca fiecare modul sa fie controlat de un PIC micut. Un PIC mai mare le va controla pe cele 20 de PIC-uri micute folosind I2C. PIC-ul mare va primi comenzile prin RS232.Intrebarea mea este daca exista vreo solutie mai eleganta decat folosirea a 20 de PIC-uri pentru module.Merci

Link spre comentariu
  • Răspunsuri 13
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • puiu

    4

  • kit

    3

  • ohamoha

    2

  • izua

    2

Top autori în acest subiect

Pentru afisaj cu segmente, MAX7219 e o solutie excelenta si am s-o retin. Din pacate e cam scump pentru folosit la matrice de LED-uri.MAX7219 poate comanda maxim 64 LED-uri individuale, iar un modul 5x7 are 35 de LED-uri. Un MAX7219 costa putin peste 20 de RON. Altfel spus trebuie sa folosesc un numar mare de componente de acest fel (11). Si fiind vorba de bus SPI e mai greu de implementat (pentru ca sunt multe si trebuie legate individual).Eu vrea sa folosesc PIC16F631 pentru fiecare modul. PIC16F631 costa 7 RON.Merci oricum.

Link spre comentariu
  • 2 luni mai târziu...

1. Te ai gandit ca poti sa comanzi mai multe module cu un sigur PIC. De exemplu cinci module comandate cu un sigur PIC(sau poate 6 module). Atunci ti-ar fi necesare 4 PIC pentru comanda afisasului si numai unul pe post de master. Deci ai afisa 20 de caractere cu 6 PIC-uri.

Link spre comentariu
  • 1 lună mai târziu...

Si fiind vorba de bus SPI e mai greu de implementat (pentru ca sunt multe si trebuie legate individual).

Numai CSB-ul e individual, restul semnalelor (SDI, SDO si CLK) pot fi comune.
Link spre comentariu

o matrice de 5x7 este destul de mica. ca atare, recomandabil ar fi ca sa comanzi toate modulele cu 1 pic. la comanda individuala a modulelor de catre un pic, pe langa modul complet neeconomic de rezolvare, vor apare si probleme legate de comunicatie/sincronizare.

http://www.best-microcontroller-project ... splay.html

sau

http://josepino.com/diy/matrix_display

pot fi bune surse de informare.

in plus, s-a discutat si pe acest forum.

bafta!

Link spre comentariu

1. @kit daca folosesti magistrala de tip CAN nu vei avea probleme de sincronizare.2. Daca se utilizeaza un PIC pentru fiecare modul, atunci numai trebuie componente electronice pentru fiecare modul care sa faca multiplexarea ci fiecare PIC face multiplexarea aferenta.

Link spre comentariu

@puiu: in final poti face orice cu orice, cat despre CAN trebuie sa recunosc sincer ca-s in plop, multumesc de pont. totusi, strict la a comanda un led matrix, nu cred ca este economic sa pui un pic pe fiecare modul de 5x7.la cam cum arata de mare matricea mi se pare ca un singur 18f4520 (sau 18f4550 pt usb) ar fi suficient plus, bineinteles, toate circuitele necesare multiplexarii, dar astea-s destul de ieftine.daca grafica este extrem de stufoasa atunci ar mai putea interveni inca un uC pentru a o executa, dar, chiar si asa, ar fi doar 2 uC-uri, si nu o plasa plina.mie mi-a iesit destul de bine cu un 18f4520 la 6 module de 16x16, dar fara prea mari pretentii grafice, doar un scroll.

Link spre comentariu

1. Daca vrei sa faci ceva modular, si care sa poata afisa scrierea si de sus si de jos si sa curga la dreapta si sa curga la stanga, atunci cred ca mai bine iesi cum am spus eu(mai bine un PIC pentru fiecare modul+1 master, dar toate sa aibe interfata CAN), daca vrei ca fiecare realizare sa fie una separata atunci se poate face cu un singur PIC si cu multa electronica. Fiecare metoda are avantaje si dezavantaje.

Link spre comentariu

Mai bine mergi pe niște logice 74xx sau 40xx. Iei un bax de ICuri serial-in parallel-out, și tu trimiți un număr de biți egal cu numărul de coloane sau rânduri, pe câte un clock. Când ai ajuns la numărul de biți pentru un refresh, modifici linia de assert/output enable, și acei biți trimiși de tine vor apărea pe ieșirile integratelor. E ca și când ai adăuga un număr de pini în plus controlerului.Un chip logic de genul ăsta e 2-3 lei, sau mai ieftin SMD. Nu au protocol high level (stil i^2c/spi/i^2s/can), folosind pur și simplu clock și data, și pot fi înseriate în număr mare, pentru a adăuga cât mai multe ieșiri. Dacă le folosești la 15V, și semnalul de la PIC la primul IC de acest tip e modificat (cu un tranzistor, buffer, ceva) să ajungă tot la 15V, atunci pot fi considerate și ca drivere de leduri, ca sa nu pierzi luminozitate.

Link spre comentariu

1. Nu este chiar asa de simplu deoarece trebuie sa tii cont si de cate litere are randul si de faptul ca ai o multiplexare de 8, deci 50x8=400Hz este frecventa cu care baleiezi o matrice. De aici trebuie sa vaci calcule.

Link spre comentariu

de fapt sunt doar 7 linii (module de 5x7), iar pe aceste 7 linii trebuie afisate 20 de caractere.

intr-adevar, trebuie 50 HZ dar multiplicat cu 7=>350 Hz.

adica 1/350Hz=0,0028... . rezulta ca fiecare linie trebuie improspatata la fiecare 2ms. asta tinand cont ca pe fiecare modul e plasat un mic latch care tine minte valoarea trimisa in acest interval de 2 ms.

tinand cont ca trimiterea datelor catre module (adica plasarea lor in latch-uri) dureaza, sa zicem, ca 100us, restul de timp poate fi alocat graficii, scroll, shift etc. cred ca este mai mult decat suficient.

cu 2 multiplexoare, 20 de latchuri, un shift, 20 uln2803 se rezolva problema.

mai departe:

1 74HC373 = 0,873 RON x 20=17,46

1 74hc4514= 3,53 RON x 2 =7,06

1 74hc595 = 0,575 RON x 1 =0,575

1 uln2803 = 1,56 RON x20 =31,2

1 18f4520 = 26,61 RON

un total grosier ar fi cam de 83 RON

in balanta,

16F631, luat cu sacosa, face cam 6,26 RON x 20 ~ 125 RON, dar asta numai uC-urile modulelor, fara ala de comanda, basca ceva quarturi si conzi.

pe partea de programare, poate parea complicat la prima vedere de facut multiplexarea. nu e. mi se pare mai complicat sa convingi 20 de uC-uri sa lucreze impreuna (tot de aia mi se pare si mai interesant).

de aia ma gandisem eu ca una bucata pic rezolva problema.

in plus, daca ne uitam pe net vedem ca mai toate implementarile sunt asa.

toate cele bune

erata: se poate face ceva economie la integrate daca grupam ledurile in module de 8 coloane pe 7 linii, rezultand astfel doar 13 module. caracterele vor fi tot pe 5 coloane, dar asta este usor de rezolvat prin soft. astfel vor ramane 4 coloane nefolosite.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări