Питание Arduino: откуда брать, сколько нужно и что сгорит первым
Пока плата на столе и воткнута в компьютер, вопроса о питании нет. Он появляется в тот момент, когда проект надо отнести на балкон, поставить в теплицу или подключить к нему мотор. И тогда выясняется, что у Arduino четыре способа получить питание, три напряжения на гребёнке и одно правило, которое нарушают все.
Три напряжения на плате
5V — основное
На нём работает сам микроконтроллер UNO, Nano и Mega, и от него питают большинство модулей: реле, датчики, дисплеи 1602. Сколько может отдать — зависит от того, откуда питается сама плата: от USB около 400 мА на всё, от разъёма 7–12 В — сколько выдержит стабилизатор, обычно до полуампера.
3.3V — для нежных модулей
Радиомодули nRF24L01, RFID RC522, TFT-дисплеи, датчики давления. Свой маленький стабилизатор на плате отдаёт всего 50 мА на UNO — радиомодулю в момент передачи уже впритык. Если модуль глючит, ставят конденсатор 10 мкФ рядом с его питанием или отдельный стабилизатор.
VIN — вход, а не выход
Сюда подают 7–12 В, и стабилизатор платы делает из них 5. Но провод работает и в обратную сторону: если плата запитана от разъёма, на VIN есть то же напряжение, что в блоке, и им можно питать мотор. От USB на VIN ничего полезного нет.
Четыре способа запитать плату
USB от компьютера или зарядки
Кабель в разъём платы. 5 В, до 500 мА от компьютера, до 1–2 А от зарядки телефона.
Годится: Разработка и отладка: заливаете скетч и смотрите монитор порта тем же кабелем.
Не годится: Мотор или несколько серво просадят USB, плата перезагрузится.
Круглый разъём или VIN, 7–12 В
Блок питания 9 В или 12 В в разъём, либо плюс на VIN и минус на GND. Стабилизатор платы сделает из этого 5 В.
Годится: Автономная работа без компьютера. Плата и все её модули питаются от одного блока.
Не годится: Стабилизатор греется: при 12 В на входе он отдаёт не больше 300–500 мА. Ниже 7 В на входе 5 В уже не получаются.
Ровно 5 В на вывод 5V
Готовый источник 5 В — модуль на LM2596, зарядка, повербанк — прямо на 5V и GND, минуя стабилизатор.
Годится: Ток ограничен только источником: хоть три ампера на ленту и серво.
Не годится: Никакой защиты: перепутали полярность или подали 9 — плата сгорела. И USB одновременно лучше не втыкать.
Батарейки и аккумуляторы
«Крона» 9 В в разъём; четыре пальчиковых, 6 В, на VIN; литиевый 3,7 В — через повышающий модуль до 5 В.
Годится: Носимые и уличные проекты, роботы.
Не годится: Крона садится за час-два: UNO с Wi-Fi-модулем ест 100 мА в покое. Для батарейного проекта берут Pro Mini или ESP в глубоком сне.
Сколько ест проект
Прикидка, которой хватает, чтобы выбрать источник. Складываете всё, что подключено, и берёте источник с запасом в полтора раза.
| Что | Ток |
|---|---|
| Сама плата UNO | 50 мА |
| Nano, Pro Mini | 20 мА |
| ESP32 в работе с Wi-Fi | 150–250 мА, пики до 500 |
| Светодиод | 20 мА каждый |
| Модуль реле, одна катушка | 70 мА |
| Сервопривод SG90 под нагрузкой | до 700 мА |
| Мотор от игрушки | 200–500 мА, при старте вдвое |
| Дисплей LCD 1602 с подсветкой | 30 мА |
| Адресная лента, один светодиод на полной яркости | 60 мА |
Вывод, который стоит сделать: всё, что крутится, вешают на свой источник. Плата отдаёт сигнал, мотор берёт ток от блока или аккумулятора. Как это устроено — на странице про управление нагрузкой.
Общая земля
Если в схеме два источника — плата от USB, мотор от аккумулятора, — их минусы соединяются между собой. Всегда. Напряжение — это разность, и без общей точки сигнал с платы для мотора ничего не значит: у него своя земля, и «5 В» платы для него — случайное число.
Это единственное правило на странице, нарушение которого не сжигает ничего. Оно просто делает схему нерабочей, и на поиск причины уходит вечер.
Логика 5 В и 3,3 В
UNO, Nano и Mega работают от 5 В и выдают 5 В на сигнальных выводах. ESP32, ESP8266 и Raspberry Pi Pico — от 3,3 В, и 5 В на их вход — перегрузка. Датчик с питанием 5 В, подключённый к ESP32, может отдать на сигнальный провод 5 В и повредить вывод.
Решения: питать датчик от 3,3 В, если он это умеет; поставить на сигнал делитель из двух резисторов; для двунаправленных линий вроде I2C — модуль преобразователя уровней за тридцать рублей. В обратную сторону — 3,3-вольтовый сигнал на вход UNO — работает без переделок: 3,3 В для неё уже единица.
На чём попадаются
12 В на вывод 5V
Самое дорогое из типичных. Провод от блока питания, который должен был идти на VIN, попал на 5V. Стабилизатор в обход, микроконтроллер получает 12 В — и плата становится подставкой. Перед включением проверяйте, куда воткнут плюс.
Крона на UNO в постоянной работе
Заряда хватает на пару часов, а стабилизатор сжигает почти половину энергии в тепло. Для батарейного проекта нужна плата, которая умеет спать, и напряжение как можно ближе к 5 В — четыре пальчиковых аккумулятора лучше кроны.
Плата перезагружается при старте мотора
Мотор в момент пуска берёт вдвое больше, напряжение проседает, микроконтроллер сбрасывается. Лечится отдельным питанием для мотора и электролитическим конденсатором 470–1000 мкФ по питанию платы.
Обратная полярность на VIN
На UNO стоит защитный диод, и она переживёт. На Nano и большинстве клонов — нет. Красный провод в плюс, чёрный в минус, и на блоке питания центр разъёма почти всегда плюс.