Sisukord:

Charlieplexing LEDid- teooria: 7 sammu (piltidega)
Charlieplexing LEDid- teooria: 7 sammu (piltidega)

Video: Charlieplexing LEDid- teooria: 7 sammu (piltidega)

Video: Charlieplexing LEDid- teooria: 7 sammu (piltidega)
Video: Встреча №4-27.04.2022 | Диалог с членами команды ЕФО 2024, Juuni
Anonim
Charlieplexing LED-id- teooria
Charlieplexing LED-id- teooria
Charlieplexing LED-id- teooria
Charlieplexing LED-id- teooria

See juhend on vähem teie enda loodud projekt ja pigem charlieplexingu teooria kirjeldus. See sobib inimestele, kellel on elektroonika põhitõed, kuid mitte täiesti algajatele. Olen selle kirjutanud vastuseks paljudele küsimustele, mille olen saanud oma varem avaldatud juhistes.

Mis on "Charlieplexing"? See juhib palju LED -e vaid mõne tihvtiga. Kui te ei tea, kas Charlieplexing on nime saanud Maximi Charles Alleni järgi, kes selle tehnika välja töötas. See võib olla kasulik paljude asjade jaoks. Võimalik, et peate olekuteavet kuvama väikesel mikrokontrolleril, kuid varuks on vaid mõned tihvtid. Võib -olla soovite näidata väljamõeldud punktmaatriksit või kellaekraani, kuid te ei soovi kasutada palju komponente. Mõned muud projektid, mis demonstreerivad charlieplexingut, mida võiksite vaadata, on järgmised: Kuidas juhtida mõnest mikrokontrolleri kontaktist palju LED -e. poolt Westfw:- https://www.instructables.com/id/ED0NCY0UVWEP287ISO/ Ja paar minu enda projekti, Microdoti käekell:- https://www.instructables.com/id/EWM2OIT78OERWHR38Z/ Minidot 2 kell: - https://www.instructables.com/id/E11GKKELKAEZ7BFZAK/ Veel üks lahe näide charlieplexingu kasutamisest on aadressil: https://www.jsdesign.co.uk/charlie/ Kell Minidot 2 tutvustab täiustatud charlieplexing -skeemi tuhmumine/hämardamine, mida siin ei käsitleta. UUENDAMINE 19. august 2008: Olen lisanud ahelaga zip -faili, mis võib olla võimeline kasutama maatriksi charlipleksimist suure võimsusega LED -ide jaoks, mida arutati (pikalt:)) kommentaaride osas. Sellel on kasutajaliidese tegemiseks nupp + positsiooni kodeerija, lisaks skeemid arvuti või USB juhtimiseks. Kõigi kõrgepinge rööbasteid saab seada ühele kahest pingest, näiteks PUNASED LED -id 2,2 V ja rohelised/sinised/valged 3,4 V. Kõrgete rööpade pinget saab seadistada trimpoti abil. Ma näeksin ette, et plaadile ühendatakse 20 -juhtmeline IDC -lintkaabel ja lindi pikkusele lisatakse 20 -pin IDC -pistikud, kusjuures igal LED -tahvlil on lingid mis tahes maatriksi juhtmetega. Vooluring on Eagle Cadis ja renderdatud alloleval alampildil. Kõrge külgvooluahela rakendamiseks kasutatakse minu arvates sobivaid optronid. Ma pole seda vooluahelat tegelikult testinud ega ajapuuduse tõttu ühtegi tarkvara kirjutanud, kuid panin selle kommentaariks, olen eriti huvitatud optroni rakendamisest. Igaüks, kes on piisavalt julge, et proovida … palun postitage oma tulemused. UPDATE 27. august 2008: Neile, kes ei kasuta EagleCad'i…. Allpool on skemaatiline pdf

Samm: mõni LED -teooria

Mõned LED -teooriad
Mõned LED -teooriad
Mõned LED -teooriad
Mõned LED -teooriad

Charlieplexing tugineb paljudele LED -ide ja kaasaegsete mikrokontrollerite kasulikele aspektidele.

Esiteks, mis juhtub, kui ühendate LED -i elektriga. Allolev põhiskeem näitab tüüpilise 5 mm väikese võimsusega LED -i If v Vf kõverat. Kui tähistab "edasivoolu", siis Vf tähistab "edasipinget". Muude sõnadega vertikaaltelg näitab voolu, mis voolab läbi LED -i, kui asetate horisontaaltelje pinge üle selle klemmide. See töötab ka vastupidi, kui mõõdate, et vool on teatud väärtusega, saate vaadata horisontaalteljele ja näha, millist pinget LED selle klemmides esitab. Teine diagramm näitab skemaatiliselt LED -i, millel on märge If ja Vf. Põhiskeemist olen märkinud ka graafiku huvipakkuvad alad. - Esimene piirkond on koht, kus LED on välja lülitatud. Täpsemalt öeldes kiirgab LED nii hämarat valgust, et te ei näe seda, kui teil pole mingit super-duper pildi võimendit. - Teises piirkonnas on valgusdiood, mis kiirgab veidi nõrka sära. - Kolmas valdkond on see, kus LED -i tavaliselt kasutatakse ja see kiirgab valgust tootja hinnangul. - Neljas piirkond on koht, kus LED -d juhitakse väljaspool oma tööpiire, tõenäoliselt hõõgub väga eredalt, kuid kahjuks vaid lühikest aega, enne kui maagiline suits sealt väljub ja see ei tööta enam…… st selles piirkonnas põleb see läbi, sest sellest voolab liiga palju voolu. Pange tähele, et valgusdioodi If/Vf kõver või töökõver on mittelineaarne kõver. See tähendab, et see ei ole sirgjoon … sellel on painutus või painutus. Lõpuks on see diagramm tüüpilise 5 mm punase LED -i jaoks, mis on ette nähtud töötama 20 mA juures. Erinevate tootjate erinevatel LED -idel on erinevad töökõverad. Näiteks selles diagrammis 20 mA juures on LED -i edasipinge ligikaudu 1,9 V. Sinise 5 mm LED -i puhul 20 mA juures võib pinge olla 3,4 V. Suure võimsusega valge luxeon -LED -i puhul 350 mA juures võib edasipinge olla umbes 3,2 V. Mõned LED -paketid võivad olla mitu LED -i järjestikku või paralleelselt, muutes Vf/If kõverat uuesti. Tavaliselt määrab tootja töövoolu, mille korral on LED -i kasutamine ohutu, ja selle pinge korral ettepoole suunatud pinge. Tavaliselt (kuid mitte alati) saate andmelehel allpool oleva graafiku. Peate vaatama LED -i andmelehte, et teha kindlaks, milline on pinge erinevatel töövooludel. Miks on see graafik nii oluline? Kuna see näitab, et kui pinge on üle LED -i, siis voolav vool vastab graafikule. Vähendage pinget ja voolab vähem voolu….. ja LED kustub. See on osa charlieplexingu teooriast, milleni jõuame järgmises etapis.

2. samm: seadused (elektroonika)

Seadused (elektroonika)
Seadused (elektroonika)
Seadused (elektroonika)
Seadused (elektroonika)
Seadused (elektroonika)
Seadused (elektroonika)

