Jump to content
Sign in to follow this  
adry

Cub LED-uri

Recommended Posts

Vreau sa realizez un cub cu leduri, similar cu acesta: https://www.youtube.com/watch?v=6mXM-oGggrM, doar ca de dimensiunile 4x4x4 (ceea ce inseamna 64 led-uri).

Pentru a usura comanda acestuia, voi folosi un procedeu de multiplexare, asa ca voi avea nevoie de 16 terminale de control. Ledurile vor fi actionate cate unul pe rand (de altfel, asa sunt actionate si in clipul dat de mine), la o frecventa foarte mare, creeand iluzia ca sunt mai multe aprinse.

Cele 16 terminale de control sunt impartite in 2 grupuri de 8 (A-H si 1-8). Pentru aprinderea unui led, trebuie sa fie in starea logica 1 cate un terminal din fiecare grup.

Acum problema mea este ca as dori sa controlez acest montaj cu ajutorul computerului, mai exact prin portul paralel. Interfatarea cu portul paralel si controlul acestuia nu este o problema, intrucat o am deja. Problema e ca portul paralel are 8 iesiri. Acum intrebarea e...exista vreo metoda analogica (stiu...cel mai elegant ar fi sa folosesc un microcontroller, dar inca nu prea ma simt in stare de asta), prin care sa pot controla cubul? mentionez ca as putea sa mai fac o multiplexare, reducand numarul de terminale necesare la 12, dar marind necesarul de terminale active pentru aprinderea unui led la 4.

post-566-0-88129500-1344883140_thumb.jpg

Share this post


Link to post
Share on other sites

Ca sa conectezi o matrice de leduri 8 x 8 la portul paralel trebuie sa folosesti un integrat de genul MAX6960, MAX7219 sau MAX6963:

http://datasheets.ma...960-MAX6963.pdf

sau un HT1632C. Dupa aceea trebuie sa lucrezi intens la soft si la modul de interconectare intre LPT si matrice.

La final o sa constati ca era mult mai simplu daca utilizai un microcontroler:

 

post-7268-0-97769400-1344884816_thumb.jpeg post-7268-0-82230900-1344884877_thumb.jpg

 

Softurile pentru PC si PIC:

pic soft.txt

pc side soft Python Code.txt

 

:music_drums:

Share this post


Link to post
Share on other sites

Daca as avea o matrice de 4x4, as putea sa o controlez fara complicatii, legand direct terminalele la interfata cu portul. Problema e ca la 8x8 e putin mai complicat. Ideea e ca nu am nevoie de nu stiu ce softuri sau integrate specializate, ci doar de starea 0 si 1 pe terminalele de control. Si intrebarea era daca pot realiza in mod analogic comang celor 12 sau 16 terminale (as prefera 16 pentru ca e mai simplu, dar nu e o problema sa fac cu 12).

Share this post


Link to post
Share on other sites

Nu m-ai inteles.

 

Uitate la schema cu PIC pe care am atasat-o mai sus. Acum imagineaza-ti ca porturile PIC-ului sunt porturile de date ale portului paralel. CD4017 il lasi asa cum e in schema. Bun, trebuie sa concepi o metoda sa simulezi clock si reset la CD4017. Nu am incercat dar cred ca pinii astia merg simulati cu iesirile 14...17 de la portul paralel. Dar trebuie sa vezi cum pot sa faci asta software.

 

Succes.

Share this post


Link to post
Share on other sites

