در این سری از آموزش های آردوینو قصد داریم نحوه عملکرد، راه اندازی و کاربرد سنسور جریان را شرح دهیم. سنسور جریان ACS712 همراه با برد آردوینو برای اندازه گیری شدت جریان AC و DC کاربرد دارد. در ادامه این مطلب نحوه اتصال سنسور جریان ACS712 به برد آردوینو به همراه اطلاعات دقیقی از این سنسور را یاد خواهیم گرفت. تراشه ACS712 یک وسیله ارزان قیمت با کارایی بالا است که می تواند برای حفاظت از ترانسفورماتورها و ژنراتورها، سیستم های قدرت و در مکانهایی که نیاز به اندازه گیری جریان دارد مورد استفاده قرار گیرد.
سنسور اندازه گیری جریان ACS12
سنسور جریان ACS712 می تواند هر دو نوع جریان متناوب و جریان مستقیم را اندازه گیری کند. یکی از ویژگی های این سنسور رابطه بین ورودی و خروجی است به طوری که اگر به ورودی این سنسور جریان DC بدهیم به مراتب، ولتاژ DC در خروجی خواهیم داشت و اگر به ورودی ماژول ACS712 جریان متناوب بدهیم در خروجی ولتاژ AC را به ما نشان خواهد داد.
انواع سنسور جریان
سنسورهای جریان متعددی در بازار وجود دارند که به راحتی می توان، هر یک از آنها را با میکروکنترل های کوچک مانند آردوینو راه اندازی کرد. این سنسور براساس تراشه ACS712ELC ساخته شده است. سنسورهای جریان براساس مقیاس کامل در مقادیر 5آمپر، 20 آمپر و 30 آمپر ارائه می شوند و در بازار موجود هستند. نحوه عملکرد هر یک از این سنسورها دقیقا مشابه یکدیگر هستند. تنها تفاوت آنها با یکدیگر در ضریب مقیاس خروجی آنها است. که در جدول زیر به طور کامل شرح داده شده است.
شما می توانید جهت یادگیری بیشتر دیتا شیت سنسور ACS712 را از لینک زیر دانلود کنید.
بلوک دیاگرام سنسور جریان ACS712
پین های خروجی سنسور جریان ACS712 در شکل زیر به طور کامل نشان داده شده است. به عنوان مثال پین های 1 و 2 و پین های 3 و 4 برای مدار جریان یا اندازه گیری مقدار جریان استفاده می شوند.
نحوه اتصال داخلی پین ها به یکدیگر در شکل فوق به طور کامل نشان داده شده است. لازم به ذکر است که در این مرحله اطمینان حاصل کنید که بار به صورت موازی اتصال داده نشده باشد که این امر موجب صدمه دیدن به ماژول خواهد شد.
دقت شود اگر تمامی اتصالات مانند شکل زیر انجام شود ولتاژ خروجی ماژول از 2.5 ولت شروع به افزایش می کند و با افزایش جریان مقدار ولتاژ خروجی افزایش پیدا می کند و در صورتی که اتصال بالعکس انجام شود، خروجی ماژول از 2.5 ولت شروع به کاهش یافتن می کند.
راه اندازی مدار با سنسور اندازه گیری جریان ACS712 و برد آردوینو
همانطور که قبلا نیز اشاره شد این مازول ها جهت استفاده با میکروکنترل های کوچک مانند آردوینو ساخته شده اند.
لیست قطعات مورد نیاز
برد آردوینو Arduino UNO R3 مدل DIP | 1 عدد |
ماژول اندازه گیری جریان 20آمپر با تراشه ACS712 | 1 عدد |
باتری لیتیوم یون 3.7V مدل 18650 | 2 عدد |
جا باتری 2 تایی سایز 18650 مدل تیغه دار | 1 عدد |
لامپ LED سفید سایز 5mm میلی متر مدل شیشه ای | 2 عدد |
برد بورد (پروجکت برد) مدل GL | 1 عدد |
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی) | 1 عدد |
نحوه اتصال مدار
1. ابتدا پین VCC سنسور جریان را به پین 5 ولت آردوینو اتصال دهید.
2. در این مرحله پین زمین سنسور را به پین زمین آردوینو متصل کنید.
3. در این بخش، پین خروجی ماژول جریان را به پین شماره 0 آنالوگ آردوینو متصل نمائید.
4. در نهایت بار را به صورت سری به پین های –IP و +IP متصل کنید. به این ترتیب که ابتدا یک سر بار را به – IP متصل کنید سپس سر دیگر بار را به باتری و خروجی باتری را به پین +IP اتصال دهید.
اگر لامپ یا ال. ای. دی نشان داده شده در شکل فوق خاموش شود. مقدار ولتاز خروجی ماژول ACS712 برابر با 2.5 ولت خواهد بود. و زمانی که لامپ روشن شود خروجی متناسب با جریان لامپ تغییر می کند. اگر ماژول ما از نوع 5آمپر بود و لامپ جریان 1 آمپر را می کشید، خروجی ماژول برابر با 2.685 ولت خواهد بود. حالا تصور کنید اگر قطب های باتری جابه جا شوند، خروجی ماژول برابر با 2.315 خواهد بود.
برنامه نویسی پروژه
قبل از برنامه نویسی در نرم افزار آردوینو ابتدا کتابخانه ACS712 را دانلود نموده و طبق توضیحات زیر، آن را به زیرمجموعه های کتابخانه خود در نرم افزار آردوینو اضافه کنید.
نصب کتابخانه ACS712
لازم به ذکر است که نرم افزار برنامه نویسی آردوینو به صورت پیش فرض توانایی پشتیبانی از ACS712را ندارد بنابراین ما باید library (کتابخانه یا برنامه) مورد نیاز را بر روی آن نصب کنیم. این فرآیند بسیار ساده و راحت است که در زیر نحوه استفاده از آن را توضیح داده ایم.
1. در مرحله اول ابتدا آخرین (جدیدترین) نسخه کتابخانه (ACS712) را از لینک فوق دانلود کنید.
2. پس از دانلود فایل، نرم افزار آردوینو را باز کنید.
3. مسیر زیر را دنبال کنید و در پنجره باز شده فایل کتابخانه ACS712 را که قبلا دانلود کرده اید را انتخاب نمائید:
…Sketch > Include Library > Add .ZIP Library
بعد از اتصال قطعات به یکدیگر و نصب کتابخانه، کدهای زیر را در نرم افزار آردوینو کپی نموده سپس به برد آردوینو آپلود کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
/* Measuring Current Using ACS712 */ const int analogIn = A0; int mVperAmp = 185; // use 100 for 20A Module and 66 for 30A Module int RawValue = 0; int ACSoffset = 2500; double Voltage = 0; double Amps = 0; void setup() { Serial.begin(9600); } void loop() { RawValue = analogRead(analogIn); Voltage = (RawValue / 1024.0) * 5000; // Gets you mV Amps = ((Voltage - ACSoffset) / mVperAmp); } |
سلام
آقای مهندس خسته نباشید
من دوتا موتور چاه دارم یکی تک ضرب کار میکنه یکی دیگه بصورت ستاره مثلث تغذیه میشه چندین بار مشکل سوختن موتور چاه برام پیش اومده خواستم ببینم:
این ماژول رو میشه برای موتور چاه استفاده کرد که اگر جریان بالایی کشید برق رو قطع کنیم؟
اگرنه راهکار دیگه ای وجود داره؟
ممنون
سلام دوست عزیز
بله می توانید استفاده کنید، البته برنامه مذکور مربوط به اندازه گیری جریان DC توسط ماژول است که باید آنرا برای جریان AC دوباره بنویسید و همچنین در برنامه یک دستور شرطی تعریف کنید که مثلا اگر جریان اندازه گیری شده بیشتر از 5 آمپر بود یک خروجی آردوینو یک یا صفر شود، سپس یک رله را به آن خروجی برد آردوینو متصل می کنید و در نهایت خروجی رله را با شستی Stop مدار فرمان خود سری می کنید.
با سلام برنامه برای جریان ac , dc چه فرقی دارند؟
در ماژول 5 آمپر اگر جریان بیشتر از 5 آمپر شود خروجی ماژول چقدر می شود؟
سلام دوست عزیز
دستورات برنامه نویسی برای اندازه گیری جریان AC و DC در این ماژول متفاوت است و برای فهمیدن نحوه اندازه گیری جریان AC می توانید از Sample های کتابخانه ACS712 استفاده کنید. همچنین لازم به ذکر است ماژول ACS712ELC-05A قادر به اندازه گیری جریان بیشتر از 5 آمپر نیست.