Ikka pole veel charlieplexingu maagias…. Peame minema elektroonika seaduste põhitõdede juurde. Esimene huvipakkuv seadus ütleb, et elektriskeemi mis tahes seeria ühendatud komponentide kogupinge on võrdne üksikisiku summaga pingeid komponentide vahel. See on näidatud alloleval põhidiagrammil. See on kasulik valgusdioodide kasutamisel, kuna teie keskmine aku või mikrokontrolleri väljundnõel ei ole kunagi täpselt õige pingega, et teie LED -i soovitatud voolutugevusega töötada. Näiteks töötab mikrokontroller tavaliselt 5 V pingel ja selle väljundpinged on sisselülitamisel 5 V. Kui ühendate lihtsalt LED -i mikro väljundpistikuga, näete eelmise lehe töökõverast, et LED -is voolab liiga palju voolu ning see läheb kuumaks ja põleb läbi (kahjustades tõenäoliselt ka mikro). Kui aga kasutame LED -iga järjestikku teist komponenti, saame osa 5V -st lahutada, nii et vasakpoolne pinge oleks LED -i õigeks töövooluks töötamiseks õige. See on tavaliselt takisti ja sellisel kasutamisel nimetatakse seda voolu piiravaks takistiks. Seda meetodit kasutatakse väga sageli ja see toob kaasa nn oomiseaduse…, mis on nimetatud hr Ohmi järgi. Ohmi seadus järgib võrrandit V = I * R, kus V on pinge, mis ilmneb takistuse R korral voolab läbi takisti.. V üle selle. Me näeme seda teisel diagrammil. Kuna takisti on LED -iga jadas, voolab takisti kaudu sama vool kui LED, st 20 mA. Võrrandi ümberkorraldamisel leiame selle töö tegemiseks vajaliku takistuse. V = I * RsoR = V / Meie näite väärtuste asendamine: R = 3,1 / 0,02 = 155 oomi (märkus 20mA = 0,02Amps) Ikka koos minuga siiani … lahe. Vaadake nüüd diagrammi 3. Sellel on kahe takisti vahele asetatud LED. Vastavalt eespool mainitud esimesele seadusele on meil teisel skeemil sama olukord. Meil on LED üle 1,9V, nii et see töötab vastavalt spetsifikatsioonilehele. Meil on ka iga takisti lahutades igaüks 1,55 V (kokku 3,1). Pingete liitmisel saame 5V (mikrokontrolleri tihvt) = 1,55V (R1) + 1,9V (LED) + 1,55V (R2) ja kõik tasakaalustub. Oomi seadust kasutades leiame, et takistid peavad olema 77,5 oomi, mis on pool teisest skeemist arvutatud summast. Loomulikult oleks praktikas raske leida 77,5 oomi takisti, nii et asendaksite lähima saadaoleva väärtuse, näiteks 75 oomi, ja lõpuks pisut rohkem voolu LED või 82 oomi on ohutud ja neil on veidi vähem. Miks me peaksime seda takistit tegema, et juhtida lihtsat LED -i…..hui kui teil on üks LED, on see kõik natuke rumal, kuid see on charlieplexingis õpetatav ja see tuleb järgmiseks sammuks kasuks.

3. samm: tutvustame täiendavat draivi

Tutvustame täiendavat draivi
Tutvustame täiendavat draivi

Teine nimi, mida on täpsem kirjeldada "charlieplexing", on "täiendav sõit".

Oma keskmises mikrokontrolleris saate püsivaras öelda mikrole, et seadke väljundpingeks kas „0” või „1” või esitage väljundis 0 V pinge või 5 V pinge väljundis. Alloleval diagrammil on nüüd näidatud vahepealse partneriga vaheseinaga LED või täiendav LED, seega täiendav ajam. Diagrammi esimeses pooles väljastab mikro 5V kontaktile A ja 0V pinule B. Vool voolab seega punktist A punkti B. Kuna LED2 on suunatud LED1 suunas tagasi, ei voola see läbi ega voola hõõguma. Seda nimetatakse vastupidiseks kallutatuks. Meil on samaväärne eelmise lehe olukorraga. LED2 -d saame põhimõtteliselt ignoreerida. Nooled näitavad praegust voolu. LED on sisuliselt diood (seega valgusdiood). Diood on seade, mis võimaldab voolu voolata ühes suunas, kuid mitte teises. LED -i skemaatiline skeem näitab seda, vool voolab noolega näidatud suunas, kuid on blokeeritud teistpidi. Kui anname mikrole käsu nüüd väljundiks 5V pinnile B ja 0V tihvtile A, on meil vastupidi. Nüüd on LED1 vastupidine, LED2 on ettepoole suunatud ja võimaldab voolu. LED2 helendab ja LED1 jääb tumedaks. Nüüd võib olla hea mõte tutvuda sissejuhatuses mainitud erinevate projektide skeemidega. Te peaksite nägema maatriksis palju neid täiendavaid paare. Loomulikult sõidame allolevas näites kahe LED -ga, millel on kaks mikrokontrolleri tihvti … võite öelda, miks vaeva näha. Järgmine jaotis on koht, kus me jõuame charlieplexingu sisikonda ja kuidas see tõhusalt kasutab mikrokontrollerite väljundnööpe.

4. samm: lõpuks… Charlieplexi maatriks

Lõpuks… Charlieplexi maatriks
Lõpuks… Charlieplexi maatriks
Lõpuks… Charlieplexi maatriks
Lõpuks… Charlieplexi maatriks

Nagu sissejuhatuses mainitud, on charliplexing mugav viis paljude LED -ide juhtimiseks, kui mikrokontrolleril on vaid mõni tihvt. Kuid eelmistel lehtedel pole me tegelikult ühtegi tihvti salvestanud, sõites kahe LED -iga kahe tihvtiga ….

Noh, me saame laiendada täiendava sõidu ideed charlieplexi maatriksisse. Allolev diagramm näitab minimaalset charlieplexi maatriksit, mis koosneb kolmest takistist ja kuuest LED -ist ning kasutab ainult kolme mikrokontrolleri kontakti. Nüüd näete, kui mugav see meetod on? Kui soovite juhtida kuut valgusdioodi tavalisel viisil…, vajate kuut mikrokontrolleri kontakti. Tegelikult saate mikrokontrolleri N -kontaktide abil juhtida N * (N - 1) LED -i. 3 tihvti puhul on see 3 * (3-1) = 3 * 2 = 6 LED-i. Asjad kogunevad kiiresti, rohkem nööpnõelad. 6 tihvtiga saate sõita 6 * (6 - 1) = 6 * 5 = 30 LED -i … wow! Nüüd aga charlieplexing bitti. Vaadake allolevat diagrammi. Meil on kolm üksteist täiendavat paari, üks paar iga mikroväljundi tihvti kombinatsiooni vahel. Üks paar A-B, üks paar B-C ja üks paar A-C vahel. Kui te praegu tihvti C lahti ühendaksite, oleks meil sama olukord kui varem. Kui pingel A on 5 V ja tihvtil 0 V, süttib LED1, LED2 on vastupidine ja ei juhi voolu. Kui pingel B on 5 V ja pingel A 0 V, hakkab LED2 helendama ja LED1 on vastupidine. See järgneb ka teistele mikro -tihvtidele. Kui me ühendaksime lahti tihvti B ja seadistame tihvti A väärtuseks 5 V ja tihvti C väärtuseks 0 V, siis LED5 helendab. Tagurdades nii, et tihvt A on 0V ja tihvt C on 5V, siis LED6 helendab. Sama ka tihvtide B-C vahelise täiendava paari puhul. Oota, ma kuulen sind ütlemas. Vaatame teist juhtumit veidi lähemalt. Meil on 5V pingel A ja 0V pingel C. Oleme pistiku B (keskmine) lahti ühendanud. OK, nii et vool voolab läbi LED5, vool ei voola läbi LED6, kuna see on vastupidine (ja nii ka LED2 ja LED4)….a kas pole? Miks need LED -id samuti ei helenda? Siin on charlieplexingu kava süda. Tõepoolest, nii LED1 kui ka LED3 voolab vool, kuid mõlema nende pinge on võrdne ainult LED5 pingega. Tavaliselt on neil pool pinget, mis LED5 -l. Nii et kui LED5 -l on 1,9 V, siis LED1 -l on ainult 0,95 V ja LED3 -l 0,95 V. Selle artikli alguses mainitud If/Vf kõverast näeme, et selle poolpinge juures on vool palju väiksem kui 20 mA ….. ja need LED -id ei sütti nähtavalt. Seda nimetatakse praeguseks varastamiseks. Seega voolab suurem osa voolust läbi soovitud LED -i, otseseima tee läbi väikseima arvu valgusdioode (st ühe LED -i), mitte LED -ide seeria kombinatsioonist. Kui vaatasite praegust voolu mis tahes kombinatsiooni korral, kui 5V ja 0V pannakse charlieplexi maatriksi mis tahes kahele nööpnõelale, näete sama. Korraga süttib ainult üks LED. Harjutusena vaadake esimest olukorda. 5V pinul A ja 0V pinul B, eraldage tihvt C. LED1 on lühim voolutrass ja LED 1 helendab. Väike vool läbib ka LED5, seejärel varundage LED4 nööpnõelale B …..aga jällegi ei suuda need kaks järjestikku ühendatud LED -i piisavalt voolu eraldada, et heledalt helendada. Nii realiseeritakse charlieplexingu jõud. Vaadake teist skeemi, mis on minu Microdot kella skemaatiline….. 30 LED -i, ainult 6 kontaktiga. Minu Minidot 2 kell on põhimõtteliselt Microdoti laiendatud versioon … sama 30 LED -i, mis on paigutatud massiivi. Massiivi mustri tegemiseks lülitatakse iga valgustatav LED lühidalt sisse, seejärel liigub mikro järgmise juurde. Kui see on plaanitud valgustada, lülitatakse see lühikeseks ajaks uuesti sisse. Kiirelt läbi LED -ide skaneerides võimaldab põhimõte nimega „nägemise püsivus” mitmel LED -il näidata staatilist mustrit. Minidot 2 artiklis on selle põhimõtte kohta natuke selgitust. Aga oota….. Ma näib ülaltoodud kirjelduses olevat natuke üle löönud. Mis asi see „lahtiühendamise tihvt B“, „lahtiühendamise tihvt C“on. Palun järgmine lõik.

Samm: kolme olekuga (mitte kolmerattalised)

Kolme osariigi (mitte kolmerattalised)
Kolme osariigi (mitte kolmerattalised)
Kolme osariigi (mitte kolmerattalised)
Kolme osariigi (mitte kolmerattalised)

Eelmises etapis mainisime, et mikrokontrollerit saab programmeerida väljastama 5 V või 0 V pinget. Charlieplexi maatriksi toimimiseks valime maatriksist kaks tihvti ja ühendame kõik teised tihvtid lahti.

Loomulikult on tihvtide käsitsi lahtiühendamine natuke keeruline, eriti kui skannime asju väga kiiresti, et kasutada mustri näitamiseks nägemise püsivuse efekti. Kuid mikrokontrolleri väljundnööpe saab programmeerida ka sisendtappideks. Kui mikronõel on programmeeritud sisendiks, läheb see nn kõrge takistusega või kolme olekuga. See tähendab, et see annab tihvtile väga suure takistuse (suurusjärgus megaoomi ehk miljoneid oome). Kui takistus on väga kõrge (vt diagrammi), võime sisuliselt tihvti lahti ühendada ja seega töötab charliplex -skeem. Teine diagramm näitab maatriksi tihvte iga kombinatsiooni jaoks, mis on võimalik meie näite 6 LED -i valgustamiseks. Tavaliselt tähistatakse kolme olekut tähega „X”, 5 V on näidatud kui „1” (loogilise 1 korral) ja 0V kui „0”. Mikro püsivaras „0” või „1” programmeeriksite tihvtid väljundiks ja selle olek on hästi määratletud. Kolme oleku jaoks programmeerite selle sisendiks ja kuna see on sisend, siis me tegelikult ei tea, mis olek see võib olla…. Seega „tundmatu”. Ehkki võime eraldada tihvti kolme oleku või sisendiks, ei pea me seda lugema. Me lihtsalt kasutame ära asjaolu, et mikrokontrolleri sisendpingel on suur takistus.

