ویژگی های ماژول اندازه گیری جریان ZMCT103C
از ماژول اندازهگیری جریان ZMCT103C میتوان برای مانیتور کردن جریان در مصارف مختلف صنعتی استفاده کرد. این ماژول بر پایهی آی سی ZMCT103C ساخته شده است. ساز و کار این آی سی به این صورت است که سیمی که قرار است جریان آن اندازه گیری شود، از داخل حفره ی آی سی رد میشود. سپس بر حسب جریان AC عبور کننده از سیم، ولتاژی در دو سر آی سی القا میشود.
در ماژول اندازهگیری جریان ZMCT103C، ولتاژ خروجی آی سی ZMCT103C توسط یک سری تقویتکننده، تقویت شده و به عنوان خروجی ماژول در دسترس قرار میگیرد. خروجی ماژول نیز یک ولتاژ آنالوگ AC متناسب با جریان AC سیم عبور کننده از حفره ماژول است.
نکته
بر روی این ماژول یک پتانسیومتر نیز در نظر گرفته شده است که با چرخاندن پیچ آن میتوان ضریب تقویتکننده ولتاژ را تنظیم کرد.
معرفی پایه های (Pinout) ماژول اندازه گیری جریان ZMCT103C
ماژول اندازه گیری جریان ZMCT103C دارای 4 پایه به شرح زیر است:
- VCC: تغذیه ماژول – 5 ولت
- OUT: خروجی ماژول
- GND: زمین
- GND: زمین
پین اوت (Pinout) این ماژول را میتوانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی ماژول اندازه گیری جریان ZMCT103C
گام اول: سیم بندی
مطابق مدار زیر ماژول را به آردوینو وصل کرده و سیمی را که می خواهید جریان آن را اندازه بگیرید، از داخل حفره ماژول رد کنید.
گام دوم: کد
کد زیر را روی آردوینوی خود آپلود کنید. پس از آپلود کد، پنجره ی Serial Monitor را باز کنید.
/*
Made on Dec 22, 2020
By MehranMaleki @ Electropeak
Home<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" title="“Home” — Electropeak" src="https://electropeak.com/learn/embed/#?secret=sE9KHXRhxr" data-secret="sE9KHXRhxr" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
*/
#define calibration_const 355.55
int max_val;
int new_val;
int old_val = 0;
float rms;
float IRMS;
void setup() {
pinMode(A0,INPUT);
Serial.begin(9600);
}
void loop() {
new_val = analogRead(A0);
if(new_val > old_val) {
old_val = new_val;
}
else {
delayMicroseconds(50);
new_val = analogRead(A0);
if(new_val < old_val) {
max_val = old_val;
old_val = 0;
}
rms = max_val * 5.00 * 0.707 / 1024;
IRMS = rms * calibration_const;
Serial.print(" IRMS: ");
Serial.println(IRMS);
delay(1000);
}
}
برای کالیبراسیون ماژول، لازم است ابتدا ولتاژ خروجی ماژول را برای یک جریان AC که از پیش مقدار آن میدانیم حساب کنیم. به این صورت ضریب کالیبراسیون را می توان به سادگی محاسبه کرد. (این ضریب با چرخاندن پیچ پتانسیومتر تغییر میکند.) در کد بالا، از پایه A0 آردوینو برای خواندن ولتاژ خروجی ماژول استفاده شده است. سپس با محاسبه ماکزیمم این ولتاژ در بازههای مختلف، اندازه جریان rms عبوری از سیم بدست میآید. ما برای تست عملکرد کد، جریان عبوری از سیم تغذیه یک هویه را اندازه گرفتهایم.
خروجی کد به شکل زیر است. (مقادیر بر حسب mA است.)
Comments (10)
سلام . برای برق مصرفی منزل باید سیم فاز داخل سنسور باشه یا نول ؟
با سلام
در اصل فرقی نمیکند و می توانید در هر لاینی قرار بدهید ولی بهتر هست بر روی لاین فاز قرار بدهید.
سلام. میشه داده ها رو با نرخ 2 یا 3 کیلوهرتز از پایه آنالوگ خوند و روی رم ذخیره کرد؟
منظورم اینه که RMS و max نیاز ندارم. داده های زمانی رو لازم دارم.
همونجا که دارید 50 میکروثانیه تاخیر میدید و بعد داده ها رو از پایه آنالوگ میخونید، همونجا ذخیره کنیم روی رم
با سلام
بله می توانید بدون هیچ دیلی ای دیتایی که از analogRead دریافت میکنید را درون SD کارت بریزید.
2 روش را به شما پیشنهاد میدهم.
مورد اول این که شما می توانید دستور باز کردن فایل را بدهید و هرچه دیتا در ورودی هست را بر روی SD کارت بریزد و در صورت زدن بر روی یک دکمه همه را سیو کند
myfile = SD_MMC.open(filename, FILE_APPEND);
if (!myfile)
{
Serial.println("Error opening file for writing");
return;
}
u8x8.drawString(0, 3, "Saving");
while (true)
{
myfile.write(analogRead(A0));
if (!digitalRead(Button))
break;
}
myfile.close();
در صورت عدم فشار دادن این دکمه فایل سیو نمی شود !!!!!!!!!!!!!!
روش دیگر جمع آوری داده ها در بازه های مثلا دقیقه ای یک بار و سیو کردن کل داده ها به صورت یک جا در فایل می باشد.
باز بسته به نیاز خود روشی که میخواهید را انجام بدهید.
سلام من میخوام جریان DC تا حدود ۱۰۰ آمپر اندازه گیری کنم پیشنهاد چیه؟
با سلام
این سنسور برای ولتاژ های AC می باشد برای DC باید شنت قرار بدهید و با استفاده از opamp ولتاژ عبوری از شنت را تقویت بکنید و به میکروکنترلر بدهید.
یا از سنسور های جریان DC که اندازه مورد نظر شما را ساپورت کنند.
بسیار مدار جالبی بود یه سوال آیا عملکرد این سنسور خطی است یعنی قرائت یک آمپر با پنج آمپر دقیق است
با سلام
همیشه خطا در اندازه گیری های سنسور هایی که از طریق نیرو القایی اندازه گیری را انجام میدهد وجود دارد.
این موارد به کلفتی و جنس سیم عبوری از این سنسور برمیگردد. از این رو نمیتوان به صورت حتم اعلام کرد خروجی سنسور خطی می باشد. در صورتی که دقت برای شما خیلی مهم می باشد از سنسور های غیر القایی دقت بالا استفاده نمایید. مانند ACS712
سلام مهندس. خسته نباشید. من حدود ۱۰عدد از این سنسور را خریدم و هرکاری میکنم نمیتوانم خروجی آنالوگ از ماژول بگیرم. خروجی ماژول در حالت بدون جریان حدود ۱.۲ولت نشون میده و ۴آمپر هم همان ۱.۲ولت. فقط لحظه وصل جریان تعغیر ناچیزی حدود ۱۰۰میلی ولت دیده میشه….! میشه راهنماییم کنید؟
با سلام
با استفاده از پیچ روی ماژول باید ضریب تقویت را عوض بکنید تا خروجی درست بشود.