Sisällysluettelo:

Charlieplexing-LEDit- teoria: 7 vaihetta (kuvilla)
Charlieplexing-LEDit- teoria: 7 vaihetta (kuvilla)

Video: Charlieplexing-LEDit- teoria: 7 vaihetta (kuvilla)

Video: Charlieplexing-LEDit- teoria: 7 vaihetta (kuvilla)
Video: Все о покраске валиком за 20 минут. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я #32 2024, Kesäkuu
Anonim
Charlieplexing-LEDit- teoria
Charlieplexing-LEDit- teoria
Charlieplexing-LEDit- teoria
Charlieplexing-LEDit- teoria

Tämä opettavainen on vähemmän rakennettu projekti ja enemmän kuvaus charlieplexing -teoriasta. Se sopii ihmisille, joilla on elektroniikan perusteet, mutta ei täysin aloittelijoille. Olen kirjoittanut sen vastauksena moniin kysymyksiin, joita olen saanut aikaisemmin julkaistuissa Instructables -julkaisuissani.

Mikä on 'Charlieplexing'? Se ajaa paljon LED -valoja vain muutamalla nastalla. Jos mietit, Charlieplexing on nimetty tekniikan kehittäneen Maximin Charles Allenin mukaan. Tästä voi olla hyötyä moniin asioihin. Sinun on ehkä näytettävä tilatiedot pienessä mikrokontrollerissa, mutta sinulla on vain muutama nasta vapaana. Haluat ehkä näyttää hienon pistematriisin tai kellonäytön, mutta et halua käyttää paljon komponentteja. Jotkut muut projektit, jotka osoittavat charlieplexingia, joita haluat ehkä tarkastella, ovat: Kuinka ohjata paljon LED -valoja muutamasta mikro -ohjaimen nastasta. Westfw:- https://www.instructables.com/id/ED0NCY0UVWEP287ISO/ Ja pari omaa projektiani, The Microdot -kello:- https://www.instructables.com/id/EWM2OIT78OERWHR38Z/ Minidot 2 -kello: - https://www.instructables.com/id/E11GKKELKAEZ7BFZAK/ Toinen hieno esimerkki charlieplexingin käytöstä on osoitteessa: https://www.jsdesign.co.uk/charlie/ Minidot 2 -kello esittelee edistyneen charlieplexing -järjestelmän häipyminen/himmennys, jota ei käsitellä tässä. PÄIVITYS 19. elokuuta 2008: Olen lisännyt zip -tiedoston, jossa on piiri, joka saattaa pystyä hyödyntämään matriisin charlipleksointia suuritehoisille LEDeille, joista on keskusteltu (pitkään:)) kommenttiosiossa. Siinä on painike + sijaintikooderi käyttöliittymän luomiseksi sekä piirit joko USB- tai RS232 -tietokoneohjausta varten. Jokainen korkeajännitekisko voidaan asettaa yhdeksi kahdesta jännitteestä, esimerkiksi 2,2 V PUNAISILLE LED -valolle ja 3,4 V vihreä/sininen/valkoinen. Jännite korkeille sivukiskoille voidaan asettaa trimpotilla. Haluaisin, että 20 -johtiminen IDC -nauhakaapeli kytketään piirilevyyn ja lisätään 20 -nastaisia IDC -liittimiä nauhan pituuteen, ja jokaisella LED -kortilla on linkit mihin tahansa matriisin johtoon. Piiri on Eagle Cadissa ja se on esitetty alla olevassa alikuvassa. Korkea sivupiiri toteutetaan käyttämällä optoerottimia, jotka mielestäni saattavat olla sopivia. En ole itse testannut tätä piiriä eikä kirjoittanut mitään ohjelmistoa ajan puutteen vuoksi, mutta olen laittanut sen kommentoitavaksi, olen erityisen kiinnostunut optoerottimen toteutuksesta. Jokainen, joka on tarpeeksi rohkea kokeilemaan sitä… lähetä tulokset. PÄIVITYS 27. elokuuta 2008: Niille, jotka eivät käytä EagleCadia…. Alla on kaavio pdf -muodossa

Vaihe 1: Jotkut LED -teoriat

Jotain LED -teoriaa
Jotain LED -teoriaa
Jotain LED -teoriaa
Jotain LED -teoriaa

Charlieplexing perustuu lukuisiin hyödyllisiin LED -valojen ja nykyaikaisten mikro -ohjaimien ominaisuuksiin.

Ensinnäkin mitä tapahtuu, kun liität LEDin sähköön. Alla oleva pääkaavio näyttää tyypillisen 5 mm: n pienitehoisen LED -valon If v Vf -käyrän. Jos tarkoittaa 'eteenpäin suuntautuvaa virtaa' Vf tarkoittaa 'eteenpäin suuntautuvaa jännitettä'. Pystyakseli näyttää muilla sanoilla virran, joka virtaa LED -valon läpi, jos asetat vaaka -akselin jännitteen sen liittimien poikki. Se toimii myös päinvastoin, jos mittaat virran olevan jonkin verran arvoltaan, voit katsoa vaakasuoran akselin yli ja nähdä jännitteen, jonka LED näyttää liittimissään. Toinen kaavio esittää kaavamaisen esityksen LEDistä, jossa on If- ja Vf -merkinnät. Pääkaaviosta olen myös merkinnyt kaavion kiinnostavat alueet. - Ensimmäinen alue on LED -valon sammuminen. Tarkemmin sanottuna LED lähettää valoa niin himmeästi, että et voi nähdä sitä, ellei sinulla ole jonkinlaista super-duper-kuvanvahvistinta. - Toisella alueella on LED -valo, joka heijastaa vain hieman himmeää hehkua. - Kolmas alue on paikka, jossa LEDiä käytetään yleensä ja joka säteilee valoa valmistajan arvion mukaan. - Neljäs alue on LED, jota käytetään toimintarajojensa ulkopuolella, hehkuu luultavasti erittäin kirkkaasti, mutta valitettavasti vain lyhyen aikaa ennen kuin maaginen savu pääsee ulos ja se ei enää toimi…… eli tällä alueella se palaa, koska sen läpi virtaa liikaa virtaa. Huomaa, että LEDin If/Vf-käyrä tai käyttökäyrä on "epälineaarinen" käyrä. Eli se ei ole suora viiva … siinä on mutka tai mutka. Lopuksi tämä kaavio on tyypilliselle 5 mm: n punaiselle LEDille, joka on suunniteltu toimimaan 20 mA: n jännitteellä. Eri valmistajien eri LEDeillä on erilaiset käyttökäyrät. Esimerkiksi tässä kaaviossa 20 mA: n LEDin etujännite on noin 1,9 V. Sinisen 5 mm: n LEDin ollessa 20 mA: n etujännite voi olla 3,4 V. Tehokkaan valkoisen luxeon -LEDin 350 mA: n etujännite voi olla noin 3,2 V. Jotkut LED -paketit voivat olla useita LED -sarjoja tai rinnakkain, mikä muuttaa Vf/If -käyrää uudelleen. Tyypillisesti valmistaja määrittää käyttövirran, jolla on turvallista käyttää LEDiä, ja lähtöjännitteen tällä virralla. Yleensä (mutta ei aina) saat kaavion, joka on samanlainen kuin alla oleva taulukko. Sinun on tarkasteltava LED -tietolomaketta määrittääksesi, mikä etujännite on eri käyttövirroilla. Miksi tämä kaavio on niin tärkeä? Koska se osoittaa, että kun jännite on LEDin poikki, virtaava virta on kaavion mukainen. Laske jännitettä ja virtaa vähemmän … … ja LED -valo sammuu. Tämä on osa charlieplexing -teoriaa, johon päästään seuraavassa vaiheessa.

Vaihe 2: Lait (elektroniikka)

Lait (elektroniikka)
Lait (elektroniikka)
Lait (elektroniikka)
Lait (elektroniikka)
Lait (elektroniikka)
Lait (elektroniikka)

