9-вольтовая батарея подключена к транзистору, управляющему светодиодами с Arduino

8

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

Я использую цифровые контакты ввода-вывода Arduino для управления транзистором (BC547B), который будет подавать питание от 9-вольтовой батареи на светодиоды. Светодиоды рассчитаны на 1,9 В, и у меня есть несколько наборов из 5 светодиодов (5 * 1,9 = 9,5 - нет необходимости в резисторе ... верно?), Соединенных последовательно, и эти "множественные наборы" должны быть подключены параллельно.

Тем не менее, из-за простого отсутствия транзисторов, я временно (пока не получу больше транзисторов) подключаю 2 набора из 5 светодиодов на транзистор. Смущенный? Позвольте мне собрать это в схему, используя только 1 транзистор (в окончательном варианте их будет больше):

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

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

Итак, в основном проблема в том, что, когда я включаю контакт 5 на моем Arduino, светодиоды не загораются. Почему это? , Возможно, я здесь что-то делаю не так, но, если это так, я не могу этого понять.

Вот временный код для Arduino, который я использую, на тот случай, если кто-то захочет его увидеть:

void setup() {
    pinMode(5, OUTPUT);
}

void loop() {
    digitalWrite(5, HIGH);
    delay(1000);
    digitalWrite(5, LOW);
    delay(1000);
}

Все, что он делает, это включает контакт 5, подождите секунду, выключите его, подождите секунду и повторите.

Заранее спасибо.

PS Прошу прощения за неудобное название.

РЕДАКТИРОВАТЬ:

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

RobertR
источник
Я забираю свой флаг. Это требует более глубокого ответа. Также +1 за ясный вопрос с хорошей схемой, кодом, хорошей грамматикой и подробным объяснением!
uint128_t
У вас слишком много последовательных светодиодов для вашего 9В. Попробуйте 3. Не используйте ваш повторитель, потому что от микро не будет достаточно вольт для привода. Используйте открытый коллектор и сделайте правильный ток для последовательных струн.
Аутизм

Ответы:

13

Во-первых, все «5 * 1,9 В = 9,5 В -> нет необходимости в резисторе» не сработает. Прямое напряжение не является точным, и ваш 9V тоже. Вот объяснение того, почему прямое напряжение == напряжение питания является проблемой . Кроме того, на вашем транзисторе будет некоторое падение напряжения.

У вашей схемы много проблем.

  1. Чтобы включить транзистор, Arduino должен был выдать 5 * 1,9 В + ~ 0,7 В = ~ 10,2 В. Выводы Arduino выдают напряжение 5 В, так что это не имеет смысла. Если вы заземлите эмиттер и подключите светодиоды к коллектору, это с большей вероятностью сработает.

  2. Вашему транзистору нужен базовый резистор для ограничения тока через него. Вы рискуете повредить Arduino и ваш транзистор. При насыщении транзистора (что вы хотите сделать, чтобы он действовал как выключатель), база будет на уровне ~ 0,7 В. Без базового резистора, вывод Arduino подает на это напряжение 5 В, и в базу поступает целый ток, что поджигает бедное Arduino. Следовательно, требуется базовый резистор; его значение зависит от того, сколько тока вы хотите через светодиоды и ток усиления транзистора. Без математики, что-то между 220Ω и 1kΩ, вероятно, хорошо.

  3. Светодиоды или светодиодные жилы параллельно должны иметь отдельные резисторы. На этом сайте есть много ответов, которые могут объяснить почему более подробно; в основном, чистое прямое напряжение на разных цепях светодиодов будет различаться, вызывая дисбаланс тока. Математически,Вs-NВеяезнак равнор, где Вs ваше напряжение питания, N это количество светодиодов в серии и Ве,яе - прямое напряжение светодиода и требуемый прямой ток соответственно.

  4. Когда вы все заработаете, ваша батарея на 9 В, вероятно, не подойдет (батареи на 9 В имеют очень небольшую емкость и низкую силу тока). 9В настенная бородавка или подобное было бы намного более подходящим. Кроме того, этот транзистор рассчитан только на максимальный ток коллектора 100 мА. Несколько светодиодных нитей превысят это, и ваш транзистор будет тост. Большой транзистор или, что еще лучше, симпатичный мощный МОП-транзистор обеспечит безопасное переключение многих светодиодов. Для одной жилы, или, может быть, двух, этот транзистор хорош. Если вы используете 12-вольтовый блок питания для ПК, это нормально, просто рассчитайте резисторы, ограничивающие ток, с 12 В вместо 9 В.

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

uint128_t
источник
Хорошо, спасибо! Несколько вопросов, хотя. Во-первых, для пункта 2, где этот резистор должен идти? На базе штырька транзистора? Кроме того, для пункта 3, вы говорите, что мне нужен резистор перед каждой жилой светодиодов? И да, батарея на 9 В была временной; Я забыл упомянуть об этом. Я планирую просто подключиться к разъему 12v molex на блоке питания моего компьютера.
RobertR
1
Да, базовый резистор проходит между базой и ATmega. И да, вам нужен последовательный резистор с каждой жилой светодиода для ограничения тока. Я расширю свой ответ, чтобы покрыть некоторые из ваших вопросов.
uint128_t
1
по пункту 4: если светодиоды должны мигать с довольно низким рабочим циклом, большой электролитический конденсатор параллельно с батареей может помочь. Просто убедитесь, что вы получили одно номинальное значение 15 В или более (т.е. превышение допустимых значений).
Крис Х
Итак, еще один вопрос: каким будет сопротивление резистора, упомянутого в пункте 3? Используя закон Ома через уравнение, которое вы предоставили, это будет (9 - 9,5) / 0,04 = -12,5 . Значение 0,04 используется для прямого тока, потому что каждый светодиод рассчитан на 20 мА, и у меня есть 2 параллельные цепи, таким образом, общий прямой ток составляет 40 мА или 0,04 А.
RobertR
1
Да, это подсказка, почему вы не должны использовать 5 светодиодов в серии. Как я уже говорил ранее, у вас должен быть отдельный резистор для каждой жилы, поэтому, если бы вы использовали 4 светодиода последовательно с резистором, математика была бы (9 В-4 * 1,9 В) / 20 мА = 70 Ом.
uint128_t