6. samm: mõned praktilised küsimused

Charlieplexingu võlu sõltub asjaolust, et mitme järjestikuse LED -i individuaalne pinge on alati väiksem kui ühe LED -i puhul, kui üks LED on seeria kombinatsiooniga paralleelne. Kui pinge on väiksem, on vool väiksem ja loodetavasti on seeriavoolu vool nii madal, et LED ei sütti. See pole aga alati nii. Oletame, et teil oli kaks tüüpilist tüüpilist punast LED -i etteantud pinge teie maatriksis 1,9 V ja sinine LED, mille edasipinge on 3,5 V (meie LED -i näites LED1 = punane, LED3 = punane, LED5 = sinine). Kui põleksite sinise LED -i, oleks iga punase LED -i puhul 3,5/2 = 1,75 V. See võib olla LED -i hämarale tööpiirkonnale väga lähedal. Kui sinine valgustab, võivad punased LED -id helendada. Seetõttu on hea mõte veenduda, et teie maatriksis olevate eri värvi LED -ide edasipinge on töövoolul ligikaudu sama, või kasutage sama värvi LEDid maatriksis. Oma Microdot/Minidot projektides ei pidanud ma selle pärast muretsema, kasutasin suure efektiivsusega siniseid/rohelisi SMD -LED -e, millel on õnneks palju sama pinget kui punastel/kollastel. Kui aga rakendan sama asja 5 mm LED -idega, on tulemus problemaatilisem. Sel juhul oleksin rakendanud eraldi sinise/rohelise charlieplexi maatriksi ja punase/kollase maatriksi. Ma oleksin pidanud kasutama rohkem tihvte…. Aga seal sa lähed. Teine probleem on vaadata oma praegust joonist mikrost ja kui heledat LED -i soovite. Kui teil on suur maatriks ja skannite seda kiiresti, põleb iga LED ainult lühikest aega. See tundub staatilise ekraaniga võrreldes suhteliselt hämar. Saate petta, suurendades voolu läbi LED -i, vähendades voolu piiravaid takistid, kuid ainult teatud punktini. Kui tõmbate liiga kaua voolu mikrost liiga kaua, kahjustate väljundnööpe. Kui teil on aeglaselt liikuv maatriks, näiteks oleku- või tsüklonekraan, saate hoida voolu ohutul tasemel, kuid teil on siiski hele LED -ekraan, sest iga LED põleb kauem, võib -olla staatiliselt (juhul, kui olekuindikaator). Mõned charlieplexingu eelised:- kasutab paljude valgusdioodide juhtimiseks ainult mõnda mikrokontrolleri tihvti- vähendab komponentide arvu, kuna te ei vaja palju draiveri kiipe/takistit jne. Mõned puudused:- teie mikro püsivara peab seadistustega hakkama saama nii pinge olek kui ka tihvtide sisend/väljund- peate olema erinevate värvide segamisel ettevaatlik- PCB paigutus on keeruline, kuna LED-maatriks on keerulisem.

Samm 7: Viited

Veebis on palju viiteid charlieplexingu kohta. Lisaks artikli esiosas olevatele linkidele on mõned neist järgmised: Maximi originaalartikkel sisaldab palju seitsme segmendi kuvarite juhtimise kohta, mis on samuti võimalik. https://www.maxim-ic.com/appnotes.cfm/appnote_number/1880A Wiki kirjehttps://en.wikipedia.org/wiki/Charlieplexing

Soovitan: