Подключение датчика напряжения и тока INA3221 к Arduino

Сегодня расскажу о трехканальном цифровом измерителе тока и напряжения на основе микросхемы INA3221. Диапазон измеряемого напряжения находится в диапазоне 0 — 26 Вольт, а максимальный измеряемый ток составляет около 1,6 Ампера, на канал. Ограничениями измеряемого тока является так называемых шунтов, которые представляют собой три резистора с маркировкой R100 на модуле. Эти резисторы имеют значение 0,1 Ом, и если необходимо увеличить измеряемый ток, необходимо уменьшить сопротивление.

Технические параметры

► Тип интерфейса: I2C;
► АЦП: 12-разрядный;
► Максимум измерений тока: ±1,638 А;
► Максимум измерений напряжения: 26 Вольт;
► Разрешающая способность 0,4 мА;
► Сопротивление шунтов: 0,1 Ом;
► Напряжение питания: от 2,7 до 5,5 Вольт;
► Габариты: 38х 32 х 3 мм;
► Вес: 10 грам.

Описание модуля INA3221

Основная и единственная микросхема модуля, это INA3221 производства «Texas Instruments», которая является трехканальном измерителем напряжения и тока. Так же, для оповещения, о проблемах или о превышении заданных параметров, выведено несколько программируемых выводов. Связь с микроконтроллером осуществляется с помощью интерфейса I2C, подтягивающие резисторы уже установлены на плате.

На модуле очень много разъемов, назначение каждого можно посмотреть ниже.

Назначение контактов №1 (маленькие контакты):
► VS — питание модуля 2,7 до 5,5 вольт;
► GND — питание модуля, земля;
► SCL — последовательные данные шины I2C (serial data);
► SDA — последовательное тактирование шины данных I2C (serial clock);
► PV — цифровой выход сигнала превышения напряжения, программируется, если вышел за указанные пределы, установится в единицу;
► CRI — цифровой выход о критической ситуации, такие ошибки как переполюсовка или короткой замыкание, установится в единицу;
► WAR — предупреждение об ошибке измерения;
► ТС — контроль таймингов, цифровой. Меняет свое состояние если пробит один из шунтов, установится в единицу.

Назначение контактов №2 (большие контакты):
► CH1, CH2, CH3 — вывод, для подключения нагрузки.
► VPU — вывод мониторинга допустимой мощности. Подтянут к контакту PV через резистор 10 кОм;
► POW — плюс питания. Сюда следует подключать, так сказать, транзитное питание которое хотите контролировать. На выходах СН1, СН1 и СН3 выводится плюс именно с этого входа через шунт. Максимально допустимое напряжение этого канала составляет 26 вольт.
► GND (большой, рядом с POV и VPU) — минус от источника, плюс которого подается на POW.

Так же, на модуле есть 5 светодиодов, назначение каждого, можно посмотреть ниже

Назначение светодиодов:
► LED1 — индикатор наличия питания;
► LED2 — указывает на то что питание находится в запрограммированном диапазоне.
► LED3 — указатель критической проблемы такой как неверная полярность или короткое замыкание;
► LED4 — ошибка измерения;
► LED5 — обрыв линии питания одного из трех выводов;

На модуле можно установить четыре адреса, для этого необходимо установить перемычку на группе контактов A0 (только одну), что дает возможность подключить к одному микроконтроллеру сразу четыре датчика INA3221

Назначение перемычек:
► GND — 0x40;
► SCL — 0x41;
► SDA — 0x42;
► VS — 0x43.

Подключение датчика INA3221 к Arduino

В примере покажу схему подключения датчика тока и напряжения INA3221 к плате Arduino UNO и напишем небольшую программу, в которой считаем показания с датчика. В примере буду использовать внешний источник питания, на 5 Вольт, а в качестве нагрузке подключим два резистора к каналу CH1 и CH2, а канал CH3 ставим пустым. Все показания выведем на последовательной порт.

Необходимые компоненты.
► Arduino UNO R3 x 1 шт.
 Датчика напряжения и тока INA3221 x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
► Кабель USB 2.0 A-B x 1 шт

Подключение.
Для подключения модуля INA3221 к плате Arduino необходимо задействовать в общей сложности 4 провода. Подключаем контакты VS и GND с INA3221 к контактам 5 В и GND на Arduino UNO, а контакты SCL и SDA с INA3221 к контактам A5 и A4 на Arduino UNO. Затем внешний источник питания, подключаем к контактам POW и GND и нагрузку на отдельные каналы, CH и GND (CH1, CH2, CH3).

Установка библиотеки.
Для работы, будем использовать библиотеку «INA3221«, скачать ее можно с github или в конце статьи.

Программа
Открываем среду разработки Arduino IDE и загружаем первую программу в Arduino UNO.

Получение данных с INA3221.

Перед тем как подключать нагрузку, необходимо подать с источника питания напряжение на контакты POW и GND, в моем случаи 12 Вольт. В качестве нагрузки, установлено дв резистора на 1.5 кОм.

Ссылки
  Библиотека INA3221 v.0.0.1

Купить на Aliexpress
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Датчика напряжения и тока INA3221

Купить в Самаре и области
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Датчика напряжения и тока INA3221

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *