Как управлять тремя светодиодами с помощью двух выводов UC, используя только пассивные компоненты?

8

У меня на микроконтроллере есть только 2 (3 состояния) контакта, и мне нужно управлять 3 красными светодиодами, УК работает на 5В. Я могу использовать только пассивные компоненты в дополнение.

Cano64
источник
Определите «контроль». Вам нужно, чтобы все светодиоды были полностью освещены одновременно, или только по одному за раз, или что-то еще? Почему вы говорите, что можете использовать только пассивные компоненты?
Джо Хасс
Google "Чарлиплекс".
Джон U
1
@JohnU: Charlieplexing не делает ничего полезного с менее чем тремя булавками. Два пина просто дают вам два светодиода.
Дейв Твид,
Очевидно, расширитель порта I2C или даже несколько простых сдвиговых регистров позволят вам управлять произвольным количеством светодиодов. Почему это исключено?
Дейв Твид
1
@DaveTweed - Гугл это довольно вероятно, чтобы быть информативным, хотя;)
Джон U

Ответы:

10

Для управления четырьмя светодиодами:

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab

Чтобы оба светодиода на определенном контакте горели, переключите контакт на несколько сотен Гц.

Обратите внимание, что эта настройка требует , чтобы прямое напряжение светодиодов было меньше, чем Vcc / 2.

Также обратите внимание, что резисторы потребляют энергию постоянно, а не только при включенных светодиодах.

Дэйв Твид
источник
Подключение R1 только к D1 и R2 только к D2 и т. Д. Значительно уменьшит потребление тока покоя, когда светодиод не горит, при условии, что падение напряжения на светодиоде объединится с VDD.
суперкат
@supercat: Да, но это редко относится к красным светодиодам, указанным OP. Смотрите диаграмму Уилла .
Дэйв Твид,
Добавьте дополнительный светодиод между узлами R1-D1 и D2-D2 и спрячьте его где-нибудь.
суперкат
@supercat: см . ответ Сперо .
Дэйв Твид
6

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

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab

  • Если оба контакта A и B тристатные, все светодиоды не горят.
  • Если на вывод A подается низкий уровень, D1 включен.
  • Если на вывод A подается высокий уровень, а на вывод B подается низкий уровень, D2 включен.
  • если на вывод B подается высокий уровень, D3 включен.

Чтобы одновременно горел более одного светодиода, вам придется мультиплексировать: включать их по одному, достаточно быстро, чтобы они горели непрерывно.

Дэйв Твид
источник
Есть ли какое-то преимущество в этом по сравнению с методом Майкла Караса?
Будет
Этот работает с меньшим прямым падением напряжения на светодиодах. Его решение - всего лишь две копии этой версии с одним контактом или двумя светодиодами.
Дэйв Твид
Ааа, так с этим, если у вас есть 2 резистора, у вас падает какое-то напряжение через 1, а другое в другое, и вам приходится сжигать меньше резисторов?
Будет
1
@ Уилл: Хм, нет. В этой схеме только один светодиод включен одновременно, и только один резистор одновременно сбрасывает напряжение. Когда оба контакта тристатовые, ток не протекает вообще, поскольку он блокируется накопительным прямым падением трех последовательных светодиодов.
Дэйв Твид
Если вы используете трехфазный контакт b, вы можете управлять 2 светодиодами по своей схеме, верно?
Будет
3

С двумя контактами вы можете управлять четырьмя светодиодами. Для управления двумя светодиодами установите резистор на вывод MCU, чтобы ограничить ток, и подключите его к двум светодиодам - ​​катоду одного светодиода и аноду другого светодиода. Свободный анодный конец первого светодиода подключается к VCC платы MCU через другой резистор. Свободный катодный конец второго светодиода подключается к GND (через другой резистор). Теперь светодиоды будут попеременно гореть, когда вывод MCU установлен на высокий или низкий уровень. Подключите второй вывод MCU таким же образом, и теперь у вас есть контроль над четырьмя светодиодами.

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

Если светодиод 1 является анодом с выводом порта, а светодиод 2 - с катодом к выводу порта, выполните следующие действия, чтобы установить четыре состояния для двух светодиодов.

LED2  LED1    Action
OFF   OFF     Set the port pin to tristate level.
OFF   ON      Set the port pin low.
ON    OFF     Set the port pin high.
ON    ON      Toggle the port pin high and low at a frequency over about 120 Hz. 

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

Эта схема хорошо работает для светодиодов, у которых прямое падение напряжения составляет более половины уровня VCC. Красные светодиоды с 2.1 VF не будут работать так хорошо, если VCC, например, 5V. С другой стороны, зеленый светодиод с 2,5 В VF будет отлично работать в системе с VCC 3,3 В.

Майкл Карас
источник
3
Это полный контроль, хотя? Как вы их все включаете или выключаете?
станри
Один светодиод горит, когда ток выводится через контакт, другой светодиод горит, когда ток подается на контакт. Так что отключите их оба, просто подключите вывод порта, ток не будет входить или выходить из него, поэтому нет светодиодов. Ток не может поступать и выходить одновременно, поэтому вы не можете включить оба светодиода одновременно. Но вы можете создать эффект их как находящиеся на вождения Высокими штырьковый то низко , то высоко , то низко , то высоко , то низко и т.д.
Будет
2

2 светодиода, один штифт, плохо нарисован

Таким образом, ток не протекает, когда он выключен, и вы можете подавать столько / мало прямого напряжения, сколько вам нужно

Будет
источник
Это то же самое, что решение Майкла Караса. Требуется, чтобы V_f светодиодов было больше, чем Vcc / 2, иначе вы не сможете полностью их отключить.
Дэйв Твид
+1 за попытку представить решение Майкла Караса, копирующее схемы CircuitLabs Дэйва Твида и рисующее в нем линии свободной руки с помощью MS Paint (или чего-либо подобного).
Рикардо
И это было в краске :)
Будет
1
Ах, я понимаю, о чем ты сейчас говоришь, Дэйв. Ток идет r1, d1, d2, r2, и ничто не должно входить в / наш вывод
Will
2

EDN опубликовал несколько связанных идей для дизайна здесь

Вот один из них:

введите описание изображения здесь

Для типичных значений с D1 желтый светодиод (2,2 В вкл.), D2 красный светодиод (1,9 В вкл.) И напряжением выключения 1,2 В и 1,1 В соответственно, а также токами включения 8 мА каждый, Vcc = 5,0 В, оптимальный значения

R1 = 300 кОм R2 = 330 кОм R3 = 1,2 кОм

Ток покоя составляет 2,7 мА. Чтобы оба светодиода горели, переключите выходной контакт на частоту 100 Гц или выше.

Я использовал решатель Excel в оригинальной статье, код может быть все еще доступен в EDN.

Дополнительная степень свободы , предоставляемая резистор R3 может избежать ограничений как Dave Твид и схем Майкла Карася, хотя для конкретного случая 2 красных светодиодов , работающих от источника 5V, схема Dave Твид является , вероятно , приемлема, но проверить Vf осторожно, это не хорошо для некоторых красных светодиодов, и может быть незначительным для других, если вывод порта не тянет полностью вниз или вверх.

Спехро Пефхани
источник
Примечание: OP запрашивает пассивную схему. Кроме того, если вывод MCU имеет высокое значение Z, инвертор переводится в линейный режим работы, что обычно приводит к потере мощности.
Дэйв Твид
@DaveTweed Да, в моей первоначальной публикации был указан инвертор ST, поэтому я отредактировал это, чтобы прояснить ситуацию. Это не все пассивно, но это просто и ноль Iq. Второй контур имеет более высокий Iq, но полностью пассивный. Спасибо за комментарии.
Спехро Пефхани
Я не вижу, как помогает ввод триггера Шмитта; вместо этого я думаю, что это заставит цепь колебаться. Конечно, светодиоды будут выключены, но сам инвертор будет потреблять значительную мощность.
Дэйв Твид
Ну, поскольку он не соответствует первоначальному требованию об отсутствии активных частей, я его удалю, но я верю, что он работает нормально.
Спехро Пефхани
+1 за R3, может быть полезным трюком. И дешевый в этом
Уилл