Если вы когда-нибудь задавались вопросом, сколько на самом деле жрёт ваш старый холодильник, блок питания ноутбука или обогреватель — эта статья для вас. Я расскажу, как собрать простой и точный измеритель мощности бытовой электроники, который покажет реальное потребление, а не то, что написано на шильдике.
- Зачем это вообще нужно
- Что мы будем измерять
- Два пути: готовый прибор или самодельный
- Готовые решения для сравнения
- Собираем сами: на базе ESP32 и SCT-013
- Что понадобится
- Как это работает
- Схема подключения
- Прошивка
- Важный момент с безопасностью
- Частые ошибки при сборке
- Что выбрать под вашу ситуацию
- Как проверить, что всё работает правильно
- Итог
Зачем это вообще нужно
На каждом приборе есть наклейка с ваттами или киловаттами. Проблема в том, что это максимальное значение, часто указанное для худшего сценария. Реальное потребление может отличаться в разы. Холодльник, например, на шильдике пишет 400 Вт, а в реальности он работает импульсами: включился на 150 Вт, потом выключился, потребление упало до нуля. Счётчик на оплату электричества этого не показывает.
Свой измеритель нужен, если вы:
- хотите понять, где реально утекает электричество;
- проверяете, не врёт ли производитель о экономичности;
- настраиваете солнечную электростанцию или ИБП и хотите знать точный расход;
- просто любите понимать, что происходит в вашей проводке.
Что мы будем измерять
Три параметра:
- Напряжение (В) — в розетке не всегда ровно 220 В. Может быть 210, может быть 235. Это влияет на работу приборов.
- Ток (А) — сколько ампер потребляет прибор в данный момент.
- Мощность (Вт) — то, за что мы платим. Произведение напряжения на ток с учётом коэффициента мощности.
Коэффициент мощности (cos φ) — штука коварная. У лампочки накаливания он почти единица, у блока питания с импульсным преобразователем — 0.5–0.7. Это значит, что прибор берёт из розетки больше тока, чем реально превращает в полезную работу. Простое умножение U×I даст полную мощность (ВА), а активная (Вт) будет меньше.
Два пути: готовый прибор или самодельный
Прежде чем паять, давайте честно: готовые розеточные ваттметры стоят от 500 до 2000 рублей и работают достаточно точно. Если вам нужно просто знать цифры — купите. Но если интересен сам процесс, хотите понимать схему, добавить логгер или дисплей с графиками — собирать самому интереснее и гибче.
Готовые решения для сравнения
| Вариант | Что измеряет | Точность | Цена (ориентир) | Свои руки |
|---|---|---|---|---|
| Розеточный ваттметр (например, TS-100) | Вт, А, В, кВт·ч | ±1–2% | 500–1000 ₽ | Нет |
| Arduino + датчик тока ACS712 | В, А, Вт | ±3–5% | 300–600 ₽ | Да |
| ESP32 + трансформатор тока SCT-013 | В, А, Вт, кВт·ч | ±2–3% | 400–800 ₽ | Да |
| HLK-PM01 + Arduino | В, А, Вт | ±2% | 500–900 ₽ | Да |
Собираем сами: на базе ESP32 и SCT-013
Я выбрал именно эту связку, потому что ESP32 — с Wi-Fi, дешёвый, и для неё готовые библиотеки для измерений уже написаны. SCT-013 — это разъёмный трансформатор тока, который не требует разрыва цепи. Просто надели на провод — и всё.
Что понадобится
- ESP32 (любая плата с Wi-Fi, например ESP32 DevKitC) — 300–500 ₽.
- Трансформатор тока SCT-013-030 (на 30 А) — 200–350 ₽.
- Резистор нагрузки (burden resistor) — 33 Ом, 1/4 Вт. Идёт в комплекте с некоторыми SCT-013, если нет — докупить за 10 рублей.
- Делитель напряжения — для измерения сетевого напряжения через адаптер HLK-PM01 (модуль преобразователя 220В→5В с аналоговым выходом) — 200–300 ₽.
- OLED-дисплей SSD1306 (0.96 дюйма, I2C) — 150–250 ₽.
- Соединительные провода, макетная плата, корпус.
Итого бюджет: около 1000–1500 рублей, если покупать всё отдельно.
Как это работает
SCT-013 — это катушка, которая надевается на один провод нагрузки (только на один, не на весь шнур!). По проводу течёт переменный ток, вокруг него возникает магнитное поле, трансформатор преобразует его в пропорциональный переменный ток в нашей измерительной цепи. Резистор нагрузки преобразует этот ток в напряжение, которое мы снимаем с аналогового входа ESP32.
HLK-PM01 берёт 220 В из той же розетки и выдаёт маленькое переменное напряжение на выходе, пропорциональное сетевому. Через делитель резисторов мы приводим его к уровню, безопасного для АЦП ESP32 (0–3.3 В).
Микроконтроллер оцифровывает оба сигнала, умножает мгновенные значения напряжения и тока, и получает мгновенную мощность. Усредняем за период — получаем активную мощность.
Схема подключения
Подключение SCT-013:
- Разъём трансформатора → два конца резистора нагрузки (параллельно).
- Один конец резистора → GPIO34 ESP32 (аналоговый вход).
- Второй конец → GND ESP32.
- Средняя точка (делитель из двух резисторов по 10 кОм, включённых между 3.3В и GND) → к тому же GPIO34, чтобы сместить сигнал в середину диапазона АЦП.
Подключение HLK-PM01:
- Выход AC модуля → делитель 47 кОм + 10 кОм → GND.
- Средняя точка делителя → GPIO35 ESP32.
Дисплей SSD1306 подключается по I2C: SDA → GPIO21, SCL → GPIO22.
Прошивка
Используем библиоту EmonLib — она заточена именно под такие задачи. Устанавливается через библиотечный менеджер Arduino IDE.
Основная идея кода:
- Считываем с АЦП значения напряжения и тока несколько тысяч раз за период сетевой частоты (50 Гц).
- Вычисляем среднеквадратичные значения (RMS).
- Перемножаем — получаем полную мощность.
- Если известен cos φ нагрузки, умножаем на него для получения активной мощности. Для простоты можно использовать фиксированный коэффициент 0.85 для типичной бытовой техники.
- Выводим на дисплей и отправляем по Wi-Fi (например, на сервер Home Assistant или просто в браузер).
Калибровка — самый важный этап. Подключаем заведомо известную нагрузку (например, лампу накаливания 100 Вт) и подгоняем коэффициенты в коде, чтобы показания совпадали. Без калибровки погрешность может быть 10–15%.
Важный момент с безопасностью
Вы работаете с сетевым напряжением 220 В. Это не 5 В от USB, здесь реально можно получить серьёзный удар.
Правила, которые я соблюдаю:
- HLK-PM01 — это изолированный модуль, он рассчитан на работу в сетевых измерителях. Но дорожки на плате всё равно под высоким потенциалом. Не трогайте, когда подключено.
- Всё, что идёт от HLK-PM01 к ESP32, должно быть через изолированный канал. Сам HLK-PM01 обеспечивает гальваническую развязку, но убедитесь, что плата не повреждена.
- Корпус — обязательно диэлектрический. Пластик ABS подойдёт.
- Никаких открытых контактов сетевого напряжения внутри корпуса. Всё пропаяно и заизолировано термоусадкой.
- Перед разборкой или перепрошивкой — отключайте от розетки. Всегда.
Частые ошибки при сборке
Ошибка 1. Надеть SCT-013 на весь сетевой шнур (и на фазу, и на ноль). Ток в них течёт в противоположных направлениях, поля компенсируются, датчик покажет ноль. Надевать только на один провод. Проще всего — использовать удлинитель, у которого один провод можно отделить от другого.
Ошибка 2. Забыть про смещение сигнала с трансформатора тока. АЦП ESP32 меряет напряжение от 0 до 3.3 В, а сигнал с SCT-013 — переменный, с отрицательной полуволной. Без смещения отрицательная часть будет обрезана, и измерения будут неправильными.
Ошибка 3. Использовать SCT-013 без резистора нагрузки. Трансформатор тока нельзя оставлять разомкнутым — это может привести к насыщению сердечника, искажению показаний и даже нагреву.
Ошибка 4. Не калибровать. Без калибровки на известной нагрузке ваш прибор будет видеть цифры, но доверять им нельзя.
Ошибка 5. Путать полную и активную мощность. Если вы просто умножаете U×I, вы получаете ВА, а не Вт. Счётчик в щитке считает Вт. Разница может быть до 30–40% для импульсных блоков питания.
Что выбрать под вашу ситуацию
Нужно просто узнать расход — без разборки и пайки.
Берите готовый розеточный ваттметр. Поставили между розеткой и прибором — видите цифры. Точность достаточная для бытовых задач. Модели с функцией учёта электроэнергии (кВт·ч) удобнее — можно узнать, сколько нажёг обогреватель за ночь.
Хотите логирование и графики в телефоне.
Собирайте на ESP32 + SCT-013. Данные можно отправлять по MQTT в Home Assistant или на любой сервер. Получаете историю потребления, графики по часам и дням, алерты при превышении.
Нужна высокая точность (для проверки оборудования или лабораторных задач).
Смотрите в сторону профессиональных анализаторов качества сети или используйте готовые модули на базе ADE9153A — это специализированная микросхема для измерений с точностью до 0.2%. Но там нужна пайка SMD и понимание аналоговой схемотехники.
Работаете с постоянным током (солнечные панели, аккумуляторы).
ESP32 + INA219. Это модуль на базе чипа от Texas Instruments, измеряет напряжение шины, падение на шунте и считает мощность. Подключается по I2C, библиотеки готовые. Точность приличная, до 1%. Работает до 26 В, для низковольтных систем — идеально.
Как проверить, что всё работает правильно
- Подключите лампу накаливания 100 Вт. Она должна показать примерно 100 Вт, напряжение 220–230 В, ток около 0.45 А. cos φ у лампы ≈ 1.0.
- Подключите вентилятор или пылесос с коллекторным двигателем. Мощность будет чуть меньше, чем U×I — из-за cos φ ≈ 0.7–0.8.
- Подключите зарядку телефона. Там импульсный преобразователь, cos φ может быть 0.5–0.6. Активная мощность — 5–10 Вт, полная — в полтора-два раза больше.
- Сравните показания с розеточным ваттметром, если есть. Расхождение в пределах 5–10% — нормально для самодельного прибора.
Итог
Собрать свой измеритель мощности — задача на пару вечеров, если у вас есть минимальный опыт с Arduino/ESP32. Главное — не пренебрегать калибровкой и безопасностью при работе с сетевым напряжением.
Если вам нужны просто цифры — купите готовый ваттметр за 500 рублей. Если хотите понимать процесс, логировать данные и видеть графики — собирайте на ESP32 с SCT-013. Это даст вам полноценный инструмент за сопоставимые деньги, но с гораздо большими возможностями.
Начните с малого: соберите схему на макетке, подключите одну лампочку, добейтесь правильных показаний. А потом уже переносите в корпус и добавляйте логирование. Так вы не перегорите от сложности и получите работающий прибор, а не кучу деталей в ящике.