Vielä ei ole vielä charlieplexingin taikuudessa…. Meidän on mentävä elektroniikan lakien perusasioihin. Ensimmäinen kiinnostuksen kohteena oleva laki sanoo, että kaikkien piirien kytkettyjen komponenttien kokonaisjännite sähköpiirissä on yhtä suuri kuin yksilön summa jännitteet komponenttien yli. Tämä näkyy alla olevassa pääkaaviossa. Esimerkiksi mikro -ohjain toimii tyypillisesti 5 V: n jännitteellä ja sen ulostulonapit ovat 5 V: n päällä. Jos liität LED -valon vain mikron ulostulonappiin, näet edellisen sivun käyttökäyrästä, että LED -valossa virtaa liikaa virtaa ja se kuumenee ja palaa (todennäköisesti vahingoittaa myös mikroa) Kuitenkin, jos otamme toisen komponentin sarjaan LED -valolla, voimme vähentää osan 5 V: sta niin, että vasen jännite on juuri oikea LED -valon käyttämiseksi oikealla käyttövirralla. Tämä on tyypillisesti vastus, ja kun sitä käytetään tällä tavalla, sitä kutsutaan virranrajoitusvastukseksi. Tätä menetelmää käytetään hyvin yleisesti ja se johtaa niin kutsuttuun `` ohmislakiin ''… niin nimetty herra Ohmin mukaan. Ohms -laki seuraa yhtälöä V = I * R, jossa V on jännite, joka näkyy vastuksen R yli, kun virta I virtaa vastuksen läpi. V on volteina, minä vahvistimissa ja R on ohmeina. Joten jos meillä on 5 V kulutusta ja haluamme 1,9 V: n LEDin poikki, jotta se toimisi 20 mA: n jännitteellä, haluamme, että vastuksen 5-1,9 = 3,1 V sen yli. Tämä näkyy toisessa kaaviossa, koska vastus on sarjassa LEDin kanssa, sama virta kulkee vastuksen läpi kuin LED, eli 20 mA. Joten järjestämällä yhtälön uudelleen voimme löytää tämän työn tekemiseen tarvittavan vastuksen. toistaiseksi… siistiä. Katso nyt kaaviota 3. Siinä on LED kahden vastuksen välissä. Edellä mainitun ensimmäisen lain mukaan meillä on sama tilanne toisessa kaaviossa. Meillä on 1,9 V LEDin poikki, joten se toimii sen teknisen taulukon mukaan. Meillä on myös jokainen vastus, joka vähentää 1,55 V (yhteensä 3,1). Yhdistämällä jännitteet yhteen saadaan 5V (mikrokontrolleri nasta) = 1,55V (R1) + 1,9V (LED) + 1,55V (R2) ja kaikki tasapainotetaan. joka on puolet toisesta kaaviosta lasketusta summasta. tietysti käytännössä sinun olisi vaikea löytää 77,5 ohmin vastusta, joten sinun tarvitsee vain korvata lähin käytettävissä oleva arvo, esimerkiksi 75 ohmia, ja saada hieman enemmän virtaa LED tai 82 ohmia on turvallinen ja niissä on hieman vähemmän. ja siitä on hyötyä seuraavaan vaiheeseen.

Vaihe 3: Täydentävän aseman esittely

Esittelyssä "täydentävä asema"
Esittelyssä "täydentävä asema"

Toinen nimi, joka on tarkemmin kuvattu "charlieplexing", on "täydentävä asema".

Keskimääräisessä mikrokontrollerissasi voit laiteohjelmistossa kertoa mikroille, että ne asettavat lähtönastan joko '0' tai '1', tai antamaan 0 V: n jännitteen ulostulossa tai 5 V: n jännitteen lähdössä. Alla olevassa kaaviossa on nyt kerrostettu LED, jossa on käänteinen kumppani… tai täydentävä LED, siis täydentävä käyttö. Kaavion ensimmäisellä puoliskolla mikro lähettää 5V nastaan A ja 0V nastaan B. Virta kulkee siten kohdasta A paikkaan B. Koska LED2 on suunnattu taaksepäin LED1: een, virta ei kulje sen läpi eikä hehku. Sitä kutsutaan käänteiseksi puolueelliseksi. Meillä on vastaava tilanne kuin edellisellä sivulla. Voimme periaatteessa sivuuttaa LED2: n. Nuolet osoittavat nykyisen virtauksen. LED on lähinnä diodi (joten valoa emittoiva diodi). Diodi on laite, joka mahdollistaa virran kulkemisen yhteen suuntaan, mutta ei toiseen. LED -kaavio näyttää eräänlaisen tämän, virta kulkee nuolen suuntaan ……, mutta se on estetty toiseen suuntaan. Jos ohjeistamme mikroa tuottamaan nyt 5 V: n napaan B ja 0 V: n nastassa A, meillä on päinvastoin. Nyt LED1 on käänteinen, LED2 on eteenpäin suuntautunut ja mahdollistaa virran. LED2 palaa ja LED1 on tumma. Nyt voisi olla hyvä idea tarkastella johdannossa mainittujen erilaisten hankkeiden kaavioita. Sinun pitäisi nähdä paljon näitä täydentäviä pareja matriisissa. Tietysti alla olevassa esimerkissä ajamme kahta LED -valoa, joissa on kaksi mikro -ohjaimen nastaa… voit sanoa miksi vaivautua. Seuraavassa osassa käsitellään charlieplexingin suolistoa ja miten se hyödyntää tehokkaasti mikrokontrollerien ulostulonappeja.

