ویژگی های ماژول جریان ACS712
ACS712 یک تراشه برای اندازه گیری جریان DC/AC است که بر مبنای اثر هال کار می کند. این تراشه، در 3 مدل با ماکزیمم جریان های متفاوت تولید می شود. مدل های مختلف و حساسیت خروجی در هر مدل در جدول زیر نمایش داده شده است:
حساسیت سنسور به این معنا است که مثلا برای مدل 5 آمپر، با افزایش هر 1 آمپر در جریان ورودی، ولتاژ خروجی سنسور حدود 185 میلی ولت افزایش می یابد.
دیتاشیت تراشه ACS712 را میتوانید در ادامه دانلود کنید.
معرفی پایه ها (Pinout) ماژول جریان ACS712
ماژول ACS712 دارای 3 پایه به شرح زیر است:
- VCC: تغذیه ماژول – 5 ولت
- GND: زمین
- OUT: خروجی ماژول که به صورت ولتاژی آنالوگ است.
پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرمافزارهای مورد نیاز
راه اندازی ماژول جریان 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="“Home” — 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");
}
زمانی که هیچ باری به ورودی سنسور وصل نباشد باید نتیجه ای مشابه عکس زیر داشته باشید.
زمانی که باری با جریان 1 آمپر به ماژول وصل شده است، باید نتیجه ای مشابه عکس زیر را مشاهده کنید.