Jump to content
Sign in to follow this  
adry

Cub LED-uri

Recommended Posts

Un LED multiplexat are o durata de functionare fractionara. Pentru ochi conteaza curentul mediu al LED-ului. Daca doresc un curent mediu de 3 mA si am o durata de functionare de 1/4 va trebui sa calculez rezistenta pentru 3 x 4 = 12 mA, etc. Este bine sa se faca un montaj de proba pentru un singur LED care sa fie probat cu diverse valori ale rezistentei. O idee este ca in cub sa se puna rezistoare SMD.

Share this post


Link to post
Share on other sites

Intrucat mai dureaza putin pana vin integratele din schemele postate de domnul donpetru, caruia ii multumesc pe aceasta cale pentru munca depusa, am hotarat sa fac un mic experiment si sa incerc alta abordare, cea din linkul acesta mai exact: http://www.youtube.com/watch?v=JvExbDNtP0U (pentru toate detaliile trebuie vizionate si clipurile din descriere). Pentru a va putea prezenta mai bine situatia, am incercat sa realizez o schema care este oarecum concluzia celor cam 30 minute de explicatii din linkul de mai sus. Schema nu este foarte curata sa zic asa intrucat nu as spune ca am o indemanare prea mare, dar o sa incerc sa explic si sper sa se inteleaga ceva.

Deci, cele 64 de leduri sunt asezate intr-o matrice multiplexata, impartita in 4. fiecare sfert de matrice va forma un strat al cubului, pastrand legaturile intre leduri ca in matrice. Practic cubul devine o matrice "impaturita" in 4. Pentru a reduce cele 16 terminale de control necesare matricii la 12, ele sunt multiplexate din nou, folosind tranzistori. Mentionez ca portul paralel are destul curent pentru a tine aprins un led (am reusit sa aprind 9 leduri cu curentul din port, deci 1 led nu e o problema). De asemenea am observat ca daca un pin are 0 logic, el poate fi folosit ca masa. Asadar, am folosit cele 2 circuite care multiplexeaza cate 8 iesiri de la matrice (notate cu 1-8 si A-H) intr-o matrice de 4x2. bazele tranzistorilor sunt legate printr-o rezistenta de 1k la portul paralel. De asemenea, emitorii tranzistorilor conectati la pinii 1-8 ai matricii si colectorii tranzistorilor legati la pinii A=H ai matricii sunt conectati 2 cate 2, la portul paralel.

Ce parere aveti de aceasta metoda?

cub.rar

Edited by adry

Share this post


Link to post
Share on other sites

Referitor la solutia pe care o propuneti mai sus, ati incercat sa vedeti, macar informativ, cum puteti aprinde sau deschide un led anume de acolo ? Spre exemplu, sa presupunem ca doriti sa aprindeti ledul care este la intersectia randului B cu coloana 3. Puteti sa faceti asta? Daca veti incerca asta, veti vedea ca veti aprinde inca 3 leduri pe langa acela. Deci, solutia prezentata nu ajuta cu nimic. Apoi, ca sa puteti aprinde individual fiecare led, va trebuie doua porturi de date pe 8 biti, dar portul paralel are numai unul. Deci, o sa va intoarceti de unde am plecat.

 

In fine, incercati sa puneti in aplicare una din cele doua solutii pe care vi le-am prezentat. Atentie la conceperea soft-ului, pentru ca veti fi nevoit sa faceti "ceva conversii" (in acest sens analizati datasheetul lui 74HC138, in special pagina cu Truth Table). Dupa aceea, studiati si datasheetul lui 74HC574, puneti pe hartie intregul tabel care contine tabelele logice a celor doua integrate, si dupa ce ati aflat exact starea pinilor portului paralel pentru deschiderea fiecarui led in cub, de abia dupa aceea treceti la conceperea pseudocodului si implicit soft-ului. Referitor la aceste aspecte software, as dori sa prezentati cateva coduri de program, tocmai pentru a da un sens acestui topic si pentru a-l face constructiv si util in totalitate.

Share this post


Link to post
Share on other sites

Voi prezenta programele dupa ce voi realiza circuitul prezentat de dvs, adica intai sa imi vina integratele. Pana atunci am zis sa il realizez pe cel pe care l'am propus eu, mai mult din curiozitate.

