Есть ли предел того, сколько тока может поглотить контакт?

13

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

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

Насколько я знаю, я не могу безопасно зажечь весь ряд сразу, потому что отдельный вывод на Uno не способен подавать достаточный ток для одновременного управления 8 отдельными светодиодами (требуется по крайней мере 10 мА для каждого быть достаточно ярким).

Мне пришло в голову, что обратное может быть безопаснее. Если я зажигаю целый столбец за раз, то каждый вывод должен иметь достаточный ток только для одного светодиода, что не должно быть проблемой. Тем не менее, он опирается на один вывод, потенциально пропускающий ток из всех 8, в сумме не менее 80 мА.

Это возможно, или я собираюсь жарить свою доску?

Питер Блумфилд
источник
Какой именно дисплей вы используете (таблицу данных) и используете ли вы последовательные резисторы с ним? Может быть, вы жарите час, а не свой Arduino.
Джиппи
На нем нет номера детали, поэтому у меня нет точной таблицы данных. Я предположил, что каждый светодиод имеет прямое напряжение 2 В, и в настоящее время я консервативно использую резисторы серии 390 Ом (во время тестирования). Это означает, что я вожу их около 8 мА каждый, я думаю.
Питер Блумфилд
это должно быть просто отлично.
Джиппи
Не могли бы вы немного подробнее рассказать о том, что вы делаете, пожалуйста. Причина, по которой я спрашиваю, состоит в том, что я хочу сделать то же самое, и я новичок. Я RTFMing, и ваш вопрос был самым популярным в моем поиске. Я Jeffsilverm@gm4il.c0m. Спасибо.
user1928764

Ответы:

13

я собираюсь жарить свою доску?

Довольно вероятный результат. Вот почему:

Arduino Uno использует микроконтроллер atMEGA328, который имеет абсолютный максимальный рейтинг источника или приемника 40 мА на GPIO. Кроме того, суммарный ток через питающие или заземляющие рельсы (т. Е. Сумма всех токов OP требует, чтобы выводы GPIO поглотили или источник) была максимально 150 200 мА.

Реально, текущие графики в таблице данных atMEGA328 даже не доходят до 40 мА, поэтому безопаснее всего ограничить ток до 20 мА на GPIO.

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

Решение :

Используйте либо BJT, MOSFET, либо какую-либо микросхему драйвера, такую ​​как ULN2003, чтобы фактически пропустить ток через светодиоды.

Аниндо Гош
источник
2
Где вы нашли 150 мА макс. для пакета? У меня 200 мА под абсолютными максимальными рейтингами .
Джиппи
@jippie, я обманываю :-)
Аниндо Гош
9

Я собираюсь украсть мой ответ с того момента, когда я ответил на этот вопрос при последней попытке arduino SE.


Это немного сложно. По сути, существует ряд ограничивающих факторов:

Линии ввода-вывода от микроконтроллера (то есть аналоговых и цифровых выводов) имеют как совокупный (например, общий) предел тока, так и предел на вывод:

введите описание изображения здесь
Из таблицы данных ATmega328P .

Однако, в зависимости от того, как вы определяете «булавки» Arduino, это не вся история.

5-контактный вывод Arduino не подключен через микроконтроллер . Таким образом, он может значительно увеличить мощность. Когда вы питаете Arduino от USB, интерфейс USB ограничивает общее энергопотребление до 500 мА. Это используется для устройств на плате Arduino, поэтому доступная мощность будет несколько меньше.
При использовании внешнего источника питания, через разъем питания ствола, вы ограничены местным регулятором 5V, который оценен в течение максимум 1 ампер . Тем не менее, это также термически ограничено , а это означает, что при потреблении мощности регулятор нагревается. Когда он перегревается, он временно отключается.

Регулируемый выход 3,3 В способен выдавать максимум 150 мА, что является пределом регулятора 3,3 В.


В итоге

  • Абсолютный максимум для любого отдельного IO штыря 40 мА ( это максимум . Вы никогда не должны фактически вытащить полный 40 мА с булавкой. В основном, это порог , при котором Atmel больше не может гарантировать чип не будет поврежден. Вы всегда должны убедиться, что вы находитесь в безопасности ниже этого текущего предела. )
  • Суммарный ток всех выводов ввода-вывода вместе составляет не более 200 мА
  • Выходной контакт 5 В подходит для ~ 400 мА по USB, ~ 900 мА при использовании внешнего адаптера питания
    • 900 мА для адаптера, который обеспечивает ~ 7В. По мере увеличения напряжения адаптера количество тепла, с которым должен работать регулятор, также увеличивается, поэтому максимальный ток будет падать при увеличении напряжения. Это называется тепловым ограничением
  • Выход 3,3 В способен подавать 150 мА .
    • Примечание - Любая мощность , потребляемая от 3.3V рельса должно пройти через 5V рельсы . Поэтому, если у вас есть 100 мА устройство на выходе 3.3V, вам нужно также считать это против 5V полного тока.

Примечание: это не относится к Arduino Due, и, вероятно, есть некоторые различия для Arduino Mega. Скорее всего, это верно для любого Arduino на базе микроконтроллера ATmega328.

Коннор Вольф
источник