آموزش راه اندازی ماژول سنسور جریان ACS712 با آردوینو

ویژگی های ماژول جریان ACS712

ACS712 یک تراشه برای اندازه گیری جریان DC/AC   است که بر مبنای اثر هال کار می کند. این تراشه، در 3 مدل با ماکزیمم جریان های متفاوت تولید می شود. مدل های مختلف و  حساسیت خروجی در هر مدل در جدول زیر نمایش داده شده است:

حساسیت سنسور به این معنا است که مثلا برای مدل 5 آمپر، با افزایش هر 1 آمپر در جریان ورودی، ولتاژ خروجی سنسور حدود 185 میلی ولت افزایش می یابد.

نکته

خروجی بدون بار (وقتی چیزی به ورودی وصل نیست) سنسور دارای یک ولتاژ اولیه (Offset) به میزان Vcc/2 است. یعنی اگر به ورودی چیزی متصل نباشد و ولتاژ تغذیه ماژول 5 ولت باشد، خروجی ماژول 2.5 ولت خواهد بود.
درنتیجه، رابطه ی ولتاژ خروجی سنسور در مدل 5 آمپر با ولتاز تغذیه 5 ولت، به صورت زیر است:

دیتاشیت تراشه  ACS712 را می‌توانید در ادامه دانلود کنید.

معرفی پایه ها (Pinout) ماژول جریان ACS712

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

  • VCC: تغذیه ماژول – 5 ولت
  • GND: زمین
  • OUT: خروجی ماژول که به صورت ولتاژی آنالوگ است.

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

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

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

برد آردوینو Uno × 1
ماژول سنسور جریان 5 آمپر ACS712 × 1
ماژول سنسور جریان 20 آمپر ACS712 × 1
ماژول سنسور جریان 30 آمپر ACS712 × 1
سیم جامپر × 1

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

آردوینو IDE

راه اندازی ماژول جریان ACS712 با آردوینو

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

مطابق مدار زیر، ماژول را به آردوینو وصل کنید. خروجی سنسور را می توانید به هر یک از پایه های ADC آردوینو وصل کنید.

گام دوم: کد

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

این کد مقدار خروجی سنسور را  500 بار می خواند و  از آن میانگین می گیرد. سپس نتیجه را به 3 صورت مختلف در پنجره ی سریال نمایش می دهد.

/*
  ACS712 Current Sensor
  modified on 06 Sep 2020
  by Mohammad Reza Akbari @ Electropeak
  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 | Ultimate Robotics Solutions" src="https://electropeak.com/learn/embed/#?secret=ATAMKHdUCC" data-secret="ATAMKHdUCC" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
*/


int analogPin = A0; // Current sensor output

const int averageValue = 500;
long int sensorValue = 0;  // variable to store the sensor value read

float voltage = 0;
float current = 0;

void setup() {
  Serial.begin(9600);           //  setup serial
}

void loop() {

  for (int i = 0; i < averageValue; i++)
  {
    sensorValue += analogRead(analogPin);

    // wait 2 milliseconds before the next loop
    delay(2);
  }

  sensorValue = sensorValue / averageValue;
  voltage = sensorValue * 5.0 / 1024.0;
  current = (voltage - 2.5) / 0.185;

  Serial.print("ADC Value: ");
  Serial.print(sensorValue);

  Serial.print("   ADC Voltage: ");
  Serial.print(voltage);
  Serial.print("V");

  Serial.print("   Current: ");
  Serial.print(current);
  Serial.println("A");
}

Arduino

زمانی که هیچ باری به ورودی سنسور وصل نباشد باید نتیجه ای مشابه عکس زیر داشته باشید.

زمانی که باری با جریان 1 آمپر به ماژول وصل شده است، باید نتیجه ای مشابه عکس زیر را مشاهده کنید.

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

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

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