INA219 — Датчик тока и напряжения (вольтамперметр) с протоколом связи I²C

INA219 - Датчик тока и напряжения (вольтамперметр) с протоколом связи I2CINA219 DC Current Monitor — цифровой датчик для измерения потребляемого тока, напряжения и мощности на базе микросхемы INA219B. Выходной интерфейс модуля — шина I2C, что очень удобно при работе с устройствами на базе Arduino, Raspberry Pi, Orange PI, Banana Pi и т.п.

Модуль имеет высокую точность измерения тока и напряжения, нулевой дрейф, при этом обладая компактными размерами и не требует дополнительной обвязки. Также важное преимущество датчика INA219 заключается в том, что измерительный шунт установлен в разрыв «+» питания, а не «-«, так как в таком случае не возникает нежелательный в электронике сдвиг потенциалов между «землей» нескольких устройств, объединенных в общую схему.

I2C адрес микросхемы INA219 можно изменить запайкой перемычек А0 и А1. Возможно четыре различных комбинации установки адресных перемычек, соответственно на одну шину I2C можно подключать до 4-х таких модулей. Для увеличения точности измерений предусмотрен регистр калибровки. Напряжение в микросхеме измеряет аналого-цифровой преобразователь (АЦП) и может работать в 9-ти, 10-ти, 11-ти, 12-ти битных режимах. Настраивается режим работы микросхемы изменением регистра конфигурации.

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

Характеристики INA219

  • Напряжение питания: от 3.0 до 5.5 В;
  • Разрядность АЦП: 12 бит;
  • Выходной интерфейс: I2C;
  • Скорость интерфейса: 3.4 МГц;
  • Диапазон измеряемых напряжений: от 0 до 26 В;
  • Максимальный измеряемый ток: от -3.2 A до 3.2 A;
  • Дискретность при измерении тока: 0.8 мА;
  • Точность измерений по току и напряжению: 1 %;
  • Диапазон рабочих температур: от -40 до +125 °C;
  • Дрейв в рабочем температурном диапазоне: 100 мкВ;
  • Калибровка: калибровочный регистр;
  • Внутренние данные: измеренный ток и мощность;
  • Фильтрация: х128 отсчетов.

Модуль Zero CJMCU-219 на базе INA219

Модуль Zero CJMCU-219 — это законченный модуль, который можно подключать к различным устройствам, не только к платформе Arduino, но и к Raspberry Pi, Orange PI, Banana Pi и др.. Основным элементом на плате является микросхема INA219. Несмотря на маленький размер и малое количество выводов, INA219 обладает большими возможностями. Микросхема измеряет падение напряжения на шунте (резисторе с малым сопротивлением на выводах Vin+ и Vin-). На плате установлен шунт с сопротивлением 0.1 Ом.

Принципиальная схема Zero CJMCU-219/INA219

Модуль Zero CJMCU-219 имеет минимальный набор компонентов для правильной работы датчика INA219.

INA219 - Принципиальная схема CJMCU-219

Распиновка Zero CJMCU-219/INA219

Плата имеет 6+2 вывода, 2 из 6 дублируют Vin+ и Vin-.
INA219 - Распиновка CJMCU-219

Вывод Описание
Vcc Питание модуля от 3.0 до 5.5 В
Gnd Земля
Scl Линия тактирования (Serial CLock)
Sda Линия данных (Serial Data)
Vin- Выход напряжения от источника питания через шунт. Напряжение измеряется от этого вывода относительно земли
Vin+ Вход напряжения от источника питания
A0 Выбор I2C адреса
A1 Выбор I2C адреса

Система установки I2C адреса на INA219

Если используется более одной платы INA219, каждой плате должен быть присвоен уникальный адрес. Это делается с помощью адресных перемычек на правом краю платы. Базовый адрес I2C для каждой платы равен 0x40. Бинарный адрес, который вы программируете с помощью перемычек адресов, добавляется к базовому адресу I2C.

A1 A0 Адрес (bin) Адрес (hex)
GND GND 1000000 0x40
GND VS+ 1000001 0x41
GND SDA 1000010 0x42
GND SCL 1000011 0x43
VS+ GND 1000100 0x44
VS+ VS+ 1000101 0x45
VS+ SDA 1000110 0x46
VS+ SCL 1000111 0x47
SDA GND 1001000 0x48
SDA VS+ 1001001 0x49
SDA SDA 1001010 0x4A
SDA SCL 1001011 0x4B
SCL GND 1001100 0x4C
SCL VS+ 1001101 0x4D
SCL SDA 1001110 0x4E
SCL SCL 1001111 0x4F

Для изменения адреса шины I2C платы микросхемы INA219 нужно запаять/отпаять перемычки на A0 и A1. Определить текущий адрес можно с помощью I2cScanner от Arduino.

Система установки I2C адреса на INA219 - перемычки

Описание регистров INA219

INA219 использует 5 регистров для хранения настроек конфигураций, результатов измерений, максимальных/минимальных пределов и информации о состоянии. В таблице ниже представлены регистры INA219.

Содержимое регистра обновляется 4 мкс после завершения команды записи. Следовательно, требуется задержка в 4 мкс между завершением записи в заданный регистр и последующим считыванием этого регистра (без изменения указателя) при использовании частот SCL, превышающих 1 МГц.

АДРЕС ИМЯ РЕГИСТРА ФУНКЦИЯ СБРОС ТИП
HEX HEX
0x00 Конфигурации Сброс всех регистров, настройка диапазона напряжения шины, усиление PGA, разрешение / усреднение АЦП. 0x399F R/W
0x01 Напряжение шунта Данные измерения напряжения шунта. R
0x02 Напряжение шины Данные измерения напряжения шины. R
0x03 Мощность Данные измерения мощности. 0x0000 R
0x04 Ток Содержит значение тока, протекающего через шунтирующий резистор. 0x0000 R
0x05 Калибровка Калибровочный регистр. Полная калибровка системы. 0x0000 R/W

Блок-диаграмма микросхемы INA219

Блок-диаграмма микросхемы INA219

Материалы

Скачать документацию datasheet_ina219.pdf
adafruit_ina219-current-sensor-breakout.pdf
adafruit.com

Купить INA219 на AliExpress

Похожие записи

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

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