Kazalo:

Charlieplexing LED- teorija: 7 korakov (s slikami)
Charlieplexing LED- teorija: 7 korakov (s slikami)

Video: Charlieplexing LED- teorija: 7 korakov (s slikami)

Video: Charlieplexing LED- teorija: 7 korakov (s slikami)
Video: Как сделать стяжку с шумоизоляцией в квартире. #18 2024, Junij
Anonim
Charlieplexing LED- teorija
Charlieplexing LED- teorija
Charlieplexing LED- teorija
Charlieplexing LED- teorija

Ta pouk je manj gradnja lastnega projekta in bolj opis teorije charlieplexinga. Primeren je za ljudi z osnovami elektronike, vendar ne za popolne začetnike. Napisala sem ga kot odgovor na številna vprašanja, ki sem jih dobila v prej objavljenih navodilih.

Kaj je "Charlieplexing"? Poganja veliko LED z le nekaj zatiči. Če se sprašujete, Charlieplexing nosi ime po Charlesu Allenu pri Maximu, ki je razvil tehniko. To je lahko koristno za marsikaj. Morda boste morali prikazati podatke o stanju na majhnem mikrokrmilniku, vendar imate na voljo le nekaj zatičev. Morda boste želeli prikazati domišljijsko matriko ali prikaz ure, vendar ne želite uporabljati veliko komponent. Nekateri drugi projekti, ki dokazujejo charlieplexing, ki jih boste morda želeli pogledati, so: Kako iz nekaj zatičev mikrokrmilnika poganjati veliko LED diod. avtorja Westfw:- https://www.instructables.com/id/ED0NCY0UVWEP287ISO/ In nekaj mojih projektov, ura Microdot:- https://www.instructables.com/id/EWM2OIT78OERWHR38Z/ Ura Minidot 2: - https://www.instructables.com/id/E11GKKELKAEZ7BFZAK/ Še en kul primer uporabe charlieplexinga je na: https://www.jsdesign.co.uk/charlie/ Ura Minidot 2 uvaja napredno shemo charlieplexing za bledenje/zatemnitev, o katerem tukaj ne bomo razpravljali. UPDATE 19. avgusta 2008: Dodal sem datoteko zip s vezjem, ki bi lahko izkoristilo matrično charliplexing za LED z veliko močjo, o katerih smo razpravljali (na dolgo:)) v razdelku za komentarje. Ima gumb + dajalnik položaja, ki omogoča uporabniški vmesnik, in vezje za računalniški nadzor USB ali RS232. Vsako visokonapetostno tirnico lahko nastavite na eno od dveh napetosti, recimo 2,2 V za RDEČE LED in 3,4 V za zeleno/modro/belo. Napetost za visoke stranske tirnice lahko nastavite s trimpotom. Predvideval sem, da se na ploščo priklopi 20 -žilni IDC -tračni kabel in po dolžini traku dodajo 20 -pinski IDC -konektorji, pri čemer ima vsaka LED -plošča povezave do poljubnih žic v matriki. Vezje je v Eagle Cadu in upodobljeno na spodnji sliki. Visoko stransko vezje se izvaja z uporabo optičnih sklopk, za katere menim, da bi bile primerne. Tega vezja pravzaprav nisem testiral, niti nisem napisal nobene programske opreme zaradi pomanjkanja časa, ampak sem ga dal za komentar, še posebej me zanima izvedba optičnega sklopnika. Vsakdo, ki je dovolj pogumen, da ga preizkusi … prosim, objavite svoje rezultate. UPDATE 27. avgusta 2008: Za tiste, ki ne uporabljajo EagleCad…. Spodaj je dodan pdf sheme

Korak: Nekaj LED teorije

Nekaj LED teorije
Nekaj LED teorije
Nekaj LED teorije
Nekaj LED teorije

Charlieplexing se opira na številne uporabne vidike LED in sodobnih mikrokrmilnikov.

Najprej se zgodi, ko LED priklopite na elektriko. Spodnji glavni diagram prikazuje tisto, kar se imenuje krivulja If v Vf tipične 5 mm LED z nizko porabo energije. Če pomeni "tok naprej" Vf pomeni "napetost naprej" Navpična os v drugih besedah prikazuje tok, ki bo tekel skozi LED, če napetost vodoravne osi postavite na njegove sponke. Deluje tudi obratno, če izmerite, da je tok neke vrednosti, lahko pogledate navzgor na vodoravno os in vidite napetost, ki jo bo LED predstavljala na svojih sponkah. Drugi diagram prikazuje shematski prikaz LED z oznako If in Vf. Iz glavnega diagrama sem označil tudi področja grafa, ki nas zanimajo. - Prvo področje je, kjer je LED 'izklopljena'. Natančneje, LED oddaja svetlobo tako slabo, da je ne boste mogli videti, razen če imate kakšen super-duper ojačevalnik slike. - Na drugem področju LED le rahlo oddaja moten sijaj. - Tretje področje je, kjer LED običajno deluje in oddaja svetlobo po oceni proizvajalca. - Četrto območje je, kjer LED deluje preko svojih delovnih meja, verjetno sveti zelo močno, a žal le kratek čas, preden čarobni dim v notranjosti uide in ne bo več deloval… tj. Na tem področju izgori, ker skoznjo teče preveč toka. Upoštevajte, da je krivulja If/Vf ali krivulja delovanja LED "nelinearna" krivulja. To pomeni, da ni ravna črta … v njem je ovinek ali pregib. Nazadnje je ta diagram za tipično 5 mm rdečo LED, zasnovano za delovanje pri 20 mA. Različne LED različnih proizvajalcev imajo različne krivulje delovanja. Na primer, v tem diagramu pri 20 mA bo prednja napetost LED približno 1,9 V. Za modro 5 mm LED pri 20 mA je lahko napetost naprej 3,4 V. Za belo luxeon LED z veliko močjo pri 350 mA je lahko sprednja napetost okoli 3,2 V. Nekateri paketi LED diod so lahko več LED zaporedno ali vzporedno, kar znova spremeni krivuljo Vf/If. Običajno proizvajalec določi obratovalni tok, pri katerem je LED varna za uporabo, in napetost naprej pri tem toku. Običajno (vendar ne vedno) dobite graf, podoben spodnjemu v podatkovnem listu. Če želite ugotoviti, kakšna je napetost naprej pri različnih obratovalnih tokovih, si oglejte podatkovni list za LED. Zakaj je ta graf tako pomemben? Ker kaže, da bo tok, ko je na LED dioda, tok, ki bo tekel, v skladu z grafom. Znižajte napetost in manj tok bo tekel … … in LED bo 'ugasnila'. To je del teorije charlieplexinga, do katerega bomo prišli v naslednjem koraku.

2. korak: Zakoni (elektronike)

Zakoni (elektronike)
Zakoni (elektronike)
Zakoni (elektronike)
Zakoni (elektronike)
Zakoni (elektronike)
Zakoni (elektronike)

Še vedno nismo v čarovniji charlieplexinga….morati se moramo na nekaj osnov elektronskih zakonov. Prvi zakon zanimanja navaja, da je skupna napetost na kateri koli seriji povezanih komponent v električnem vezju enaka vsoti posameznika napetosti med komponentami. To je prikazano na spodnjem glavnem diagramu. To je uporabno pri uporabi LED, ker povprečna izhodna baterija ali izhod mikrokrmilnika nikoli ne bo ravno prava napetost za delovanje LED pri priporočenem toku. Na primer, mikrokrmilnik običajno deluje pri 5V, njegovi izhodni zatiči pa bodo pri 5V, ko je vklopljen. Če le priključite LED na izhodni zatič mikro, boste po krivulji delovanja na prejšnji strani videli, da bo v LED teklo preveč toka in se bo segrelo in izgorelo (verjetno poškoduje tudi mikro) Če pa uvedemo drugo zaporedno komponento z LED, lahko odštejemo nekaj od 5 V, tako da je leva napetost ravno pravšnja za delovanje LED pri ustreznem obratovalnem toku. Običajno je to upor in se pri tej uporabi imenuje upor za omejevanje toka. Ta metoda se uporablja zelo pogosto in vodi do tako imenovanega "ohmovega zakona"…, tako imenovanega po gospodu Ohmu. Ohmov zakon sledi enačbi V = I * R, kjer je V napetost, ki se bo pojavila na uporu R, ko bo tok I teče skozi upor. V je v voltih, jaz v amperih in R v ohmih. Torej, če imamo porabiti 5V in želimo 1,9 V po LED, da deluje pri 20mA, potem želimo, da ima upor 5-1,9 = 3,1 V čez. To lahko vidimo na drugem diagramu. Ker je upor zaporedno z LED, bo skozi upor tekel enak tok kot LED, to je 20mA. Tako preuredimo enačbo, da najdemo upor, ki ga potrebujemo za to delo. V = I * RsoR = V / Če nadomestimo vrednosti v našem primeru, dobimo: R = 3,1 / 0,02 = 155 ohmov (opomba 20 mA = 0,02 ampera) Še vedno z mano zaenkrat … kul. Zdaj si oglejte diagram 3. LED dioda je stisnjena med dva upora. Po prvem zgoraj omenjenem zakonu imamo enako situacijo na drugem diagramu. Na LED imamo 1,9 V, zato deluje v skladu s specifikacijami. Imamo tudi vsak upor, ki odšteje po 1,55 V (skupaj 3,1). Če dodamo napetosti skupaj, imamo 5V (pin mikrokrmilnika) = 1,55 V (R1) + 1,9 V (LED) + 1,55 V (R2) in vse se izravna. kar je polovica zneska, izračunanega iz drugega diagrama. Seveda bi v praksi težko našli upor 77,5 ohma, zato bi zamenjali najbližjo razpoložljivo vrednost, recimo 75 ohmov in na koncu dobili malo več toka v LED ali 82 ohmov, da bi bili varni in imeli malo manj. Zakaj bi sploh morali narediti ta upor, ki poganja preprosto LED … no, če imate eno LED, je vse skupaj malo neumno, vendar je to navodilo za charlieplexing in pride prav za naslednji korak.

