Charlieplexing индикаторы: Теория
Retrieved from Get Up! And DIY (http://gdiy.com)

Это менее ' сборки вы собственный ' проекта и более описание теории charlieplexing. Это подходит для людей с основами электроники, но не выполнить новичков. Я написал его в ответ на многие вопросы, которые я получил в моих ранее опубликованных проектов.

Что такое «Charlieplexing»? Это вождения множество индикаторов с только несколько контактов. В случае если вы интересуете Charlieplexing назван Чарльз Аллен на Максим, который разработал технику.

Это может быть полезным для многих вещей. Вам может потребоваться отображение сведений о состоянии на небольшой микроконтроллер, но только иметь запасные несколько контактов. Вы можете показать модные матричный или часы дисплей, но не хотите использовать множество компонентов.

Некоторые другие проекты, демонстрируя charlieplexing, которые вы можете захотеть взглянуть на являются:


Часы Minidot 2 вводит систему современных charlieplexing для плавного/затемнения, который не будет обсуждаться здесь.

ОБНОВЛЕНИЕ 19 августа 2008 года: я добавил zip-файл с цепью, которые могут иметь возможность использовать charliplexing матрица светодиодов высокой мощности обсудили (подробно:)) в разделе комментариев. Она имеет кнопки + позиция кодировщик для Пользовательский интерфейс, плюс цепью для управления компьютером USB или RS232. Каждый из высокой стороне напряжения рельсы можно задать один из двух напряжений, сказать 2.2V для светодиодов красного и 3.4V для зеленый/синий/белый. Можно установить напряжения для высокой стороне рельсы, trimpot. Я предполагаю, что шлейф IDC 20wire быть вставлен в Совет, и 20pin IDC разъемы добавил вдоль ленты, привели Совет, связях с любой провода в матрице пожеланы. Цепь в Eagle Cad и вынесено на sub изображении ниже. Схема высокой стороне осуществляется с помощью optocouplers, который я думаю, может быть подходящим.

Я на самом деле не протестированы эту цепь не написано любого программного обеспечения из-за отсутствия времени, но должны поставить его для комментариев, я особенно заинтересован в реализации присущие оптопарам. Кто достаточно смелым, чтобы придать ему идти... Пожалуйста, размещайте свои результаты.

ОБНОВЛЕНИЕ 27 августа 2008 года: для тех, кто не использует EagleCad... ниже добавляется pdf схема

Charlieplexing опирается на ряд полезных аспектов светодиодов и современных микроконтроллеров.

Во-первых, что происходит при подключении Индикатора к электричеству.

На основной диаграмме ниже показано, что называется если v Vf кривая типичной 5 мм маломощный Светодиод.

Если стенды для «прямой ток»
VF стенды для «вперед напряжения»
Вертикальной оси в выступам показывает текущий, которая будет проходить через Светодиод, если вы положили горизонтальной оси напряжения через терминалы, его. Она работает наоборот также, если вы измерить, что нынешний определенную ценность, вы можете смотреть на горизонтальной оси и увидеть напряжения индикатор представит через его терминалов.
На второй схеме показано Схематическое представление Индикатора с если и Vf маркировку.

Из основной схемы я также пометки области диаграммы, которые представляют интерес.
  • Первая область, где Светодиод «off». Более точно Светодиод испускающей свет так тускло, вы не сможете увидеть его, если вы были своего рода супер-duper электронно-оптические преобразователи.
  • Вторая область имеет индикатор, испускающей лишь немного тусклый накал.
  • Третья область, где Индикатора обычно эксплуатируется и излучающей свет в рейтинг производителей.
  • Далее вызывает где Светодиод работает за пределами его эксплуатации, вероятно очень ярко светящиеся, но увы лишь короткое время до магия дым внутри побеги, и он не будет работать снова...... ie в этой области он горит потому что слишком много ток протекает через него.

Обратите внимание, что если / Vf кривой или эксплуатации кривая индикатора является «нелинейный» кривой. То есть, это не прямой линии... она имеет изгиб или кинка в нем.

