Подключение датчика постоянного тока INA226 к Arduino


В этом уроке мы узнаем как подключить модуль датчика постоянного тока INA226 к плате Arduino. INA226, как и его предшественник INA219, представляет собой устройство, которое может измерять ток, напряжение и мощность. Однако он имеет расширенный диапазон, способный измерять напряжение до 36 В и ток до 20 А.

INA226 — это монитор напряжения шунта и шины, представленный компанией Texas Instruments. Он предлагает интегрированный, с нулевым дрейфом, двунаправленный интерфейс, который контролирует напряжение шунта, напряжение шины, ток и мощность. INA226 взаимодействует с микроконтроллерами через интерфейс I2C, что позволяет легко передавать и интерпретировать данные.

Подключение датчика постоянного тока INA226 к Arduino

Одной из уникальных особенностей INA226 является настраиваемое время усреднения и преобразования для измерений как напряжения шунта, так и напряжения шины. Это дает возможность оптимизировать устройство для различных приложений и системных требований. Кроме того, он также включает программируемый порог и функцию оповещения для этих измерений, которые могут использоваться для оптимизации на уровне системы, такой как энергосбережение и программирование прерываний, управляемых событиями.

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

Необходимые компоненты

  1. Плата Arduino Nano (купить на AliExpress).
  2. Датчик тока INA226 (купить на AliExpress).
  3. Батарея 3,7 В.
  4. Двигатель постоянного тока.
  5. Макетная плата.
  6. Соединительные провода.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Модуль датчика постоянного тока INA226

Модуль датчика постоянного тока INA226

INA226 — это усовершенствованная интегральная схема (ИС) шунта тока и монитора мощности, разработанная Texas Instruments. Она работает через интерфейс, совместимый с I2C или SMBus, предлагая прямую цифровую связь с микроконтроллером. Она обеспечивает более широкие возможности, чем INA219, включая лучшую точность, более широкий диапазон напряжения и тока, а также интегрированные математические функции, которые напрямую сообщают мощность в ваттах.

Более подробную информацию об этой ИС можно посмотреть в техническом паспорте INA226.

Схема платы INA226

Основные компоненты платы INA226

Модуль INA226 состоит из микросхемы INA226, нескольких резисторов и конденсатора, который помогает уменьшить шум или нежелательные электрические сигналы.

Схема платы INA226

Особенности и характеристики INA226

  1. Рабочее напряжение (2,7–5,5 В): INA226 работает в диапазоне от 2,7 до 5,5 В. Это расширяет его совместимость с системами, работающими при разных уровнях напряжения. Эта особенность полезна для адаптации к широкому диапазону схемных решений.
  2. Диапазон напряжения шины (0–36 В): INA226 может контролировать источники питания напряжением до 36 В, что расширяет применимость устройства к различным источникам питания.
  3. Диапазон измерения тока (от ± 500 мА до ± 50 А): в зависимости от номинала шунтирующего резистора INA226 может контролировать широкий диапазон токов, что позволяет использовать его во множестве приложений, включая управление питанием, зарядные устройства для аккумуляторов и управление двигателями постоянного тока.
  4. Потребляемая мощность: непрерывный режим: 0,35 мА; режим пониженного энергопотребления: 2,3 мкА.
  5. Режимы измерения: непрерывный или по требованию («запускаемый»).
  6. Усреднение 1, 4, 64, 128, 256, 512 или 1024 отдельных измерений.
  7. Время аналого-цифрового преобразования регулируется на восьми уровнях: от 0,14 до 8,2 мс.
  8. Более высокая точность: INA226 обеспечивает повышенную точность благодаря 16-битному АЦП, что обеспечивает более точные измерения.
  9. Программируемый сигнальный контакт для обнаружения нарушений предельных значений и доступных данных.

Распиновка INA226

Модуль датчика INA226 обычно имеет 8 контактов, которые расположены следующим образом:

Распиновка INA226

  1. VCC: принимает входное напряжение от 2,7 В до 5,5 В.
  2. GND: Заземляющий контакт, подключенный к заземлению источника питания.
  3. SDA: последовательная линия данных для интерфейса I2C. Используется для двунаправленной передачи данных.
  4. SCL: последовательная линия синхронизации для интерфейса I2C. Используется для синхронизации во время передачи данных.
  5. ALE: Это вывод оповещения. Это выход с открытым стоком, требующий подтягивающего резистора. Этот вывод можно использовать для различных оповещений или как готовый к преобразованию сигнал.
  6. VBUS: Этот вывод используется для измерения напряжения питания. Он может измерять напряжение питания до 36 В.
  7. IN- : Этот вывод подключается к нагрузке. Здесь размещается шунтирующий резистор для измерения тока.
  8. IN+ : этот контакт подключается к источнику питания.

Выбор резистора для измерения тока

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

INA226 измеряет падение напряжения на шунтирующем резисторе и на его основе вычисляет ток, используя закон Ома (I = V/R). Поскольку INA226 может измерять максимальное напряжение шунта 81,92 мВ (с разрешением 2,5 мкВ), максимальный ток зависит от сопротивления шунта.

Ниже приведена таблица рекомендуемых шунтов.

Таблица рекомендуемых шунтов для INA226

Разрешение АЦП

Регистр напряжения шины INA226, 16-битный знаковый объект, имеет младший значащий бит (LSB) или разрешение 1,25 мВ. Это позволяет измерять напряжение в диапазоне полной шкалы +/-40,96 В.

Аналоговый вход INA226, предназначенный для шунтирующего резистора, способен принимать максимальное (полное) напряжение 81,92 мВ. В сочетании с шунтирующим резистором 4 мОм он позволяет измерять ток до +/-20,48 А с разрешением до 625 мкА .

I2C-адрес

Подобно INA219, INA226 использует протокол I2C для связи с микроконтроллерами. Адрес I2C по умолчанию для INA226 — 0x40. Этот адрес можно изменить, чтобы облегчить использование нескольких датчиков INA226 на одной шине I2C. INA226 допускает до 16 различных адресов I2C, от 0x40 до 0x4F. Вы можете изменить адрес I2C, изменив соединения выводов A0 и A1.

Таблица возможных адресов I2C для датчика INA226

Расчеты адресов и значений регистра

INA226 также имеет внутренние регистры, доступ к которым осуществляется через интерфейс I2C. Некоторые из основных:

Внутренние регистры INA226

  1. Регистр конфигурации (адрес = 00h): подобно INA219 , этот регистр используется для управления различными аспектами INA226.
  2. Регистр напряжения шунта (адрес = 01h): в этом регистре хранятся необработанные результаты измерения напряжения шунта.
    Напряжение шунта (В) = Значение регистра напряжения шунта * 2,5 мкВ
  3. Регистр напряжения шины (адрес = 02h): этот регистр содержит необработанные измерения напряжения шины.
    Напряжение шины (В) = Значение регистра напряжения шины * 1,25 мВ
  4. Регистр мощности (адрес = 03h): в этом регистре хранится рассчитанное значение мощности.
    Мощность (Вт) = Значение регистра мощности * Power_LSB
  5. Текущий регистр (адрес = 04h): этот регистр содержит вычисленное текущее значение.
    Ток (A) = Текущее значение регистра * Текущий_LSB
  6. Регистр калибровки (адрес = 05h): этот регистр используется для установки значения калибровки для расчетов тока и мощности.

Как использовать датчик постоянного тока INA226 с Arduino

Теперь давайте подключим модуль датчика постоянного тока INA226 к Arduino. Аппаратное взаимодействие очень простое.

Ниже представлена ​​простая схема подключения, которую можно использовать для сопряжения датчика тока INA226 с Arduino вместе с внешней нагрузкой и источником питания.

Схема подключения датчика тока INA226 к плате Arduino

Подключите контакты VCC, GND, SCL и SDA датчика INA219 к контактам 5V, GND, A5 и A4 платы Arduino соответственно. Контакт Vin+ должен быть подключен к источнику питания, а Vin- к нагрузке, как показано на рисунке выше. Датчик INA226 имеет контакт VBus, который используется для измерения напряжения источника. Подключите контакт VBus к выводу Vin-.

Для теста я использовал в качестве источника питания батареи 3,7 В и 9 В. В качестве нагрузки для этой схемы я использовал двигатель постоянного тока.

Собранная на макетной плате конструкция проекта

Контакт Vin+ может принимать входное напряжение до 36 В. Устройство рассчитано на 36 В (абсолютный максимум 40 В) на входных контактах. Поэтому не подавайте на них ничего выше 36 В.

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

Библиотека INA226 Arduino

Существует много версий библиотеки INA226, доступных для использования. Я протестировал большинство из них. Библиотека от Wollewald показалась мне наиболее точной.

Вы можете загрузить библиотеку с GitHub или установить ее напрямую с помощью менеджера библиотек Arduino IDE.

СкачатьБиблиотека INA226
Всего имеется семь примеров скетчей, используемых для представления функций библиотеки. Я использовал пример непрерывного режима. Многие функции используются во всех скетчах и поэтому должны быть объяснены только один раз.

Исходный код программы

Скопируйте следующий код и вставьте его в окно редактора Arduino IDE. Перед загрузкой кода вам может потребоваться внести некоторые изменения.

Модификации и настройка кода

В этот код необходимо внести некоторые изменения, чтобы получить точный результат.

Эта строка устанавливает резистор и диапазон тока. Если резистор 5,0 мОм, диапазон тока до 10 А. По умолчанию 100 мОм и около 1,3 А.

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

Поправочный коэффициент = ток, выдаваемый калиброванным оборудованием / ток, выдаваемый INA226
Вы можете подключить мультиметр последовательно с Vin- и измерить ток, а затем сверить его со значением в последовательном мониторе.

Ниже приведены некоторые другие функции и требуемые настройки:

  1. Установите количество отдельных измерений для преобразования напряжения шунта и шины с помощью setAverage()
    • Усредняются 1, 4, 16, 64, 128, 256, 512 или 1024 отдельных измерений
  2. Установите время аналого-цифрового преобразования для напряжения шунта и шины с помощью setConvTime()
    • 8 уровней, регулируемых от 140 мкс до 8,244 мс
    • Примечание: получение набора данных о напряжении шунта и шины занимает в два раза больше времени.
  3. Установите режим измерения с помощью setMeasureMode()
    • CONTINUOUS (НЕПРЕРЫВНЫЙ) – непрерывное измерение
    • TRIGGERED (ТРИГГЕРНЫЙ) – «по запросу»: я объясню в следующем примере.
    • POWER_DOWN – выключает INA226. Но лучше использовать более удобную  powerDown() функцию, которая описана ниже.
    • INA226 на самом деле позволяет определять шунтовые или шинные напряжения – но я этого не реализовал. Используя мою библиотеку, измерения доступны только в двойном пакете.
  4. Установите текущий диапазон с помощью setCurrentRange()
    • Вы можете установить 400 или 800 мА в качестве максимального тока. Чем меньше диапазон тока, тем выше разрешение для тока и мощности.

Результаты тестирования

После загрузки кода на плату Arduino можно приступить к тестированию настройки.

Сначала подключите литий-ионную батарею 3,7 В к контакту Vin+, а двигатель постоянного тока к контакту Vin-. Двигатель постоянного тока начнет вращаться.

Подготовка схемы к тестированию

Теперь откройте последовательный монитор, и вы увидите следующие результаты для источника 3,7 В.

Тестирование работы проекта в окне монитора последовательной связи

Извлеките батарею 3,7 В и подключите батарею 9 В.

Тестирование работы проекта

Та же схема при испытании с источником постоянного тока 9 В дает следующие результаты.

Результаты тестирования проекта с источником постоянного тока 9 В

Заключение

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

Интерфейс этого модуля датчика тока INA226 с Arduino позволяет нам использовать его расширенные возможности простым способом, что делает его бесценным инструментом для тех, кто ищет высокоточные и экономически эффективные решения для мониторинга. Таким образом, освоив интерфейс INA226 с Arduino, мы можем значительно расширить наши возможности по мониторингу и управлению питанием в электронных системах.

(Проголосуй первым!)
Загрузка...
104 просмотров

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

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