سنسور جریان ACS712 یک ابزار کوچگ جذاب برای اندازهگیری جریانهای AC و DC میباشد . بهتر از آن ، استفاده از آن به همراه آردوینو بسیار ساده میباشد. در پست قبلی به معرفی و طریقهی عمل کرد این ماژول پرداختیم که در لینک زیر میتوانید آن را مشاهده کنید.
معرفی ماژول اندازهگیری جریان ACS712
در این پست به شما نشان خواهم داد که چقدر اتصال این ماژول به آردوینو و برنامه ریزی آن ساده است پس در ادامهی آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.
سخت افزار مورد نیاز
- یک عدد آردوینو – مدل آن تفاوتی ندارد ( در این پروژه از آردوینو UNO استفاده شده است ) که میتوانید آن را از دانشجوکیت خریداری نمایید و با وارد کردن کد تخفیف P572SUS1 به عنوان ۱۵ کاربر اولی که این کد را وارد میکنند از تخفیف بهرهمند شوید.
- یک مصرف کننده جریان ۰ من از پتانسیومتر ۱۰ اهمی مجاز بای ۳٫۱۶ آمپر استفاده کردم. البته میتوانید از یک LED یا هر چیزی که بتواند جریان را هدر دهد هم میتوان استفاده نمود.
- یک عدد منبع تغذیه
شماتیک نمونه پروژه ACS712
در تصویر زیر طریقهی اتصال قطعات به یکدیگر نمایش داده شدهاند.
برنامه نویسی
کد زیر را بر روی آردوینو خود آپلوپ کنید
/* 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); Serial.print("Raw Value = "); // shows pre-scaled value Serial.print(RawValue); Serial.print("t mV = "); // shows the voltage measured Serial.print(Voltage, 3); // the '3' after voltage allows you to display 3 digits after decimal point Serial.print("t Amps = "); // shows the voltage measured Serial.println(Amps, 3); // the '3' after voltage allows you to display 3 digits after decimal point delay(2500); }
در کد فوق ، آردوینو ورودی پین آنالوگ را اندازهگیری میکند ، آن را به میلی ولت تبدیل میکند ،مقدار اولیه (۲٫۵ ولت ) را ازش کسر میکند و سپس در نهایت آن را به مقیاس اندازهگیری سنسور جریان تقسیم میکند. به بیان دیگر این برنامه هیچ چیز بیشتر از ولت متر سادهی آردوینو که خروجی ACS712 را تفسیر میکند نیست.
بعد از آپلود کد ، سریال مانیتور نرم افزار آردوینو را اجرا کرده و نتیجه را بر روی سریال مانیتور مشاهده کنید. اگر میتوانید ولتاژ را کمی افزایش دهید و نتیجهی افزایش جریان را به دنبال آن مشاهده کنید.
در صورتی که میخواهید که از صحت نتیجهی نمایش داده شده بر روی سریال مانیتور مطمعن شوید ، میتوانید از فرمول زیر جریان را محاسبه کنید و با مقداری که بر روی سریال مانیتور نرم افزار به نمایش در میآید مقایسه کنید.
مقاومت مصرف کننده شما ( پتانسیومتر)/ ولتاژی که اعمال کرده اید = جریان
[…] ACS712 ماژول اندازهگیری جریان به همراه آردوینو […]
سلام, من داخل مدارم پنج سنسور acs712 دارم که میخوام خروجی اون هارو به dsp بدم.با توجه به اینکه ورودی dsp صفر تا ۳٫۳ ولت هستش و آفست سنسور ۲٫۵ ولت ممکنه ولتاژه خروجیه من از ۳٫۳ بیشتر بشه لطفا راهنمایی کنید؟میتونم جریان ورودی رو معکوس کنم تا از ۰ تا ۲٫۵ ولت رو به من بده, البته بگم که جریان من ریپل داره با یک مقداره متوسط(مبدل باک)
با سلام مجدد
همانطور که در پاسخ به همین کامنت شما در پست دیگری از دیجی اسپارک اشاره کردم، متاسفانه بنده در این زمینه که میفرمایید تجربه ندارم و نمیتوانم راهنمایی دقیق ارایه دهم. کامنت شما منتشر شده و چنانچه کاربران دیگر پاسخ این سوال را بدانند از همین طریق با شما در ارتباط خواهند بود.
سلام.با عرض خسته نباشی.من ماژول acs712 30A رو گرفتم و طبق عکس مدار رو بستم اما به هنگام نمایش , جریان رو از منفی نشون میده..یعنی سنسور به هیچ چیزی هم وصل نباشه جریان توی رنج ۱۰- هست…بعد حتی به یک مصرف کننده هم که وصلش کنم باز هم جریان توی رنج۱۰- آمپر نشون میده..به نظرتون چیکار کنم….
با سلام
ضمن تشکر از توجه شما و عذرخواهی بابت تاخیر در پاسخگویی، ولتاژ مورد سنجش شما چقدر میباشد؟
سلام
وقتی جریان رو اندازه گیری میکنه کجا نمایشش میده?
روی لب تاپ نمایش میده؟
با تشکر
با سلام
در سریال مانیتور نرم افزار آردوینو نمایش میدهد.