Гирлянда на Uno должна была гореть на балконе до десятого января. USB туда не дотянуть, и я гордо воткнул крону в круглое гнездо питания — а к третьему дню плата начала самовольно перезапускаться: дисплей моргает, скетч стартует с нуля. Я грешил на код, пока не приложил палец к стабилизатору и не вспомнил арифметику: крона просела с девяти вольт почти до семи, и понижать стало нечего. Мигалка не была виновата — виноват источник, который я даже не подумал проверить.
У Uno три двери питания, и у каждой свой характер. Круглое гнездо и пин VIN кормят плату через стабилизатор: им подавай от семи до двенадцати вольт. Пин 5V — та же шина, но в обход стабилизатора: микроконтроллеру нужно 4,5–5,5 вольта, и это дверь для батареек и аккумуляторов, а не для девятивольтовых гостей. Конфликт источников плата решает сама: пока на VIN ниже примерно шести с половиной вольт, живём от USB, выше — переходим на внешний источник.
Ритуал подключения по USB, от которого мы здесь отходим, разобран в уроке про первое подключение Uno, а как пять вольт расходятся по макетке и почему земля должна быть общей — в уроке про шины питания.
Крона: красивая, удобная, слабая
Крона — герой половины интернет-уроков, и это ловушка. Щелочная крона несёт около 550 мА·ч, а Uno в простом скетче ест 45–50 мА, со светодиодами и датчиком — 60–80. Деление даёт восемь-одиннадцать часов в теории, на практике всё кончается раньше: под нагрузкой 50 мА к вечеру первого дня крона падает к 7,5 вольтам, ниже семи стабилизатор теряет запас, пять вольт на плате провисают — отсюда перезапуски, как у моей гирлянды.
Добивает высокое внутреннее сопротивление: под нагрузкой крона проседает заметно сильнее пальчиковых батареек той же химии. Девять вольт с этикетки живут только на вольтметре без нагрузки — в плате с датчиками реальность другая, и читать её надо по поведению, а не по надписи.
Моё мнение с границей: кроной хорошо показать проект на вечере, защитить работу или повесить звонок на день. Для круглосуточной автономки она не годится ни за какие деньги. Те же девять вольт из шести пальчиковых AA щелочных — это сборка на 2,5 А·ч: при тех же 50 мА десятки часов, а по деньгам дешевле одной кроны. Собирается на держателе за копейки и живёт в каждом моём балконном проекте. Минус первый — объём: шесть банок крупнее кроны. Минус второй — банки меняю разом, слабая тянет всю сборку вниз, и просадка возвращается в новом костюме.
Арифметика нагрева стабилизатора
Линейный стабилизатор не экономит, а греется: вся лишняя разность напряжений превращается в тепло, P = (VIN − 5) × I. Семь вольт при 100 мА — 0,2 Вт: тёплый корпус, всё живо. Двенадцать вольт при 200 мА — 1,4 Вт: пальцу больно, а клонам с AMS1117, у которых практичный потолок около полампера с семи вольт, и вовсе больно. Отсюда правило: чем выше входное напряжение, тем меньше запас по току.
Двенадцать вольт я ставлю только мигалке с парой датчиков — 60 мА в теплоходном режиме, 0,84 Вт на стабилизаторе, терпимо. Для проекта с реле, серво и матрицей, где триста миллиампер и больше, беру 7–9 вольт: 9 В на 300 мА — 1,2 Вт, уже жарко; 7 В на те же 300 — 0,6 Вт, нормально. У официальной Uno стоит NCP1117 с тепловой защитой: сгореть он не сгорит, но начнёт выключаться, и симптомы совпадут с севшей батареей — самовольные перезапуски. Диагноз тогда один: считать ватты по формуле выше.
Границы смещаются с температурой: летом в закрытом корпусе тот же ватт греет сильнее, зимой — слабее, зато батареи на морозе отдают вдвое меньше. Планирую теплоотвод по худшему сценарию — лето и максимальный ток — а не по домашнему вечеру с открытой крышкой.
| Источник | Куда подключать | Живёт при 50 мА | Моя пометка |
|---|---|---|---|
| Крона 9 В щелочная | Гнездо DC или VIN | Часов 6–8 до просадки | Только для показа на вечер |
| 6×AA щелочные (9 В) | Гнездо DC или VIN | Десятки часов | Рабочая лошадка автономных проектов |
| 4×AA NiMH (4,8 В) | Пин 5V, в обход стабилизатора | Сутки-двое | Мой выбор для мигалок; честные 4,8 вольта |
| Power bank 5 В | USB-разъём платы | Зависит от банка | Многие засыпают при токе ниже ~100 мА |
| Блок 9 В 1 А | Гнездо DC | Пока не выключат | Стационарный вариант, стабилизатор тёплый |
Power bank выглядит идеальным: пять вольт ровно, разъём родной. Подводный камень — автоотключение. Часть банков считает нагрузку отключённой, если ток ниже 100 мА, и гасит выход через двадцать-тридцать секунд. Uno с мигалкой ест 45–50 мА: банк засыпает, плата перезапускается, её пульс будит банк, банк засыпает снова. Цикл легко принять за глючный скетч — я принял. Решения два: банк с режимом малых токов, у многих он включается двойным нажатием кнопки, либо честная нагрузка — лента, мотор, резистор на сотню миллиампер. Проверка банка простая: подключите плату с маячком и засеките полминуты — если светодиод погас, банк из породы спящих.
Один литий-ионный 18650 даёт 4,2–3,7 вольта. Прямо в пин 5V на свежем заряде работает, но по даташиту при 4,2 вольта гарантированы только 10 МГц, а не наши 16: обычно заводится, на морозе и просевшем аккумуляторе возможны странности. Честный путь — повышающий модуль до пяти вольт. И про щелочные в обход стабилизатора: три свежих AA дают 4,9 вольта — в 5V можно, а вот четыре свежих — уже 6,4, выше предела 5,5; четвёрку ставьте NiMH на 4,8 или ведите их в VIN, но шести вольт там может не хватить для переключения с USB.
Нагрузку тяжелее сотни миллиампер я вешаю на плату только через транзистор: урок про NPN-ключ разбирает расчёт базы и диод против самоиндукции. Батареи это касается напрямую: каждый лишний ампер через стабилизатор — это и просадка, и тепло.
Сценарий на практике
Стационарный проект у розетки — блок 9 В 1 А в гнездо: стабилизатор греется, но с запасом, и батарейки не врут. Блок берите с запасом по току вдвое: лишние миллиамперы не нужны плате, но держат напряжение ровнее под рывками нагрузки. Автономный — 6×AA в гнездо или 4×NiMH в 5V, в зависимости от того, нужны ли плате честные пять вольт для датчиков. USB при этом вытаскивать не обязательно: автопереключение само выберет внешний источник, как только на VIN окажется выше шести с половиной вольт, — но для чистоты эксперимента я всё же выдёргиваю кабель, чтобы не мерить потребление вместе с зарядкой от порта.
Перед переездом заливаю скетч-маячок ниже и смотрю на него первые минуты автономной жизни: пока он мигает ровно, питание держится. Перезапуск виден сразу — в мониторе счётчик времени обнуляется, и это честный признак просадки. Для дальней платы монитор заменяет наблюдение: маячок печатает run и время, и по обрыву строк видно, когда питание сдалось. Прицепите монитор через USB на время теста, затем уберите: плате не важно, слушает ли кто её порт.
void setup() { Serial.begin(9600); pinMode(12, OUTPUT); Serial.println("battery run: hello");} void loop() { digitalWrite(12, HIGH); Serial.print("run t="); Serial.println(millis()); delay(500); digitalWrite(12, LOW); delay(1500);}После переезда на батареи серый порт перестаёт волновать — но появляются свои проверки перед выездом и заливкой обновлений: чек-лист новичка начинается с платы и порта, а питание в нём стоит седьмым пунктом не случайно. Сам ритуал обновления скетча через кабель остаётся прежним: урок про загрузку скетча рассказывает, что происходит между нажатием и первой вспышкой. И помните арифметику: 12 вольт на входе при 300 мА — это два с лишним ватта тепла, и стабилизатор напомнит о них перезапусками.
- 1. Крона просела до 6,8 вольта — плата перезапускается. Почему?
- 2. Чем запитать круглосуточную мигалку на балконе?
- 3. Power bank выключается через полминуты с Uno. Причина?
- 4. Куда подать 4,8 вольта от четырёх NiMH-аккумуляторов?
- 5. Двенадцать вольт на входе и 300 мА нагрузки — что со стабилизатором?
- Три двери: гнездо и VIN — 7–12 В через стабилизатор, пин 5V — 4,5–5,5 В в обход
- Крона — для показа на вечер: около 550 мА·ч против 45–50 мА потребления и просадка ниже семи вольт
- Тепло считается по формуле (VIN − 5) × I: 12 В на 200 мА — уже 1,4 ватта
- Power bank спит при токе ниже ~100 мА: режим малых токов или постоянная нагрузка
- Свежие 4×AA щелочные дают 6,4 В — в 5V нельзя; NiMH 4,8 В — можно
Частые вопросы по теме урока
- Крона просела до 6,8 вольта — плата перезапускается. Почему?
- Ниже семи вольт на входе линейному стабилизатору не хватает запаса, шина 5V провисает, и микроконтроллер перезапускается. Просадка ниже семи вольт — диагноз, а не поломка кода. Стабилизатору нужен запас: из шести вольт пять он уже не держит
- Чем запитать круглосуточную мигалку на балконе?
- Крона умирает за вечер, таблетка не для этого, девять вольт в 5V убивают плату. Шесть AA дают те же девять вольт, десятки часов и цену дешевле одной кроны. Сборкой 6×AA в гнездо питания
- Power bank выключается через полминуты с Uno. Причина?
- Пятьдесят миллиампер банку кажутся пустой нагрузкой. Нужен режим малых токов или постоянный потребитель — лента, мотор, резистор, — тогда банк перестанет засыпать. Ток Uno ниже порога автоотключения банка
- Куда подать 4,8 вольта от четырёх NiMH-аккумуляторов?
- 4,8 вольта не дотянут до порога переключения на VIN. Прямая дорога — пин 5V: для честных 16 МГц нужно 4,5–5,5 вольта, и 4,8 в них укладывается. В пин 5V, в обход стабилизатора
- Двенадцать вольт на входе и 300 мА нагрузки — что со стабилизатором?
- P = (12 − 5) × 0,3 = 2,1 Вт. Линейный стабилизатор греется пропорционально лишним вольтам и току; при таком раскладе нужен вход 7–9 вольт. Рассеивает 2,1 ватта и уйдёт в защиту от перегрева