» AliExpress » Elektroniske komponenter »Board med INA219-chip til måling af I og U med I2C-kommunikationsbus

Kort med INA219-chip til måling af I og U med I2C-kommunikationsbus

Jeg købte et bord med en INA219-chip til måling af I og U med en I2C-kommunikationsbus på aliexpress. BLS-stikket og stifterne leveres med tavlen, som enten kan installeres eller ikke installeres på tavlen.
Kort med INA219-chip til måling af I og U med I2C-kommunikationsbus



Boardets hovedparametre er angivet på selve tavlen.

Hovedelementet på tavlen er INA219-chippen. På trods af sin lille størrelse og det lille antal stifter har INA219-chippen store muligheder. Mikrokredsløbet måler spændingen på shunten (ved terminalerne Vin + og Vin_) - en modstand med lav modstand og på Vin-stiften i forhold til GND-stiften på sin side. Beregningsresultaterne skrives i registre, derefter overføres de til mikrokontrolleren via I2C-kommunikationsbussen. En shunt med en modstand på 0,1 ohm er installeret på brættet. Spændingen i chippen måler ADC's analoge til digitale konverter. ADC'en kan fungere i 9, 10, 11, 12 tibit-tilstande. Funktionen af ​​chippen konfigureres ved at ændre konfigurationsregisteret. Producenten har et gratis program, INA219 EVM, til konfiguration af INA219-chippen. Programfil - sboc271.zip
sboc271.zip [3.55 Mb] (downloads: 367)

Dataarkfil på INA291-chip -
ina219.pdf [1,14 Mb] (downloads: 361)
Se online fil:


Mikrokredsløbet har evnen til at justere nøjagtigheden af ​​dens målinger, med andre ord er det muligt at kalibrere måleresultaterne.

For at verificere kortets funktion på INA219-chippen blev følgende kredsløb samlet.

Strøm på tavlen med INA219-chippen skal leveres fra tavlen Arduino eller anden strømkilde.
For at arbejde med tavlen på INA219-chippen i Arduino IDE-programmeringssystemet har vi brug for et bibliotek. Internetsøgninger gav et positivt resultat. Jeg fandt flere biblioteker, men det fungerede for mig med kun to.
Det første bibliotek fra Adafruit blev fundet - Adafruit_INA219-master.zip
adafruit_ina219-master.zip [11.97 Kb] (downloads: 177)

Det fungerer, men jeg kunne ikke oprette forbindelse til brættet med INA219-chippen, da jeg ændrede I2C-busadressen. Som standard har et bord med en INA219-chip en I2C 0x40-busadresse. Det tillader dig heller ikke at konfigurere drifttilstanden for INA219-chippen.
Det andet bibliotek var blottet for manglerne ved det første. Det andet arbejdsbibliotek er Arduino-INA219-master.zip
arduino-ina219-master.zip [17.52 Kb] (downloads: 451)

Hvordan installeres biblioteker i Arduino IDE-programmeringssystemet? Du kan få svaret på dette spørgsmål fra mine artikler eller fra oplysninger, der er lagt ud på Internettet.
Jeg vil bruge tavlen med INA219-chippen til eksperimenter. Det vil være mere praktisk for mig at arbejde med det, hvis jeg lodder stikket og stifterne på BLS på tavlen.


Jeg monterede kredsløbet, tilsluttede data (SDA) og Clok (SCL) stifter til Arduino UNO-tavlen. Tilslut dataudgangen (SDA) til A4-stikket, tilslut Clok (SCL) -udgangen til A5-stikket på Arduino UNO-kortet. Åbn derefter Arduino IDE-programmet. Jeg har allerede installeret biblioteker. Vi åbner et eksempel på det første bibliotek.

Jeg skiftede linje 9 i koden i stedet for 115200, sæt 9600. Ellers vises der scribbles på seriel portmonitor i stedet for tal og bogstaver. Jeg konfigurerede også computerens com-port til en hastighed på 9600. Dette blev testet af mig i praksis.


Vi sammenstiller getcurrent-eksemplet. Vi indlæser data i controlleren på Arduino UNO-tavlen. Åbn serielportmonitoren i Arduino UNO-programmet, og se måleresultatet opnået fra INA219-chippen.

Måleresultatet af INA219-chippen var nøjagtigt.
Derefter besluttede jeg at ændre adressen på I2C-bussen. Og før det bestemte jeg I2C-busadressen til INA219-tavlen ved hjælp af en skitse, som jeg gjorde i artiklen “Hjemme vejrstation på GY-BMP280-3.3 og Ds18b20»

For at ændre bordets I2C-busadresse fra INA219-chip loddes jeg springeren og bestemte en ny I2C-busadresse.


Derefter downloadede jeg eksemplet fra det andet bibliotek.

For at den kompilerede kode (konverteret til en form, der er egnet til at skrive til mikrokontrolleren på Arduino UNO-kortet), skal være i stand til at arbejde med brættet på INA219-chippen med adressen 0x44, skal du ændre linjen ina.begin () i eksemplet; til strengen ina.begin (68);

Hvorfor 68? Og fordi 68 = 0 x 44, 68 er et tal i decimaltallssystemet, er 0 x 44 et tal i det oktale talsystem.
For at oversætte numre kan du bruge standardberegneren.

Efter at have ændret kompilationslinjen fra eksemplet og flashet koden i Arduino UNO i seriel portmonitor, så jeg følgende.

Held og lykke til alle i dine bestræbelser og gerninger!

Omkostninger: ~ 80

Tilføj en kommentar

    • smilesmilxaxaokdontknowyahoonea
      bossscratchnarrejaja-jaaggressivhemmelighed
      undskylddansdance2dance3benådninghjælpdrikkevarer
      stop-vennergodgoodgoodfløjtedånetunge
      røgklappecrayerklærerspottendedon-t_mentiondownloade
      hedeirefullaugh1mdamødemoskingnegativ
      not_ipopcornstraffelæseskræmmeforskrækkelsersøg
      hånethank_youdetteto_clueumnikakutenig
      dårligbeeeblack_eyeblum3blushpralekedsomhed
      censureretpleasantrysecret2truesejryusun_bespectacled
      SHOKRespektlolprevedvelkommenkrutoyya_za
      ya_dobryihjælperenne_huliganne_othodiFludforbudtæt
3 kommentarer
68 = 0 x 44, 68 er tallet i decimalsystemet, 0 x 44 er tallet i det octale system.
0x44 er et tal i det hexadecimale system, ikke i oktal. ((
Gæst Vadim
Ledningsdiagrammet vist på figuren er forkert! Forfatter, har du nogensinde tjekket, hvad du tilbyder? Det ser ud til, at beviset er hentet fra bulldozeren.
Hvad vil der ske i et sådant skema med sensorlæsninger uden belastning? Og hvordan kan sensoren bestemme spændingen på batteriet (BusVoltage) ved hjælp af dette kredsløb? Og på last?
Gæst Pavel
Hvorfor ikke skrive ina.begin (0x44)?

Vi råder dig til at læse:

Giv den til smartphonen ...