Am inteles ca nu discutam despre matrici 8x10, ci despre un cub cu 4x4x4 LED-uri. Fiecare LED are trei coordonate: linie, coloana si strat si doua borne de alimentare + si -. Intr-un strat se leaga 16 LED-uri cu bornele + la linii si cu bornele - la coloane. Intr-un strat pot fi aprinse oricate LED-uri si in orice configuratie, aplicand un cuvant de 4 biti la linii si altul (in logica inversa) la coloane, fara multiplexare. Se pot folosi in acest scop doua jumatati ale portului de date ale LPT (4 biti pentru linii si 4 pentru coloane) configurat ca port de iesire. Toate liniile de comanda vor fi "intarite" cu cate un tranzistor repetor, PNP la linii si NPN la coloane. Borna de alimentare cu minus a tuturor tranzistoarelor NPN din fiecare strat va fi multiplexata cu cate un tranzistor NPN comandat de 4 biti din portul de comenzi al LPT (are 3 porturi: Date, Comenzi si Status, cu adrese diferite). Cuvantul de comanda a multiplexarii trebuie sa aiba un singur bit in 1 si restul in 0 (1000, 0100, 0010 sau 0001). Circuitul de alimentare a cubului se alimenteaza la 5 V cu borna minus la masa calculatorului. Se poate alimenta si dintr-o mufa USB care poate duce pana la 0,5 A, sau din doua in paralel. In serie cu fiecare LED se leaga un rezistor pentru limitarea cuentului (de ex. 120 ohmi). In plus schema mai necesita cele 12 tranzistoare si rezistoarele lor de baza (de ex. 1 kiloohm), deci mai simplu decat un microcontroler. Programul din PC va incepe si se va termina cu comanda 0000 pe iesirile de multiplexare a straturilor pentru ca toate LED-urile sa fie stinse. Pentru a obtine o imagine mobila se transmit succesiv adresa unui strat pe 4 biti la portul de comenzi, cuvantul de configurare a stratului pe 8 biti (linii plus coloane) la portul de date, o pauza sub 10 ms, adresa urmatorului strat, etc. Programarea unei imagini mobile este laborioasa, de aceea ar trebui scris in prealabil un program de programare grafica. Cubul se reprezinta in perspectiva cu fiecare LED ce poate fi aprins sau stins cu un click. Cand arata bine, cuvintele de comanda se trec intr-o baza de date folosita de programul de comanda a cubului. La rulare se pot folosi, dupa dorinta, una sau mai multe baze de date.

Mult succes!

Share this post


Link to post
Share on other sites

Va salut, dar un cub facut din leduri are numai pe o singura fata 16 leduri x 6 fete = 96 leduri, de unde 64 leduri ????

 

stima

dan

Share this post


Link to post
Share on other sites

dan, adry,

 

M-am uitat la clipul de pe YouTube. Acum am inteles mai bine ce anume vrei sa faci.

 

dan, daca ai sa te uiti la clipul de pe YouTube ai sa vezi ca daca la 8x8x8=512leduri, la 4x4x4=64leduri. Deci, are dreptate adry.

 

adry, cubul respectiv nu poti sa-l emulezi cu portul paralel, nu e suficient, iti mai trebuie niste circuite adiacente, spre exemplu un Atmega16 sau 32 cum a folosit individul ala in clip. Plus, pe langa astea iti mai trebuie niste integrate de expandare a porturilor microcontrolerului. Ai putea incerca, dar nu sunt sigur daca merge, sa expandezi cu integratele alea portul paralel al PC-ului, dar nu e prea greu, pentru ca trebuie sa jonglezi pe mai multe axe. Te-ai uitat aici:

http://www.instructa...8x8x8/?ALLSTEPS

Edited by prog

Share this post


Link to post
Share on other sites

Solutia data de domnul puriu este mai buna decat cea gasita de mine. Eu vroiam sa fac o matrice de 8x8 pe care sa o impart in 4 submatrici pe care sa le supapun. Asta ar fi complicat oarecum comanda (deoarece ledurile nu aveau niste coordonate bine precizate) dar problema e ca ar fi fost nevoie de 16 terminale, care se pot multiplexa sa ajung la 12. Cu solutia data de domnul puriu, am 12 terminale foarte simplu.

Alta intrebare, pot folosi portul de comenzi ca output, si asfel sa am 12 pini output pe portul paralel?

Share this post


Link to post
Share on other sites

Am postat mai jos o versiune proprie a montajului care se doreste realizat in primul post. Mai ramane de conceput soft-ul si de facut micile ajustari de rigoare, acolo unde e cazul si daca va fi cazul:

Schema cub 4x4x4.pdf

 

Numai bine

Share this post


Link to post
Share on other sites

donpetru, foarte misto a iesit schema, dar eu am niste retineri in privinta utilizarii pinilor de control a portului paralel. Nu stiu daca vor putea fi utilizati ca pini de clock si intrarii pentru pinii A, B, C.

Edited by prog

Share this post


Link to post
Share on other sites

Pinii de control se pare ca pot fi folositi, numai ca 3 dintre ei sunt inversati (daca in registru am 0, pe pin am 1) ceea ce duce la o oarecare neplacere dar nu e un impediment major.

Daca fac alimentarea de la 5V, cum se modifica schema? renunt la partea de alimentare pana la condensatorul C6?

Share this post


Link to post
Share on other sites

Nu trebuie sa renuntati la condensatorul C6 daca folositi o alimentare separata de +5Vcc (spre exemplu de la o sursa PC). Renuntati doar la componentele din amonte pana la C6.

 

Referitor la ajustari, astazi am vazut o mica greseala si anume: pinii D4...D7 de la ambele 74HCT754 nu trebuie sa ramana liberi, ci va trebui sa fie legati de traseele D0...D3 ale aceluias integrat. Sau, aici trebuie facute cateva teste, s-ar putea sa fie nevoie sa mai folositi 2 buc. 74HCT754, care sa preia coloanele E, F, G, H si M, N, O, P, asemenea integratelor U2 si U3. Apoi pinii CP a acestor integrate vor trebui sa faca legatura cu pinii Y2 si Y3 ale 74HC138.

Deci, corectarea greselii presupune doua solutii: folosirea a doua 74HCT754 suplimentare (deci in total vor fi 4 buc.) sau utilizarea pinilor D4...D7 ramasi liberi de la actualele exemplare 74HCT754. Alegerea unei solutii din cele doua mentionate anterior se va face si dupa o analiza prealabila a pseudocodului pe baza caruia se va concepe soft-ul. Daca soft-ul se poate concepe mult mai usor pentru prima solutie (cea in care se va folosi cele doua 74HCT754 existente), atunci se poate merge practic pe aceasta varianta, in caz contrar se va aplica a doua solutie.

 

O sa incerc in cursul zilei de astazi sa revin cu o schema sau doua care sa cuprinda ambele solutii.

Share this post


Link to post
Share on other sites

Multumesc pentru scheme.

In cazul folosirii unor leduri albe, 1k pentru rezistente ar fi de ajuns?

Si din curiozitate, care este rolul condensatorului C6, sau in general, rolul acestor condesatori legati direct la masa?

Share this post


Link to post
Share on other sites

Masurati curentul absorbit de led alimentat printr-o rezistenta serie de un 1K la 5Vdc. Vedeti in acest caz daca ledul lumineaza corespunzator. Daca totul e OK, atunci ramaneti la 1K, daca nu, incercati sa folositi rezistente de valoare mai mica.

 

editare ulterioara: Condensatoarele de 100nF de pe alimentarea fiecarui integrat decupleaza corespunzator alimentarea circuitelor sau altfel spus, asigura performante tranzitorii, fara a da posibilitatea integratelor sa se perturbeze in functionare unele pe altele (afirmatia e cu atat mai valabila cu cat frecventa de functionare devine mai mare). Condensatorul de 470uF este un filtraj local a riplului tensiunii de alimentare.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We use cookies and related technologies to improve your experience on this website to give you personalized content and ads, and to analyze the traffic and audience of your website. Before continuing to browse www.tehnium-azi.ro, please agree to: Terms of Use.