Ina219 схема включения. INA219: подключение и использование с Arduino для измерения тока и напряжения

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

Основные характеристики и принцип работы INA219

INA219 — это специализированная микросхема для высокоточного измерения тока и напряжения. Ее основные характеристики:

  • Диапазон измерения напряжения: от 0 до 26 В
  • Максимальный измеряемый ток: до 3.2 А (с внешним шунтом)
  • Разрешение АЦП: 12 бит
  • Интерфейс: I2C
  • Напряжение питания: 3-5.5 В

Как работает INA219? Микросхема измеряет падение напряжения на внешнем прецизионном шунтирующем резисторе и вычисляет протекающий через него ток. Одновременно измеряется напряжение на нагрузке. Все измерения выполняются с высокой точностью благодаря встроенному 12-битному АЦП.

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

Для корректной работы INA219 с Arduino необходимо правильное подключение. Типовая схема включения выглядит следующим образом:


  • VCC INA219 — к 3.3V или 5V Arduino
  • GND INA219 — к GND Arduino
  • SDA INA219 — к пину SDA Arduino
  • SCL INA219 — к пину SCL Arduino
  • V+ и V- INA219 — к измеряемой цепи

Важно использовать подтягивающие резисторы 4.7-10 кОм на линиях SDA и SCL. Также рекомендуется установить конденсатор 0.1 мкФ между VCC и GND для фильтрации помех.

Настройка и калибровка INA219

Для точных измерений INA219 требует правильной настройки и калибровки. Ключевые моменты:

  • Установка значения шунтирующего резистора
  • Выбор диапазона измерения тока
  • Настройка усиления АЦП
  • Калибровка с учетом реального сопротивления шунта

В библиотеке для Arduino есть готовые функции калибровки, но лучше выполнить ее вручную для максимальной точности. Как провести калибровку INA219? Измерьте фактическое сопротивление шунта мультиметром и используйте это значение при инициализации.

Считывание данных с INA219

Для получения измерений с INA219 используется I2C интерфейс. Основные функции для работы с микросхемой:

  • getCurrentmA() — измерение тока в мА
  • getBusVoltage_V() — измерение напряжения на шине в В
  • getShuntVoltage_mV() — измерение падения напряжения на шунте в мВ
  • getPower_mW() — расчет мощности в мВт

Пример кода для считывания данных:


«`cpp #include #include Adafruit_INA219 ina219; void setup() { Serial.begin(9600); if (!ina219.begin()) { Serial.println(«Failed to find INA219 chip»); while (1) { delay(10); } } ina219.setCalibration_32V_2A(); } void loop() { float shuntvoltage = ina219.getShuntVoltage_mV(); float busvoltage = ina219.getBusVoltage_V(); float current_mA = ina219.getCurrent_mA(); float power_mW = ina219.getPower_mW(); Serial.print(«Bus Voltage: «); Serial.print(busvoltage); Serial.println(» V»); Serial.print(«Shunt Voltage: «); Serial.print(shuntvoltage); Serial.println(» mV»); Serial.print(«Current: «); Serial.print(current_mA); Serial.println(» mA»); Serial.print(«Power: «); Serial.print(power_mW); Serial.println(» mW»); Serial.println(«»); delay(2000); } «`

Этот код инициализирует INA219, настраивает его для измерения до 32В и 2А, а затем циклически считывает и выводит все измеренные значения.

Типичные ошибки при работе с INA219

При использовании INA219 новички часто допускают ряд ошибок. Каковы самые распространенные проблемы?


  • Неправильное подключение шунтирующего резистора
  • Игнорирование калибровки
  • Выход за пределы измерения без изменения настроек
  • Неучет падения напряжения на шунте

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

Расширенные возможности INA219

Помимо базовых измерений, INA219 предоставляет ряд дополнительных функций:

  • Настройка времени усреднения для фильтрации шумов
  • Установка порогов срабатывания прерывания
  • Режим однократного измерения для экономии энергии
  • Возможность каскадного подключения нескольких INA219

Как использовать эти возможности? Обратитесь к расширенным настройкам в библиотеке и документации. Например, для установки времени усреднения используйте метод setAveragingMode().

Применение INA219 в реальных проектах

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

  • Мониторинг потребления энергии устройств
  • Системы управления батареями
  • Контроль заряда солнечных панелей
  • Измерительные приборы и логгеры данных

Для чего еще можно использовать INA219? Микросхема отлично подходит для создания «умных» источников питания, систем защиты от перегрузки и перенапряжения, а также для точного измерения параметров маломощных устройств.


Альтернативы и аналоги INA219

Хотя INA219 является популярным решением, существуют и другие микросхемы для измерения тока и напряжения. Какие есть альтернативы?

  • INA226 — улучшенная версия с большей точностью
  • ACS712 — датчик на основе эффекта Холла
  • INA3221 — трехканальный монитор шины питания
  • PAC1934 — четырехканальный измеритель мощности

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

«`cpp #include #include Adafruit_INA219 ina219; const int alertPin = 2; // Пин для прерывания void setup() { Serial.begin(9600); if (!ina219.begin()) { Serial.println(«Failed to find INA219 chip»); while (1) { delay(10); } } // Настройка расширенных параметров ina219.setCalibration_32V_2A(); ina219.setAveragingMode(INA219_AVERAGING_16); ina219.setBusADC(INA219_BUS_ADC_12BIT); ina219.setShuntADC(INA219_SHUNT_ADC_12BIT_128S_69MS); // Настройка прерывания по превышению тока ina219.setCurrentAlertLimits(1000, 1500); // Порог 1-1.5 А ina219.enableCurrentOverLimitAlert(); pinMode(alertPin, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(alertPin), alertHandler, FALLING); } void loop() { float busvoltage = ina219.getBusVoltage_V(); float current_mA = ina219.getCurrent_mA(); float power_mW = ina219.getPower_mW(); Serial.print(«Bus Voltage: «); Serial.print(busvoltage); Serial.println(» V»); Serial.print(«Current: «); Serial.print(current_mA); Serial.println(» mA»); Serial.print(«Power: «); Serial.print(power_mW); Serial.println(» mW»); Serial.println(); delay(1000); } void alertHandler() { Serial.println(«Current limit exceeded!»); // Здесь можно добавить код для отключения нагрузки или другие действия } «`

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



Сайт о микроконтроллерах STM32 и не только …

Ina219.

Всем привет!!

В этой статье хочу остановиться о микросхеме Ina219. Эта микросхема применяется для измерения напряжения и тока. Для подключения микросхемы требуется внешний шунт со стороны измерения и шина данных I2С  или SMBUS со стороны выхода информации.  Очень удобная микросхема для применения в проектах где необходимо контролировать ток в схеме. Это и зарядка аккумуляторов и соответственно их состояние. Это и потребление готового устройства (если необходимо не выходить за заданные ограничения) и многое другое. 

  Документацию на эту микросхему можно скачать у меня по ссылке.

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

Микросхема измеряет напряжение или ток по следующему принципу см. ниже и передает данные об измерениях по стандартному интерфейсу I2C или SMBUS (в этой статье SMBUS я рассматривать не буду только I2C). Возьмем из документации только ключевые моменты.

Упрощенная схема

Подробнее

Как мы видим на схеме на входе электронный переключатель ->схема измерения (аналогово-цифровой преобразователь) -> три регистра -> схема обмена данными.

Корпус двух типов SOT-23 (см. ниже) и SOIC 8  

Описание входов и выходов микросхемы Ina219

Электрические параметры

Максимально напряжение питания 6V 

Измеряемый предел напряжения от 0V до 26V 

Схема включения 

 

 

По узлам схемы подробнее:

1. Микросхема INA219

2. Схема для измерения напряжения и тока с применением внешнего шунта.  Падение напряжения на шунте будет разницей между Vin+ и Vin- см. ниже.

3. Питание микросхемы INA219. 

Напряжение должно быть в пределах 3v — 5,5V — и 6V предел (по документации) и подается на вход Vs. Из опыта скажу 5.6 V микросхема не держит — выходит из строя.  

 

4. Обмен данными по шине I2C.

SDA + подтяжка (резистор на 3.3V)

SCL + подтяжка (резистор на 3.3V)

 

Адресация микросхемы на шине I2C

Два входа A0 и A1 с помощью который задается адрес микросхемы — таблица

По I2C. 

INA219 может обмениваться данными только как slave устройство.

Поддерживает передачу данных в режиме 

 

Для подключения в проектах рекомендуемая типовая схема  см. ниже.  

  Измерение величины тока будет зависеть от установленного шунта (Rshunt).  С этим можно ознакомится в документации.

Также в документации представлена желательное расположение элементов при проектировании.

 

На рынке представлена не только микросхема INA219, но и готовые платы в которых учтено все то, что рекомендуется из документации.   Вот на пример плата от китайских производителе применяемая для измерения напряжения в пределах 0-26V и тока 3.2 A.    

       

По плате 

Микросхема INA219 в корпусе SOT-23

Шунт (резистор)  

Перемычки для установки адреса и подтяжка адреса если хотим использовать адресацию  с пинами SDA и SCL  см. таблицу адресации микросхемы на шине I2C

Подтяжка на шину SDA и SCL для обмена данными с микросхемой.

Два резистора на 10K и конденсатор. 

Все элементы соответствуют рекомендуемым в документации подключениям. 

В этой статье приведена информация для подключения микросхемы INA219 или готовой платы в своих проектах!  Программную часть в этой статье я не рассматриваю (пока). Позже выложу пример подключения и чтения данных.   

Кому пригодилась информация из статьи — помогите проекту средствами для развития!

 

 

Page not found — RU3DNN

Написать автору

Мой баннер


Unfortunately the page you’re looking doesn’t exist (anymore) or there was an error in the link you followed or typed.

This way to the home page.

  • Главная
  • Contest Shack
    • Строительство станции
    • Дневник
      • 2023 год
      • 2022 год
      • 2021 год
      • 2020 год
      • 2019 год
      • 2018 год
      • 2017 год
      • 2016 год
      • Архив
    • Сельское хозяйсиво
      • Схема посадки растений
      • Описание растений
    • Электричество
      • Расчёт подключения
    • Антенны
      • Графики КСВ антенн
      • Описание KT34XA
      • Описание A4S
      • Описание 7 эл 10 метров
      • Описание 7 эл 15 метров
      • Описание AD-W234
    • Мачты
      • Мачта Подбор-2
    • Setup
      • Антенный коммутатор 1х4
      • Band pass filter
      • Контроллер BPF
      • Balun 1:1
    • Видео
    • Погода
    • История места
    • Полезные ссылки
      • Септик
      • Карты
  • Home Shack
    • Anan-7000DLE MKII
      • История покупки
      • Схемы и описание
    • Антенна
    • Tuner: MFJ-993B
    • Блок питания
    • Полезные ссылки
  • LOG RU3DNN
    • Contests
      • 2023 год
      • 2022 год
      • 2021 год
      • 2020 год
  • Прохождение
    • Расшифровка данных по прохождению
    • Анализ данных по прохождению
    • Прогноз геомагнитной бури
    • Данные по солнечной активности (месяц-год)
    • Freckles гаджет
    • Космическая погода
      • Геомагнитные возмущения
      • Солнечные протонные события
      • Вспышечная активность
    • Ионосферная погода
    • Ionospheric Map
    • Скорость солнечного ветра
    • Aurora
    • DKØWCY Магнетометр
  • DX Cluster
    • Гаджет DX-Claster
    • 425-DX News
    • DX календарь на месяц
  • Radio
    • Антенны
      • Расчёт К-фактора ротаторов Yaesu
      • Расчёт веса льда на антенне
      • Расчёт веса погонного метра трубы Д16Т
      • Изоляторы такелажные
      • Биметалл для антенны
      • Потери в коаксиальном кабеле
      • Polar Plot
      • Анализ работы AA-330 с MFJ-731
      • Мачта телескопическая от Р-140
      • Тросы по ГОСТ
      • Трапы для A4S
    • Мачты
      • Мачта Унжа-Чинара
      • Мачта Р-409
      • Мачта Р-140
    • Трансивер
      • Anan-7000DLE MKII
      • ICOM-756pro2
    • Hardware
      • Эквивалент нагрузки
    • Software
      • CBS — анализатор Cabrillo
    • Микроконтроллеры
      • ESP32
      • Датчики
      • Урок 1.
        Мигание светодиодом
      • Урок 2. Управление светодиодом с помощью кнопки
      • Урок 3. Метеостанция
      • Урок 4. Часы на экране
    • Полезное
      • Вакуумные выключатели В1В
      • Вакуумные выключатели В2В
      • Вакуумные реле П1Д-1В, П1Д-3В, П1Д-4В
      • Скорость переключения реле
      • Реле РЭН-33, РЭН-34 в антенном коммутаторе
    • Полезная информация
    • Спектры ламп
      • Спектры ламп T8
      • Спектры ламп T5
    • Растения
      • Удобрения
      • Эхинодорусы
      • Роголистник
    • CO2
    • Грунт
    • Вредные советы
    • Закидываем Call на Band Map
    • Переходим из режима CQ в S&P
    • Скрипты для Win-Test
    • Где лежит master.dat?
    • Win-Test. Взял не мульта
    • Когда место MULT не хочет быть MULT
    • Базы данных для Win-Test
    • Делаем базу данных для WT
    • WT-Clublog
    • Результат на GetScores.org
    • Win-Test, LPT, Windows-7 64 bit
    • Band decoder на LPT
    • Анализ эффективности рабочих мест
    • Конфигурация перед контестом
    • Подключаем DX-Cluster
    • Подключаем ReverseBeacon
    • On-Line результат
    • Работа в локальной сети
  • Это я
    • Путешествия
    • Мой дед
      • Однополчане деда
  • Гостевая книга
Учебник

INA219 для Arduino, ESP8266 и ESP32

Настройка конфиденциальности

Основные (2)

Основные файлы cookie обеспечивают выполнение основных функций и необходимы для правильной работы веб-сайта.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Имя Печенье Борлабс
Провайдер Владелец этого сайта, Выходные данные
Назначение Сохраняет настройки посетителей, выбранные в окне файлов cookie Borlabs Cookie.
Имя файла cookie borlabs-cookie
Срок действия файла cookie 1 год
Имя эзоик
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Необходим для основных функций сайта.
Политика конфиденциальности
Ezoic Website Privacy Policy
Имя файла cookie ez*, cf*, unique_id, __cf*, __utmt*
Срок действия файла cookie 1 год

Предпочтения (1)

Настройки

Файлы cookie предпочтений хранят информацию о представлении и функциях веб-сайта, например, отображается ли оптимизированная или исходная версия веб-сайта.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять Ezoic — Настройки
Имя Ezoic — Настройки
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Запоминать информацию, которая меняет поведение или внешний вид сайта, например предпочитаемый язык или регион, в котором вы находитесь.
Политика конфиденциальности
Ezoic Website Privacy Policy
Имя файла cookie ez*, sitespeed_preview, FTNT*, SITESERVER, SL*, speed_no_process, GED_PLAYLIST_ACTIVITY, __guid
Срок действия файла cookie 1 год

Статистика (1)

Статистика

Статистические файлы cookie собирают информацию анонимно. Эта информация помогает нам понять, как наши посетители используют наш веб-сайт.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять Эзоик — Статистика
Имя Эзоик — Статистика
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Помогает понять, как посетители взаимодействуют с веб-сайтами, собирая и сообщая информацию анонимно.
Политика конфиденциальности
Ezoic Website Privacy Policy
Имя файла cookie ez*, __qca, _gid, _ga, _gat, AMP_ECID_EZOIC, __utm*, _ga*
Срок действия файла cookie 1 год

Маркетинг (1)

Маркетинг

Маркетинговые файлы cookie используются сторонними рекламодателями или издателями для отображения персонализированной рекламы. Они делают это, отслеживая посетителей на веб-сайтах.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять Эзоик — Маркетинг
Имя Эзоик — Маркетинг
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Используются для отслеживания посетителей на веб-сайтах. Цель состоит в том, чтобы отображать релевантные и привлекательные для отдельного пользователя объявления.
Политика конфиденциальности
Ezoic Website Privacy Policy
Имя файла cookie ez*, _sm_au, cto*, __gads, mind*, _ym_uid, GoogleAdServingTest
Срок действия файла cookie 1 год

Внешние носители (1)

Внешние носители

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

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять YouTube
Имя YouTube
Провайдер Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ирландия
Назначение Используется для разблокировки контента YouTube.
Политика конфиденциальности https://policies.google.com/privacy?hl=en&gl=en
Хост(ы) google.com
Имя файла cookie НИД
Срок действия файла cookie 6 месяцев

на базе Borlabs Cookie

политика конфиденциальности Выходные данные

i2c — Странные показания с датчиком тока/вольтажа INA219, Arduino и большим, толстым и страшным Lipo

Я подозреваю, что вы используете коммутационную плату Adafruit или какую-то подделку. Документация на сайте Aadafruit перепутана.

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

И у вас есть третья диаграмма внизу для измерения напряжения И слабого тока, с использованием отверстий штырькового разъема для подключения VIN+, VIN- и GND к нагрузке.

Обратите внимание на разницу! Соединение GND необходимо для измерения напряжения.

Если вы хотите измерить большой ток, вам нужно использовать винтовые клеммы для подключения толстых проводов. Но вы все равно можете использовать контактный разъем для подключения GND. Я предлагаю ознакомиться с таблицей данных TI для получения схем подключения и пояснений, как это работает. Это гораздо более информативно, чем сайт Adafruit, ориентированный на детей.

ОБНОВЛЕНИЕ

Важно: следующее основано на предположении, что XL4015 имеет шунтирующий резистор 50 мОм на отрицательной шине.

Основная причина возникновения проблемы заключается в том, что INA219 предназначен для измерения напряжения шины , а не напряжения питания. На рисунке ниже (из таблицы данных TI) вы можете видеть, что в положении напряжения на шине селектора входа оно измеряется между Vin- и GND. Некоторые датчики, такие как INA260, более гибкие в этом отношении.

Но не все потеряно! Обратите внимание, что на коммутационной плате используется шунт 100 мОм. Что вы можете сделать, так это удалить его и вместо этого использовать шунт 50 мОм на плате XL4015. Уменьшив усиление PGA в два раза, вы получите точно такой же диапазон с минимальными изменениями в программном обеспечении.

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

Итак, начнем с отпайки шунта от платы INA219. Затем выполните соединения следующим образом:

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

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

Таким образом, вам просто нужно учитывать это, когда вы читаете результаты конверсии. Из таблицы данных (8.6.3.1 Шунтирующий регистр напряжения): «Отрицательные числа представлены в формате дополнения до 2». Преобразуйте это в положительное число, и вы должны получить тот же результат, что и с исходными соединениями.

ОБНОВЛЕНИЕ 2

Я только что понял, что XL4015 — это плата для зарядки аккумулятора, которую вы используете в качестве преобразователя постоянного тока. Это крайне странный выбор.

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

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