» Aliexpress » Componenti elettronici »Scheda con chip INA219 per la misurazione di I e U con bus di comunicazione I2C

Scheda con chip INA219 per la misurazione di I e U con bus di comunicazione I2C

Ho comprato una scheda con un chip INA219 per misurare I e U con un bus di comunicazione I2C su aliexpress. Il connettore BLS e i pin sono forniti con la scheda, che può essere installata o non installata sulla scheda.
Scheda con chip INA219 per la misurazione di I e U con bus di comunicazione I2C



I parametri principali della scheda sono indicati sulla scheda stessa.

L'elemento principale sulla scheda è il chip INA219. Il chip INA219, nonostante le dimensioni ridotte e il numero ridotto di pin, ha grandi capacità. Il microcircuito misura la tensione sullo shunt (ai terminali Vin + e Vin_) - una resistenza con una bassa resistenza e sul pin Vin rispetto al pin GND, a sua volta. I risultati del calcolo vengono scritti nei registri, quindi vengono trasmessi al microcontrollore tramite il bus di comunicazione I2C. Uno shunt con una resistenza di 0,1 ohm è installato sulla scheda. La tensione nel chip misura il convertitore analogico-digitale dell'ADC. L'ADC può funzionare in modalità tibit 9, 10, 11, 12. La modalità di funzionamento del chip viene configurata modificando il registro di configurazione. Il produttore ha un programma gratuito, INA219 EVM, per la configurazione del chip INA219. File di programma - sboc271.zip
sboc271.zip [3.55 Mb] (download: 367)

File di foglio dati sul chip INA291 -
ina219.pdf [1.14 Mb] (download: 361)
Visualizza file online:


Il microcircuito ha la capacità di regolare la precisione delle sue misurazioni, in altre parole, è possibile calibrare i risultati delle misurazioni.

Per verificare il funzionamento della scheda sul chip INA219, è stato assemblato il seguente circuito.

L'alimentazione sulla scheda con il chip INA219 deve essere fornita dalla scheda Arduino o altra fonte di alimentazione.
Per lavorare con la scheda sul chip INA219 nel sistema di programmazione IDE Arduino, abbiamo bisogno di una libreria. Le ricerche su Internet hanno prodotto un risultato positivo. Ho trovato diverse biblioteche, ma ha funzionato per me con solo due.
È stata trovata la prima biblioteca di Adafruit - Adafruit_INA219-master.zip
adafruit_ina219-master.zip [11.97 Kb] (download: 177)

Funziona, ma non sono riuscito a collegarmi alla scheda con il chip INA219 quando ho cambiato l'indirizzo del bus I2C. Per impostazione predefinita, una scheda con un chip INA219 ha un indirizzo bus IxC 0x40. Inoltre, non consente di configurare la modalità operativa del chip INA219.
La seconda biblioteca era priva delle carenze della prima. La seconda libreria di lavoro è Arduino-INA219-master.zip
arduino-ina219-master.zip [17.52 Kb] (download: 451)

Come vengono installate le librerie nel sistema di programmazione IDE di Arduino? Puoi ottenere la risposta a questa domanda dai miei articoli o dalle informazioni pubblicate su Internet.
Voglio usare la scheda con il chip INA219 per esperimenti. Sarà più conveniente per me lavorare con esso se saldare il connettore e i pin del BLS sulla scheda.


Ho assemblato il circuito, collegato i pin Data (SDA) e Clok (SCL) alla scheda Arduino UNO. Collegare l'uscita dati (SDA) al connettore A4, collegare l'uscita Clok (SCL) al connettore A5 della scheda Arduino UNO. Quindi aprire il programma IDE di Arduino. Ho già installato librerie. Apriamo un esempio della prima biblioteca.

Ho cambiato la riga 9 nel codice anziché 115200, impostato 9600. Altrimenti, gli scarabocchi appariranno nel monitor della porta seriale invece di numeri e lettere. Ho anche configurato la porta COM del computer ad una velocità di 9600. Questo è stato testato da me in pratica.


Compiliamo l'esempio getcurrent. Carichiamo i dati nel controller della scheda UNO di Arduino. Aprire il monitor della porta seriale nel programma UNO di Arduino e vedere il risultato della misurazione ottenuto dal chip INA219.

Il risultato della misurazione del chip INA219 è stato accurato.
Successivamente, ho deciso di modificare l'indirizzo del bus I2C. E prima ancora, ho determinato l'indirizzo del bus I2C della scheda INA219 con l'aiuto di uno schizzo, come ho fatto nell'articolo "Stazione meteorologica domestica su GY-BMP280-3.3 e Ds18b20»

Per modificare l'indirizzo del bus I2C della scheda dal chip INA219, ho saldato il ponticello e ho determinato un nuovo indirizzo del bus I2C.


Quindi ho scaricato l'esempio dalla seconda libreria.

Affinché il codice compilato (convertito in un modulo adatto per la scrittura nel microcontrollore della scheda Arduino UNO) sia in grado di lavorare con la scheda sul chip INA219 con l'indirizzo 0x44, è necessario modificare la riga ina.begin () nell'esempio; alla stringa ina.begin (68);

Perché 68 E poiché 68 = 0 x 44, 68 è un numero nel sistema numerico decimale, 0 x 44 è un numero nel sistema numerico ottale.
Per tradurre i numeri, è possibile utilizzare la calcolatrice standard.

Dopo aver modificato la riga di compilazione dell'esempio, facendo lampeggiare il codice in Arduino UNO nel monitor della porta seriale, ho visto quanto segue.

Buona fortuna a tutti i tuoi sforzi e le tue azioni!

Costo: ~ 80

Aggiungi un commento

    • sorrideresorrisiXaxabeneDONTKNOWyahoonea
      capozeroimbrogliaresìSì-sìaggressivosegreto
      scusaballaredance2dance3perdonoaiutobevande
      arrestoamicibuonogoodgoodfischiodeliquiolinguetta
      fumobattimanicraydeclarederisoriodon-t_mentionscaricare
      caloreadiratolaugh1mdaincontromoskingnegativo
      not_ipopcornpunireleggerespaventarespaventacerca
      schernirethank_youquestoto_clueumnikacutoconcordare
      cattivobeeeblack_eyeblum3arrossirevanterianoia
      censuratospiritosagginesecret2minacciarevittoriayusun_bespectacled
      ShokRespektlolPrevedbenvenutoKrutoyya_za
      ya_dobryiaiutantene_huliganne_othodiFludbandovicino
3 commenti
68 = 0 x 44, 68 è il numero nel sistema decimale, 0 x 44 è il numero nel sistema ottale.
0x44 è un numero nel sistema esadecimale, non in ottale. ((
Ospite Vadim
Lo schema elettrico mostrato in figura non è corretto! Autore, hai mai verificato cosa offri? Sembra che le prove siano prese dal bulldozer.
Cosa accadrà in un tale schema con letture del sensore senza carico? E come può il sensore determinare la tensione sulla batteria (BusVoltage) usando questo circuito? E a carico?
Ospite Pavel
Perché non scrivere ina.begin (0x44)?

Ti consigliamo di leggere:

Passalo per lo smartphone ...