» Aliexpress » Elektronik bileşenler »I2C iletişim veri yolu ile I ve U ölçümü için INA219 yongalı kart

I2C iletişim veri yolu ile I ve U ölçümü için INA219 çipli kart

Ben aliexpress I2C iletişim veriyolu ile I ve U ölçmek için bir INA219 çip ile bir tahta aldım. BLS konektörü ve pimleri, kart üzerine takılabilen veya takılamayan kartla birlikte verilir.
I2C iletişim veri yolu ile I ve U ölçümü için INA219 çipli kart



Kartın ana parametreleri kartın üzerinde gösterilir.

Karttaki ana eleman INA219 yongasıdır. INA219 yongası, küçük boyutuna ve az sayıda pimine rağmen, büyük yeteneklere sahiptir. Mikro devre şönt (Vin + ve Vin_ terminallerinde) - düşük dirençli bir direnç ve GND pimine göre Vin-pinindeki voltajı ölçer. Hesaplama sonuçları kayıtlara yazılır, daha sonra I2C iletişim veri yolu üzerinden mikrodenetleyiciye iletilir. Tahtaya 0,1 ohm dirençli bir şant takılmıştır. Çipteki voltaj, ADC'nin analog-dijital dönüştürücüsünü ölçer. ADC 9, 10, 11, 12 tibit modlarında çalışabilir. Çipin çalışma modu, yapılandırma yazmacı değiştirilerek yapılandırılır. Üretici, INA219 yongasını yapılandırmak için ücretsiz bir INA219 EVM programına sahiptir. Program Dosyası - sboc271.zip
sboc271.zip [3.55 Mb] (indirmeler: 367)

INA291 yongasındaki veri sayfası dosyası -
ina219.pdf [1.14 Mb] (indirme: 361)
Çevrimiçi dosyayı görüntüle:


Mikro devre, ölçümlerinin doğruluğunu ayarlama yeteneğine sahiptir, başka bir deyişle, ölçüm sonuçlarını kalibre etmek mümkündür.

Kartın INA219 yongasındaki çalışmasını doğrulamak için aşağıdaki devre monte edildi.

INA219 yongasıyla kart üzerindeki güç karttan sağlanmalıdır Arduino veya başka bir güç kaynağı.
Arduino IDE programlama sistemindeki INA219 yongasındaki kartla çalışmak için bir kütüphaneye ihtiyacımız var. İnternet aramaları olumlu bir sonuç verdi. Birkaç kütüphane buldum, ama sadece iki kütüphaneyle çalıştı.
Adafruit'ten ilk kütüphane bulundu - Adafruit_INA219-master.zip
adafruit_ina219-master.zip [11.97 Kb] (indirmeler: 177)

Çalışıyor, ancak I2C veri yolu adresini değiştirdiğimde INA219 yongasıyla panoya bağlanamadım. Varsayılan olarak, INA219 yongalı bir anakartın I2C 0x40 veri yolu adresi vardır. Ayrıca INA219 yongasının çalışma modunu yapılandırmanıza izin vermez.
İkinci kütüphane birincinin eksikliklerinden yoksundu. İkinci çalışma kütüphanesi Arduino-INA219-master.zip
arduino-ina219-master.zip [17.52 Kb] (indirmeler: 451)

Arduino IDE programlama sistemine kütüphaneler nasıl kurulur? Bu sorunun cevabını makalelerimden veya internette yayınlanan bilgilerden alabilirsiniz.
Tahtayı INA219 yongasıyla deneyler için kullanmak istiyorum. BLS'nin konnektörünü ve pimlerini tahtaya lehimlersem onunla çalışmak daha uygun olacaktır.


Devreyi monte ettim, Veri (SDA) ve Clok (SCL) pimlerini Arduino UNO kartına bağladım. Veri çıkışını (SDA) A4 konektörüne, Clok (SCL) çıkışını Arduino UNO kartının A5 konektörüne bağlayın. Ardından Arduino IDE programını açın. Zaten kütüphaneler kurdum. İlk kütüphaneye bir örnek açıyoruz.

Kodda 115200 yerine 9 satırını değiştirdim, 9600 ayarladım. Aksi takdirde, seri bağlantı noktası monitöründe rakamlar ve harfler yerine karalamalar görünecektir. Ayrıca bilgisayarın com bağlantı noktasını 9600 olarak yapılandırdım.


Getcurrent örneğini derliyoruz. Arduino UNO kartının denetleyicisine veri yüklüyoruz. Arduino UNO programında seri port monitörünü açın ve INA219 yongasından elde edilen ölçüm sonucunu görün.

INA219 yongasının ölçüm sonucu doğruydu.
Sonra I2C otobüsünün adresini değiştirmeye karar verdim. Ondan önce, INA219 kartının I2C veri yolu adresini bir taslak yardımıyla belirledim.Ev hava istasyonu GY-BMP280-3.3 ve Ds18b20»

Kartın I2C veri yolu adresini INA219 yongasından değiştirmek için jumperı lehimledim ve yeni bir I2C veri yolu adresi belirledim.


Sonra ikinci kütüphaneden örnek indirdim.

Derlenmiş kodun (Arduino UNO kartının mikrodenetleyicisine yazmak için uygun bir forma dönüştürülmüş), INA219 yongasındaki kartla 0x44 adresiyle çalışabilmesi için, örnekteki ina.begin () satırını değiştirmeniz gerekir; ina.begin (68) dizesine;

Neden 68? Ve 68 = 0 x 44, 68 ondalık sayı sistemindeki bir sayı olduğu için, 0 x 44 sekizli sayı sistemindeki bir sayıdır.
Sayıları çevirmek için standart hesap makinesini kullanabilirsiniz.

Örneğin derleme satırını değiştirdikten sonra, seri port monitöründe Arduino UNO'daki kodu yanıp söndükten sonra, aşağıdakileri gördüm.

Çalışmalarınızda ve eylemlerinizde herkese bol şanslar!

Maliyet: ~ 80

Yorum ekle

    • gülümsegülümsemelerxaxatamamdontknowyahoonea
      patronçizikaptalevetevet-evetagresifgizli
      üzgünümdansdance2dance3pardonyardımiçecekler
      Durarkadaşlariyigoodgooddüdükbaygınlıkdil
      dumanzırıltıcraybeyanalaycıDon-t_mentionindir
      ısıöfkelilaugh1mdatoplantımoskingnegatif
      Not_ipatlamış mısırcezalandırmakokumakkorkutmakkorkutuyorarama
      alaythank_youbuto_clueumnikakutanlaşmak
      kötübeeeblack_eyeblum3kızarmakövünçcan sıkıntısı
      sansürlüşakasecret2tehdit etmekzaferyusun_bespectacled
      shokrespektlolPrevedkarşılamaKrutoyya_za
      ya_dobryiyardımcıne_huliganne_othodiFludyasakyakın
3 yorumlar
68 = 0 x 44, 68 ondalık sistemdeki sayıdır, 0 x 44 sekizli sistemdeki sayıdır.
0x44, onaltılı sistemdeki bir sayıdır, sekizlik değil. ((
Konuk Vadim
Şekilde gösterilen bağlantı şeması yanlış! Yazar, ne sunduğunuzu hiç kontrol ettiniz mi? Kanıt buldozerden alınmış gibi görünüyor.
Yüksüz sensör okumaları ile böyle bir şemada ne olacak? Sensör bu devreyi kullanarak akü üzerindeki voltajı (BusVoltage) nasıl belirleyebilir? Ve yükte mi?
Konuk Pavel
Neden ina.begin (0x44) yazmıyorsunuz?

Okumanızı tavsiye ederiz:

Akıllı telefon için verin ...