🛒
0 товар.
0 руб.
Логотип

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

☰
ИИ-консультант Wildberries OZON Яндекс Маркет
Поиск по сайту
Гугл таблица с ассортиментом

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

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

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

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

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

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

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

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

Скетч

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

#include <Wire.h>
#include <INA226.h>

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);
}

void loop() {
  if (tripped) { digitalWrite(RELAY_PIN, LOW); return; }
  float current = ina.getCurrent_mA() / 1000.0;
  if (current > MAX_CURRENT_A) tripped = true;
  delay(200);
}
                

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

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

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

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

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

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

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

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

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

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

Корзина

Поиск


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