Библиотека для работы с монитором тока INA219.
Для более полного понимания принципа работа датчика, который измеряет силу тока падением
напряжения на шунте, советую ознакомиться со статьей в которой описана работа этого принципа измерения.
Шунт. Описание, предназначение, принцип работы.
Для передачи данных по протоколу TWI(I2C) используется дополнительная библиотека Network connections tools,
которая включает в себя несколько простых функций, для записи и чтения регистров простых устройств, входящих в библиотеку.
Датчик использует 6 16-битных регистров, ко всем им можно получить доступ с помощью функции:
INA219_Get_Data (адрес устройства в сети I2C, тип данных, режим работы)
Описание работы аппаратного TWI(I2C) модуля можно прочесть в переведенном на русский язык Datasheet одного из контроллеров. Например:
ATmega103
В соответствующем разделе.
0x40 - адрес модуля по умолчанию.(Адресные пины A1 и A2 через 10K резисторы подтянуты к земле)
----- Тип данных -------
0 - Напряжение шины
1 - Напряжение шунта
2 - Мощность
3 - Ток
4 - Калибровочный регистр.
5 - Конфигурационный регистр.
-------Режимы--------------------------------------------------------------------------------
Во всех режимах: Максимальное напряжение 32В.
0 - (Нормальный режим) Постоянное измерение напряжения шунта и шины. Данные пишутся в регистры датчика постоянно.
Время обновления значения 532мксек. Читаются данные которые записаны в регистры датчика на момент обращения.
1 - (Быстрый режим) Постоянное измерение напряжения шунта и шины. Данные пишутся в регистры датчика постоянно.
Время обновления значения 84мксек. Данные в регистрах датчика будут обновляться примерно за тоже время,
которое потребуется для чтения одного регистра на скорости SCL 400кГц (1 такт = 2.5мксек)
1 байт = 9 тактов (8 бит данных + подтв.)= 22.5мксек.
Получение данных: 1 байт адрес устройства, 1 байт адрес регистра, чтнение 2х байт = 90мксек.
2 - (Энергосберегающий режим) Данные по запросу, ожидание 532мксек.
Содержимое регистра тока расчитывается самим датчиком по формуле:
Падение напряжения на шунте * Калибровочный регистр / 4096
Из формулы очевидно, что значение калибровочного регистра 4096 является нулевой отметкой, при которой ток равен падению напряжения на шунте.
При тех округлениях что приводятся в даташите, для сопротивления 0.1 и 0.5 Ом значение Cal получается 4096. Тем не менее, возможно вручную откалибровать
получаемое значение силы тока, по показаниям мультиметра. Значения ниже 4096 будут увеличивать показания, значения выше 4096, уменьшать.
Внести изменение в калибровочный регистр можно с помощью функции:
INA219_Set_Callibration (uint8_t адрес устройства, int16_t калибровочное значение)
Пример работы библиотеки можно найти в каталоге examples либо открыть примеры через меню Arduino IDE.
Статья находится в процессе редактирования, многие режимы требуют практического измерения. Возможны правки.