Съдържание:

Чарлиплексиращи светодиоди- теорията: 7 стъпки (със снимки)
Чарлиплексиращи светодиоди- теорията: 7 стъпки (със снимки)

Видео: Чарлиплексиращи светодиоди- теорията: 7 стъпки (със снимки)

Видео: Чарлиплексиращи светодиоди- теорията: 7 стъпки (със снимки)
Видео: Как Подключить Светодиод ? Теория и Практика на Пальцах ! 2024, Ноември
Anonim
Чарлиплексиращи светодиоди- теорията
Чарлиплексиращи светодиоди- теорията
Чарлиплексиращи светодиоди- теорията
Чарлиплексиращи светодиоди- теорията

Тази инструкция е по -малко изграждане на собствен проект и повече описание на теорията за charlieplexing. Подходящ е за хора с основи на електрониката, но не и за начинаещи. Написах го в отговор на многото въпроси, които получих в предишно публикуваните си инструкции.

Какво е "Charlieplexing"? Той управлява много светодиоди само с няколко пина. В случай, че се чудите, Charlieplexing е кръстен на Чарлз Алън в Maxim, който е разработил техниката. Това може да бъде полезно за много неща. Може да се наложи да покажете информация за състоянието на малък микроконтролер, но да имате само няколко пина. Може да искате да покажете фантастична матрична матрица или часовник, но не искате да използвате много компоненти. Някои други проекти, демонстриращи charlieplexing, които може да искате да разгледате, са: Как да управлявате много светодиоди от няколко пина на микроконтролера. от Westfw:- https://www.instructables.com/id/ED0NCY0UVWEP287ISO/ И няколко мои собствени проекта, часовникът Microdot:- https://www.instructables.com/id/EWM2OIT78OERWHR38Z/ Часовникът Minidot 2: - https://www.instructables.com/id/E11GKKELKAEZ7BFZAK/ Друг готин пример за използването на charlieplexing е на: https://www.jsdesign.co.uk/charlie/ Часовникът Minidot 2 въвежда усъвършенствана схема за charlieplexing за избледняване/затъмняване, което няма да се обсъжда тук. АКТУАЛИЗИРАНЕ 19 август 2008 г.: Добавих zip файл с верига, която може да бъде в състояние да използва матричното charliplexing за светодиоди с висока мощност, обсъдени (на дълъг:)) в секцията за коментари. Той има бутон + енкодер за положение, за да направи потребителски интерфейс, плюс схема за управление на компютъра чрез USB или RS232. Всяка от релсите с високо странично напрежение може да бъде настроена на едно от двете напрежения, да речем 2.2V за ЧЕРВЕНИ светодиоди и 3.4V за зелено/синьо/бяло. Напрежението за високите странични релси може да се регулира от trimpot. Бих предвидил 20 -жилен IDC лентов кабел да бъде включен в платката и 20 -пинови IDC конектори, добавени по дължината на лентата, като всяка LED платка има връзки към желаните от тях проводници в матрицата. Веригата е в Eagle Cad и е изобразена в подобраза по -долу. Високата странична верига се реализира с помощта на оптрони, които според мен може да са подходящи. Всъщност не съм тествал тази схема, нито съм написал софтуер поради липса на време, но я пуснах за коментар, особено се интересувам от внедряването на оптрон. Всеки, който е достатъчно смел да го пробва … моля, публикувайте резултатите си. АКТУАЛИЗИРАНЕ на 27 август 2008 г.: За тези, които не използват EagleCad….долу е добавен pdf на схемата

Стъпка 1: Някои LED теория

Някои LED теория
Някои LED теория
Някои LED теория
Някои LED теория

Charlieplexing разчита на редица полезни аспекти на светодиодите и съвременните микроконтролери.

Първо какво се случва, когато свържете светодиод към електричество. Основната диаграма по -долу показва това, което се нарича If v Vf крива на типичен 5 мм светодиод с ниска мощност. Ако означава "напред ток" Vf означава "напрежение напред" Вертикалната ос в други думи показва тока, който ще тече през светодиод, ако поставите напрежението на хоризонталната ос върху неговите клеми. Той работи и обратното, ако измерите, че токът е с някаква стойност, можете да погледнете към хоризонталната ос и да видите напрежението, което светодиодът ще представи върху своите клеми. Втората диаграма показва схематично изображение на светодиод с етикети If и Vf. От основната диаграма също съм маркирал области от графиката, които представляват интерес. - Първата област е мястото, където светодиодът е „изключен“. По-точно светодиодът излъчва светлина толкова слабо, че няма да можете да го видите, освен ако не сте имали някакъв супер-пупер усилвател на изображението. - Втората област има светодиод, който леко излъчва слаба светлина. - Третата област е мястото, където светодиодът обикновено работи и излъчва светлина според рейтинга на производителя. - Четвъртата област е мястото, където светодиодът работи извън работните си граници, вероятно свети много ярко, но уви само за кратко време, преди вълшебният дим вътре да избяга и той няма да работи отново …… т.е. в тази област той изгаря, защото през него протича твърде много ток. Имайте предвид, че кривата If/Vf или работната крива на светодиода е „нелинейна“крива. Тоест, това не е права линия … има огъване или изкривяване. И накрая, тази диаграма е за типичен 5 мм червен светодиод, проектиран да работи при 20 mA. Различните светодиоди от различни производители имат различни работни криви. Например в тази диаграма при 20mA предното напрежение на светодиода ще бъде приблизително 1.9V. За син 5 мм светодиод при 20mA напрежението може да бъде 3.4V. За бял луксозен светодиод с висока мощност при 350 mA напрежението може да бъде около 3.2V. Някои светодиодни пакети може да са няколко светодиода последователно или паралелно, променящи отново кривата Vf/If. Обикновено производителят ще посочи работен ток, който е безопасен за използване на светодиода, и напрежението напред при този ток. Обикновено (но не винаги) получавате графика, подобна на по -долу в листа с данни. Трябва да разгледате листа с данни за светодиода, за да определите какво е прякото напрежение при различни работни токове. Защо тази графика е толкова важна? Тъй като показва, че когато напрежението е в светодиода, токът, който ще тече, ще бъде според графиката. По -ниско напрежение и по -малко ток ще потече …..и светодиодът ще "изгасне". Това е част от теорията за charlieplexing, до която ще стигнем в следващата стъпка.

Стъпка 2: Законите (на електрониката)

Законите (на електрониката)
Законите (на електрониката)
Законите (на електрониката)
Законите (на електрониката)
Законите (на електрониката)
Законите (на електрониката)

Все още не сте в магията на charlieplexing все пак ….ме трябва да отидем до някои основи на законите за електрониката. Първият закон на интерес гласи, че общото напрежение във всяка поредица от свързани компоненти в електрическа верига е равно на сумата на отделния напрежения в компонентите. Това е показано в основната диаграма по -долу. Това е полезно при използване на светодиоди, тъй като средната изходна клема на батерията или микроконтролера никога няма да бъде точно правилното напрежение, за да работи вашият светодиод при препоръчителния ток. Например микроконтролер обикновено ще работи при 5V и изходните му изводи ще бъдат при 5V, когато са включени. Ако просто свържете светодиод към изходния щифт на микро, ще видите от работната крива на предишната страница, че в светодиода ще протече твърде много ток и той ще се нагрее и ще изгори (вероятно ще повреди и микро). Обаче, ако въведем втори компонент последователно със светодиода, можем да извадим част от 5V, така че лявото напрежение да е точно така, че да работи светодиода при правилния работен ток. Това обикновено е резистор и когато се използва по този начин се нарича резистор за ограничаване на тока. Този метод се използва много често и води до това, което се нарича „омов закон“…. Така наречен на г -н Ом. Законът на Ом следва уравнението V = I * R, където V е напрежението, което ще се появи на съпротивление R, когато ток I тече през резистора. V е във волта, I е в усилватели и R е в ома, така че ако имаме 5V за изразходване и искаме 1.9V през светодиода, за да работи при 20mA, тогава искаме резисторът да има 5-1.9 = 3.1 V през него. Можем да видим това във втората диаграма. Тъй като резисторът е последователно с LED, същият ток ще тече през резистора като светодиода, т.е. 20mA. Така че, пренареждайки уравнението, можем да намерим съпротивлението, от което се нуждаем, за да работи тази работа. V = I * RsoR = V / Замествайки стойностите в нашия пример, получаваме: R = 3,1 / 0,02 = 155 ома (забележка 20mA = 0,02 ампера) Все още съм с мен досега … готино. Сега погледнете диаграма 3. Светодиодът е поставен между два резистора. Съгласно първия закон, споменат по -горе, имаме същата ситуация на втората диаграма. Имаме 1.9V през светодиода, така че той работи според спецификацията му. Също така имаме всеки резистор, който изважда по 1.55V всеки (за общо 3.1). Като добавим заедно напреженията, имаме 5V (щифт на микроконтролера) = 1.55V (R1) + 1.9V (светодиодът) + 1.55V (R2) и всичко се балансира. Използвайки омовия закон, ние откриваме, че резисторите трябва да са 77,5 ома всеки, което е половината от сумата, изчислена от втората диаграма. Разбира се на практика ще ви бъде трудно да намерите 77.5ohm резистор, така че просто трябва да замените най -близката налична стойност, да речем 75ohms и в крайна сметка да получите малко повече ток в светодиодът или 82 ома, за да бъдат безопасни и да имат малко по -малко. Защо, по дяволите, трябва да правим този резистор, който да управлява обикновен светодиод … … добре, ако имате един светодиод, всичко е малко глупаво, но това е инструкция за charlieplexing и това е полезно за следващата стъпка.

Стъпка 3: Въвеждане на „допълнителен диск“

Представяме „допълнителен диск“
Представяме „допълнителен диск“

Друго име, което е по -точно за описване на „charlieplexing“, е „допълнително задвижване“.

Във вашия среден микроконтролер можете във фърмуера да кажете на микро да зададе изходен щифт да бъде или "0" или "1", или да представи 0V напрежение на изхода или 5V напрежение на изхода. Диаграмата по -долу сега показва затворения светодиод с обърнат партньор ….или допълващ светодиод, следователно допълнително задвижване. В първата половина на диаграмата микро извежда 5V към извод А и 0V към извод В. Токът по този начин ще тече от А до В. Тъй като LED2 е ориентиран назад към LED1, токът няма да тече през него и няма да блясък. Това се нарича обратно предубедено. Имаме еквивалента на ситуацията в предишната страница. По принцип можем да игнорираме LED2. Стрелките показват текущия поток. Светодиодът по същество е диод (следователно светодиод). Диодът е устройство, което позволява токът да тече в едната посока, но не и в другата. Схемата на един LED показва това, токът ще тече по посока на стрелката ……. но е блокиран по друг начин. Ако инструктираме микрото да изведе 5V към щифт B и 0V на щифт A, имаме обратното. Сега LED1 е обърнат обратно, LED2 е отклонен напред и ще позволи токов поток. LED2 ще свети и LED1 ще бъде тъмен. Сега може да е добра идея да разгледате схемите на различните проекти, споменати във въведението. Трябва да видите много от тези допълващи се двойки в матрица. Разбира се, в примера по -долу ние управляваме два светодиода с два пина на микроконтролера …. Можете да кажете защо се притеснявате. Е, следващият раздел е мястото, където стигаме до червата на charlieplexing и как той ефективно използва изходните щифтове на микроконтролери.

Стъпка 4: Най -накрая ….матрица на Charlieplex

И накрая ….матрица на Charlieplex
И накрая ….матрица на Charlieplex
И накрая ….матрица на Чарлиплекс
И накрая ….матрица на Чарлиплекс

Както бе споменато във въведението, charliplexing е удобен начин да управлявате много светодиоди само с няколко пина на микроконтролер. Въпреки това в предишните страници не сме запазили никакви щифтове, като управляваме два светодиода с два пина ….

