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
Plik arkusza danych na układzie INA291 -
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
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
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