am realizat cubul pe metoda pe care am prezentat-o, si se poate aprinde orice led individual. Nu pot aprined 2 leduri diferite simultan, dar asta nu e o problema pentru ca le pot aprinde si stinge foarte des, ele aparand ca fiind aprinse constant. De asemenea, cele 16 terminale de control sunt multiplexate in 2 matrici de 4x2 folosind tranzistorii, ceea ce duce la un numar de 12 terminale de control, fix cate are portul paralel (registrul de date si cel de control).

Share this post


Link to post
Share on other sites

Asa cum ai desenat schema in arhiva, eu unul nu-mi dau seama cum poti aprinde cate un led? Chiar te rog sa explici.

Share this post


Link to post
Share on other sites

la schema din fiserul rar partea cu tranzistoarele nu am inteles-o, partea cu ledurile (matricea) e corecta daca e comandata corect. (eu as pune tranzistoare npn pentru coloane) si le-as mutiplexa ciclic, iar pe linii as trimte un octet direct dintr-un port al mcu. Intensitatea va fi 1/8 din intensitatea nemultiplexata.

RR

Edited by roadrunner

Share this post


Link to post
Share on other sites

[...]Ce parere aveti de aceasta metoda?

Attachments (only users can download files)

Am impresia ca ceea ce vrei sa faci nu prea corespunde cu ceea ce ai scris in arhiva. Si eu constat ca nu prea ai cum sa aprinzi un led.

 

Mergi pe varianta propusa de administrator, e mult mai sigura dar tare ma tem ca nu o sa faci softul ca lumea, pentru ca daca te-ai fi apucat de soft, deja trebuia sa pui niste intrebari, sa pui pe hartie o schema logica s.a.m.d. Dar e laudabila intentia. :furious2:

Share this post


Link to post
Share on other sites

Deci, in matrice ca sa aprind un led trebuie sa aplic tensiune intre o linie si o coloana. Mai exact, catodul vine pe coloana (1-8) si anodul pe linie (A-H) (sper sa nu gresesc). Aceasta chestie este testata si functioneaza corespunzator. Dezavantajul e ca nu pot aprinde decat un singur led simultan, dar nu e o problema pentru ca le voi aprinde si stinge extrem de repede. Cat despre partea cu programul, am un oarecare background in programarea C/C++ astfel incat stiu cum sa controlez portul paralel asa cum doresc, deci . Singura problema poate aparea in modul de control, dar acesta nu este inca foarte clar, desi nu cred ca vor aparea probleme prea mari.

Revenind, acest cub il construiesc nu pentru ca am nevoie de un cub in casa, ci intr-o mare masura pentru a invata ceva. Asa ca vreau sa construiesc ambele abordari, si aceasta cu tranzistori si cea postata de domnul Donpetru. Intrucat am componentele acesteia, doresc sa o fac pe aceasta. Si acum voi incerca sa explic de fac mai exact acei tranzistori.

Langa cub, am atasat 2 montaje cu tranzostori npn, dispusi in 2 matrici de 4x2. Cea din stanga, este destinata controlarii coloanelor. Colectorii tranzistorilor sunt legati la coloane. Bazele tranzistorilor sunt conectate intre ele 4 cate 4, si fiecare grup din acesta este conectat la un pin al portului. De asemenea, emitorii tranzistorilor sunt conectati 2 cate 2 la port. In matricea din dreapta bazele sunt legate in acelasi mod, doar ca de data aceasta, emitorii sunt legati la liniile matricii si conectorii, 2 cate 2, la port. pentru a apinde un led, sa zicem ledul 3F, trebuie urmat urmatorul procedeu:

in matricea din dreapta, se aplica tensiune (1 logic) pe bazele tranzistorilor din stanga si 1 logic pe colectorii tranzistorilor legati la pinii liniilor E si F. Astfel, tranzistorul legat la linia F se va deschide, conducand cei 5v din colectorul sau, prin ledul 3F, in colectorul tranzistorului din matricea din stanga (legat la coloana 3). Se aplica tensiune si pe bazele tranzistorilor din stanga (la matricea din stanga), si emitori tranzistorilor 3 si 4 sunt conectati la masa (0 logic in port). Astfel, acest tranzistor este deschis si el, asigurand conexiunea intre led si masa. Pe emitorii celorlalti tranzistori se aplica 1 logic, in asa fel incat ei nu pot inchide circuitul prin conectarea la masa, chiar daca sunt deschisi si in colectorul lor este tensiune din led (in cazul in care tranzistorul corespunzator din matricea din dreapta este deschis).

Nu stiu cat de clara este explicatia, dar asa am inteles eu principiul de functionare si cred ca e corect.

Share this post


Link to post
Share on other sites
Deci, in matrice ca sa aprind un led trebuie sa aplic tensiune intre o linie si o coloana

 

de ce nu aplici tensiune (un octet) pe toate liniile simultan si pui la masa coloana corespunzatoare? astfel aprinzi 8 leduri (sau stingi) -

RR

Share this post


Link to post
Share on other sites

si asta este o idee, numai ca eu vreau control individual pe fiecare led.

Edited by adry

Share this post


Link to post
Share on other sites

Langa cub, am atasat 2 montaje cu tranzostori npn, dispusi in 2 matrici de 4x2. Cea din stanga, este destinata controlarii coloanelor. Colectorii tranzistorilor sunt legati la coloane. Bazele tranzistorilor sunt conectate intre ele 4 cate 4, si fiecare grup din acesta este conectat la un pin al portului. De asemenea, emitorii tranzistorilor sunt conectati 2 cate 2 la port. In matricea din dreapta bazele sunt legate in acelasi mod, doar ca de data aceasta, emitorii sunt legati la liniile matricii si conectorii, 2 cate 2, la port. pentru a apinde un led, sa zicem ledul 3F, trebuie urmat urmatorul procedeu:

in matricea din dreapta, se aplica tensiune (1 logic) pe bazele tranzistorilor din stanga si 1 logic pe colectorii tranzistorilor legati la pinii liniilor E si F. Astfel, tranzistorul legat la linia F se va deschide, conducand cei 5v din colectorul sau, prin ledul 3F, in colectorul tranzistorului din matricea din stanga (legat la coloana 3). Se aplica tensiune si pe bazele tranzistorilor din stanga (la matricea din stanga), si emitori tranzistorilor 3 si 4 sunt conectati la masa (0 logic in port). Astfel, acest tranzistor este deschis si el, asigurand conexiunea intre led si masa. Pe emitorii celorlalti tranzistori se aplica 1 logic, in asa fel incat ei nu pot inchide circuitul prin conectarea la masa, chiar daca sunt deschisi si in colectorul lor este tensiune din led (in cazul in care tranzistorul corespunzator din matricea din dreapta este deschis).

Deseneaza corect schema ca sa inteleaga toti oameni ce anume vrei sa faci. Am corectat cateva lucruri:

post-7268-0-14057000-1346132469_thumb.jpg

Dar tot e gresit mai sus algoritmul tau. Spui in exemplul tau ca aplici 1 logic pe bazele tranzistorilor din stanga, deci pinii 1...8 sunt toti la masa. Dupa asta mai spui ca aplici 1 logic (sau +5V cum am desenat eu) pe colectoarelor tranzistoarelor care apartin liniilor E si F. In cazul asta, se vor deschide tranzistoarele legate la liniile F si E, nu numai F cum afirmi mai sus (pentru ca colectoarele sunt comune la E si F). Asta este o greseala. Daca e asa, atunci se vor aprinde doua leduri, deci nu o sa poti sa aprinzi unul iar daca incerci sa faci asta, te complici prea mult.

 

Dar, ma rog, deseneaza schema ca lumea ca sa inteleaga lumea ce anume vrei sa faci, pentru daca ma iau dupa schema desenata, cred ca nici tu nu stii unde vrei sa ajungi. De fapt, eu m-am prins, dar mai ai mult pana gasesti cheia la matricea aia.

Share this post


Link to post
Share on other sites

Asa cum este desenata schema utilizatorului adry si daca tinem cont de modul cum s-a enuntat mai sus principiu de functionare, ledurile nu se vor aprinde, v-as spune, deloc. Cele opt tranzistoare din dreapta trebuie sa fie obligatoriu de tip PNP, cu emitoarele la 5V iar colectoarele lor prin niste rezistente la iesirile A...H. Atunci cand bazele lor vor fi puse la masa, de abia atunci vor intra in conductie.

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.