Ina 219 схема и программа ардуино

Датчик ina219 можно подключить к любому микроконтроллеру по протоколу I2C.

INA219 Внешний вид

Все контакты модуля ina219 идут с шагом 2.54мм, кроме того измеряемую цепь можно подключить используя клеммник или болтовое соединение.

Соберем на Arduino эквивалентную схему, позволяющую измерять ток и напряжение:

Измерение тока проходящего через лампу и напряжения на её выводах
ina219 подключение к ардуино

Для работы с ina219 удобно использовать библиотеку от adafruit, перед заливкой прошивки её необходимо установить в среду Arduino IDE

Основные функции библиотеки:

float getBusVoltage_V(void);
Считывает напряжение между GND и VIN-. Это полное напряжение, наблюдаемое схемой. (напряжение питания — напряжение шунта).
Возвращаемое значение — в вольтах.

float getShuntVoltage_mV(void);
Считывает напряжение между VIN- и VIN+. Это измеренное падение напряжения на шунтирующем резисторе (номинал 0.1 Ом). Возвращаемое значение — в милливольтах.

I²C вольтметр и амперметр, модуль на INA219

float getCurrent_mA(void);
Считывает ток, полученный по закону Ома, из измеренного напряжения шунта. Возвращаемое значение — в миллиамперах.

ina219.getPower_mW();
Мощность потребляемая нагрузкой. Возвращаемое значение — в (Милливаттах)

Подключение библиотек и инициализация ina219
Отправляем показания датчика ina219 показания 1 раз в 2 секунды в монитор порта

Открываем монитор порта:

Отображение показаний в мониторе порта на ПК
Погрешность по измерению силы тока всего 1mA 245.4 / 244.4

Напряжение на лампе ровно 6.54V, что для прототипа собранного на соплях беспаечной макетной плате практически идеально.

Измерение напряжения между клеммами Vin- и GND

Это была скучная схема из документации, при желании с INA219 можно немножко «по химичить», а для этого добавим на шину i2C дисплей.

Если напряжения питания нагрузки больше 7V — отдельное питание для Arduino не нужно!

Добавив перемычку (фиолетовая линия на схеме) с клеммы «+» блока питания на вход Vin платы Arduino, измерять ток проходящий через лампу можно и без дополнительного источника питания для самой Arduino.

Напряжение на лампе 6.3V ток 242mA

Такая схема подойдет для контроля тока какого-нибудь электродвигателя — но о принципах такой защиты я расскажу в одной из следующих статей.

Читайте также:
Как перенести программы на карту памяти Самсунг

Если в данной схеме отключить нагрузку:

Нагрузка исключена из измерительной цепи

то на дисплее будет отображаться значение напряжения источника питания от которого питается сама схема . Данный вариант идеально подойдет для контроля АКБ и передачи телеметрии о состоянии батареи .

На дисплее отображается значение напряжения источника питания 7.22 / 7.23

Последний вариант самый «забористый» — измерение собственного энергопотребления . Для этого вся схема подключается через шунт токового датчика.

Измерение собственного энергопотребления.
31.5 mA / 31.2 mA

Поскольку моя статья не копипаста с Интернета и несмотря на то, что последние 3 схемы я успешно использовал в практических целях — правильно так делать или нет мне не известно.

Вольтметр и Амперметр INA219

На плате модуля находятся две группы адресных перемычек, по умолчанию установлен адрес 0х40. Если замкнуть перемычку А0, то адрес поменяется на 0х41, если замкнуть перемычку А1, то адрес поменяется на 0х44, при замыкании двух перемычек адрес поменяется на 0х45. Таким образом при желании можно повесить на шину i2C 4 датчика.

На Ali мне еще встречались синенькие платки. Среди них мне попадались и платы с браком (практически к/з по входу — выходу), ina219 сильно греется и не инициализируется. Деньги правда удалось «от спорить» — видимо Китайцы и сами в курсе данной ситуации — так что если надумаете покупать такую плату — обязательно проверяйте её перед тем, как куда-то впаивать намертво.

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

Можно удалить шунт на 0.1 Ом и заменить его на свой собственный, чтобы изменить диапазон измерений тока (допустим 0.01 Ом для того чтобы измерять ток до 32 Ампер с разрешением 8mA).

Примеры кода из статьи качайте тут

Полный список всех статей на канале доступен по этой ссылке:

Источник: dzen.ru

Измерение уровня заряда аккумулятора на Ардуино

Измерение уровня заряда Аккумулятора на Ардуино

Отслеживание уровня заряда аккумулятора или батареи является одной из основных задач при разработке автономных устройств. Особенно она актуальна для устройств, которые работают удалённо и сообщают о своём статусе, используя, например, GSM канал*. Даже когда устройство находится рядом с вами, индикация уровня заряда аккумулятора поможет сделать его использование более удобным. В данной статье мы рассмотрим простой способ отслеживания уровня заряда аккумулятора или батареи при помощи Ардуино.

Читайте также:
Список дел на день программа

*Знакомые с GSM модулями могут возразить, что в их составе уже присутствуют средства мониторинга заряда аккумулятора, и не нужно изобретать велосипед. Справедливое замечание. Но при условии, что для GSM модуля не используется стабилизация напряжения, скажем, от 12-вольтового аккумулятора. В этом случае модуль не сможет оценить уровень заряда аккумулятора. Таким образом, не стоит преуменьшать актуальность данной темы.

Теория

Предлагаемый способ отслеживания уровня заряда основан на измерении напряжения источника питания. Возьмем, к примеру, литий-ионный аккумулятор. В процессе разрядки его напряжение изменяется от 4.2 В до 3 В. Выполняя периодические замеры напряжения и сопоставляя полученный результат с приведённым диапазоном 4.2. 3 В, мы можем оценить уровень заряда. Но не всё так однозначно.

Дело в том, что напряжение аккумулятора при разряде изменяется не линейно. Это видно из графика разряда литий-ионного аккумулятора, который легко найти в google по запросу li-ion discharge graph:

График разряда аккумулятора Panasonic NCR18650B

Обзор модуля тока и напряжения INA219 (CJMCU-219)

Сегодня расскажу о модуле INA219 с помощью которого можно одновременно измерить напряжение до 26 В и ток до 3.2 А c высокой точностью. Данный модуль можно использовать в лабораторном блоке питания, измерения мощности и так далее.

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

► Напряжение питания: 3 — 5 В
► Максимальное измеряемое напряжение: 26 В
► Максимальная измеряемая сила тока: 3.2 А
► Рабочая температура: -40 … 85° C
► Дрейф в рабочем температурном диапазоне: 100 мкВ
► Разрешение измерителя: 12 бит
► Интерфейс: I2C
► Скорость интерфейса: 3.4 МГц
► Фильтрация: х128 отсчетов

Обзор модуля модуле INA219

Модуль основан на микросхеме INA219, которая собрана в корпусе SOT23. Измерение тока осуществляется с помощью резистора (шунта)на 0.1 Ом с точностью 1% (выводы Vin+ и Vin-), по сути микросхема измеряет падение напряжение на шунте, а потом по закону ома рассчитывает ток (I) = напряжение (V) / сопротивление (R).
Максимальное падение напряжения, которое может измерить INA219, составляет 320 мВ или 0,32 В. Следовательно, максимальный ток, который INA219 может измерить с резистором по умолчанию, составляет 0,32 В / 0,1 Ом = 3,2 А. Если вам необходимо измерить более 3,2 А можно заменить шунт 0,0,5 Ом на более низкое значение. Шунт 0,01 Ом позволит проводить измерения тока 6.4 А.

Читайте также:
Вредоносные программы которые размножаются но не являются частью других файлов

Назначение контактов:
► VCC — вывод питания микросхемы INA219, 3 — 5 В;
► GND — заземляющий вывод питания микросхемы INA219, 3 — 5 В;
► SCL — вывод I2C, подключается к линии I2C микроконтроллера, рабочие напряжение 3 В или 5 В.
► SDA — вывод данных I2C подключается к линии I2C микроконтроллера, рабочие напряжение 3 В или 5 В.
► Vin+ —
► Vin- —

Смена адреса I2C:
Адрес по умолчанию адрес модуля установлен 0×40, который легко можно изменить с помощью перемычки в правом углу, для этого соедините перемычку припоем, чтобы указать двоичное число «1».

Принципиальная схема модуля INA219 показана на рисунке ниже.

Подключение INA219 к Arduino

Необходимые детали:
► Arduino UNO x 1 шт.
► Модуля тока и напряжения INA219 x 1 шт.
► Провода DuPont M-F, 20 см x 1 шт.
► Аккумулятор LiitoKala HG2, 18650, 3000 mAh x 1 шт.
► Коллекторный двигатель x 2 шт.

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

Подключение.
Сначала подключить питание, выводы +5 В и GND (Arduino) подключаем к выводам Vcc и GND (INA219), далее подключаем интерфейс I2C, выводы A4 и A5 (Arduino) подключаем к выводам SDA и SCL (INA219). Теперь осталось подключить нагрузку, вывод Vin+ (INA219) подключаем к плюсу аккумулятору, вывод Vin- (INA219) подключаем к одному из выводом мотора. Второй вывод мотора подключаем к GND arduino и аккумулятора.

Установка библиотеки:
Для работы скетча необходимо две библиотеки «Adafruit INA219» и «Adafruit BusIO Register«, необходимо дополнительно скачать с «Менеджера библиотек«.

В строке поиска вводим «INA219» находим библиотеку «Adafruit INA219» и устанавливаем ее.

Далее, в строке поиска вводим «Adafruit BusIO» находим библиотеку «Adafruit BusIO Register и устанавливаем ее.

Программа:
Теперь можно приступить к скетчу, скачиваем или копируем его в среду разработки Arduino IDE.

Источник: robotchip.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru