Ночник на фоторезисторе был моей первой схемой, которую я собирал по чувству, а не по расчёту. Светодиод еле тлел. Я поменял светодиод — потемнел так же. Поменял резистор — снова тлел. Переписал порог в скетче трижды — без толку, и я уже грешил на плату. Виновником оказался резистор 4,7 кОм: я брал его «как подтяжку», по привычке, и через цепь шёл ток 3 В / 4700 Ом ≈ 0,64 мА — в двадцать раз меньше тех самых 13,6 мА, на которые рассчитан светодиод с резистором 220 Ом. Одна строка арифметики ответила бы за полчаса тыканья.
Вторая история была про противоположную крайность. К шестому светодиоду в макетке я прицепил зуммер, RGB и реле-модуль — и при работе через дешёвый USB-хаб плата начала самопроизвольно перезагружаться: стабилизатор и порт не вытягивали суммарный аппетит. Схема собрана без ошибок, скетч правильный — не хватало ватт. Обе беды лечатся тремя строками формул, которые знают все и которыми почти не пользуются новички.
Здесь закон Ома превращается из школьного воспоминания в инструмент. Три формулы — по одной задаче каждой: сколько току идёт, сколько напряжения упадёт, какой резистор поставить. Дальше — бюджет: таблица типовых токов всего, что втыкается в макетку, и правило суммы для порта USB. Финал — скетч-аудит, который печатает расход вашей схемы и запас до лимита, и симулятор, прогоняющий формулы по реальным номиналам.
Три формулы и по одной задаче каждой
Первая формула отвечает «сколько»: I = U / R. Пять вольт на резисторе 250 Ом — ток 5 / 250 = 0,02 А, двадцать миллиампер. Те же пять вольт на 4700 Ом — 1,06 мА, тот самый тусклый ночник. Формулой пользуются как прикидкой до сборки: прикинул ток — понял, светит ли светодиод и не греется ли бочонок. Вторая формула отвечает «сколько упадёт»: U = I × R. В цепи светодиода при 13,6 мА на резисторе 220 Ом падает 3 В — остаток от пяти, остальное съел кристалл. Тем же счётом на плохой перемычке в 0,1 Ом при токе полампера падает 50 мВ — незаметно для логики, но греется она ощутимо, о чём мы говорили в уроке про провода.
Третья формула отвечает «что поставить»: R = U / I. Хотите 10 мА от остатка в 3 В — считаете 3 / 0,01 = 300 Ом и берёте ближайший из ряда вверх, 330. Именно ею я пользуюсь чаще всех остальных: она переводит желание («хочу такой-то ток») в деталь с конкретными полосками. Полный проход по трём формулам занимает меньше минуты: U/R — ток, I×R — проверка падения, U/I — номинал.
К трём формулам добавляется четвёртая — мощность P = U × I, она же I²R: это про то, сколько тепла выделится на резисторе, и подробный разбор с пределами бочонка 0,25 Вт живёт в предыдущем уроке про подбор номинала. Здесь достаточно прикинуть на нашем эталоне: 5 В × 20 мА = 100 мВт на резисторе 250 Ом — тёплый, но с трёхкратным запасом до паспорта.
| Потребитель | Типично | Предел | Примечание |
|---|---|---|---|
| Один выходной пин | 10–20 мА | 40 мА абсолютный максимум | комфорт — вполовину предела |
| Все пины ATmega328P суммарно | — | 200 мА | лимит кристалла, а не порта |
| Светодиод с гасящим резистором | 10–15 мА | 20 мА | ток задаёт резистор, не пин |
| Плата Uno без нагрузки | 45–50 мА | — | стабилизатор и USB-чип едят всегда |
| Катушка реле-модуля | 70–90 мА | — | модуль уже с транзистором, пину легко |
| Сервопривод SG90 под нагрузкой | 100–250 мА | пик до 650 мА | питание отдельно, общий GND |
| Порт USB 2.0 | — | 500 мА | бюджет всей макетки сразу |
Бюджет: складываем от порта до последнего светодиода
Бюджет считается как кошелёк на месяц: сначала обязательные расходы, потом хотелки. Урок Uno от USB стабильно ест около 50 мА — плата работает, даже если к пинам не подключено ничего. Каждый светодиод с резистором — ещё 10–15 мА, зуммер на пьезоэлементе — единицы миллиампер, катушка реле-модуля — 70–90 мА в момент, когда она притянута. Складываем типовой день моей перегруженной макетки: 50 + 6 × 15 + 5 + 80 = 225 мА от пятисот доступных — запас больше двух раз, и всё хорошо. Добавляю серву с пиком 650 мА — и никакого порта не хватит, потому что пик сервы съедает весь бюджет один.
Отсюда два правила из той перезагружающейся сборки. Первое: серва, мотор и всё с пиком выше сотни миллиампер питается от отдельного источника, а не от пина и не от шины макетки, — общий с платой у них только GND. Второе: в бюджет записывают и средний ток, и пик, и сверяют каждый со своим лимитом. Перезагрузки от хаба были именно просадкой: в момент щелчка реле напряжение на 5 В проваливалось, и сбрасывался уже сам микроконтроллер.
Числа из таблицы — с условиями, как любые числа: светодиод берёт 15 мА только при резисторе, посчитанном под 15; скетч с analogWrite 128 режет средний ток примерно вдвое; а «40 мА на пин» — это предел выносливости, не рабочий режим, о чём ниже.
// Аудит: подставьте свой состав схемы и перезалейте.// Числа берутся из таблицы бюджета, лимит — порт USB.const int LIMIT_MA = 500; // порт USB 2.0const int PLATA_MA = 50; // Uno без нагрузкиconst int SVEtodiody = 6; // сколько светодиодов с резисторамиconst int TOK_SVET = 15; // мА на каждыйconst int RELE = 1; // реле-модулейconst int TOK_RELE = 80; // мА на притянутую катушкуconst int ZUMMER_MA = 5; int rashodMA = 0; void rashod() { rashodMA = PLATA_MA + SVEtodiody * TOK_SVET + RELE * TOK_RELE + ZUMMER_MA; Serial.print("rashod="); Serial.print(rashodMA); Serial.print(" limit="); Serial.print(LIMIT_MA); Serial.print(" zapas="); Serial.println(LIMIT_MA - rashodMA);} void setup() { Serial.begin(9600); Serial.println("Audit budzheta toka");} void loop() { rashod(); if (rashodMA > LIMIT_MA) { Serial.println("VERDIKT: perebor — pitat chast ottelno"); } else { if (rashodMA * 2 > LIMIT_MA) { Serial.println("VERDIKT: zapas menshe dvuh raz — smotretb piki"); } else { Serial.println("VERDIKT: ok"); } } delay(5000);}Скетч печатает три пары: rashod=225 limit=500 zapas=275 и вердикт. Константы сверху — это ваша схема: поменяйте число светодиодов и перезалейте, и аудит пересчитается. Вердикт устроен по правилу из главы про бюджет: запас меньше двух раз — предупреждение, потому что на пиках (реле щёлкнуло, серва дёрнулась) просадка уходит в перезагрузку. Точно такую же проверку я делаю руками перед каждой сборкой «а ещё добавим», просто теперь она печатается сама.
Симулятор ниже прогоняет сами формулы по трём реальным номиналам: 250, 1000 и 4700 Ом при 5 В. Смотрите на строку с 250 Ом — там i=20.00: эталонный ток светодиода; строка с 4700 — те самые 1,06 мА тусклого ночника из начала урока.
Вывод симулятора — это готовая шпаргалка на три случая жизни: 250 Ом — рабочий ток индикатора, 1 кОм — экономная индикация с током 5 мА, 4,7 кОм — сигнальный уровень, где светодиоду уже не жить, зато подтяжкам и делителям самое место. При 3,3 В те же резисторы дают примерно 13, 3 и 0,7 мА — на 3,3-вольтовых платах тот же бочонок светит тусклее, и это не дефект, а арифметика. Подставить эти номиналы в живую цепь проще всего на самой первой мигалке: разница между 220 и 4700 Ом там видна невооружённым глазом.
Формулы из этого урока понадобятся в каждом следующем: в делителе напряжения они считают выход, в силовых схемах — выбрать ключ вместо прямого подключения нагрузки. Возьмите за привычку одну минуту с калькулятором перед сборкой — и истории про тлеющий ночник и перезагружающийся хаб останутся чужими.
- Три формулы — три вопроса: I=U/R сколько идёт, U=I×R сколько упадёт, R=U/I какой бочонок поставить
- Эталонные числа: 5 В на 250 Ом — 20 мА и 100 мВт; 5 В на 4700 Ом — 1 мА, светодиоду мало, подтяжке нормально
- Бюджет складывается от порта: плата 50 мА плюс потребители; средний ток сверяем с 500 мА USB, пики — с просадкой
- Серву, мотор и реле без модуля питают отдельно, общий GND обязателен; 40 мА на пин — предел деградации, рабочий режим до 20 мА
- Перед добавлением «ещё одной детали» — минута арифметики: скетч-аудит печатает расход и запас, вердикт подскажет просадку на пиках
- 1. Какой ток пойдёт через резистор 250 Ом от 5 В?
- 2. Светодиод с резистором светит едва-едва. В цепи резистор 4,7 кОм при остатке 3 В. Сколько идёт?
- 3. Суммарный ток всех выходных пинов ATmega328P не должен превышать…
- 4. Схема ест 300 мА средне, серва на пике берёт ещё 650 мА. Как подключать серву?
- 5. Резистор какой величины поставите для тока 10 мА при остатке напряжения 3 В?
Частые вопросы по теме урока
- Какой ток пойдёт через резистор 250 Ом от 5 В?
- I = U/R = 5/250 = 0,02 А = 20 мА. Эталонный ток индикаторного светодиода, на котором мы калибровали все расчёты раздела. 20 мА
- Светодиод с резистором светит едва-едва. В цепи резистор 4,7 кОм при остатке 3 В. Сколько идёт?
- 3 В / 4700 Ом ≈ 0,64 мА. Ночник из начала урока тлел именно поэтому: подтяжечный номинал вместо гасящего. Около 0,6 мА — в двадцать раз меньше нужного
- Суммарный ток всех выходных пинов ATmega328P не должен превышать…
- 40 мА — предел одного пина, 500 мА — порт USB, а на кристалл приходится 200 мА суммарно. Шестнадцать светодиодов по 20 мА убивают плату, хотя каждый «в норме». 200 мА — лимит кристалла
- Схема ест 300 мА средне, серва на пике берёт ещё 650 мА. Как подключать серву?
- Пик сервы в одиночку съедает весь бюджет порта — просадка уронит плату в перезагрузку, как в истории с хабом. Отдельное питание плюс общий минус — единственный вариант. Питание от отдельного источника, общий GND с платой
- Резистор какой величины поставите для тока 10 мА при остатке напряжения 3 В?
- R = U/I = 3/0,01 = 300 Ом. Ближайший номинал ряда E12 с запасом — 330 Ом: ток получится около 9 мА, для индикации неотличимо. 300 Ом — берём 330 из ряда вверх