Pakai INA219 Arduino Ukur Arus Tegangan Daya

Posted on

Sensor INA219 Arduino

Cara Akses Sensor INA219 Arduino Modul Sensor Arus Tegangan Daya  – Modul Sensor INA219 adalah sebuah sensor yang ber fungsi untuk mengukur arus, tegangan dan daya. Cara kerja sensor ina219 adalah dengan membaca tegangan shunt, tegangan bus dan tegangan load. 

Cara Akses Sensor INA219 Arduino Modul Sensor Arus Tegangan Daya
INA219 Sensor Board

Spesifikasi sensor INA219

Sensor INA219 memiliki ADC internal 12-bit. Ini akan cukup membuat pembacaan arus yang presisi. Dengan nilai ADC 12-bit, sensor arus dapat mengukur arus maksimal ±3.2A dengan range resolusi 0.8mA. Adapun tegangan maksimal yang dapat di baca adalah hingga ±26VDC meskipun modul hanya menggunakan tegangan sumber VCC 3 atau 5V. 

Untuk komunikasi dengan mikrokontroller, sensor   menggunakan komunikasi I2C yang dapat dihubungkan dengan Arduino. Dengan kita hanya menggunakan 2 pin saja yaitu, SDA pada pin A4 dan SCL pada pin A5.

Sebuah resistor shunt dengan nilai 0.1 Ohm 1% 2W digunakan dalam papan modul . INA219 sensor modul memiliki dua pin input IN+ dan IN- yang terhubung ke resistor shunt. Untuk dapat menggunakan modul , kita membutuhkan sebuah library yang akan mempermudah pemrograman Arduino.

INA219 Skematik

Untuk rangkaian antara Arduino Uno dan INA219 adalah sangat sederhana, anda hanya menghubungkan:

  • VCC ke 5V atau 3V.
  • SCA ke pin A4
  • SCL ke pin A5
  • serta GND ke GND.

Perhatikan gambar berikut, dalam contoh beban dis adalah mengukur arus yang mengalir ke motor DC, anda dapat menggantikan beban kedalam perangkat yang lain seperti LED, Lampu, Perangkat Elektronik lain dan sebagainya:

Cara Akses Sensor INA219 Arduino Modul Sensor Arus Tegangan Daya
INA219 Skematik

 

INA219 Arduino Library Download

Library INA2019 Sensor telah tersedia di library manager Arduino IDE. Silahkan tambahkan ke Arduino IDE anda dengan cara klik menu Sketch > Include Library > Manage Libary.

Kemudian silahkan cari Adafruit INA219, dan klik install.

Sedikit merujuk ke library , secara dasarnya alamat I2C yang ditetapkan didalam library adalah 0x40. Ini dalam arti jumper A0 dan A1 dalam kondisi terbuka.

Jika jumper A0 terhubung dan A1 terbuka, gunakan alamat 0x41. Jika jumper A0 terbuka dan A0 terhubung, gunakan alamat 0x44. Jika kumper A0 dan A1 terhubung, gunakan alamat 0x45.

Library , selain untuk mengukur arus pada resistor shunt, dapat juga untuk membaca tegangan shunt, tegangan load dan tegangan bus. Perbedaan tegangan dapat anda lihat pada gambar berikut:

Cara Akses Sensor INA219 Arduino Modul Sensor Arus Tegangan Daya

 

Program Arduino INA219

Setelah program dirangkai dengan beban (terserah anda, bisa lamu, LED, motor dan sebagainya), sedikit saya memberikan gambaran dalam saya menggunakan alamat I2C dari modul sensor adalah 0x41. Pada fisik modul saya menghubungkan jumper A0.

Teman-teman boleh menghubungkan jumper-jumper tersebut, boleh juga tidak karena semua kondisi memiliki alamat tersendiri. Alamat tersebut tinggal di tentukan saja dari program.

  • Jika jumper A0 dan A1 terbuka, maka gunakan alamat 0x40
  • Jika jumper A0 terhubung dan A1 terbuka, gunakan alamat 0x41
  • Jika jumper A0 terbuka dan A0 terhubung, gunakan alamat 0x44
  • Jika kumper A0 dan A1 terhubung, gunakan alamat 0x45

Berikut adalah kode yang saya sediakan dansilahkan upload ke arduino program berikut sebagai berikut.

//by Arduino32

#include <Wire.h>
#include <Adafruit_INA219.h>

// Adafruit_INA219 ina219; // Alamat default adalah 0x40, jumper A0 dan A1 terbuka
Adafruit_INA219 ina219 (0x41); // jika jumper A0 dihubungkan
// Adafruit_INA219 ina219 (0x44); // jika jumper A1 dihubungkan
// Adafruit_INA219 ina219 (0x45); // jika jumper A0 and A1 dihubungkan


void setup(void)
{
Serial.begin(9600);

if (! ina219.begin()) {
Serial.println("Gagal mendapatkan modul INA219");
while (1) {
delay(10);
}
}

// Secara default, kalibrasi ada pada (32V, 2A).

// Jika ingin lebih presisi pembacaan arus, Gunakan setingan 32V, 1A
// ina219.setCalibration_32V_1A();

// Jika ingin lebih presisi lagi, Gunakan setingan 16V, 400mA
// ina219.setCalibration_16V_400mA();

}

void loop(void)
{
float tegangan_shunt = 0;
float tegangan_bus = 0;
float arus = 0;
float tegangan_load = 0;
float daya = 0;

tegangan_shunt = ina219.getShuntVoltage_mV();
tegangan_bus = ina219.getBusVoltage_V();
arus = ina219.getCurrent_mA();
daya = tegangan_bus * arus;
tegangan_load = tegangan_bus + (tegangan_shunt / 1000);

Serial.print("BUS: ");
Serial.print(tegangan_bus);
Serial.print(" V ");

Serial.print("SHUNT: ");
Serial.print(tegangan_shunt);
Serial.print(" mV ");

Serial.print("LOAD: ");
Serial.print(tegangan_load);
Serial.print(" V ");

Serial.print("ARUS: ");
Serial.print(arus);
Serial.print(" mA ");

Serial.print("DAYA: ");
Serial.print(daya);
Serial.print(" mW");
Serial.print(" atau ");
Serial.print(daya / 1000);
Serial.println(" W");

delay(100);
}

 Setelah program selesai di upload, silahkan buka serial monitor. Maka anda akan mendapatkan hasil pembacaan sebagai berikut:

Cara Akses Sensor Arus INA219 Modul Menggunakan Arduino

INA219 Datasheet Download

Demikian tutorial dasar sensor arus INA219, silahkan dimodifikasi programnya dan semoga bermanfaat.

Tags:

  • ina219 arduino library
  • sensor ina219 arduino
  • spesifikasi sensor ina219
  • pengertian sensor ina219
  • cara kerja sensor ina219
  • fungsi sensor ina219
  • ina219 datasheet

Leave a Reply

Your email address will not be published.