🛒
0 товаров
0 руб.

Интернет-магазин «Неглупый Дом»


☀️ Проект: энергомонитор солнечной панели на INA219 — напряжение, ток и мощность в реальном времени

На сайте уже есть проекты про солнечную панель в связке с ACS712 (логирование в EEPROM) и с TP4056 (управление зарядкой аккумулятора) — здесь другая задача: INA219 напрямую измеряет, сколько напряжения, тока и, соответственно, мощности панель выдаёт прямо сейчас, без аккумулятора и без записи в память.

Как это работает

INA219 одновременно измеряет напряжение и ток через встроенный прецизионный шунтирующий резистор, включённый последовательно в цепь — ток создаёт на этом крошечном резисторе падение напряжения, пропорциональное силе тока, которое чип измеряет и переводит в миллиамперы. Мощность (напряжение × ток) чип считает сам внутри себя. Общение с Arduino идёт по I2C — два провода вместо отдельного аналогового входа на каждую величину.

Выход солнечной панели постоянно меняется с освещённостью (облако, угол панели, затенение) — прямой мониторинг показывает качество освещения/установки панели здесь и сейчас, в отличие от проектов про зарядку, где видно только поведение на стороне аккумулятора, а не саму панель.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. Солнечная панель "+" → VIN+ модуля INA219.
  2. VIN- модуля INA219 → дальше в нагрузку/следующий элемент цепи — шунт включается ПОСЛЕДОВАТЕЛЬНО в цепи панели, а не параллельно, иначе измерение тока не будет работать.
  3. INA219: SDA → A4, SCL → A5, VCC → 5V (либо 3.3V — уточните по вашей версии модуля), GND → GND.
  4. Нагрузка (резистор для демонстрации, либо уже существующий на сайте проект с батарейным блоком/зарядкой TP4056) подключается после INA219, замыкая цепь.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.

#include <Wire.h>
#include <Adafruit_INA219.h>

Adafruit_INA219 ina219;

void setup() {
  Serial.begin(9600);
  ina219.begin();
}

void loop() {
  float busVoltage = ina219.getBusVoltage_V();
  float current_mA = ina219.getCurrent_mA();
  float power_mW = ina219.getPower_mW();

  Serial.print("Напряжение: "); Serial.print(busVoltage); Serial.println(" В");
  Serial.print("Ток: "); Serial.print(current_mA); Serial.println(" мА");
  Serial.print("Мощность: "); Serial.print(power_mW); Serial.println(" мВт");
  Serial.println("---");

  delay(1000);
}

Библиотека Adafruit_INA219 ставится через Менеджер библиотек Arduino IDE. Адрес по умолчанию у INA219 — 0x40; если на шине уже есть другое устройство с этим адресом, у большинства модулей INA219 есть перемычки для смены адреса.

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 🔋 питание 9В-нагрузки от батарейного блока 8…🎚️ тумблер ручного переключения авто/вручную … →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу в корзину: 414 ₽ 373 ₽ (экономия 41 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина


Поиск



Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA