Существует ли ограничение на то, сколько тока может опуститься?

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

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

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

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

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

9 голосов | спросил Peter Bloomfield 12 FebruaryEurope/MoscowbWed, 12 Feb 2014 15:40:08 +0400000000pmWed, 12 Feb 2014 15:40:08 +040014 2014, 15:40:08

2 ответа


10
  

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

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

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

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

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

Решение :

Используйте либо BJT, MOSFET, либо некоторые драйверы IC, такие как ULN2003 , чтобы фактически управлять ток через светодиоды.

ответил Anindo Ghosh 12 FebruaryEurope/MoscowbWed, 12 Feb 2014 16:00:32 +0400000000pmWed, 12 Feb 2014 16:00:32 +040014 2014, 16:00:32
4

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


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

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

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

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

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

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


В резюме

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

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

ответил Connor Wolf 23 FebruaryEurope/MoscowbSun, 23 Feb 2014 18:54:03 +0400000000pmSun, 23 Feb 2014 18:54:03 +040014 2014, 18:54:03

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132