Е, можем да разширим идеята за допълнително задвижване в матрица charlieplex. Диаграмата по -долу показва минималната матрица на charlieplex, състояща се от три резистора и шест светодиода и използваща само три пина на микроконтролера. Виждате ли колко удобен е този метод? Ако искате да управлявате шест светодиода по нормалния начин …, ще ви трябват шест пина за микроконтролер. Всъщност с N пинове на микроконтролер потенциално можете да управлявате N * (N - 1) светодиоди. За 3 пина това е 3 * (3-1) = 3 * 2 = 6 светодиода. Нещата се подреждат бързо с повече щифтове. С 6 пина можете да управлявате 6 * (6 - 1) = 6 * 5 = 30 светодиода….уау! Сега към частта charlieplexing. Погледнете диаграмата по -долу. Имаме три допълващи се двойки, една двойка между всяка комбинация от микро изходни щифтове. Една двойка между A-B, една двойка между B-C и една двойка между A-C. Ако изключите щифт C засега, ще имаме същата ситуация като преди. С 5V на щифт A и 0V на щифт B, LED1 ще свети, LED2 е обърнат обратно и няма да провежда ток. С 5V на щифт B и 0V на щифт A LED2 ще свети и LED1 е обърнат обратно. Това следва за другите микро щифтове. Ако изключим щифт B и настроим щифт A на 5V и щифт C на 0V, тогава LED5 ще свети. Обръщайки се така, че щифт А е 0V, а щифт С е 5V, тогава LED6 ще свети. Същото и за допълнителната двойка между щифтове В-С. Чакай, чувам те да казваш. Нека разгледаме втория случай малко по -отблизо. Имаме 5V на щифт A и 0V на щифт C. Изключихме щифт B (средния). Добре, така че ток тече през LED5, токът не тече през LED6, защото е обратен отклонение (и LED2 и LED4 също …), но има и път, по който токът да поеме от щифт А, през LED1 и LED3 нали? Защо тези светодиоди също не светят. Тук е сърцето на схемата за charlieplexing. Наистина има ток, протичащ както в LED1, така и в LED3, но напрежението и в двата заедно ще бъде само равно на напрежението в LED5. Обикновено те биха имали половината напрежение върху тях, което има LED5. Така че, ако имаме 1.9V през LED5, тогава само 0.95V ще бъде през LED1 и 0.95V през LED3. От кривата If/Vf, спомената в началото на тази статия, можем да видим, че токът при това полунапрежение е много по -нисък от 20mA…..и тези светодиоди няма да светят видимо. Това е известно като текуща кражба. По този начин по -голямата част от тока ще тече през светодиода, който искаме, най -директният път през най -малкия брой светодиоди (т.е. един светодиод), вместо всяка комбинация от светодиоди. Ако погледнете текущия поток за каквато и да е комбинация от поставяне на 5V и 0V на всеки два задвижващи щифта на матрицата charlieplex, ще видите едно и също нещо. Само един светодиод ще свети наведнъж. Като упражнение погледнете първата ситуация. 5V на щифт A и 0V на щифт B, изключете щифт C. LED1 е най -краткият път за приемане на тока и LED 1 ще свети. Малък ток също ще премине през LED5, след което ще направи резервно копие на LED4 към щифт В … … но отново тези два светодиода в серия няма да могат да излъчват достатъчно ток в сравнение с LED 1, за да светят ярко. Така се реализира силата на charlieplexing. Вижте втората диаграма, която е схематична за моя часовник Microdot…..30 LED, само с 6 пина. Моят часовник Minidot 2 е по същество разширена версия на Microdot….същите 30 светодиода, подредени в масив. За да се направи модел в масива, всеки светодиод, който трябва да светне, се включва за кратко, след което микро се придвижва към следващия. Ако е планирано да свети, той се включва отново за кратко. Чрез бързо сканиране през светодиодите достатъчно принцип, наречен „устойчивост на зрението“, ще позволи на редица светодиоди да показват статичен модел. Статията Minidot 2 има малко обяснение на този принцип. Но изчакайте … … привидно съм пренебрегнал малко описанието по -горе. Какъв е този бизнес с „изключване на щифт В“, „разединяване на щифт С“. Следващият раздел, моля.

Стъпка 5: Три състояния (не триколки)

Три състояния (не триколки)
Три състояния (не триколки)
Три състояния (не триколки)
Три състояния (не триколки)

В предишната стъпка споменахме, че микроконтролер може да бъде програмиран да извежда 5V напрежение или 0V напрежение. За да работи матрицата на charlieplex, ние избираме два пина в матрицата и изключваме всички други щифтове.

Разбира се, ръчното изключване на щифтовете е малко трудно да се направи, особено ако сканираме нещата много бързо, за да използваме устойчивостта на зрителния ефект, за да покажем модел. Въпреки това изходните щифтове на микроконтролер също могат да бъдат програмирани да бъдат входни пинове. Когато микро пин е програмиран да бъде вход, той преминава в това, което се нарича „високо импеданс“или „три състояние“. Тоест, той представя много високо съпротивление (от порядъка на мегаоми или милиони оми) към щифта. Ако има много високо съпротивление (вижте диаграмата), тогава можем по същество да считаме щифта за изключен и така схемата charliplex работи. Втората диаграма показва матричните щифтове за всяка комбинация, която е възможна за осветяване на всеки от 6 -те светодиода в нашия пример. Обикновено три състоянието се обозначава с „X“, 5V се показва като „1“(за логически 1) и 0V като „0“. В микро фърмуера за '0' или '1' бихте програмирали пиновете да бъдат изход и състоянието му е добре дефинирано. За три състояния го програмирате като вход и тъй като това е вход ние всъщност не знаем какво състояние може да бъде …. Оттук 'X' за неизвестно. Въпреки че може да разпределим щифт за три състояния или вход, не е нужно да го четем. Просто се възползваме от факта, че входният щифт на микроконтролер е с висок импеданс.

Стъпка 6: Някои практически въпроси

Магията на charlieplexing разчита на факта, че индивидуалното напрежение, представено на множество светодиоди последователно, винаги ще бъде по -малко от това на един единствен светодиод, когато отделният светодиод е паралелен на серийната комбинация. Ако напрежението е по -малко, токът е по -малък и се надяваме, че токът в серийната комбинация ще бъде толкова нисък, че светодиодът няма да светне. Това обаче не винаги е така. Да кажем, че сте имали два червени светодиода с типичен пряко напрежение от 1,9 V във вашата матрица и син светодиод с напрежение напред 3,5 V (да речем LED1 = червен, LED3 = червен, LED5 = син в нашия пример с 6 LED). Ако запалите синия светодиод, ще получите 3,5/2 = 1,75 V за всеки от червените светодиоди. Това може да е много близо до затъмнената работна зона на светодиода. Може да откриете, че червените светодиоди ще светят слабо, когато синьото свети. Ето защо е добра идея да се уверите, че напрежението напред на всички различни цветове светодиоди във вашата матрица са приблизително еднакви при работния ток, или използвайте същия цвят Светодиоди в матрица. В моите проекти на Microdot/Minidot не трябваше да се притеснявам за това, използвах високоефективни сини/зелени SMD светодиоди, които за щастие имат почти същото напрежение напред като червените/жълтите. Ако обаче приложа същото с 5 мм светодиоди, резултатът щеше да е по -проблематичен. В този случай щях да внедря синьо/зелена матрица charlieplex и червен/жълт matix отделно. Трябваше да използвам повече щифтове … но ето. Друг проблем е да погледнете текущото си теглене от микро и колко ярко искате светодиода. Ако имате голяма матрица и я сканирате бързо, тогава всеки светодиод свети само за кратко. Това ще изглежда сравнително слабо в сравнение със статичен дисплей. Можете да изневерите, като увеличите тока през светодиода, като намалите ограничаващите тока резистори, но само до определена точка. Ако изтегляте твърде много ток от микро за твърде дълго, ще повредите изходните щифтове. Ако имате бавно движеща се матрица, да речем състояние или циклонен дисплей, можете да запазите тока до безопасно ниво, но все пак да имате ярък LED дисплей, защото всеки светодиод е включен за по -дълго време, вероятно статично (в случай на индикатор за състоянието). Някои предимства на charlieplexing:- използва само няколко пина на микроконтролер за управление на много светодиоди- намалява броя на компонентите, тъй като не се нуждаете от много чипове/резистори на драйвери и т.н. Някои недостатъци:- вашият микро фърмуер ще трябва да се справи с настройката както напрежението, така и състоянието на входа/изхода на щифтовете- трябва да се внимава със смесването на различни цветове- оформлението на печатната платка е трудно, тъй като LED матрицата е по-сложна.

Стъпка 7: Препратки

Има много препратки за charlieplexing в мрежата. В допълнение към връзките в предната част на статията, някои от тях са: Оригиналната статия от Maxim, това може да каже много за шофирането на 7 сегментни дисплеи, което също е възможно. https://www.maxim-ic.com/appnotes.cfm/appnote_number/1880A wiki запис

Препоръчано: