Низкий выходной контакт используется для замыкания цепи светодиода 12 В?

led

У меня есть проект, который (частично) будет управлять 3 светодиодами, где светодиод аноды на 12В. Идея состоит в том, чтобы управлять каждым светодиодом, подключив каждый катод к резистору сопротивлением 650 Ом и подключите его к выводу Arduino DIO, который при необходимости устанавливается на выход LOW. Arduino VIN = те же 12 В с общая почва. Будут ли у меня какие-либо проблемы с Arduino?

, 👍0

Обсуждение

Почему вы хотите это сделать? Хотите ли вы включать/выключать светодиод, изменяя цифровое состояние HIGH/LOW на выводе Arduino? Если да, то нет, это не сработает. В зависимости от потребляемой мощности светодиодов вы можете (i) использовать низкую мощность, управлять напрямую от Arduino, как в примере с Blink, (ii) высокую мощность, управлять через тот же код, но с транзистором между выводом ввода-вывода и светодиодом., @MichaelT

Это не работает. Когда вы установите вывод на выход LOW, светодиоды будут гореть (как вы хотите). Но если вы установите вывод на выход HIGH, напряжение составит 5 В, поэтому на светодиодах все еще будет 7 В (12 В - 5 В), и светодиоды будут гореть тускло. Если вы установите вывод на вход, напряжение на выводе станет около 12 В, что превышает допустимое напряжение. Ограничительные диоды внутри MCU будут фиксировать напряжение примерно до 5 В, поэтому светодиоды все равно будут гореть тускло, а внутренние фиксирующие диоды отключатся от перегрева, что может привести к разрушению всего MCU., @Gerben

Подробное объяснение Гербена — ПОЧЕМУ мой подход не сработает. Спасибо., @Ange Purs


1 ответ


1

Нет, то, что вы предлагаете, не сработает. И это рискует повредить ваш Arduino.

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

Проблема в том, что GPIO Arduino — это не просто один транзистор. Это (помимо прочего):

  • Два дополнительных транзистора (это буква C в КМОП) для переключателей HIGH и LOW.
  • ESD-диоды
  • Входной буфер

Просто добавив один транзистор вот так:

schematic

12 В находятся на достаточном расстоянии от Arduino. Установка ВЫСОКОГО уровня на выходе включит транзистор, позволяя току течь на землю. Установите НИЗКИЙ уровень, выключите его, заблокируйте поток тока и выключите светодиоды.

Далее: максимальный постоянный ток GPIO Arduino составляет 25 мА. В идеале вы не хотите даже приближаться к этому. Добавляя транзистор, он действует как буфер и позволяет справляться с гораздо более высокими токами - и, следовательно, с большим количеством и более яркими светодиодами.

Кстати, R1 на этой схеме предназначен исключительно для того, чтобы транзистор выключался, когда Arduino не управляет активным выходом - например, когда он либо обесточен, либо работает загрузчик - или вы случайно иметь GPIO в режиме INPUT (по умолчанию).

,

Спасибо. Я знаю о транзисторном подходе, хотя я не рассматривал добавление R1 и использование МОП-транзистора. Каждый выход Arduino будет управлять только одним светодиодом. Мой первоначальный пост был мотивирован желанием минимизировать количество компонентов, необходимых для управления каждым светодиодом... и лучше понять ограничения ввода-вывода Arduino., @Ange Purs