Основните параметри на дъската са посочени на самата дъска.
Основният елемент на платката е чипът INA219. Чипът INA219, въпреки малкия си размер и малкия брой пинове, има страхотни възможности. Микросхемата измерва напрежението на шунта (на клемите Vin + и Vin_) - резистор с ниско съпротивление и на Vin-щифт спрямо GND щифта, от своя страна. Резултатите от изчисленията се записват в регистрите, след което те се предават на микроконтролера чрез комуникационната шина I2C. На платката е инсталиран шунт със съпротивление 0,1 ома. Напрежението в чипа измерва аналогово-цифровия преобразувател на ADC. ADC може да работи в 9, 10, 11, 12 тибитни режима. Режимът на работа на чипа се конфигурира чрез промяна на регистъра за конфигурация. Производителят има безплатна програма, INA219 EVM, за конфигуриране на чипа INA219. Програмен файл - sboc271.zip
Файл с данни на чипа INA291 -
Вижте онлайн файла:
Микросхемата има възможност да регулира точността на своите измервания, с други думи, е възможно да се калибрира резултатите от измерванията.
За да се провери работата на платката върху чипа INA219, се сглоби следната схема.
Захранването на платката с чипа INA219 трябва да се захранва от платката Arduino или друг източник на енергия.
За да работим с платката върху чипа INA219 в системата за програмиране на Arduino IDE, се нуждаем от библиотека. Търсенията в Интернет дадоха положителен резултат. Намерих няколко библиотеки, но ми работи само с две.
Намерена е първата библиотека от Adafruit - Adafruit_INA219-master.zip
Работи, но не успях да се свържа към платката с чипа INA219, когато смених адреса на шината I2C. По подразбиране платка с чип INA219 има адрес на шината I2C 0x40. Освен това не ви позволява да конфигурирате режима на работа на чипа INA219.
Втората библиотека беше лишена от недостатъците на първата. Втората работеща библиотека е Arduino-INA219-master.zip
Как се инсталират библиотеки в системата за програмиране на Arduino IDE? Можете да получите отговора на този въпрос от моите статии или от информация, публикувана в Интернет.
Искам да използвам дъската с чипа INA219 за експерименти. Ще ми бъде по-удобно да работя с него, ако споя съединителя и щифтовете на BLS върху платката.
Сглобих веригата, свързах щифтовете Data (SDA) и Clok (SCL) към борда на Arduino UNO. Свържете изхода на данни (SDA) към конектора A4, свържете изхода Clok (SCL) към A5 конектора на платката на Arduino UNO. След това отворете програмата Arduino IDE. Вече съм инсталирал библиотеки. Отваряме пример за първата библиотека.
Промених ред 9 в кода вместо 115200, зададох 9600. В противен случай драскотини ще се появят в монитора на серийния порт вместо цифри и букви. Аз също конфигурирах компютъра на компютъра до скорост 9600. Това беше тествано от мен на практика.
Ние съставяме примера на getcurrent. Ние зареждаме данни в контролера на борда на Arduino UNO. Отворете монитора на серийните портове в програмата Arduino UNO и вижте резултата от измерването, получен от чипа INA219.
Резултатът от измерването на чипа INA219 беше точен.
След това реших да променя адреса на I2C шината. И преди това с помощта на скица определих адреса на шината I2C на платката INA219, както направих в статията „Начало метеорологична станция на GY-BMP280-3.3 и Ds18b20»
За да променя адреса на шината I2C на платката от чипа INA219, запоях джъмпера и определих нов адрес на шината I2C.
След това изтеглих примера от втората библиотека.
За да може компилираният код (преобразуван във форма, подходяща за запис в микроконтролера на дъската на Arduino UNO), да може да работи с платката върху чипа INA219 с адрес 0x44, трябва да промените в примера реда ina.begin (); към низа ina.begin (68);
Защо 68? И тъй като 68 = 0 x 44, 68 е число в десетичната система с числа, 0 x 44 е число в окталната система с числа.
За превод на числа можете да използвате стандартния калкулатор.
След като промених реда за компилация на примера, кода на фърмуера в Arduino UNO в монитора на серийния порт, видях следното.
Успех на всички в вашите начинания и дела!
Цена: ~ 80