Я збираюся вкрасти свою відповідь, коли я відповів на це запитання під час останньої спроби ардуїно SE.
Це трохи складно. В основному існує ряд обмежуючих факторів:
Лінії вводу-виводу від мікроконтролера (тобто аналогового та цифрового штифтів) мають як сукупний (наприклад, загальний) межа струму, так і обмеження на один контактний контакт:
З таблиці ATmega328P .
Однак, залежно від того, як ви визначаєте «шпильки» Arduino, це не вся історія.
5В контактний ардуїно не підключений через мікроконтролер . Як такий, він може отримувати значно більше енергії. Коли ви живите ардуїно від USB, інтерфейс USB обмежує ваше загальне енергоспоживання до 500 мА. Це поділяється з пристроями на платі arduino, тому наявна потужність буде дещо меншою.
Коли ви використовуєте зовнішній блок живлення, через роз'єм живлення ствола, ви обмежені місцевим 5В-регулятором, який визначається не більше 1 Ампер . Однак це також термічно обмежено , це означає, що в міру черпання потужності регулятор нагріється. Коли він перегріється, він тимчасово вимкнеться.
3,3 В регульований вихід здатний подавати макс 150 мА, що є межею 3,3 В регулятора.
Підсумки
- Абсолютний максимум для будь-якого окремого IO штиря 40 мА ( це максимум . Ви ніколи не повинні фактично витягти повний 40 мА з шпилькою. В основному, це поріг , при якому Atmel більше не може гарантувати чіп не буде пошкоджений. Ви завжди повинні переконатися, що ви безпечно нижче цього поточного ліміту. )
- Загальний струм від усіх штифтів IO разом становить макс 200 мА
- Вихідний штифт 5 В хороший для ~ 400 мА на USB, ~ 900 мА при використанні зовнішнього адаптера живлення
- 900 мА призначений для адаптера, що забезпечує ~ 7В. Зі збільшенням напруги адаптера збільшується і кількість тепла, з яким регулюється регулятор, і максимальний струм знижується зі збільшенням напруги. Це називається термічним обмеженням
- Вихід 3,3 В здатний подавати 150 мА .
- Примітка. Будь-яка потужність, витягнута з рейки 3.3V , повинна проходити через 5V рейку . Тому, якщо у вас є 100 мА пристрій на виході 3.3V, вам потрібно також вважати це проти 5V повного струму.
Примітка. Це не стосується Arduino Due, і для Arduino Mega, ймовірно, є деякі відмінності. Це, як правило, справедливо для будь-якого Arduino, заснованого на мікроконтролері ATmega328.