Наконец эта схема является типичной 5 мм, красный Светодиод, предназначенные для работы в мА. Различные светодиоды от разных производителей имеют различные оперативные кривых. Например в этой диаграмме на Ма вперед напряжения индикатор будет примерно 1.9V. Для голубой 5 мм LED на Ма вперед напряжения может быть 3.4V. Для высокой мощности белый luxeon LED в. 350мA вперед напряжения может быть около 3.2V. Некоторые индикаторы пакеты могут быть несколько светодиодов последовательно или параллельно, изменяя Vf / Если кривая снова.

Обычно manufactuer указать рабочий ток который безопасно использовать Светодиод на и вперед напряжения в этом тока. Обычно (но не всегда) вы получите график похожую на ниже в таблице. Вам нужно смотреть на описании индикатора определить вперед напряжение в различных оперативных течений.

Почему так важен этот график? Потому что это показывает, что когда через индикатор напряжения, тока, которые будут поступать будет согласно графика. Снизить напряжение и меньший ток будет поступать..... и Светодиод будет «off». Это является частью теории charlieplexing, которые мы получим в следующем шаге.
Законы (электроника)
[ редактировать этот раздел ]

Еще не на magic charlieplexing еще... нам нужно идти к некоторым основам электроники законов.

Первый закон интерес утверждает, что общее напряжение через любой серии связанных компонентов в электрической цепи равен сумме отдельных напряжения компонентов. Это показано на основной диаграмме ниже.

Это полезно при использовании светодиодов, потому, что ваш средний батареи или микроконтроллер выходной контакт никогда не будет точно право напряжения для запуска вашего LED на рекомендуемый ток. Например микроконтроллер обычно будут выполняться в 5V и он выводится на 5V будет контактов когда на. Если просто подключить индикатор выходного контакта микро, вы увидите из эксплуатации кривой на предыдущей странице слишком много тока будет поступать в Светодиод и она будет нагреваться и сжечь (вероятно повреждение микро также).

Однако если мы представляем второй компонент в серии с Светодиод мы можно вычесть некоторые из 5V таким образом, чтобы напряжение осталось только право для запуска Светодиод на надлежащее функционирование текущей.

Обычно это резистор, и при использовании в таким образом называется резистор текущего ограничения. Этот метод используется очень широко и приводит к то, что называется «ом закон».... так именем после г-Н ом.

Ом закон следует уравнение V = I * R, где V — напряжения, которые будут отображаться через сопротивление r когда ток я течет через резистор. V находится в вольт, I, усилители и R — в Омах.

Так что если у нас есть 5V потратить, и мы хотим 1.9V через Светодиод получить его для запуска в Ма то мы хотим резистора иметь 5-1.9 = 3.1V через нее. Мы можем видеть это во второй диаграмме.

Поскольку резистора в серии с Светодиод, же нынешний будет проходить через резистор как индикатор, то есть 20мА. Таким образом реорганизовать уравнение, которое мы можем найти сопротивления, нам нужно сделать эту работу.

V = I * R
Таким образом
R = V / I
Подставляя значения в нашем примере мы получаем:
R = 3,1 / 0,02 = 155ohms
(Обратите внимание мА = 0.02Amps)

Еще со мной так far...cool. Теперь посмотрим на диаграмме 3. Она имеет индикатор, зажатой между двумя резисторы. По словам первый закон, упомянутых выше у нас есть такая же ситуация на второй диаграмме. У нас 1.9V через Светодиод, поэтому она выполняется согласно это спецификация. Мы также имеем каждый резистор, вычитания 1.55V (для в общей сложности 3.1). Добавление напряжение вместе у нас
5V (микроконтроллер ПИН) = 1.55V (R1) + 1.9V (LED) + 1.55V (R2) и все остатки из.
Используя ом закон, мы находим резисторы должны быть 77,5 ом, который половину суммы рассчитано на основе второй диаграмме.

Конечно же на практике вам будет трудно найти резистор 77,5 ом так что вы бы просто заменить ближайшего доступное значение, скажем 75ohms и в конечном итоге с немного больше ток в Индикатора или 82ohms, чтобы быть безопасным и немного меньше.

Почему на земле должны мы делать этот резистор Сандвичевыми водить простой индикатор..... хорошо, если у вас есть один Светодиод это все немного глупо, но это instructable на charlieplexing, и он приходит в сподручное для следующего шага.

Представляя «дополнительного диска»
[ редактировать этот раздел ]

Другое имя, которое является более точным, чтобы описать «charlieplexing» — «дополнительного диска».

В вашем средняя микроконтроллер вы можете в прошивке сказать микро задать выходной контакт «0» или «1», или представить 0V напряжение на выходе или 5В напряжения на выходе.

На диаграмме ниже теперь показывает зажатой Светодиод с обратной партнер.... или дополнение LED, поэтому дополнительного диска.

В первой половине диаграммы микро вывод 5V а PIN-код и 0V контакт б. Нынешний таким образом будет поступать от a к б. Потому что LED2 назад на LED1 не тока будет поступать через него, и он не будет светиться. Это то, что называется обратной предвзятым. У нас есть эквивалент ситуации на предыдущей странице. В основном мы можем игнорировать LED2. Стрелки показывают текущий поток.

Светодиод-это по существу диод (отсюда светоизлучающих светодиод). Диод представляет собой устройство, которое позволяет текущего потока в одном направлении, но не в другой. Схема Индикатора вроде показывает, тока будет поступать в направлении стрелки...... но заблокирован другим способом.

Если мы поручаем микро теперь вывода 5В для b и 0V на контактный a у нас наоборот. Теперь LED1 обратный предвзято, LED2 вперед является предвзятым и позволит текущего потока. LED2 будет светиться и LED1 будет темно.

Теперь может быть хорошей идеей взглянуть на схемы различных проектов, упомянутых во введении. Вы должны увидеть множество этих дополнительных пар в матрице. Конечно в приведенном ниже примере мы вождения два светодиода с двумя контактами микроконтроллер... вы могли бы сказать почему другие.

Ну следующий раздел является, когда мы получаем кишки charlieplexing и как это делает эффективное использование микроконтроллеров выходных контактов.
Наконец.... Матрица Charlieplex
[ редактировать этот раздел ]

Как отмечалось во введении, charliplexing является удобным способом вождения множество индикаторов с только несколько контактов на микроконтроллер. Однако на предыдущих страницах мы сохранили не любые контакты, вождение два светодиода с двумя контактами.... большой шуметь!

Также мы можем расширить идею о complentary диска в charlieplex матрицу. На диаграмме ниже показаны матрице минимальный charlieplex, состоящий из трех резисторы и шесть индикаторов и с использованием только три микроконтроллер контактов. Теперь вы видите, насколько удобным является этот метод? Если вы хотите водить шесть светодиоды обычным способом... Вам потребуется шесть микроконтроллер контактов.

В самом деле с n контакты микроконтроллер можно потенциально диск N * (N - 1) индикаторы.
Для 3 ПИН это 3 * (3 - 1) = 3 * 2 = 6 светодиодов.
Вещи быстро накапливаться с более контактами. С 6 контактов вы можете управлять 6 * (6 - 1) = 6 * 5 = 30 светодиодов... wow!

Теперь к charlieplexing бит.

Посмотрите на диаграмме ниже. У нас есть три взаимодополняющие пары, одна пара между каждой комбинации микро выходных контактов. Одна пара между A-B, одна пара между B-C и одна пара между A-C.

Если вы ПИН c для теперь мы бы той же ситуации, как раньше. 5V на контактный a и 0V контакта B LED1 будет светиться, LED2 это вспять предвзятым и не будет проводить ток. С 5V на PIN-код это обратный предвзятой b и 0V на PIN-код, который будет светиться LED2 и LED1.

Это соответствует другим микро контактов.

Если мы отключен контактный b и задать ПИН a 5В и pin c 0V LED5 будет светиться. Обращение вспять, чтобы PIN-код является 0V и PIN-код c 5V, то LED6 будет светиться.
Для дополнительных пары между B-C.

Держись, я слышу, вы говорите. Давайте немного более пристально взглянуть на втором случае.
У нас есть 5V на контактный a и 0V контакта C. Мы отключен контактный B (средняя один).
Хорошо, поэтому нынешние потоки через LED5, тока не течет через LED6, потому что это обратный предвзято (и таким образом являются LED2 и LED4).... но также есть путь для текущего взять от a ПИН, через LED1 и LED3 не существует? Почему являются эти индикаторы не светящегося также.

Вот сердце charlieplexing схемы. Действительно есть ток течет, как LED1, так и LED3, однако напряжения через оба из них объединены только собирается быть равным напряжения LED5. Обычно они будут иметь половину напряжение между ними, которые LED5. Так что если у нас есть 1.9V между LED5, то только 0.95V будет LED1 и 0.95V LED3.

От If / Vf кривой упомянул в начале этой статьи, мы можем видеть, что ток в это половина напряжение является намного ниже, чем те индикаторы и МА..... не будет светиться заметно.
Это известно как текущий краже.

Таким образом часть текущего будет поток хотя LED, мы хотим, наиболее прямой путь через наименее Количество светодиодов (то есть один LED), а не любое сочетание ряда СИД.

Если вы смотрели на текущий поток для любой комбинации сдачи 5V и 0V на любые два диска ПИН charlieplex матрицы, вы увидите то же самое. Только один Светодиод будет светиться одновременно.
В качестве упражнения, посмотрите на первой ситуации. 5V на контактный a и 0V контакта B, отключить PIN-код, C. LED1 это кратчайший маршрут для текущих принять и Светодиод 1 будет светиться. Небольшой ток будет также проходят через LED5, а затем создайте резервную копию LED4 ПИН б....., но опять же, эти два светодиода в серии не сможет выкачивание достаточно ток, по сравнению с LED 1 до ярко светятся.

Таким образом реализуется власть charlieplexing. Вторая диаграмма, которая является схема для моей Микроточка часов.....30 Светодиодов, с только 6 контактов. Моя Minidot 2 часов в основном расширенную версию.... Микроточка же 30 индикаторы, расположенные в массиве.
Чтобы сделать шаблон в массиве, кратко включается каждый Светодиод для освещения, а затем микро перемещается к следующему. Если планируется освещать он включен снова на короткое время. Быстро сканирования через светодиоды быстро достаточно принцип под названием «настойчивость видения» позволит массив светодиодов для отображения статической модели. В статье Minidot 2 имеет немного объяснение на этот принцип.

Но подождите.....Я казалось бы затушевываться немного в описании выше. Что такое этот «отключить PIN-код B», «отключить PIN-код C» бизнес. Следующий раздел, пожалуйста.

Три государства (не трициклов)
[ редактировать этот раздел ]

На предыдущем шаге мы упомянули, что микроконтроллер может быть запрограммирована для вывода напряжения 5В или 0V напряжения. Для того чтобы матрице charlieplex работать, мы выберите два контакта в матрице и отключите любые другие контакты.

Конечно вручную отключить контакты является немного трудно сделать, особенно если мы сканировании вещи очень быстро использовать персистенцией видение эффекта для отображения шаблона. Однако микроконтроллер выходных контактов также могут быть запрограммированы для ввода ПИН также.

Когда микро ПИН запрограммирован для вклад, он переходит в так называемый «высокий impedence» или «tri государство». То есть он представляет очень высокая устойчивость (ордена megaohms, или миллионы ом) PIN-кода.

Если есть очень высокая устойчивость (см. схему) тогда мы можем по существу считают PIN-код отключения, и таким образом charliplex план работ.

На второй схеме показаны контакты матрицы для каждой комбинации возможности для освещения каждого из 6 светодиодов в нашем примере. Обычно tri государство обозначается «X», 5V отображается как «1» (для логических 1) и 0V «0». В микро микропрограммы для «0» или «1» будет программы контакты для выхода и его состояние является четко определенной. В tri государство его программировать для вклад, и потому, что он представляет собой мы фактически не знаю то, что государство может быть... Отсюда «X» для неизвестного.

Хотя мы могли бы выделить tri государство или ввод ПИН-кода, нам не нужно читать его. Мы просто использовать тот факт, что ввода ПИН на микроконтроллер — высокой impedence.

Некоторые практические вопросы
[ редактировать этот раздел ]

Магия charlieplexing опирается на тот факт, что отдельные напряжения, представленных через несколько светодиодов в серии всегда будет меньше, чем через один одного LED когда один индикатор находится в parrallel с комбинацией серии. Если напряжение меньше, то нынешний меньше, и надеемся, ток в серии комбинации будет настолько низок, что Светодиод не будет света.

Однако это не всегда так.

Позволяет сказать, у вас две красные светодиоды с типичной вперед напряжением 1.9V в вашей матрице и голубой ПРИВЕЛО с прямого напряжения 3.5V (скажем LED1 = красный, LED3 = красный, LED5 = синий в нашем примере 6 LED). Если вы горит синий Светодиод, вы будет в конечном итоге с 3.5/2 = 1 .75v для каждого из красных СИД. Это может быть очень близко к области dim работы индикатора. Вы можете найти красным СИД будет светиться тускло, когда горит синий.

Это хорошая идея таким образом чтобы вперед напряжение любого различных цветных светодиодов в вашей матрице находятся примерно то же самое на рабочий ток, или же использовать же цветные светодиоды в матрице.
В моих проектов Микроточка/Minidot, мне не придется беспокоиться об этом я использовал высокой эффективности синий/зеленый SMD светодиоды, который к счастью, есть много же вперед напряжения, желтых красные. Однако если я то же самое с 5 мм светодиоды результат будет иметь более проблематичной. В этом случае я бы осуществил матрицу charlieplex синий/зеленый и красный/желтый экспортах отдельно. Мне необходимо было бы использовать более контактов...., но там вы идете.

Другой проблемой является взглянуть на ваш тока с микро и хотите, как яркий Светодиод. Если у вас большая матрица и rapidally сканирования, то каждый Светодиод включен для лишь короткое время. Он будет отображаться относительно dim по сравнению с статического отображения. Вы можете обмануть путем увеличения тока через Светодиод путем уменьшения резисторы, но только к точке. Если слишком много текущих от микро для слишком долго, вы будете повредить выходных контактов.
Если у вас есть медленно продвигается матрица, скажем статус или cyclon дисплей, можно сохранить нынешний до безопасного уровня, но по-прежнему имеют яркий Светодиодный дисплей, потому что каждый Светодиод на на более длительное время, возможно, статический (в случае из индикатор состояния).

Некоторые преимущества charlieplexing:

  • использует только несколько контактов на микроконтроллер для управления многими светодиоды
  • уменьшает счетчик компонент, как вам не нужно много драйверов микросхемы/резисторов и т.д.
  • Некоторые недостатки:
  • микро прошивки необходимо будет обрабатывать параметр как состояние напряжения и состояние ввода/вывода контактов
  • нужно быть осторожным с смешивания различных цветов
  • Макет ПХД трудно, потому что Светодиодные матрицы является более сложным.

Есть много ссылок о charlieplexing в Интернете.
В дополнение к ссылкам на передней части этой статьи некоторые из них являются:

Оригинал статьи от Максим, это имеет много говорить о вождения 7 сегмент показывает что также возможна.
http://www.Maxim-IC.com/appnotes.cfm/appnote_number/1880

Запись в вики
http://EN.wikipedia.org/wiki/Charlieplexing

Комментарии