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
Dataarkfil på INA291-chip -
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
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
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