» Aliexpress » Elementy elektroniczne »Płytka z układem INA219 do pomiaru I i U z magistralą komunikacyjną I2C

Płytka z układem INA219 do pomiaru I i U z magistralą komunikacyjną I2C

Kupiłem tablicę z układem INA219 do pomiaru I i U za pomocą magistrali komunikacyjnej I2C na aliexpress. Złącze BLS i piny są dostarczane z płytką, którą można zainstalować lub nie zainstalować na płycie.
Płytka z układem INA219 do pomiaru I i U z magistralą komunikacyjną I2C



Główne parametry tablicy są wskazane na samej tablicy.

Głównym elementem na płycie jest układ INA219. Układ INA219, pomimo niewielkich rozmiarów i małej liczby pinów, ma ogromne możliwości. Mikroukład mierzy napięcie na boczniku (na zaciskach Vin + i Vin_) - z kolei rezystor o niskiej rezystancji i na styk Vin względem styku GND. Wyniki obliczeń zapisywane są w rejestrach, a następnie przekazywane do mikrokontrolera za pośrednictwem magistrali komunikacyjnej I2C. Na płycie zainstalowano bocznik o rezystancji 0,1 oma. Napięcie w układzie mierzy przetwornik analogowo-cyfrowy przetwornika ADC. ADC może działać w trybach 9, 10, 11, 12 tibit. Tryb działania układu konfiguruje się poprzez zmianę rejestru konfiguracji. Producent ma darmowy program, INA219 EVM, do konfiguracji układu INA219. Plik programu - sboc271.zip
sboc271.zip [3,55 Mb] (pliki do pobrania: 367)

Plik arkusza danych na układzie INA291 -
ina219.pdf [1.14 Mb] (pliki do pobrania: 361)
Wyświetl plik online:


Mikroukład może regulować dokładność swoich pomiarów, innymi słowy, możliwa jest kalibracja wyników pomiarów.

Aby zweryfikować działanie płytki na układzie INA219, zmontowano następujący obwód.

Zasilanie na płycie za pomocą układu INA219 musi być dostarczane z płyty Arduino lub inne źródło zasilania.
Do pracy z płytką na układzie INA219 w systemie programowania Arduino IDE potrzebujemy biblioteki. Wyszukiwania w Internecie przyniosły pozytywny wynik. Znalazłem kilka bibliotek, ale działało to dla mnie tylko z dwiema.
Znaleziono pierwszą bibliotekę Adafruita - Adafruit_INA219-master.zip
adafruit_ina219-master.zip [11.97 Kb] (pliki do pobrania: 177)

Działa, ale nie mogłem połączyć się z płytką za pomocą układu INA219, kiedy zmieniłem adres magistrali I2C. Domyślnie płyta z układem INA219 ma adres magistrali I2C 0x40. Nie pozwala również na konfigurację trybu pracy układu INA219.
Druga biblioteka była wolna od wad pierwszej. Druga biblioteka robocza to Arduino-INA219-master.zip
arduino-ina219-master.zip [17.52 Kb] (pliki do pobrania: 451)

Jak instalowane są biblioteki w systemie programowania Arduino IDE? Odpowiedź na to pytanie można uzyskać z moich artykułów lub informacji zamieszczonych w Internecie.
Chcę eksperymentować z płytką z układem INA219. Wygodniej będzie mi z nim pracować, jeśli lutuję złącze BLS i piny na płycie.


Zmontowałem obwód, podłączyłem piny Data (SDA) i Clok (SCL) do płyty Arduino UNO. Podłącz wyjście danych (SDA) do złącza A4, podłącz wyjście Clok (SCL) do złącza A5 płyty Arduino UNO. Następnie otwórz program Arduino IDE. Mam już zainstalowane biblioteki. Otwieramy przykład pierwszej biblioteki.

Zmieniłem wiersz 9 w kodzie zamiast 115200, ustaw 9600. W przeciwnym razie, na cyfrowym monitorze portu pojawią się bazgroły zamiast cyfr i liter. Skonfigurowałem również port komunikacyjny komputera do prędkości 9600. Zostało to przetestowane w praktyce.


Kompilujemy przykład getcurrent. Ładujemy dane do kontrolera płyty Arduino UNO. Otwórz monitor portu szeregowego w programie Arduino UNO i zobacz wynik pomiaru uzyskany z układu INA219.

Wynik pomiaru układu INA219 był dokładny.
Następnie postanowiłem zmienić adres magistrali I2C. A wcześniej ustaliłem adres magistrali I2C płyty INA219 za pomocą szkicu, tak jak to zrobiłem w artykule „Domowa stacja pogodowa na GY-BMP280-3.3 i Ds18b20»

Aby zmienić adres magistrali I2C płyty z układu INA219, przylutowałem zworkę i ustaliłem nowy adres magistrali I2C.


Następnie pobrałem przykład z drugiej biblioteki.

Aby skompilowany kod (przekonwertowany na formę odpowiednią do zapisu do mikrokontrolera płyty Arduino UNO) mógł współpracować z płytką na układzie INA219 o adresie 0x44, w tym przykładzie musisz zmienić wiersz ina.begin (); do łańcucha ina.begin (68);

Dlaczego 68? A ponieważ 68 = 0 x 44, 68 jest liczbą w systemie liczb dziesiętnych, 0 x 44 jest liczbą w systemie liczb ósemkowych.
Aby przetłumaczyć liczby, możesz użyć standardowego kalkulatora.

Po zmianie wiersza kompilacji w przykładzie, flashowaniu kodu w Arduino UNO na monitorze portu szeregowego, zobaczyłem, co następuje.

Powodzenia wszystkim w twoich staraniach i czynach!

Koszt: ~ 80

Dodaj komentarz

    • uśmiechnij sięuśmiecha sięxaxaoknie wiemyahoonea
      szefiezadrapaniegłupiectaktak-takagresywnysekret
      przepraszamtańczyćdance2dance3przebaczeniepomocnapoje
      przestańprzyjacieledobrzegoodgoodgwizdaćomdlećjęzyk
      palićklaskanierakdeklarowaćdrwiącydon-t_mentionpobierz
      ciepłożałujęśmiech 1mdaspotkaniemoskingnegatywne
      niepopcornukaraćczytaćprzestraszyćstraszyszukaj
      drwinadziękujętoto_clueumnikostryzgadzam się
      źlepszczołablack_eyeblum3rumienić sięchwalić sięnuda
      ocenzurowaneuprzejmośćsekret2grozićzwycięstwoyusun_bespectacled
      shokrespektlolprevedwitamykrutoyya_za
      ya_dobryipomocnikne_huliganne_othodifludzakazzamknij
3 komentarz
68 = 0 x 44, 68 to liczba w systemie dziesiętnym, 0 x 44 to liczba w systemie ósemkowym.
0x44 jest liczbą w systemie szesnastkowym, a nie ósemkowym. ((
Gość Vadim
Schemat połączeń na zdjęciu jest nieprawidłowy! Autor, czy sprawdziłeś kiedyś swoją ofertę? Wygląda na to, że dowody pochodzą z buldożera.
Co stanie się w takim schemacie z odczytami czujnika bez obciążenia? I w jaki sposób czujnik może określić napięcie na akumulatorze (BusVoltage) za pomocą tego obwodu? A przy obciążeniu?
Guest Pavel
Dlaczego nie napisać ina.begin (0x44)?

Radzimy przeczytać:

Podaj go do smartfona ...