Ничего не найдено :(
    В гостях у Самоделкина! » Aliexpress » Электронные компоненты » Плата с микросхемой 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] (скачиваний: 809)

    Файл даташита на микросхему INA291 -

    ina219.pdf [1.14 Mb] (скачиваний: 697)
    Посмотреть онлайн файл: ina219.pdf


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


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


    Питание на плату с микросхемой INA219 нужно подать с платы Arduino или другого источника питания.

    Для работы с платой на микросхеме INA219 в системе программирования Arduino IDE нам понадобится библиотека. Поиски в сети интернет дали положительный результат. Я нашел несколько библиотек, но у меня все заработало только с двумя.

    Первой была найдена библиотека от Adafruit - Adafruit_INA219-master.zip

    adafruit_ina219-master.zip [11.97 Kb] (скачиваний: 331)

    Она рабочая, но я не смог подключиться к плате с микросхемой INA219, когда изменил адрес шины I2C. По умолчанию плата с микросхемой INA219 имеет адрес шины I2C 0х40. Она также не позволяет настраивать режим работы микросхемы INA219.

    Вторая библиотека была лишена недостатков первой. Вторая рабочая библиотека - это Arduino-INA219-master.zip

    arduino-ina219-master.zip [17.52 Kb] (скачиваний: 833)

    Как устанавливаются библиотеки в системе программирования 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 в мониторе последовательного порта я увидел следующее.


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


    Стоимость: ~83

    Мощный полевой транзистор IRFZ44N

    Тонкая и недорогая светодиодная трубка длиной 10 м

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

    4 комментария
    Гость Олег #51181
    Рисунок надо отредактировать или удалить, а то люди соберут, а оно то не правильно
     ну хотя бы так
    Иван_Похмельев #28205
    68 = 0 х 44, 68 – число в десятеричной системе счисления, 0 х 44 – число в восьмеричной системе счисления.
    0х44 - число в шестнадцатеричной системе, а не в восьмеричной. ((
    Гость Vadim #28197
    Схема включения на рисунке показана неправильная! Автор, ты хоть сам-то проверял, что предлагаешь? Похоже показания взяты от балды.
    Что будет в такой схеме с показаниями датчика без нагрузки? И как по этой схеме датчик сможет определить напряжение на батарее (BusVoltage)? А на нагрузке?
    Гость Pavel #27855
    А почему не написать ina.begin(0x44) ?

    Привет, Гость!


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

    Или войдите на сайт, если уже зарегистрированы...

    Войти

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

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

    Онлайн чат

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

    Все комментарии