Obsah:

LED diody Charlieplexing- teorie: 7 kroků (s obrázky)
LED diody Charlieplexing- teorie: 7 kroků (s obrázky)

Video: LED diody Charlieplexing- teorie: 7 kroků (s obrázky)

Video: LED diody Charlieplexing- teorie: 7 kroků (s obrázky)
Video: Светодиодная панель, собранная по методу Чарли (Charlieplexing) 2024, Listopad
Anonim
LED diody Charlieplexing- teorie
LED diody Charlieplexing- teorie
LED diody Charlieplexing- teorie
LED diody Charlieplexing- teorie

Tento instruktáž je méně stavbou, kterou vlastníte, a spíše popisem teorie charlieplexingu. Je vhodný pro lidi se základy elektroniky, ale ne pro úplné začátečníky. Napsal jsem to v reakci na mnoho otázek, které jsem dostal ve svých dříve publikovaných Instructables.

Co je to 'charlieplexing'? Je poháněno spoustou LED diod pouze s několika piny. Pokud vás zajímá, že Charlieplexing je pojmenován po Charlesu Allenovi z Maxima, který tuto techniku vyvinul. To může být užitečné pro spoustu věcí. Možná budete muset zobrazit informace o stavu na malém mikrokontroléru, ale máte k dispozici pouze několik pinů. Možná budete chtít ukázat efektní bodovou matici nebo hodiny, ale nechcete používat spoustu komponent. Některé další projekty demonstrující charlieplexing, na které byste se mohli podívat, jsou: Jak řídit spoustu LED z několika pinů mikrokontroléru. od Westfw:- https://www.instructables.com/id/ED0NCY0UVWEP287ISO/ A pár mých vlastních projektů, hodinky The Microdot:- https://www.instructables.com/id/EWM2OIT78OERWHR38Z/ Hodiny Minidot 2: - Odkaz blednutí/stmívání, o kterém zde nebude řeč. AKTUALIZACE 19. srpna 2008: Přidal jsem soubor zip s obvodem, který může být schopen využít maticový charliplexing pro vysoce výkonné LED diskutované (na délku:)) v sekci komentáře. Má tlačítko + kodér polohy pro vytvoření uživatelského rozhraní a obvody pro ovládání počítače USB nebo RS232. Každá z kolejnic vysokého napětí může být nastavena na jedno ze dvou napětí, řekněme 2,2 V pro ČERVENÉ LED diody a 3,4 V pro zelenou/modrou/bílou. Napětí pro vysoké postranice lze nastavit trimpem. Předpokládal bych, že do desky bude zapojen 20wire IDC plochý kabel a 20pin IDC konektory přidány podél délky pásky, přičemž každá LED deska bude mít propojení na jakékoli vodiče v matici. Obvod je v Eagle Cad a vykreslen na níže uvedeném vedlejším obrázku. Obvod vysoké strany je implementován pomocí optočlenů, které si myslím, že by mohly být vhodné. Ve skutečnosti jsem tento obvod netestoval ani nenapsal žádný software kvůli nedostatku času, ale dal jsem to do komentáře, zvláště mě zajímá implementace optočlenu. Každý, kdo má odvahu to zkusit … prosím, pošlete své výsledky. AKTUALIZACE 27. srpna 2008: Pro ty, kteří nepoužívají EagleCad…. Níže je uvedeno schéma schématu ve formátu pdf

Krok 1: Nějaká teorie LED

Nějaká LED teorie
Nějaká LED teorie
Nějaká LED teorie
Nějaká LED teorie

Charlieplexing spoléhá na řadu užitečných aspektů LED a moderních mikrokontrolérů.

Za prvé, co se stane, když připojíte LED k elektřině. Níže uvedený hlavní diagram ukazuje, co se nazývá křivka If v Vf typické 5mm LED s nízkým výkonem. Pokud zkratka znamená „dopředný proud“Vf znamená „dopředné napětí“Svislá osa v jiných slovech ukazuje proud, který bude protékat LED, pokud na jeho svorky umístíte napětí horizontální osy. Funguje to i obráceně, pokud změříte, že proud má nějakou hodnotu, můžete se podívat napříč k vodorovné ose a vidět napětí, které bude LED představovat na svých svorkách. Druhý diagram ukazuje schematické znázornění LED s označením If a Vf. Z hlavního diagramu jsem také označil oblasti grafu, které jsou zajímavé. - První oblast je tam, kde LED dioda zhasne. Přesněji řečeno, LED vyzařuje světlo, takže jej budete matně nevidět, pokud nebudete mít nějaký superduper zesilovač obrazu. - Druhá oblast má LED jen mírně vyzařující tlumenou záři. - Třetí oblastí je místo, kde se obvykle používá LED dioda a která vydává světlo podle hodnocení výrobce. - Čtvrtá oblast je místo, kde je dioda LED provozována nad rámec provozních limitů, pravděpodobně velmi jasně září, ale bohužel jen krátkou dobu, než kouzelný kouř uvnitř unikne a znovu nebude fungovat …… tj. V této oblasti hoří, protože protéká jím příliš mnoho proudu. Všimněte si, že křivka If/Vf nebo provozní křivka LED je 'nelineární' křivka. To znamená, že to není přímka … má v sobě ohyb nebo zalomení. Nakonec tento diagram je pro typickou 5mm červenou LED navrženou pro provoz při 20mA. Různé LED diody od různých výrobců mají různé provozní křivky. Například v tomto diagramu při 20mA bude dopředné napětí LED přibližně 1,9V. U modré 5mm LED při 20mA může být dopředné napětí 3,4V. Pro vysoce výkonnou bílou luxeonovou LED s 350mA může být dopředné napětí kolem 3,2V. Některé sady LED diod mohou mít několik LED v sérii nebo paralelně, což opět mění křivku Vf/If. Typicky výrobce určí provozní proud, který je bezpečné používat při, a dopředné napětí při tomto proudu. Obvykle (ale ne vždy) dostanete graf podobný níže v datovém listu. Chcete -li zjistit, jaké je dopředné napětí při různých provozních proudech, musíte se podívat na technický list LED. Proč je tento graf tak důležitý? Protože ukazuje, že když je napětí přes LED, proud, který bude proudit, bude podle grafu. Snižte napětí a protéká menší proud….. a LED dioda zhasne. Toto je část teorie charlieplexingu, ke které se dostaneme v dalším kroku.

Krok 2: Zákony (elektroniky)

Zákony (elektroniky)
Zákony (elektroniky)
Zákony (elektroniky)
Zákony (elektroniky)
Zákony (elektroniky)
Zákony (elektroniky)

Stále ještě není kouzlo charlieplexingu … … musíme přejít k některým základům zákonů elektroniky. První zákon zájmu uvádí, že celkové napětí v jakékoli sérii připojených komponent v elektrickém obvodu se rovná součtu jednotlivých napětí napříč součástkami. To je znázorněno na hlavním diagramu níže. To je užitečné při použití LED diod, protože váš průměrný výstupní pin baterie nebo mikrokontroléru nikdy nebude přesně tím správným napětím pro spuštění vaší LED při doporučeném proudu. Například mikrokontrolér obvykle běží na 5 V a jeho výstupní piny budou při zapnutí na 5 V. Pokud k výstupnímu kolíku mikro připojíte pouze LED, uvidíte z provozní křivky na předchozí stránce příliš mnoho proudu, který bude proudit v LED a bude se zahřívat a spálit (pravděpodobně také poškodit mikro). Pokud však zavedeme druhou součást v sérii s LED, můžeme odečíst část 5V tak, aby napětí vlevo bylo správné pro spuštění LED při správném provozním proudu. Obvykle se jedná o odpor a při tomto způsobu se nazývá odpor omezující proud. Tato metoda se používá velmi často a vede k tomu, čemu se říká „ohmový zákon“…. Pojmenovaný podle pana Ohma. Ohmův zákon se řídí rovnicí V = I * R, kde V je napětí, které se objeví na odporu R, když proud I protéká odporem. V je ve voltech, I je v ampérech a R je v ohmech. Takže pokud máme 5V na útratu a chceme 1,9V přes LED, aby to běželo na 20mA, pak chceme, aby odpor měl 5-1,9 = 3,1 V přes to. Vidíme to na druhém diagramu. Protože odpor je v sérii s LED, protéká rezistorem stejný proud jako LED, tj. 20mA. Přesměrováním rovnice můžeme najít odpor, který potřebujeme, aby to fungovalo. V = I * RsoR = V / Pokud nahradíme hodnoty v našem příkladu, dostaneme: R = 3,1 / 0,02 = 155 ohmů (poznámka 20mA = 0,02Amp) Stále se mnou zatím … v pohodě. Nyní se podívejte na diagram 3. Má LED vloženou mezi dva odpory. Podle prvního zákona uvedeného výše máme stejnou situaci na druhém diagramu. Máme LED 1,9 V, takže běží podle specifikačního listu. Každý odpor také odečítáme každý 1,55 V (celkem 3,1). Sečtením napětí dohromady máme 5 V (kolík mikrokontroléru) = 1,55 V (R1) + 1,9 V (LED) + 1,55 V (R2) a vše se vyrovná. Pomocí ohmového zákona zjistíme, že odpory musí být každý 77,5 ohmů, což je polovina částky vypočtené z druhého diagramu. Samozřejmě v praxi byste těžko hledali odpor 77,5 ohmů, takže byste jen nahradili nejbližší dostupnou hodnotu, řekněme 75 ohmů, a skončili byste s trochou většího proudu v LED nebo 82 ohmů, aby byly v bezpečí a měly o něco méně. Proč bychom proboha měli dělat tento odporový písek, který pohání jednoduchou LED….. dobře, pokud máte jednu LED, je to všechno trochu hloupé, ale toto je návod na charlieplexing a hodí se pro další krok.

Krok 3: Představujeme „doplňkový disk“

Představujeme „doplňkový pohon“
Představujeme „doplňkový pohon“

Další název, který lze přesněji popsat jako „charlieplexing“, je „doplňkový pohon“.

Ve vašem průměrném mikrokontroléru můžete ve firmwaru říci mikro, aby nastavil výstupní pin buď na '0' nebo '1', nebo aby na výstupu představoval napětí 0 V nebo 5 V na výstupu. Níže uvedený diagram nyní ukazuje sendvičovou LED s obráceným partnerem… nebo doplňkovou LED, tedy komplementární pohon. V první polovině diagramu mikro vydává 5 V na pin A a 0 V na pin B. Proud tedy bude proudit z A do B. Protože LED2 je orientována zpět na LED1, nebude jím protékat žádný proud a nebude záře. Tomu se říká reverzní zkreslení. Máme ekvivalent situace na předchozí stránce. LED2 můžeme v zásadě ignorovat. Šipky ukazují aktuální tok. LED je v podstatě dioda (odtud světelná dioda). Dioda je zařízení, které umožňuje tok proudu v jednom směru, ale ne v druhém. Schéma typu LED to ukazuje, proud bude proudit ve směru šipky ……, ale bude blokován jiným způsobem. Pokud dáme pokyn mikro, aby nyní vyvedlo 5V na pin B a 0V na pin A, máme to naopak. Nyní je LED1 předpjatá zpětně, LED2 je předpjatá a umožní tok proudu. LED2 bude svítit a LED1 bude tmavá. Nyní by mohl být dobrý nápad podívat se na schémata různých projektů uvedených v úvodu. Měli byste vidět spoustu těchto komplementárních párů v matici. Samozřejmě v příkladu níže řídíme dvě LED diody se dvěma piny mikrokontroléru … dalo by se říci, proč se obtěžovat. Další část je o tom, kde se dostaneme do útrob charlieplexingu a jak efektivně využívá výstupní piny mikrokontrolérů.

Krok 4: Konečně…. Matice Charlieplex

Nakonec…. Matice Charlieplex
Nakonec…. Matice Charlieplex
Nakonec…. Matice Charlieplex
Nakonec…. Matice Charlieplex

Jak již bylo zmíněno v úvodu, charliplexing je praktický způsob řízení spousty LED diod pouze s několika piny na mikrokontroléru. Na předchozích stránkách jsme však neuložili žádné piny, pohánějící dvě LED diody se dvěma piny ….

Myšlenku komplementárního pohonu můžeme rozšířit na charlieplexovou matici. Níže uvedený diagram ukazuje minimální charlieplexovou matici skládající se ze tří rezistorů a šesti LED diod a využívajících pouze tři piny mikrokontroléru. Nyní vidíte, jak je tato metoda užitečná? Pokud byste chtěli normálně řídit šest LED diod … … potřebujete šest pinů mikrokontroléru. Ve skutečnosti s N piny mikrokontroléru můžete potenciálně řídit LED N * (N - 1). Pro 3 piny to jsou 3 * (3-1) = 3 * 2 = 6 LED diod. Věci se rychle skládají s více piny. Se 6 piny můžete řídit 6 * (6 - 1) = 6 * 5 = 30 LED diod…. Wow! Nyní k bitu charlieplexingu. Podívejte se na níže uvedený diagram. Máme tři komplementární páry, jeden pár mezi každou kombinací mikro výstupních pinů. Jeden pár mezi A-B, jeden pár mezi B-C a jeden pár mezi A-C. Pokud byste prozatím odpojili kolík C, měli bychom stejnou situaci jako dříve. S 5V na pinu A a 0V na pinu B bude LED1 svítit, LED2 je zpětně předpjatá a nebude vést proud. S 5V na pinu B a 0V na pinu A LED2 bude svítit a LED1 je zpětně předpjatá. To platí pro ostatní mikro piny. Pokud bychom odpojili pin B a nastavili pin A na 5V a pin C na 0V, LED5 by svítila. Couvání tak, že pin A je 0V a pin C je 5V, pak bude svítit LED6. Totéž pro komplementární pár mezi piny B-C. Počkejte, slyším, co říkáte. Podívejme se na druhý případ trochu blíže. Máme 5V na pinu A a 0V na pinu C. Odpojili jsme pin B (prostřední). Dobře, takže proud protéká LED5, proud neproudí přes LED6, protože je zpětně předpjatý (a stejně tak LED2 a LED4) … ale existuje také cesta pro odběr proudu z pinu A, přes LED1 a LED3 není tam? Proč tyto LED také nesvítí. Zde je jádro schématu charlieplexingu. Skutečně teče proud jak LED1, tak LED3, avšak napětí na obou těchto kombinovaných jednotkách se bude rovnat pouze napětí na LED5. Typicky by na nich bylo poloviční napětí, které má LED5. Pokud tedy máme 1,9 V přes LED5, pak pouze 0,95 V bude přes LED1 a 0,95 V přes LED3. Z křivky If/Vf zmíněné na začátku tohoto článku vidíme, že proud při tomto polovičním napětí je mnohem mnohem nižší než 20mA ….. a tyto LED diody nebudou viditelně svítit. Toto je známé jako současné krádeže. Většina proudu tedy bude protékat LED, kterou chceme, nejpřímější cestou skrz nejmenší počet LED (tj. Jednou LED), spíše než jakoukoli sériovou kombinací LED. Pokud jste se podívali na aktuální tok pro jakoukoli kombinaci zapojení 5V a 0V na jakékoli dva piny pohonu matice charlieplex, uvidíte totéž. Současně bude svítit pouze jedna LED. Jako cvičení se podívejte na první situaci. 5V na pinu A a 0V na pinu B, odpojovací pin C. LED1 je nejkratší cestou k odebírání proudu a LED 1 bude svítit. Malý proud bude také procházet LED5, poté zálohovat LED4 na pin B ….. ale opět tyto dvě LED diody nebudou schopny nasávat dostatečný proud ve srovnání s LED 1, aby jasně zářily. Tím je realizována síla charlieplexingu. Viz druhý diagram, který je schématem pro mé hodinky Microdot …..30 LED diod, pouze se 6 piny. Hodiny My Minidot 2 jsou v podstatě rozšířenou verzí Microdot…. Stejných 30 LED diod uspořádaných v poli. Aby se vytvořil vzor v poli, každá LED dioda, která má být rozsvícena, se krátce zapne, poté se mikro posunie na další. Pokud je naplánováno jeho rozsvícení, na krátkou dobu se znovu zapne. Díky rychlému dostatečně rychlému skenování LED dioda princip nazvaný 'perzistence vidění' umožní řadě LED zobrazit statický obrazec. Článek Minidot 2 má na tomto principu trochu vysvětlení. Ale počkejte ….. zdánlivě jsem trochu přehlédl v popisu výše. Co je to podnikání „odpojení kolíku B“, „odpojení kolíku C“. Další část prosím.

Krok 5: Třístavy (ne tříkolky)

Tri-státy (ne tříkolky)
Tri-státy (ne tříkolky)
Tri-státy (ne tříkolky)
Tri-státy (ne tříkolky)

V předchozím kroku jsme zmínili, že mikrokontrolér lze naprogramovat na výstup napětí 5 V nebo 0 V. Aby matice charlieplex fungovala, vybereme v matici dva piny a odpojíme všechny ostatní piny.

Ruční odpojení kolíků je samozřejmě trochu obtížné, zvláště pokud skenujeme věci velmi rychle a používáme efekt perzistence vidění k zobrazení vzoru. Výstupní piny mikrokontroléru však lze také naprogramovat jako vstupní piny. Když je mikro pin naprogramován jako vstup, přejde do takzvaného „vysokého odporu“nebo „třístavového“stavu. To znamená, že představuje velmi vysoký odpor (řádově megaohmů nebo milionů ohmů) vůči kolíku. Pokud existuje velmi vysoký odpor (viz diagram), pak můžeme v podstatě považovat kolík za odpojený, a tak schéma charliplex funguje. Druhý diagram ukazuje maticové piny pro každou možnou kombinaci pro osvětlení každé ze 6 LED v našem příkladu. Třístavový stav je obvykle označen 'X', 5V je zobrazeno jako '1' (pro logickou 1) a 0V jako '0'. V mikro firmwaru pro '0' nebo '1' byste naprogramovali piny jako výstup a jeho stav je dobře definován. Pro třístavové naprogramujete, aby to byl vstup, a protože je to vstup, ve skutečnosti nevíme, jaký může být stav… proto „X“pro neznámé. Ačkoli můžeme pin přidělit jako třístavový nebo jako vstup, nemusíme jej číst. Využíváme pouze skutečnosti, že vstupní pin na mikrokontroléru má vysokou impedanci.

Krok 6: Některé praktické záležitosti

Kouzlo charlieplexingu závisí na skutečnosti, že individuální napětí prezentované na více LED diodách v sérii bude vždy menší než na jedné LED diodě, když je jedna LED paralelně se sériovou kombinací. Pokud je napětí menší, pak je proud menší a doufejme, že proud v sériové kombinaci bude tak nízký, že LED nesvítí. To však neplatí vždy. Řekněme, že jste měli dvě červené LED diody s typickým dopředné napětí 1,9 V ve vaší matici a modrá LED s dopředným napětím 3,5 V (řekněme LED1 = červená, LED3 = červená, LED5 = modrá v našem příkladu 6 LED). Pokud rozsvítíte modrou LED, skončíte s 3,5/2 = 1,75 V pro každou z červených LED. To může být velmi blízko tmavé pracovní oblasti LED. Když se rozsvítí modrá, můžete zjistit, že červené LED diody budou slabě svítit. Je proto dobré zajistit, aby dopředné napětí všech různých barevných LED diod ve vaší matici bylo při provozním proudu zhruba stejné, nebo použijte stejnou barvu LED diody v matici. Ve svých projektech Microdot/Minidot jsem se o to nemusel starat, použil jsem vysoce účinné modro/zelené SMD LED diody, které mají naštěstí téměř stejné dopředné napětí jako červené/žluté. Pokud bych však implementoval totéž s 5mm LED diodami, výsledek by byl problematičtější. V tomto případě bych samostatně implementoval modro/zelenou matici charlieplex a červeno/žlutou matici. Potřeboval bych použít více pinů … ale je to tam. Dalším problémem je podívat se na vaši aktuální kresbu z mikroskopu a na to, jak jasné chcete LED diody. Pokud máte velkou matici a rychle ji skenujete, pak každá LED svítí jen na krátkou dobu. Ve srovnání se statickým zobrazením to bude vypadat relativně matně. Můžete podvádět zvýšením proudu přes LED snížením odporů omezujících proud, ale pouze do určitého bodu. Pokud odebíráte příliš mnoho proudu z mikro příliš dlouho, poškodíte výstupní kolíky. Pokud máte pomalu se pohybující matici, řekněme stavový nebo cyklonový displej, můžete udržet proud na bezpečné úrovni, ale stále máte jasný LED displej, protože každá LED svítí delší dobu, možná staticky (v případě Některé výhody charlieplexingu:- používá pouze několik pinů na mikrokontroléru k ovládání mnoha LED diod- snižuje počet komponent, protože nepotřebujete mnoho čipů/rezistorů ovladačů atd. Některé nevýhody:- váš mikro firmware bude muset zvládnout nastavení stav napětí i stav vstupu/výstupu na pinech- je třeba dávat pozor na míchání různých barev- rozvržení DPS je obtížné, protože matice LED je složitější.

Krok 7: Reference

Existuje spousta odkazů na charlieplexing na webu. Kromě odkazů v přední části článku některé z nich jsou: Původní článek od Maxima, který má hodně co říci o řízení 7 segmentových displejů, což je také možné. https://www.maxim-ic.com/appnotes.cfm/appnote_number/1880A wiki entryhttps://en.wikipedia.org/wiki/Charlieplexing

Doporučuje: