آموزش راه اندازی ماژول اندازه گیری ولتاژ جریان INA219 با آردوینو

ویژگی های ماژول اندازه گیری ولتاژ جریان INA219

با استفاده از ماژول INA219 می‌توانید جریان و ولتاژ را همزمان اندازه گیری کنید. این ماژول برای انتقال اطلاعات ولتاژ و جریان از پروتکل ارتباطی I2C استفاده می‌کند.

دیگر ویژگی‌های این ماژول عبارت است از:

  • دقت اندازه گیری: 1%
  • حداکثر ولتاژ اندازه گیری: 26V
  • حداکثر جریان اندازه گیری: 3.2A
نکته

به سوئیچ زنی بارهای سلفی توجه کنید. ولتاژهای لحظه ای آن ممکن است باعث آسیب به مدار بشود.

دیتاشیت سنسور INA219 را می‌توانید از اینجا دانلود کنید.

معرفی پایه های (Pinout) ماژول اندازه گیری ولتاژ جریان INA219

ماژول INA219 دارای ۶ پایه به شرح زیر است:

  • VCC: تغذیه ماژول
  • GND: زمین
  • SDA: پایه دیتا I2C
  • SCL: پایه کلاک I2C
  • Vin-: پایه ترمینال بار
  • Vin+: پایه ترمینال منبع

پین اوت (Pinout) این ماژول را می‌توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
ماژول اندازه گیری ولتاژ جریان INA219 DC × 1
سیم جامپر نری-نری × 1
برد بورد سایز کوچک × 1

نرم افزارهای مورد نیاز

آردوینو IDE
تذکر

علاوه بر قطعات بالا، به یک عدد LED و یک مقاومت 220 اهم برای ادامه آموزش نیاز دارید. 

راه اندازی ماژول اندازه گیری ولتاژ جریان INA219 با آردوینو

گام اول: سیم بندی

مطابق مدار زیر ماژول را به آردوینو و دیگر قطعات متصل کنید.

نکته

سیم نارنجی (3.3 ولت) را ولتاژ Bus و سیم آبی را ولتاژ Load می‌نامیم.
اختلاف پتانسیل ولتاژ
Load و Bus نیز ولتاژ شنت نامیده می‌شود.

گام دوم: نصب کتابخانه

به Library manager رفته و  با سرچ  کلمه INA219،کتابخانه ی Adafruit INA219 را نصب کنید.

توجه

اگر برای نصب کتابخانه نیاز به راهنمایی بیشتر دارید، به اینجا مراجعه کنید.

گام سوم: کد

کد زیر را روی آردوینو خود آپلود کنید.

 /*
  DC-Current-Voltage-Sensor-Module
  made on 06 Feb 2021
  Home<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" title="&#8220;Home&#8221; &#8212; Electropeak" src="https://electropeak.com/learn/embed/#?secret=Bpbc8aI9kj" data-secret="Bpbc8aI9kj" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
  
  based on Adafruit Example
*/

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

Adafruit_INA219 ina219;

void setup(void) 
{
  Serial.begin(115200);
  while (!Serial) {
      // will pause Zero, Leonardo, etc until serial console opens
      delay(1);
  }

  uint32_t currentFrequency;
    
  Serial.println("Hello!");

  if (! ina219.begin()) {
    Serial.println("Failed to find INA219 chip");
    while (1) { delay(10); }
  }

  Serial.println("Measuring voltage and current with INA219 ...");
}

void loop(void) 
{
  float shuntvoltage = 0;
  float busvoltage = 0;
  float current_mA = 0;
  float loadvoltage = 0;
  float power_mW = 0;

  shuntvoltage = ina219.getShuntVoltage_mV();
  busvoltage = ina219.getBusVoltage_V();
  current_mA = ina219.getCurrent_mA();
  power_mW = ina219.getPower_mW();
  loadvoltage = busvoltage + (shuntvoltage / 1000);
  
  Serial.print("Bus Voltage:   "); Serial.print(busvoltage); Serial.println(" V");
  Serial.print("Shunt Voltage: "); Serial.print(shuntvoltage); Serial.println(" mV");
  Serial.print("Load Voltage:  "); Serial.print(loadvoltage); Serial.println(" V");
  Serial.print("Current:       "); Serial.print(current_mA); Serial.println(" mA");
  Serial.print("Power:         "); Serial.print(power_mW); Serial.println(" mW");
  Serial.println("");

  delay(2000);
}
Arduino

برنامه بالا برای اندازه‌گیری ولتاژ و جریان نوشته شده است. هدف این است که ولتاژ منبع و ولتاژ و جریان بار را به دست آوریم. ولتاژ منبع 3.3 ولت و ولتاژ بار همان ولتاژ LED می‌باشد. جریان عبوری از LED نیز از طریق ولتاژ شنت محاسبه می‌شود. مقاومت شنت یک اختلاف پتانسیل بسیار کم به نام ولتاژ Shunt ایجاد می‌کند.

با باز کردن پنجره سریال مانیتور، سه ولتاژ Bus،  Shunt و Load  و جریان و توان نمایش داده می‌شوند:

آموزش های مشابه

Comments (9)

  • سیامک Reply

    باسلام و تشکر
    برای اندازه گیری چند میلی آمپر از چه وسیله ای استفاده کنم، مثلا 5 میلی آمپر.
    با تشکر

    اکتبر 20, 2021 at 10:25 ب.ظ
    • مهران ملکی Reply

      سلام.
      برای اندازه گیری جریان با دقت بالا و در حد چند میلی آمپر، میتونید از همین ماژول معرفی شده در این آموزش استفاده کنید. همانطور که در نتایج خروجی این آموزش میتونید ببینید، جریان اندازه گیری شدهدر حدود 4.2 میلی آمپر بوده است.

      اکتبر 23, 2021 at 9:45 ق.ظ
  • مهدی Reply

    سلام
    من نیاز دارم توان (ولتاژ و جریان) سه سولار پنل (توان پایین) رو بصورت همزمان بخونم و مقایسه کنم.
    آیا باید از سه عدد از این ماژول ها استفاده کنم؟
    فرضا برای یک سولار پنل 5 وات به چه مقاومتی (مصرف کننده) نیازه که اندازه گیری درست صورت بگیره؟
    آیا استفاده از ماژول اندازه گیری جریان و ولتاژ سه کانال CJMCU-3221 (INA3221) رو بجای ماژول INA219 برای این کار پیشنهاد میدید؟

    می 16, 2022 at 2:55 ق.ظ
  • علیرضا حیدریان Reply

    ماژول ازتون خریدم کار نمیکنهچک کنید

    فوریه 5, 2023 at 7:26 ب.ظ
    • علی عبدالملکی Reply

      لطفا درخواستتون رواز طریق اکانت داخل سایت مطرح کنید
      اینجا قسمت آموزش هست
      با تشکر

      فوریه 21, 2023 at 4:09 ب.ظ
  • حمید Reply

    سلام
    برای اندازه گیری جریان از 25mA± باید چکار کنیم؟ جریان 0 تا 20 نیست، از 25- تا 25+ میلی آمپر هست.

    ژوئن 8, 2024 at 4:40 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      منظور شما از جریان منفی یعنی میخواهید بر سر باتری قرار بدهید و جریان رفتی و برگشتی را اندازه بگیرید یا میخواهید جریان ولتاژ AC را اندازه گیری کنید؟؟

      ژوئن 9, 2024 at 6:00 ب.ظ
  • حسین Reply

    سلام
    آیا این ماژول قادر به اندازه گیری جریان در هر دو طرف است ؟ مثلا در مسیر باتری قرار دهم و جریان شارژ و دشارژ را اندازه گیری کند

    ژانویه 5, 2025 at 12:29 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      در این حالت زمانی که جریان به صورت معکوس عبور میکند به صورت منفی اندازه گیری میشود.
      از این رو در کد نویسی میتوانید مشخص بکنید که باتری در حال شارژ می باشد.

      ژانویه 11, 2025 at 1:47 ب.ظ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.