» Aliexpress » Elektronische componenten »Bord met INA219-chip voor het meten van I en U met I2C-communicatiebus

Bord met INA219-chip voor het meten van I en U met I2C-communicatiebus

Ik kocht een bord met een INA219-chip voor het meten van I en U met een I2C-communicatiebus op AliExpress. De BLS-connector en pinnen worden geleverd met de kaart, die wel of niet op de kaart kan worden geïnstalleerd.
Bord met INA219-chip voor het meten van I en U met I2C-communicatiebus



De belangrijkste parameters van het bord zijn aangegeven op het bord zelf.

Het belangrijkste element op het bord is de INA219-chip. De INA219-chip heeft, ondanks zijn kleine formaat en kleine aantal pinnen, geweldige mogelijkheden. De microschakeling meet de spanning op de shunt (op de klemmen Vin + en Vin_) - een weerstand met een lage weerstand en op zijn beurt de Vin-pin ten opzichte van de GND-pin. De berekeningsresultaten worden in registers geschreven en vervolgens via de I2C-communicatiebus naar de microcontroller verzonden. Op het bord is een shunt met een weerstand van 0,1 ohm geïnstalleerd. De spanning in de chip meet de analoog-naar-digitaalomzetter van de ADC. De ADC kan werken in 9, 10, 11, 12 tibit-modi. De werking van de chip wordt geconfigureerd door het configuratieregister te wijzigen. De fabrikant heeft een gratis programma, INA219 EVM, voor het configureren van de INA219-chip. Programmabestand - sboc271.zip
sboc271.zip [3,55 Mb] (downloads: 367)

Datasheet-bestand op de INA291-chip -
ina219.pdf [1.14 Mb] (downloads: 361)
Bekijk online bestand:


De microschakeling heeft de mogelijkheid om de nauwkeurigheid van de metingen aan te passen, met andere woorden, het is mogelijk om de meetresultaten te kalibreren.

Om de werking van het bord op de INA219-chip te verifiëren, werd het volgende circuit samengesteld.

Stroom op het bord met de INA219-chip moet worden geleverd vanaf het bord Arduino of andere stroombron.
Om met het bord op de INA219-chip in het Arduino IDE-programmeersysteem te werken, hebben we een bibliotheek nodig. Zoeken op internet leverde een positief resultaat op. Ik heb verschillende bibliotheken gevonden, maar het werkte voor mij met slechts twee.
De eerste bibliotheek van Adafruit werd gevonden - Adafruit_INA219-master.zip
adafruit_ina219-master.zip [11.97 Kb] (downloads: 177)

Het werkt, maar ik kon geen verbinding maken met het bord met de INA219-chip toen ik het I2C-busadres veranderde. Standaard heeft een kaart met een INA219-chip een I2C 0x40-busadres. Het staat u ook niet toe om de bedieningsmodus van de INA219-chip te configureren.
De tweede bibliotheek miste de tekortkomingen van de eerste. De tweede werkende bibliotheek is Arduino-INA219-master.zip
arduino-ina219-master.zip [17.52 Kb] (downloads: 451)

Hoe worden bibliotheken geïnstalleerd in het Arduino IDE-programmeersysteem? U kunt het antwoord op deze vraag krijgen uit mijn artikelen of uit informatie die op internet is geplaatst.
Ik wil het bord met de INA219-chip gebruiken voor experimenten. Het zal handiger zijn om ermee te werken als ik de connector en pinnen van de BLS op het bord soldeer.


Ik monteerde het circuit, verbond de Data (SDA) en Clok (SCL) pinnen met het Arduino UNO-bord. Sluit de Data-uitgang (SDA) aan op de A4-connector, sluit de Clok (SCL) -uitgang aan op de A5-connector van de Arduino UNO-kaart. Open vervolgens het Arduino IDE-programma. Ik heb al bibliotheken geïnstalleerd. We openen een voorbeeld van de eerste bibliotheek.

Ik veranderde regel 9 in de code in plaats van 115200, set 9600. Anders verschijnen krabbels in de seriële poortmonitor in plaats van cijfers en letters. Ik heb ook de com-poort van de computer geconfigureerd met een snelheid van 9600. Dit is door mij in de praktijk getest.


We stellen het getcurrent-voorbeeld samen. We laden gegevens in de controller van het Arduino UNO-bord. Open de seriële poortmonitor in het Arduino UNO-programma en bekijk het meetresultaat verkregen van de INA219-chip.

Het meetresultaat van de INA219-chip was nauwkeurig.
Vervolgens besloot ik het adres van de I2C-bus te wijzigen. En daarvoor heb ik het I2C-busadres van het INA219-bord bepaald met behulp van een schets, zoals ik deed in het artikel “Weerstation voor thuis op GY-BMP280-3.3 en Ds18b20»

Om het I2C-busadres van de kaart van de INA219-chip te wijzigen, heb ik de jumper gesoldeerd en een nieuw I2C-busadres bepaald.


Vervolgens heb ik het voorbeeld gedownload uit de tweede bibliotheek.

Om ervoor te zorgen dat de gecompileerde code (omgezet in een vorm die geschikt is om naar de microcontroller van het Arduino UNO-bord te schrijven) met het bord op de INA219-chip met het adres 0x44 kan werken, moet je de regel ina.begin () in het voorbeeld wijzigen; aan de string ina.begin (68);

Waarom 68? En omdat 68 = 0 x 44, 68 een getal is in het decimale getallensysteem, is 0 x 44 een getal in het octale getallensysteem.
Om getallen te vertalen, kunt u de standaardcalculator gebruiken.

Na het wijzigen van de compilatieregel van het voorbeeld, het knipperen van de code in Arduino UNO in de seriële poortmonitor, zag ik het volgende.

Veel geluk voor iedereen in je inspanningen en daden!

Kosten: ~ 80

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten
3 commentaar
68 = 0 x 44, 68 is het nummer in het decimale systeem, 0 x 44 is het nummer in het octale systeem.
0x44 is een getal in het hexadecimale systeem, niet in octaal. ((
Gast Vadim
Het bedradingsschema in de afbeelding is onjuist! Auteur, heb je ooit gecontroleerd wat je aanbiedt? Het lijkt erop dat het bewijs afkomstig is van de bulldozer.
Wat gebeurt er in zo'n schema met sensoraflezingen zonder belasting? En hoe kan de sensor met dit circuit de spanning op de accu (BusVoltage) bepalen? En op belasting?
Gast Pavel
Waarom schrijf je ina.begin (0x44) niet?

We raden je aan om te lezen:

Geef het voor de smartphone ...