Vaihe 4: Lopuksi… Charlieplex Matrix

Lopuksi… Charlieplex Matrix
Lopuksi… Charlieplex Matrix
Lopuksi… Charlieplex Matrix
Lopuksi… Charlieplex Matrix

Kuten johdannossa mainittiin, charliplexing on kätevä tapa ohjata paljon LED -valoja vain muutamalla nastalla mikro -ohjaimessa. Kuitenkin edellisillä sivuilla emme ole oikeastaan säästäneet nastoja, ajavat kahta LEDiä kahdella nastalla….

Voimme laajentaa täydellisen ajamisen ajatusta charlieplex -matriisiksi. Alla olevassa kaaviossa on esitetty vähimmäis charlieplex -matriisi, joka koostuu kolmesta vastuksesta ja kuudesta LEDistä ja joka käyttää vain kolmea mikrokontrollerinappia. Näetkö nyt kuinka kätevä tämä menetelmä on? Jos haluat käyttää kuutta LED -valoa normaalilla tavalla, tarvitset kuusi mikro -ohjaimen nastaa. Itse asiassa mikro -ohjaimen N -nastalla voit mahdollisesti ohjata N * (N - 1) LEDiä. 3 nastaa varten tämä on 3 * (3-1) = 3 * 2 = 6 LEDiä. Asiat kasautuvat nopeasti useilla nastoilla. 6 nastalla voit ajaa 6 * (6 - 1) = 6 * 5 = 30 LEDiä … wow! Nyt charlieplexing bittiin. Katso alla olevaa kaaviota. Meillä on kolme toisiaan täydentävää paria, yksi pari jokaisen mikrotulostustapin yhdistelmän välillä. Yksi pari välillä A-B, yksi pari välillä B-C ja yksi pari välillä A-C. Jos irrotat nastan C toistaiseksi, meillä on sama tilanne kuin ennen. Kun 5V on nastassa A ja 0V nastassa B, LED1 palaa, LED2 on taaksepäin suuntautunut ja ei johda virtaa. Kun 5V on tapissa B ja 0V nastassa A, LED2 palaa ja LED1 on taaksepäin suuntautunut. Tämä koskee muita mikrotappeja. Jos irrotamme nastan B ja asetamme nastan A arvoon 5 V ja nastan C arvoon 0 V, LED5 palaa. Kääntämällä niin, että nasta A on 0V ja nasta C on 5V, LED6 palaa. Sama koskee nastojen B-C välistä täydentävää paria. Odota, kuulen sinun sanovan. Katsotaanpa toista tapausta hieman tarkemmin. Meillä on 5 V nastassa A ja 0 V nastassa C. Olemme irrottaneet nastan B (keskimmäinen). OK, joten virta kulkee LED5: n läpi, virta ei virtaa LED6: n läpi, koska se on käänteisesti esijännitetty (ja samoin LED2 ja LED4)…. ei ole siellä? Miksi nämä LEDit eivät pala yhtä hyvin? Tässä on charlieplexing -järjestelmän sydän. Itse asiassa virtaa kulkee sekä LED1: ssä että LED3: ssa, mutta jännite näiden molempien välillä on vain yhtä suuri kuin LED5: n jännite. Tyypillisesti niiden jännite olisi puolet LED5: n jännitteestä. Joten jos meillä on 1,9 V LED5: n yli, niin vain 0,95 V on LED1: n ja 0,95 V LED3: n yli. Tämän artikkelin alussa mainitusta If/Vf -käyrästä voimme nähdä, että virta tällä puolijännitteellä on paljon pienempi kuin 20 mA ….. ja nämä LEDit eivät hehku näkyvästi. Tätä kutsutaan nykyiseksi varastamiseksi. Siten suurin osa virrasta virtaa haluamamme LED -valon kautta, suorin reitti vähimmän LED -valon (eli yhden LED -valon) kautta, eikä mikään LED -yhdistelmä. Jos katsoit nykyistä virtausta mihin tahansa yhdistelmään, jossa 5V ja 0V asetetaan mihin tahansa kahteen charlieplex -matriisin käyttötapaan, näet saman. Vain yksi LED -valo palaa kerrallaan. Harjoituksena katsokaa ensimmäistä tilannetta. 5 V nastassa A ja 0 V nastassa B, irrota nasta C. LED1 on lyhin reitti virtaa varten ja LED 1 palaa. Pieni virta kulkee myös LED5: n läpi, sitten varmuuskopioi LED4 nastaan B …..mutta taas nämä kaksi sarjassa olevaa LEDiä eivät pysty imemään tarpeeksi virtaa verrattuna LEDiin 1 hehkumaan kirkkaasti. Näin charlieplexingin voima toteutuu. Katso toinen kaavio, joka on Microdot -kelloni kaavio… 30 LEDiä, joissa on vain 6 nastaa. Minidot 2 -kelloni on pohjimmiltaan Microdotin laajennettu versio….samat 30 LED -valoa järjestettyinä. Jos haluat tehdä kuvion taulukosta, jokainen sytytettävä LED kytketään hetkeksi päälle ja mikro siirtyy seuraavaan. Jos se on suunniteltu sytytettäväksi, se kytketään uudelleen päälle hetkeksi. Skannaamalla nopeasti LEDien läpi riittävän nopeasti periaate, jota kutsutaan '' vision pysyvyydeksi '', mahdollistaa joukon LED -valoja näyttämään staattisen kuvion. Minidot 2 -artikkelissa on vähän selitystä tästä periaatteesta. Mutta odota….. Olen näennäisesti hiipunut hieman yllä olevassa kuvauksessa. Mitä tämä 'irrotustappi B', 'irrota nasta C' on. Seuraava jakso kiitos.

Vaihe 5: Kolmivaiheet (ei kolmipyörät)

Kolmitilat (ei kolmipyörät)
Kolmitilat (ei kolmipyörät)
Kolmitilat (ei kolmipyörät)
Kolmitilat (ei kolmipyörät)

Edellisessä vaiheessa mainitsimme, että mikrokontrolleri voidaan ohjelmoida antamaan 5V tai 0V jännite. Jotta charlieplex -matriisi toimisi, valitsemme matriisista kaksi nastaa ja irrotamme kaikki muut nastat.

Tietysti nastojen irrottaminen manuaalisesti on hieman vaikeaa, varsinkin jos skannaamme asioita hyvin nopeasti käyttääksemme visio -vaikutuksen vaikutusta kuvion näyttämiseen. Kuitenkin mikrokontrollerin ulostulonapit voidaan ohjelmoida myös tulonappeiksi. Kun mikrotappi on ohjelmoitu tuloksi, se menee niin kutsuttuun '' korkean impedanssin '' tai '' kolmen tilan '' tilaan. Toisin sanoen se on erittäin suuri (megaohmin tai miljoonien ohmien luokan) vastus tapille. Jos resistanssi on erittäin korkea (katso kaavio), voimme periaatteessa pitää tappia irrotettuna, joten charliplex -järjestelmä toimii. Toinen kaavio esittää matriisitapit kullekin yhdistelmälle, joka on mahdollista valaista esimerkissämme olevat kuusi LEDiä. Tyypillisesti kolmiotilaa merkitään "X": llä, 5V näkyy "1" (loogisella 1) ja 0V "0". Mikro -laiteohjelmistossa "0" tai "1" ohjelmoisit nastat lähtöksi ja sen tila on hyvin määritelty. Kolmivaltiolle ohjelmoit sen syötteeksi, ja koska se on tulo, emme oikeastaan tiedä, mikä tila voi olla….tähden X tarkoittaa tuntematonta. Vaikka saatamme varata nastan kolmen valtion tai tulon, meidän ei tarvitse lukea sitä. Hyödynnämme vain sitä tosiasiaa, että mikrokontrollerin tulotappi on suuri impedanssi.

Vaihe 6: Joitakin käytännön asioita

Charlieplexingin taika perustuu siihen tosiasiaan, että useiden sarjassa olevien LED -valojen yksittäinen jännite on aina pienempi kuin yhden LED -valon jännite, kun yksi LED on rinnakkain sarjayhdistelmän kanssa. Jos jännite on pienempi, virta on pienempi, ja toivottavasti sarjayhdistelmän virta on niin alhainen, että LED ei syty. Tämä ei kuitenkaan aina pidä paikkaansa. matriisiisi tuleva 1,9 V: n etujännite ja sininen LED, jonka etujännite on 3,5 V (esimerkiksi LED1 = punainen, LED3 = punainen, LED5 = sininen 6 LED -esimerkissämme). Jos sytytät sinisen LED -valon, päädyt 3.5/2 = 1.75V kullekin punaiselle LEDille. Tämä voi olla hyvin lähellä LEDin himmeää toiminta -aluetta. Saatat huomata, että punaiset LED -valot hehkuvat himmeästi, kun sininen valo palaa. Siksi on hyvä idea varmistaa, että matriisiisi kuuluvien eri väristen LED -valojen etujännite on suunnilleen sama käyttövirralla, tai käytä samaa väriä LEDit matriisissa. Microdot/Minidot -projekteissani minun ei tarvinnut huolehtia tästä, käytin tehokkaita sinisiä/vihreitä SMD -LED -valoja, joilla on onneksi paljon sama jännite kuin punaisilla/keltaisilla. Kuitenkin, jos toteuttaisin saman asian 5 mm: n LEDeillä, tulos olisi ongelmallisempi. Tässä tapauksessa olisin toteuttanut sinisen/vihreän charlieplex -matriisin ja punaisen/keltaisen matiksin erikseen. Minun olisi tarvinnut käyttää enemmän nastoja…. Mutta siellä voit mennä. Toinen ongelma on tarkastella nykyistä piirtämistäsi mikro -osasta ja kuinka kirkas haluat LED -valon. Jos sinulla on suuri matriisi ja skannaat sitä nopeasti, jokainen LED palaa vain hetken. Tämä näyttää suhteellisen himmeältä verrattuna staattiseen näyttöön. Voit huijata lisäämällä virtaa LED -valon kautta vähentämällä virranrajoitusvastuksia, mutta vain tiettyyn pisteeseen. Jos otat liikaa virtaa mikroista liian kauan, vahingoitat lähtönastat. Jos sinulla on hitaasti liikkuva matriisi, esimerkiksi tila- tai syklonäyttö, voit pitää virran alas turvallisella tasolla, mutta sinulla on silti kirkas LED -näyttö, koska jokainen LED palaa pidempään, mahdollisesti staattisesti (jos Jotkut charlieplexingin edut:- käyttää vain muutamaa nastaa mikrokontrollerissa monien LEDien ohjaamiseen- vähentää komponenttien määrää, koska et tarvitse paljon ohjainpiirejä/vastuksia jne. Sekä jännitteiden tila että nastojen tulo-/lähtötila- sinun on oltava varovainen eri värien sekoittamisessa- Piirilevyasettelu on vaikeaa, koska LED-matriisi on monimutkaisempi.

Vaihe 7: Viitteet

Internetissä on paljon viittauksia charlieplexingiin. Artikkelin alussa olevien linkkien lisäksi jotkut niistä ovat: Maximin alkuperäinen artikkeli sisältää paljon sanottavaa seitsemän segmentin näyttöjen ajamisesta, mikä on myös mahdollista. https://www.maxim-ic.com/appnotes.cfm/appnote_number/1880A Wiki-merkintähttps://en.wikipedia.org/wiki/Charlieplexing

Suositeltava: