MAX471 یک جایگزین مقاوم برای سنسور جریان ACS712 جهت اندازهگیری جریان DC میباشد. این سنسور قادر است در مسیر هر مصرف کنندهای بین ولتاژ ۳ الی ۳۶ ولت قرار بگیرد و جریان آن را اندازه بگیرد. یکی از مزایای این سنسور راه اندازی بسیار سادهی آن میباشد به طوری که به ازاری هر آمپر اندازهگیری شده ، ۱ولت خروجی میدهد. قابل ذکر است این سنسور قابلت اندازهگیری جریان تا ۳ آمپر را دارا میباشد. در ادامهی این آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید .
معرفی ماژول جریان دو جهته MAX471
ماژول MAX471 یک ماژول جریان دو جهته (bidirectional current sensor) است که توسط شرکت Maxim Integrated تولید میشود. این ماژول معمولاً برای اندازهگیری جریان الکتریکی در مدارها و سیستمها به کار میرود. از آنجا که یک ماژول دو جهته است، امکان اندازهگیری جریان ورودی و خروجی از یک قطعه مدار را فراهم میکند.ماژول MAX471 با استفاده از تراشهی داخلی خود، ولتاژ ورودی را به یک جریان افزایش میدهد و سپس اندازهگیری آن جریان را انجام میدهد. اطلاعات جریان به صورت ولتاژ خروجی تولید میشود که میتواند توسط میکروکنترلرها یا سیستمهای الکترونیکی دیگر خوانده شود.استفادههای رایج ماژول MAX471 عبارتند از:
- اندازهگیری جریان باتری در مدارها و دستگاههای مختلف.
- کنترل و مانیتورینگ جریان در سیستمهای پاور مختلف.
- مانیتورینگ جریان در مدارها و کنترلهای صنعتی.
- استفاده در پروژههای الکترونیکی، رباتیک، و اتوماسیون.
وسایل مورد نیاز
برد آردوینو Arduino uno ( خرید از فروشگاه )
سنسور MAX471
یک مصرف کننده مانند یک پک led وات بالا
اتصال MAX471 به برد Arduino آردوینو
- +RS :این پین به قطب مثبت منبع تغذیه متصل میشود .
- -RS : این پین هم به یک سر مصرف کننده متصل میشود.
- GND : اتصال به GND
- OUT : این پین یک خروجی آنالوگ است که به ازای هر آمپر سنجیده شده ، ۱ولت DC ایجاد میکند.
اتصال MAX471 در مدار چگونه است؟
به عنوان یک سنسور جریان ، قرار گیری آن در مدار بسیار مهم است ، چرا که چیپ MAX471 توان خود را از منبع میگیرد. توجه کنید که ترمینال مثبت منبع تغذیه چگونه به +R متصل شده است. همچنین توجه کنید که -R چگونه به سر مثبت مصرف کننده وصل شده است.
کد نویسی برد Arduino
کد نویسی این ماژول بسیار ساده است . کد ، چیزی نیست جز کد یک ولت متر ساده که برای این دستگاه اصلاح شده. در مقیاس گذاری ۱ ولت بر آمپر که این خیلی بسیار ساده است.
const int max471In = A0; int RawValue= 0; float Current = 0; void setup(){ pinMode(max471In, INPUT); Serial.begin(9600); } void loop(){ RawValue = analogRead(max471In); Current = (RawValue * 5.0 )/ 1024.0; // scale the ADC Serial.print("Current = "); // shows the voltage measured Serial.print(Current,3); //3 digits after decimal point Serial.println(" amps DC"); //3 digits after decimal point delay(1500); }
سریال مانیتور نرم افزار آردوینو Arduino خود را باز کنید. اگر تمام مراحل را به درستی انجام داده باشید ، باید مقادیر جریانی را ملاحضه کنید که نزدیک به چیزی که انتظار داشتید باشند.
تحلیل کد آردوینو
این کد یک برنامه ساده برای اندازهگیری جریان الکتریکی با استفاده از ماژول MAX471 روی برد آردوینو است. اجزای کلیدی این کد به صورت زیر هستند:
- const int max471In = A0;: این خط کد پین A0 را به عنوان ورودی ماژول MAX471 تعیین میکند. این پین به جریانی که میخواهید اندازهگیری کنید متصل میشود.
- int RawValue= 0;: این متغیر برای ذخیرهسازی مقدار ولتاژ خوانده شده از سنسور آنالوگ MAX471 است.
- float Current = 0;: این متغیر برای ذخیرهسازی مقدار جریان الکتریکی محاسبه شده است.
- void setup(): این تابع برای تنظیمات اولیه اجرای برنامه استفاده میشود.
- pinMode(max471In, INPUT);: پین max471In تنظیم میشود به عنوان پین ورودی برای خواندن جریان از ماژول MAX471.
Serial.begin(9600);: ارتباط سریال بین برد آردوینو و کامپیوتر با سرعت ۹۶۰۰ بیت بر ثانیه برقرار میشود. - void loop(): این تابع برنامه اصلی است که به صورت مکرر اجرا میشود.
- RawValue = analogRead(max471In);: این خط کد، مقدار خوانده شده از پین max471In را در متغیر RawValue ذخیره میکند.
- Current = (RawValue * 5.0 )/ 1024.0;: این خط کد جریان فعلی را محاسبه میکند. ابتدا مقدار خوانده شده از سنسور (RawValue) در مقیاس ۰ تا ۱۰۲۳ قرار دارد، بنابراین با ضرب در ۵ (که نشاندهنده ولتاژ مرجع ۵ ولت برای آردوینو است) و تقسیم بر ۱۰۲۴، جریان را به دست میآوریم.
- Serial.print(“Current = “);: این خط کد عبارت “Current = ” را چاپ میکند.
- Serial.print(Current,3);: این خط کد مقدار جریان را با دقت سه رقم اعشاری چاپ میکند.
- Serial.println(” amps DC”);: این خط کد عبارت ” amps DC” را به انتهای مقدار جریان چاپ میکند.
- delay(1500);: این خط کد یک تاخیر ۱٫۵ ثانیهای قرار میدهد تا نتایج در پورت سریال به تعداد مشخصی نمایش داده شوند.
با اجرای این کد و اتصال درست ماژول MAX471 به برد آردوینو، شما میتوانید جریان فعلی مدار خود را اندازهگیری کنید و نتایج را در نرمافزار سریال (مانیتور سریال) مشاهده کنید.
تیم شما بینظیره
ممنونم از زحماتتان، من بدجور طرفدارتون هستم. با همین انرژی ادامه بدید.
سپاس فراواااااااااااااااااااااااااااااااااااااااان
سلامت باشید. شما میتوانید سوالاتتان را از همین طریق مطرح کنید.
میشه خروجی این سنسور رو روی led نمایش بدیم ؟ خروجیش صفر تا سه ولت بر آمپر هست.
روی led نمیشه مقادیر اعشاری رو نمایش داد…مثلا۲٫۶۵ ….
سلام
برای نمایش مقادیر بر روی led باید از کتابخانه نمایشگر استفاده کنید. به عنوان مثال به آموزش های زیر مراجعه کنید و نحوه ی فراخوانی کد و توابع را مطالعه کنید.
آموزش کار با ماژول OLED گرافیکی بخش دوم تشخیص فاصله با SRF05
آموزش راه اندازی ۳ مدل ال سی دی کاراکتری LCD با آردوینو Arduino
ممنونم، غیر از پک LED، چه مصرف کننده ای میشه گذاشت؟
سلام
هر نوع مصرف کنندهای البته با توجه به توان سنسور میتوانید جایگزین کنید.
سلام مهندس
یک سوال غیر مرتبط دارم
من میخواستم برنامه نویسی میکروکنترلر رو اغاز کنم که دوستان گفتن با زبان C بنویسم توی کامپایلر atmel studio
پارسال یک esp8266 modemcu خریدم ولی توی اتمل هسته esp نیست
اسم هسته رو اشتباه میزنم یا کلا پشتیبانی نمیکنه؟
من دنبال یه کامپایلر و زبانی هستم که همه میکرو هارو پشتیبانی کنه شما پیشنهادتون چیه؟
با سلام
برای کد نویسی Nodemcu حتما توصیه میشود از کامپایلر آردوینو استفاده کنید.