آردوینو Arduinoمطالب آموزشیمطالب علمیمعرفی و مقایسه

اندازه‌گیری جریان با ACS712 و آردوینو: از صفر تا صد

آیا تا به حال به این فکر کرده‌اید که وسایل الکتریکی اطرافتان چقدر جریان مصرف می‌کنند؟ یا چگونه می‌توان از موتورهای DC در برابر جریان بیش از حد محافظت کرد؟ پاسخ در استفاده از یک سنسور جریان نهفته است. در این پست وبلاگی، به دنیای جذاب سنسور جریان ACS712 سفر می‌کنیم و یاد می‌گیریم که چگونه با استفاده از آن و آردوینو، جریان را اندازه‌گیری و در کنترل موتورهای DC از آن بهره ببریم.

سنسور جریان ACS712 چیست؟

ACS712 یک سنسور جریان دقیق و مقرون‌به‌صرفه است که برای اندازه‌گیری جریان متناوب (AC) و مستقیم (DC) به کار می‌رود . این سنسور در یک بسته‌بندی کوچک 8 پین SOIC ارائه می‌شود و به دلیل دقت بالا و ایزولاسیون الکتریکی قوی، در کاربردهای صنعتی، تجاری و آموزشی بسیار محبوب است .

ACS712 Pinout Diagram

این سنسور در سه مدل مختلف با محدوده‌های جریان 5±، 20± و 30± آمپر عرضه می‌شود که هر کدام حساسیت خروجی متفاوتی دارند .

مدل سنسور محدوده جریان حساسیت (mV/A)
ACS712-05B 5± آمپر 185
ACS712-20A 20± آمپر 100
ACS712-30A 30± آمپر 66

ماژول سنسور جریان 20 آمپر ACS712

ماژول سنسور جریان 20 آمپر ACS712

🛒 خرید از ECA

سنسور جریان ACS712ELCTR-05B-T

سنسور جریان ACS712ELCTR-05B-T

🛒 خرید از ECA

ماژول سنسور جریان 30 آمپر ACS712

ماژول سنسور جریان 30 آمپر ACS712

🛒 خرید از ECA

نحوه عملکرد سنسور ACS712

قلب تپنده سنسور ACS712، اثر هال (Hall Effect) است . اما این اثر چگونه کار می‌کند؟ داخل سنسور یک مسیر رسانا از جنس مس وجود دارد که جریان مورد اندازه‌گیری از آن عبور می‌کند . طبق اصول فیزیک، هر جریان الکتریکی یک میدان مغناطیسی در اطراف خود ایجاد می‌کند. شدت این میدان متناسب با مقدار جریان است.

در نزدیکی این مسیر رسانا، یک عنصر هال قرار دارد. این عنصر، میدان مغناطیسی ایجاد شده را حس کرده و آن را به یک ولتاژ بسیار کوچک و متناسب تبدیل می‌کند. این ولتاژ سپس توسط مدارهای داخلی سنسور تقویت شده و به صورت یک ولتاژ آنالوگ در پایه خروجی (VIOUT) ظاهر می‌شود .

به این ترتیب، با اندازه‌گیری ولتاژ خروجی سنسور می‌توان به مقدار جریان عبوری پی برد. یکی از مزایای بزرگ این روش، ایزولاسیون الکتریکی بین مدار قدرت (جریان بالا) و مدار کنترل (آردوینو) است که ایمنی را به شدت افزایش می‌دهد .

کاربرد سنسور ACS712 در کنترل موتور DC

در پروژه‌های رباتیک و الکترونیک قدرت، کنترل موتورهای DC یک نیاز اساسی است. سنسور جریان ACS712 نقش حیاتی در این زمینه ایفا می‌کند:

  1. تشخیص جریان بیش از حد (Overcurrent Protection): اگر موتور به هر دلیلی (مثلاً قفل شدن شفت) جریان بیشتری از حد مجاز بکشد، سنسور این افزایش را تشخیص داده و آردوینو می‌تواند بلافاصله موتور را خاموش کند. این کار از سوختن موتور و مدار درایور آن جلوگیری می‌کند .
  2. کنترل سرعت در حلقه بسته: در کنترلرهای پیشرفته موتور (مانند درایوهای سروو)، برای حفظ سرعت ثابت تحت بارهای مختلف، نیاز به بازخورد جریان است. با اندازه‌گیری جریان، می‌توان گشتاور موتور را تخمین زد و توان رسیده به آن را تنظیم کرد .
  3. تشخیص بار مکانیکی: با مانیتورینگ جریان کشیده شده توسط موتور می‌توان به بار مکانیکی وارد بر آن پی برد. برای مثال، در بازوی رباتیک، اگر ربات به جسمی برخورد کند، جریان موتور ناگهان افزایش می‌یابد که می‌توان از آن به عنوان سیگنالی برای توقف حرکت استفاده کرد.

راه‌اندازی سنسور ACS712 با آردوینو

حالا نوبت به بخش عملی ماجرا می‌رسد. در اینجا یک راهنمای گام‌به‌گام برای اتصال و برنامه‌نویسی ACS712 با آردوینو ارائه می‌دهیم.

DC Current Sensor ACS712 Arduino Interfacing

وسایل مورد نیاز:

  • برد آردوینو (مانند Arduino Uno)
  • ماژول سنسور جریان ACS712 (مدل 5، 20 یا 30 آمپر)
  • یک بار مصرفی مانند موتور DC یا یک لامپ
  • سیم‌های جامپر
  • بردبورد (اختیاری)

اتصالات مدار:

اتصال سنسور به آردوینو بسیار ساده است :

پین سنسور ACS712 اتصال به آردوینو
VCC پین 5V
GND پین GND
OUT پین آنالوگ A0

برای اندازه‌گیری جریان یک موتور DC، باید موتور را در مسیر جریان قرار دهید. برای این کار، یکی از سیم‌های موتور را از منبع تغذیه جدا کرده و آن را به یک سر ترمینال بار (Load) سنسور وصل کنید. سپس سیمی که از سر دیگر ترمینال بار سنسور خارج می‌شود را به منبع تغذیه و سیم دیگر موتور را نیز به منبع تغذیه وصل کنید. به این ترتیب، تمام جریان موتور از داخل سنسور عبور خواهد کرد.

برنامه‌نویسی آردوینو:

کد زیر یک مثال ساده برای خواندن جریان DC و نمایش آن در Serial Monitor است . این کد برای سنسور 30 آمپر با حساسیت 66 میلی‌ولت بر آمپر نوشته شده است.

نکته بسیار مهم: کالیبراسیون
در دنیای واقعی، ولتاژ آفست ممکن است دقیقاً 2500 میلی‌ولت نباشد و از سنسوری تا سنسور دیگر کمی متفاوت است. برای اندازه‌گیری دقیق، باید سنسور را کالیبره کنید. زمانی که هیچ باری به سنسور وصل نیست (جریان صفر)، سریال مانیتور را باز کنید و ولتاژ نمایش داده شده را یادداشت کنید. سپس این مقدار را به جای 2500 در متغیر offsetVoltage در کد خود قرار دهید .

استفاده از کتابخانه‌های آماده

برای کار راحت‌تر، می‌توانید از کتابخانه‌های آماده مانند ACS712 library توسط ElectroRush4u در GitHub استفاده کنید . این کتابخانه توابع ساده‌ای مانند getDC() برای جریان DC و getAC() برای جریان AC (محاسبه RMS) ارائه می‌دهد و کار کالیبراسیون را نیز خودکار می‌کند.

نتیجه‌گیری

سنسور جریان ACS712 یک ابزار قدرتمند و در عین حال ساده برای مانیتورینگ و کنترل جریان در پروژه‌های الکترونیکی است. از حفاظت از موتورهای DC گرفته تا ساخت واتمترهای هوشمند، کاربردهای این سنسور بی‌شمار است. با اتصال ساده و کتابخانه‌های موجود، هر کسی می‌تواند در کوتاه‌ترین زمان ممکن اندازه‌گیری‌های دقیق جریان را به پروژه‌های آردوینویی خود اضافه کند.

اگر تجربه‌ای در کار با این سنسور دارید یا سوالی دارید، خوشحال می‌شویم در بخش نظرات با ما به اشتراک بگذارید!

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا