» » » Плата с микросхемой INA219 для измерения I и U c шиной связи I2C

Плата с микросхемой INA219 для измерения I и U c шиной связи I2C

Купил плату с микросхемой INA219 для измерения I и U c шиной связи I2C на aliexpress. В комплекте с платой поставляется разъём и штырьки BLS, которые можно или установить, или не устанавливать на плату.
Плата с микросхемой INA219 для измерения I и U c шиной связи I2C



Основные параметры платы указаны на самой плате.

Основным элементом на плате является микросхема INA219. Микросхема INA219, несмотря на маленький размер и малое количество выводов, обладает большими возможностями. Микросхема измеряет напряжение на шунте (на выводах Vin+ и Vin_) – резисторе с малым сопротивлением и на контакте Vin- относительно контакта GND поочерёдно. Результаты вычислений записываются в регистры, затем по шине связи I2C передаются на микроконтроллер. На плате установлен шунт с сопротивлением 0,1 Ом. Напряжение в микросхеме измеряет аналогово - цифровой преобразователь АЦП. АЦП может работать в 9-ти, 10-ти, 11-ти, 12-тибитных режимах. Настраивается режим работы микросхемы изменением регистра конфигурации. У производителя есть бесплатная программа INA219 EVM для настройки конфигурации микросхемы INA219. Файл программы - sboc271.zip
sboc271.zip [3,55 Mb] (скачиваний: 10)

Файл даташита на микросхему INA291 -
ina219.pdf [1,14 Mb] (скачиваний: 16)
Посмотреть онлайн файл: ina219.pdf


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

Для проверки работы платы на микросхеме INA219 была собрана следующая схема.

Питание на плату с микросхемой INA219 нужно подать с платы Arduino или другого источника питания.
Для работы с платой на микросхеме INA219 в системе программирования Arduino IDE нам понадобится библиотека. Поиски в сети интернет дали положительный результат. Я нашел несколько библиотек, но у меня все заработало только с двумя.
Первой была найдена библиотека от Adafruit - Adafruit_INA219-master.zip
adafruit_ina219-master.zip [11,97 Kb] (скачиваний: 3)

Она рабочая, но я не смог подключиться к плате с микросхемой INA219, когда изменил адрес шины I2C. По умолчанию плата с микросхемой INA219 имеет адрес шины I2C 0х40. Она также не позволяет настраивать режим работы микросхемы INA219.
Вторая библиотека была лишена недостатков первой. Вторая рабочая библиотека - это Arduino-INA219-master.zip
arduino-ina219-master.zip [17,52 Kb] (скачиваний: 8)

Как устанавливаются библиотеки в системе программирования Arduino IDE? Ответ на этот вопрос вы сможете получить из моих статей или из информации, размещенной в сети интернет.
Я хочу применить плату с микросхемой INA219 для экспериментов. Мне с ней будет работать удобнее, если я запаяю на плату разъём и штырьки BLS.


Я собрал схему, подключил к плате Arduino UNO выводы Data(SDA) и Clok(SCL). Вывод Data(SDA) подключим к разъёму А4, вывод Clok(SCL) подключим к разъёму А5 платы Arduino UNO. Затем открываем программу Arduino IDE. Библиотеки я уже установил. Открываем пример первой библиотеки.

Я поменял в коде строку 9 вместо 115200, установил 9600. Иначе в мониторе последовательного порта вместо цифр и букв будут появляться каракули. Com порт компьютера я также настроил на скорость 9600. Это было проверено мной на практике.


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

Результат измерений микросхемы INA219 оказался точным.
Далее я решил изменить адрес шины I2C. А перед этим я определил адрес шины I2C платы с микросхемой INA219 с помощью скетча, как я это делал в статье «Домашняя метеостанция на GY-BMP280-3.3 и Ds18b20»

Для изменения адреса шины I2C платы с микросхемы INA219 я запаял перемычку и определил новый адрес шины I2C.


Затем я загрузил пример из второй библиотеки.

Для того, чтобы код скомпилированный (преобразованный в вид пригодный для записи в микроконтроллер платы Arduino UNO) смог работать с платой на микросхеме INA219 c адресом 0х44, надо изменить в примере строку ina.begin(); на строку ina.begin(68);

Почему 68? А потому, что 68 = 0 х 44, 68 – число в десятеричной системе счисления, 0 х 44 – число в восьмеричной системе счисления.
Для перевода чисел можно использовать стандартный калькулятор.

После изменения строки компиляции примера, прошивки кода в Arduino UNO в мониторе последовательного порта я увидел следующее.

Удачи всем в ваших начинаниях и делах!

Стоимость: ~80
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
Чтобы написать комментарий необходимо войти на сайт через соц. сети (или зарегистрироваться):
Обычная регистрация
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Добрый день, Гость!


Зарегистрируйтесь

А затем...

Добавьте самоделку

Или...

Добавьте тему

Онлайн чат

Опрос
Сколько по времени, чаще всего, Вы делаете самоделку?

Последние комментарии

Ещё вопросы. ; 1. Что за редуктор? 2. Что за "мощный мотор"? 3. Какое у двигателя напряжение питания? 4. Как Вы собираетесь коммутировать ток "мощного мотора" тактовой фитюлькой...
Г-н rocker, Вы с Украины?...
Это не схема, это ужас какой-то. (( Выбранный модуль на TP4056 предназначен для установки в зарядные устройства и совершенно не годится для применения в вышеописанном устройстве. Я уж не говорю о...
Столько возни ради одного удара созданным "творением"?...
Просто фантастика! Но что это за техника литья с картофелем? Нигде не нашел или это щутка такая?...
Все комментарии