» Aliexpress » Composants électroniques »Carte avec puce INA219 pour mesurer I et U avec bus de communication I2C

Carte avec puce INA219 pour mesurer I et U avec bus de communication I2C

J'ai acheté une carte avec une puce INA219 pour mesurer I et U avec un bus de communication I2C sur aliexpress. Le connecteur BLS et les broches sont fournis avec la carte, qui peut être installée ou non sur la carte.
Carte avec puce INA219 pour mesurer I et U avec bus de communication I2C



Les principaux paramètres de la carte sont indiqués sur la carte elle-même.

L'élément principal de la carte est la puce INA219. La puce INA219, malgré sa petite taille et son petit nombre de broches, a de grandes capacités. Le microcircuit mesure la tension au shunt (aux bornes Vin + et Vin_) - une résistance à faible résistance et à la broche Vin par rapport à la broche GND, à son tour. Les résultats des calculs sont écrits dans des registres, puis transmis au microcontrôleur via le bus de communication I2C. Un shunt avec une résistance de 0,1 ohms est installé sur la carte. La tension dans la puce mesure le convertisseur analogique-numérique de l'ADC. L'ADC peut fonctionner en modes 9, 10, 11, 12 tibits. Le mode de fonctionnement de la puce est configuré en modifiant le registre de configuration. Le fabricant dispose d'un programme gratuit, INA219 EVM, pour configurer la puce INA219. Fichier programme - sboc271.zip
sboc271.zip [3.55 Mb] (téléchargements: 367)

Fichier de fiche technique sur la puce INA291 -
ina219.pdf [1.14 Mb] (téléchargements: 361)
Voir le fichier en ligne:


Le microcircuit a la capacité d'ajuster la précision de ses mesures, en d'autres termes, il est possible d'étalonner les résultats de mesure.

Pour vérifier le fonctionnement de la carte sur la puce INA219, le circuit suivant a été assemblé.

L'alimentation de la carte avec la puce INA219 doit être fournie par la carte Arduino ou autre source d'alimentation.
Pour travailler avec la carte sur la puce INA219 dans le système de programmation Arduino IDE, nous avons besoin d'une bibliothèque. Les recherches sur Internet ont donné un résultat positif. J'ai trouvé plusieurs bibliothèques, mais cela a fonctionné pour moi avec seulement deux.
La première bibliothèque d'Adafruit a été trouvée - Adafruit_INA219-master.zip
adafruit_ina219-master.zip [11,97 Ko] (téléchargements: 177)

Cela fonctionne, mais je n'ai pas pu me connecter à la carte avec la puce INA219 lorsque j'ai changé l'adresse du bus I2C. Par défaut, une carte avec une puce INA219 a une adresse de bus I2C 0x40. Il ne vous permet pas non plus de configurer le mode de fonctionnement de la puce INA219.
La deuxième bibliothèque était dépourvue des lacunes de la première. La deuxième bibliothèque de travail est Arduino-INA219-master.zip
arduino-ina219-master.zip [17,52 Kb] (téléchargements: 451)

Comment les bibliothèques sont-elles installées dans le système de programmation Arduino IDE? Vous pouvez obtenir la réponse à cette question à partir de mes articles ou des informations publiées sur Internet.
Je veux utiliser la carte avec la puce INA219 pour des expériences. Il sera plus pratique pour moi de travailler avec si je soude le connecteur et les broches du BLS sur la carte.


J'ai assemblé le circuit, connecté les broches Data (SDA) et Clok (SCL) à la carte Arduino UNO. Connectez la sortie de données (SDA) au connecteur A4, connectez la sortie Clok (SCL) au connecteur A5 de la carte Arduino UNO. Ouvrez ensuite le programme Arduino IDE. J'ai déjà installé des bibliothèques. Nous ouvrons un exemple de la première bibliothèque.

J'ai changé la ligne 9 dans le code au lieu de 115200, réglé 9600. Sinon, des gribouillis apparaîtront dans le moniteur du port série au lieu des chiffres et des lettres. J'ai également configuré le port com de l'ordinateur à une vitesse de 9600. Cela a été testé par moi dans la pratique.


Nous compilons l'exemple getcurrent. Nous chargeons les données dans le contrôleur de la carte Arduino UNO. Ouvrez le moniteur de port série dans le programme Arduino UNO et voyez le résultat de mesure obtenu à partir de la puce INA219.

Le résultat de mesure de la puce INA219 était précis.
Ensuite, j'ai décidé de changer l'adresse du bus I2C. Et avant cela, j'ai déterminé l'adresse du bus I2C de la carte INA219 à l'aide d'un croquis, comme je l'ai fait dans l'article «Station météo domestique sur GY-BMP280-3.3 et Ds18b20»

Pour changer l'adresse de bus I2C de la carte à partir de la puce INA219, j'ai soudé le cavalier et déterminé une nouvelle adresse de bus I2C.


Ensuite, j'ai téléchargé l'exemple de la deuxième bibliothèque.

Pour que le code compilé (converti sous une forme adaptée à l'écriture sur le microcontrôleur de la carte Arduino UNO) puisse fonctionner avec la carte sur la puce INA219 avec l'adresse 0x44, vous devez modifier la ligne ina.begin () dans l'exemple; à la chaîne ina.begin (68);

Pourquoi 68? Et parce que 68 = 0 x 44, 68 est un nombre dans le système numérique décimal, 0 x 44 est un nombre dans le système numérique octal.
Pour traduire des nombres, vous pouvez utiliser la calculatrice standard.

Après avoir changé la ligne de compilation de l'exemple, flashé le code dans Arduino UNO dans le moniteur du port série, j'ai vu ce qui suit.

Bonne chance à tous dans vos efforts et vos actions!

Coût: ~ 80

Ajoutez un commentaire

    • souriresouritxaxaokne sais pasYahoonea
      patronse gratterfououioui-ouiagressifsecret
      désolédansedanse2danse3pardonaiderles boissons
      arrêteramisbonbonsifflerévanouirla langue
      fumerapplaudircraydéclarermoqueurdon-t_mentiontélécharger
      chaleurirritérire1mdaréunionmasquagenégatif
      not_ipop-cornpunirlireeffrayerfait peurrecherche
      railleriemerci_vousçato_clueumnikaigud'accord
      mauvaisabeilleblack_eyeblum3rougirse vanterennui
      censuréplaisanteriesecret2menacervictoireyusun_bespectacled
      shokrespektlolprévalubienvenuekrutoyya_za
      ya_dobryiaidene_huliganne_othodifludinterdirefermer
3 commentaire
68 = 0 x 44, 68 est le nombre dans le système décimal, 0 x 44 est le nombre dans le système octal.
0x44 est un nombre dans le système hexadécimal, pas en octal. ((
Guest Vadim
Le schéma de câblage illustré dans la figure est incorrect! Auteur, avez-vous déjà vérifié ce que vous proposez? Il semble que les preuves proviennent du bulldozer.
Que se passera-t-il dans un tel schéma avec des lectures de capteur sans charge? Et comment le capteur peut-il déterminer la tension sur la batterie (BusVoltage) à l'aide de ce circuit? Et en charge?
Pavel invité
Pourquoi ne pas écrire ina.begin (0x44)?

Nous vous conseillons de lire:

Donnez-le au smartphone ...