3. korak: Predstavitev "komplementarnega pogona"

Predstavljamo "komplementarni pogon"
Predstavljamo "komplementarni pogon"

Drugo ime, ki je natančneje za opis "charlieplexing", je "komplementarni pogon".

V vašem povprečnem mikrokrmilniku lahko v vdelani programski opremi sporočite mikrofonu, naj nastavi izhodni pin na '0' ali '1', ali naj na izhodu prikaže 0V napetost ali 5V napetost na izhodu. Spodnji diagram zdaj prikazuje sendvič LED z obrnjenim partnerjem … ali dopolnilno LED, torej komplementarni pogon. V prvi polovici diagrama mikro oddaja 5V na pin A in 0V na pin B. Tok bo tako tekel od A do B. Ker je LED2 usmerjena nazaj na LED1, skozi njo ne bo tekel tok in ne bo sijaj. To se imenuje obratna pristranskost. Imamo enakovreden položaj na prejšnji strani. V osnovi lahko zanemarimo LED2. Puščice prikazujejo trenutni tok. LED je v bistvu dioda (torej dioda, ki oddaja svetlobo). Dioda je naprava, ki omogoča tok v eno smer, v drugo pa ne. Shema LED prikazuje to, tok bo tekel v smeri puščice ……, vendar je blokiran v drugo smer. Če naročimo mikro, naj zdaj izpelje 5V na pin B in 0V na pin A, imamo nasprotno. Zdaj je LED1 pristranski, LED2 je naprej pristranski in bo omogočal pretok toka. LED2 bo svetel, LED1 pa bo temen. Zdaj bi bilo dobro pogledati sheme različnih projektov, omenjenih v uvodu. V matrici bi morali videti veliko teh komplementarnih parov. Seveda v spodnjem primeru vozimo dve LED z dvema zatičema mikrokrmilnika … Lahko bi rekli, zakaj bi se trudili. Naslednji razdelek je, kjer pridemo do črevesja charlieplexinga in kako učinkovito uporablja izhodne zatiče mikrokrmilnikov.

4. korak: Končno …. Matrika Charlieplex

Končno …. Matrika Charlieplex
Končno …. Matrika Charlieplex
Končno …. Matrika Charlieplex
Končno …. Matrika Charlieplex

Kot je bilo omenjeno v uvodu, je charliplexing priročen način za pogon veliko LED diod z le nekaj zatiči na mikrokrmilniku. Vendar na prejšnjih straneh v resnici nismo prihranili nobenih zatičev, pri čemer smo z dvema zatičema poganjali dve LED ….velik jok!

No, idejo o prostovoljni vožnji lahko razširimo v matriko charlieplex. Spodnji diagram prikazuje najmanjšo matriko charlieplex, sestavljeno iz treh uporov in šestih LED in uporablja le tri zatiče mikrokrmilnika. Zdaj vidite, kako priročna je ta metoda? Če bi želeli na normalni način poganjati šest LED …, bi potrebovali šest zatičev mikrokrmilnika. Pravzaprav z N zatiči mikrokrmilnika lahko potencialno poganjate N * (N - 1) LED. Za 3 zatiče je to 3 * (3-1) = 3 * 2 = 6 LED. Z več zatiči se stvari hitro zložijo. S 6 zatiči lahko poganjate 6 * (6 - 1) = 6 * 5 = 30 LED … wow! Zdaj pa k charlieplexing bitu. Poglejte spodnji diagram. Imamo tri komplementarne pare, en par med vsako kombinacijo mikro izhodnih zatičev. En par med A-B, en par med B-C in en par med A-C. Če bi zaenkrat odklopili pin C, bi imeli enako situacijo kot prej. Pri 5V na zatiču A in 0V na zatiču B bo LED1 svetila, LED2 je obratno pristranski in ne bo vodil toka. Pri 5V na zatiču B in 0V na zatiču A bo LED2 svetila, LED1 pa bo obrnjen pristransko. To sledi za druge mikro zatiče. Če odklopite pin B in nastavite pin A na 5V in pin C na 0V, bo LED5 svetila. Če obrnete nazaj, tako da je pin A 0V in pin C 5V, potem LED6 zasveti. Enako velja za komplementarni par med zatiči B-C. Počakaj, slišim, da praviš. Poglejmo drugi primer nekoliko natančneje. Na zatiču A imamo 5V in na zatiču 0V. Odklopili smo pin B (srednji). V redu, torej tok teče skozi LED5, tok ne teče skozi LED6, ker je obratno pristranski (prav tako LED2 in LED4) …, vendar obstaja tudi pot za tok, ki teče od zatiča A, preko LED1 in LED3 a ni? Zakaj tudi te LED ne svetijo. Tu je srce sheme charlieplexing. Dejansko teče tok LED1 in LED3, vendar bo napetost na obeh skupaj le enaka napetosti na LED5. Običajno bi imeli polovico napetosti, ki jo ima LED5. Torej, če imamo 1,9 V na LED5, bo le 0,95 V na LED1 in 0,95 V na LED3. Iz krivulje If/Vf, omenjene na začetku tega članka, lahko vidimo, da je tok pri tej polovici napetosti veliko nižji od 20 mA…..in te LED diode ne bodo vidno svetlele. To je znano kot sedanje kraje. Tako bo večina toka tekla skozi želeno LED, najbolj neposredno pot skozi najmanjše število LED (tj. Eno LED), namesto katere koli kombinacije LED. Če pogledate trenutni tok za katero koli kombinacijo vklopa 5V in 0V na katera koli dva pogonska zatiča matrice charlieplex, boste videli isto. Naenkrat sveti samo ena LED. Kot vajo poglejte prvo situacijo. 5V na zatiču A in 0V na zatiču B, odklopite zatič C. LED1 je najkrajša pot za tok, LED 1 pa sveti. Majhen tok bo prešel tudi skozi LED5, nato pa LED4 varnostno kopiral na pin B … … vendar spet ti dve LED zaporedni enoti ne bosta mogli izstreliti dovolj toka v primerjavi z LED 1, da bo močno svetila. Tako se uresniči moč charlieplexinga. Oglejte si drugi diagram, ki je shematičen za mojo uro Microdot…..30 LED s samo 6 nožicami. Moja ura Minidot 2 je v bistvu razširjena različica Microdota…. Enakih 30 LED, razporejenih v niz. Za vzorec v matriki se vsaka LED, ki jo sveti, na kratko vklopi, nato pa se mikro premakne na naslednjo. Če je načrtovana za osvetlitev, se za kratek čas znova vklopi. S hitrim skeniranjem LED diod bo načelo, imenovano "vztrajnost vida", nizu LED omogočilo prikaz statičnega vzorca. Članek Minidot 2 ima nekoliko razlago o tem načelu. Ampak počakaj ….. V zgornjem opisu sem navidez malo zabrisal. Kaj je to "odklopite pin B", "odklopite pin C". Naslednji razdelek prosim.

5. korak: Tri države (ne tricikli)

Tri države (ne tricikli)
Tri države (ne tricikli)
Tri države (ne tricikli)
Tri države (ne tricikli)

V prejšnjem koraku smo omenili, da lahko mikrokrmilnik programiramo za oddajanje napetosti 5V ali 0V. Da bi matrika charlieplex delovala, izberemo dva zatiča v matrici in odklopimo vse druge zatiče.

Seveda je ročno odklapljanje zatičev nekoliko težavno, še posebej, če stvari zelo hitro pregledujemo, da bi uporabili vztrajnost učinka vida za prikaz vzorca. Izhodne nožice mikrokrmilnika pa je mogoče programirati tudi kot vhodne. Ko je mikro pin programiran za vhod, gre v tako imenovano "visoko impedanco" ali "tri stanje". To pomeni, da predstavlja zelo visoko odpornost (reda megaohmov ali milijonov ohmov) na pin. Če je upor zelo visok (glej diagram), lahko v bistvu štejemo, da je pin odklopljen, zato shema charliplex deluje. Drugi diagram prikazuje matrične zatiče za vsako kombinacijo, ki lahko osvetli vsako od 6 LED v našem primeru. Običajno je tri stanje označeno z "X", 5V je prikazano kot "1" (za logično 1) in 0V kot "0". V mikro strojni programski opremi za '0' ali '1' bi programirali zatiče kot izhod in njihovo stanje je dobro definirano. Za tri stanje ga programirate kot vhod, in ker je vhod, dejansko ne vemo, kakšno je stanje …. Od tod »X« za neznano. Čeprav lahko pin dodelimo tristopenjskemu ali vhodnemu, ga ni treba brati. Izkoristili smo le dejstvo, da je vhodni pin na mikrokrmilniku visoka impedanca.

6. korak: Nekaj praktičnih zadev

Čarobnost charlieplexinga temelji na dejstvu, da bo posamezna napetost, predstavljena na več zaporednih LED, vedno manjša od napetosti na eni sami LED, če je ena sama LED vzporedna s serijsko kombinacijo. Če je napetost manjša, je tok manjši in upajmo, da bo tok v nizni kombinaciji tako nizek, da LED ne bo zasvetila. To pa ni vedno tako. Recimo, da ste imeli dve rdeči LED z značilno prednja napetost 1,9 V v vaši matrici in modra LED z napetostjo naprej 3,5 V (recimo LED1 = rdeča, LED3 = rdeča, LED5 = modra v našem primeru 6 LED). Če bi prižgali modro LED, bi imeli za vsako od rdečih LED 3,5/2 = 1,75 V. To je lahko zelo blizu zatemnjenega delovnega območja LED. Morda se vam bo zdelo, da rdeče LED svetijo svetlo, ko modra sveti. Zato je dobro, da se prepričate, da je napetost naprej vseh različnih barvnih LED v vaši matriki pri delovnem toku približno enaka, ali pa uporabite iste barve Svetleče diode v matriki. V mojih projektih Microdot/Minidot mi ni bilo treba skrbeti zaradi tega, sem uporabil visoko učinkovite modro/zelene SMD LED, ki imajo na srečo enako napetost naprej kot rdeče/rumene. Če pa bi isto stvar izvedel s 5 mm LED diodami, bi bil rezultat bolj problematičen. V tem primeru bi ločeno implementiral modro/zeleno matriko charlieplex in rdeče/rumeno matix. Moral bi uporabiti več zatičev … ampak tako je. Drugo vprašanje je, da pogledate vaš trenutni žreb iz mikro in kako svetlo želite LED. Če imate veliko matriko in jo hitro skenirate, potem vsaka LED sveti le kratek čas. To se bo v primerjavi s statičnim zaslonom zdelo relativno zatemnjeno. Lahko goljufate tako, da povečate tok skozi LED, tako da zmanjšate upore za omejevanje toka, vendar le do točke. Če predolgo črpate preveč toka iz mikro, lahko poškodujete izhodne zatiče. Če imate počasi premikajočo se matriko, recimo statusni ali ciklonski zaslon, bi lahko ohranili tok na varni ravni, vendar bi imeli še vedno svetel LED -prikazovalnik, ker vsaka LED sveti dlje časa, po možnosti statično (v primeru indikator stanja). Nekatere prednosti charlieplexinga:- uporablja le nekaj zatičev na mikrokrmilniku za krmiljenje številnih LED- zmanjšuje število komponent, saj ne potrebujete veliko gonilnikov/uporov itd. Nekatere pomanjkljivosti:- vaša mikro strojna programska oprema bo morala upravljati tako napetostno stanje kot vhodno/izhodno stanje nožic- pri mešanju različnih barv morate biti previdni- postavitev tiskanega vezja je težka, ker je matrika LED bolj zapletena.

7. korak: Reference

Na spletu je veliko referenc o charlieplexingu. Poleg povezav na sprednji strani članka so nekatere od njih: Izvirni članek iz Maxima, to veliko pove o vožnji 7 -segmentnih zaslonov, kar je tudi mogoče. https://www.maxim-ic.com/appnotes.cfm/appnote_number/1880A wiki vnoshttps://en.wikipedia.org/wiki/Charlieplexing

Priporočena: