Сколько тока я могу извлечь из выводов Arduino?


55

Каков максимальный ток, который я могу получить от каждого из выводов Arduino, не отключая ни один из внутренних предохранителей? Существует ли ограничение на вывод, а также общее ограничение для всей платы?


Ответы:


91

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

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

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

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

5-контактный вывод Arduino не подключен через микроконтроллер . Таким образом, он может значительно увеличить мощность. Когда вы питаете свой Arduino от USB, интерфейс USB ограничивает общее энергопотребление до 500 мА. Это используется для устройств на плате Arduino, поэтому доступная мощность будет несколько меньше.
Когда вы используете внешний источник питания, через разъем питания на корпусе, вы ограничены местным 5В регулятором, который рассчитан на максимум 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.


2
Хорошее резюме! Имейте в виду, что хотя максимальный ток на выводе может быть равен 40 мА, это абсолютный максимум. И, как указано в спецификации, работа на абсолютном максимуме может быть вредной. Обычно рекомендуется ограничить до <35 мА.
Baldengineer

У Due есть зарядный насос для подачи напряжения на сердечник, который не отображается напрямую в виде булавки, но может быть припаян.
naven87

6
На самом деле существует ТРИ ограничивающих фактора, два из которых перечислены в ответе выше, а также тот факт, что в техническом описании указано, что сумма всех токов, полученных из портов C0-C5, D0-D4, ADC7 и RESET, не должна превышать 150 мА. Аналогично, общий ток для портов B0-B5, D5-D7, ADC6, XTAL1, XTAL2 не должен превышать 150 мА. Что касается потребления тока, сумма портов C0-C5, ADC7, ADC6 не должна превышать 100 мА; сумма портов B0-B5, D5-D7, XTAL1, XTAL2 не должна превышать 100 мА; и сумма портов D0-D4 RESET не должна превышать 100 мА. Это все указано в таблице.

Человеку, который предположил в редакции, что шина 3.3 В идет от FT232, это не относится ни к одной из версий платы, на которую я смотрел.
Коннор Вольф

8

Максимальные значения тока перечислены здесь для Uno, Duemilanove:

Постоянный ток на вывод ввода / вывода: 40,0 мА

Постоянный ток на контакты VCC и GND: 200,0 мА

Общий предел постоянного тока для всех выводов ввода / вывода вместе взятых: 200 мА

Обратите внимание, что если имеется более одного контакта VCC / Vin / GND, то Arduino может потреблять больше тока. (Каждый вывод соответствует выводу на ATMega328)

Они кажутся более или менее стандартными для большинства Arduinos, так как эти ограничения для микроконтроллера.


8

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

На платах Arduino есть только один предохранитель. На USB-порту имеется перезагружаемый полифуз, который ограничивает ток, начинающийся с 500 мА. Этот предохранитель работает только при питании от USB и только в том случае, если общее напряжение на шине 5 В превышает 500 мА. (Обратите внимание, что этот тип предохранителя не просто «перегорает».)

Если вы потребляете слишком большой ток (40 мА или более) от вывода ввода / вывода, это повредит этот вывод. На выводах ввода / вывода нет предохранителей.


1
у плат Nano и Micro есть этот полифьюз? Здесь говорят, что у Nano нет полифьюза (и, следовательно, нет ограничителя тока на выводе 5 В)
eadmaster

2

Согласно схеме v2.3, регулятор Arduino Nano 3.3v является FTDI от usb до последовательного порта ic. Максимальный ток составляет 50 мА.


2

Если вы посмотрите на схему для Nano, то увидите, что 3,3 В контакт предоставляется чипом FT232RL. В соответствии с его спецификации , что штифт может обеспечить максимум 50 мА.

Для запуска вашего модуля вы должны будете обеспечить внешнее питание 3,3 В. Может быть обеспечено регулятором LDO 3,3 В, питаемым от контакта 5 В, который питается от USB или от регулятора 5 В, UA78M05 , оба из которых имеют максимум 500 мА (меньше тока, требуемого Nano)


Переосмысливая это: я думаю, что я мог бы просто использовать контакт 5 В с делителем напряжения (2 резистора), чтобы получить пик ~ 250 мА, который мне нужен при 3,3 В.
Руфо

4
Вы неправильно думаете. Делители напряжения не могут обеспечивать большие токи. Они предназначены только для очень маленьких токов (опорных напряжений).
Majenko


Не знал - ты сэкономил мне много времени и обострений. Благодарю.
Руфо

1
Для тех, кто увидит этот конкретный ответ в будущем: это был ответ на другой вопрос, конкретно связанный с выводом 3 на 3 в Arduino Nano. Администратор решил объединить этот вопрос здесь (таким образом, преобразование превосходного ответа в исходный вопрос в неполный ответ на вопрос было перенесено в).
Руфо
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.