Styrelsens huvudparametrar anges på själva kortet.
Huvudelementet på kortet är INA219-chipet. INA219-chipet, trots sin lilla storlek och sitt lilla antal stift, har stora funktioner. Mikrokretsen mäter spänningen vid shunt (vid plintarna Vin + och Vin_) - ett motstånd med lågt motstånd och vid Vin-stiftet i förhållande till GND-stiftet i sin tur. Beräkningsresultaten skrivs i register och överförs sedan till mikrokontrollern via I2C-kommunikationsbussen. Brädet har en shunt med ett motstånd på 0,1 ohm. Spänningen i chipet mäter ADC: s analoga till digitala omvandlare. ADC kan fungera i 9, 10, 11, 12 tibit-lägen. Funktionsläget för chipet konfigureras genom att ändra konfigurationsregistret. Tillverkaren har ett gratis program, INA219 EVM, för att konfigurera INA219-chipet. Programfil - sboc271.zip
Databladfil på INA291-chipet -
Visa online-fil:
Mikrokretsen har förmågan att justera noggrannheten i sina mätningar, med andra ord är det möjligt att kalibrera mätresultaten.
För att verifiera kortets funktion på INA219-chipet monterades följande krets.
Ström på kortet med INA219-chipet måste levereras från kortet Arduino eller annan kraftkälla.
För att arbeta med kortet på INA219-chipet i Arduino IDE-programmeringssystemet behöver vi ett bibliotek. Internetsökningar gav ett positivt resultat. Jag hittade flera bibliotek, men det fungerade för mig med bara två.
Det första biblioteket från Adafruit hittades - Adafruit_INA219-master.zip
Det fungerar, men jag kunde inte ansluta till kortet med INA219-chipet när jag ändrade I2C-bussadressen. Som standard har ett kort med ett INA219-chip en I2C 0x40-bussadress. Det tillåter dig inte heller att konfigurera driftläget för INA219-chipet.
Det andra biblioteket saknade de första bristerna. Det andra arbetsbiblioteket är Arduino-INA219-master.zip
Hur installeras bibliotek i Arduino IDE-programmeringssystemet? Du kan få svaret på den här frågan från mina artiklar eller från information publicerad på Internet.
Jag vill använda kortet med INA219-chipet för experiment. Det kommer att vara bekvämare för mig att arbeta med det om jag löd BLS-kontakten och stiften på kortet.
Jag monterade kretsen, anslöt data (SDA) och Clok (SCL) stiften till Arduino UNO-kortet. Anslut datautgången (SDA) till A4-anslutningen, anslut Clok (SCL) -utgången till A5-anslutningen på Arduino UNO-kortet. Öppna sedan Arduino IDE-programmet. Jag har redan installerat bibliotek. Vi öppnar ett exempel på det första biblioteket.
Jag ändrade rad 9 i koden istället för 115200, inställd 9600. Annars kommer klotter att visas på seriell portmonitor istället för siffror och bokstäver. Jag konfigurerade också datorns com-port till en hastighet av 9600. Detta testades av mig i praktiken.
Vi sammanställer getcurrent-exemplet. Vi läser in data i styrenheten på Arduino UNO-styrelsen. Öppna seriell portmonitorn i Arduino UNO-programmet och se mätresultatet från INA219-chipet.
Mätresultatet för INA219-chipet var korrekt.
Därefter bestämde jag mig för att ändra adressen till I2C-bussen. Och innan det bestämde jag I2C-bussadressen till INA219-styrelsen med hjälp av en skiss, som jag gjorde i artikeln "Hemväderstation på GY-BMP280-3.3 och Ds18b20»
För att ändra kortets I2C-bussadress från INA219-chipet lödde jag bygeln och bestämde en ny I2C-bussadress.
Sedan laddade jag ner exemplet från det andra biblioteket.
För att den sammanställda koden (konverterad till ett formulär som är lämpligt att skriva till mikrokontrollern på Arduino UNO-kortet) ska kunna arbeta med kortet på INA219-chipet med adressen 0x44, måste du ändra raden ina.begin () i exemplet; till strängen ina.begin (68);
Varför 68? Och eftersom 68 = 0 x 44, 68 är ett tal i decimaltalssystemet, är 0 x 44 ett tal i det oktala talsystemet.
För att översätta siffror kan du använda standardräknaren.
Efter att ha ändrat kompileringslinjen i exemplet och blinkat koden i Arduino UNO i seriell portmonitor såg jag följande.
Lycka till alla i era ansträngningar och gärningar!
Kostnad: ~ 80