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

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


⚡ Проект: защитное отключение нагрузки при превышении тока на INA226

INA226 — более новая и точная микросхема измерения тока и напряжения по шине I2C, чем уже разбиравшийся на сайте INA219: у INA226 выше разрядность встроенного АЦП и есть аппаратное усреднение нескольких измерений внутри самой микросхемы. В этом проекте она не просто отображает ток, а активно защищает нагрузку — реле отключает питание, если потребление превышает заданный безопасный порог.

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

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

В отличие от уже разобранного на сайте мониторинга тока на INA219 (который просто показывает текущее значение), здесь ток в каждом цикле сравнивается с заданным безопасным порогом — как только измеренное значение превышает порог, реле немедленно обесточивает нагрузку. Это защита от перегрузки, короткого замыкания в нагрузке или постепенной деградации устройства, которая начинает потреблять больше нормы.

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

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

  1. INA226: SDA → A4, SCL → A5, VCC → 5V, GND → GND.
  2. Нагрузку подключайте через клеммы VIN+ и VIN- модуля INA226 последовательно в силовую цепь (не параллельно!) — именно через эти клеммы и проходит ток, который измеряет шунт на плате.
  3. Модуль реле: сигнальный вход → D2, VCC → 5V, GND → GND. Силовую часть реле собирайте строго по инструкции модуля, аккуратно и изолированно.

Скетч

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

#include <Wire.h>
#include <INA226.h> // одна из распространённых библиотек для INA226

INA226 ina(0x40);
const int RELAY_PIN = 2;
const float MAX_CURRENT_A = 2.0; // безопасный порог тока в амперах, подберите под свою нагрузку

bool tripped = false;

void setup() {
  Serial.begin(9600);
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, HIGH); // нагрузка включена в норме

  ina.begin();
  ina.setMaxCurrentShunt(5, 0.1); // максимум 5А через шунт 0.1 Ом — подберите под свой модуль
}

void loop() {
  if (tripped) {
    digitalWrite(RELAY_PIN, LOW); // держим нагрузку отключённой после срабатывания защиты
    return;
  }

  float current = ina.getCurrent_mA() / 1000.0;

  Serial.print("Ток: ");
  Serial.print(current);
  Serial.println(" А");

  if (current > MAX_CURRENT_A) {
    tripped = true;
    Serial.println("ПРЕВЫШЕНИЕ ТОКА! Нагрузка отключена.");
  }

  delay(200);
}

Библиотека для INA226 ставится через Менеджер библиотек Arduino IDE — доступно несколько сторонних библиотек с немного разными именами методов, уточните точный API именно для установленной у вас версии. Как и в проекте защиты по оборотам на датчике Холла, после срабатывания защита держит нагрузку отключённой до перезагрузки Arduino — осознанное решение безопасности, а не ошибка.

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

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

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

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

← 🛑 аварийный стоп привода при обнаружении пре…🔔 охранная сигнализация по звуку удара на да… →

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

Все 2 товара сразу в корзину: 243 ₽ 219 ₽ (экономия 24 ₽)

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

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

Корзина


Поиск



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