پروژه الکترونیکپروژه های آردوینوپروژه های اندازه گیری

پروژه اندازه گیری ولتاژ، جریان و قدرت با آردوینو (وات، ولت و آمپر متر)

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

ما به عنوان مهندسان الکترونیک ، همیشه به ابزاری برای اندازه گیری و تحلیل کار یک مدار نیازداریم. بعضی اوقات ممکن است در شرایطی قرار بگیریم که باید ابزار های اندازه گیری را خودمان را بسازیم. به عنوان مثال در حال کار روی یک پروژه PV خورشیدی هستید و دوست دارید میزان انرژی خود را محاسبه کنید، در چنین شرایطی میتوانیم به راحتی وات متر خود را با آردوینو بسازیم.

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

اندازه گیری ولتاژ، جریان و قدرت با آردوینو

فیلم عملکرد پروژه در انتهای صفحه قرار داده شده است.

توضیحات مدار پروژه وات متر با آردوینو

شماتیک مدار پروژه وات متر با آردوینو در زیر آورده شده است.

مدار پروژه وات متر با آردوینو

برای سهولت درک مدار، وات متر آردوینو به دو واحد تقسیم می شود. قسمت فوقانی مدار واحد اندازه گیری و قسمت پایین مدار واحد محاسبه و نمایش است. برای افرادی که تازه از این نوع مدارها استفاده می کنند ، برچسب ها نوشته شده است. این مدار به گونه ای طراحی شده است که در سیستم هایی که بین 0-24 ولت با دامنه جریان 0-1A کار می کنند ، اندازه گیری انجام میدهد.

قطعات مورد نیاز

  1. برد آردوینو نانو
  2. آپ امپ LM358
  3. تنظیم کننده ولتاژ 7805
  4. ال سی دی کاراکتری 16*2
  5. مقاومت شنت 0.22 اهم 2 وات
  6. پتانسیومتر 10k
  7. مقاومت 10k ، 20k ، 2.2k ، 1k
  8. خازن 0.1uF

اجازه دهید مدار را به بخشهای کوچک تقسیم کنیم تا بتوانیم تصویر روشنی از نحوه عملکرد مدار داشته باشیم.

واحد اندازه گیری جریان، وات و ولتاژ

واحد اندازه گیری متشکل از یک تقسیم کننده است که به ما در اندازه گیری ولتاژ کمک می کند و از یک مقاومت با یک آمپ Op-Inverting استفاده می شود تا به ما در اندازه گیری جریان از طریق مدار کمک کند. قسمت تقسیم کننده مدار در زیر نشان داده شده است.

واحد اندازه گیری جریان، وات و ولتاژ

در اینجا ولتاژ ورودی با Vcc نشان داده شده است ، همانطور که در ابتدا گفته شد ما در حال طراحی مدار برای اندازه گیری یک ولتاژ از 0 ولت تا 24 ولت هستیم. اما یک میکروکنترلر مانند آردوینو نمی تواند چنین مقادیر بالای ولتاژ را اندازه گیری کند. آردوینو تنها می تواند ولتاژ را از 0-5 ولت اندازه گیری کند. بنابراین باید محدوده ولتاژ را از 0-24V به 0-5V را تبدیل کنیم. این کار را می توان به راحتی با استفاده از یک مدار تقسیم کننده مطابق شکل زیر انجام داد. مقاومت 10k و 2.2k با هم مدار تقسیم کننده ولتاژ را تشکیل می دهند. ولتاژ خروجی یک تقسیم کننده با استفاده از فرمول های زیر قابل محاسبه است.

Vout = (Vin × R2) / (R1 + R2)

تبدیل 0-5V را می توان از قسمت میانی که دارای ولتاژ است ، بدست آورد. این ولتاژ بعدا به پین ​​آردوینو آنالوگ تغذیه می شود.

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

حتما ببینید :  کنترل LED با Node.js در وب سرور رزبری پای (کنترل Raspberry pi از اینترنت)

مدار اندازه گیری جریان با آردوینو

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.

در اینجا مقدار مقاومت شنت SR1 0.22 اهم است. همانطور که در ابتدا گفته شد ، ما در حال طراحی مدار برای اندازه گیری جریان 0-1A هستیم تا براساس قانون اهم بتوانیم میزان ولتاژ را در طول این مقاومت محاسبه کنیم که در صورت عبور حداکثر جریان یعنی 1 آمپر، ولتاژ دریافتی حدود 0.2 ولت خواهد بود. این ولتاژ برای خوانده شدن توسط میکروکنترلر بسیار اندک است ، ما از یک آپ امپ LM358 در حالت تقویت کننده غیر معکوس استفاده می کنیم تا ولتاژ را از 0.2 ولت به مقادیر بالاتر برسانیم تا آردوینو بتواند آن را بخواند.

عملکرد Op-Amp در حالت غیر معکوس در بالا نشان داده شده است. تقویت کننده به گونه ای طراحی شده است که از مقدار بهره 21 برخوردار باشد ، به طوری که 0.2*21 = 4.2V باشد. فرمول محاسبه بهره Op-amp در زیر آورده شده است.

Gain = Vout / Vin = 1 + (Rf / Rin)

در اینجا مقدار Rf = 20k و مقدار Rin = 1k است که مقدار بهره 21 را به ما می دهد. ولتاژ تقویت شده از Op-amp سپس به فیلتر RC با مقاومت 1k و خازن 0.1uF داده می شود. اینکار باعث میشود نویز ها و نوسان ها حداقل شوند. سرانجام ولتاژ به پین آنالوگ آردوینو تغذیه می شود.

آخرین بخشی که در واحد اندازه گیری باقی مانده است ، قسمت تنظیم کننده ولتاژ است. از آنجا که ما یک ولتاژ ورودی متغیر خواهیم داشت، برای کارکرد Arduino و Op-amp به یک ولتاژ 5 ولت تنظیم شده نیاز داریم. این ولتاژ تنظیم شده توسط تنظیم کننده ولتاژ 7805 تامین می شود. یک خازن در خروجی اضافه می شود تا نویز را فیلتر کند.

استفاده از تنظیم کننده ولتاژ با Arduino

واحد محاسبه و نمایش آمپر، ولت و وات

در واحد اندازه گیری ما مدار را برای تبدیل پارامترهای ولتاژ و جریان به 0-5 ولت طراحی کرده ایم که می توانند به پین ​​های آنالوگ آردوینو تغذیه شود. اکنون در این بخش از مدار این سیگنال های ولتاژ را به آردوینو متصل خواهیم کرد و همچنین یک صفحه نمایش ال سی دی کاراکتری 16*2 را به آردوینو متصل میکنیم تا بتوانیم نتایج را مشاهده کنیم.

واحد محاسبه و نمایش آمپر، ولت و وات 

همانطور که می بینید پین ولتاژ به پین ​​آنالوگ A3 وصل شده و پین جریان به پین ​​آنالوگ A4 وصل شده است. ال سی دی از +5V از 7805 تغذیه می شود و به پین ​​های دیجیتال آردوینو وصل می شود تا در حالت 4 بیتی کار کند. ما همچنین از پتانسیومتر (10 کیلو اهم) متصل به پین ​​CON برای تغییر در کنتراست LCD استفاده کرده ایم.

برنامه نویسی محاسبه جریان و ولتاژ در آردوینو

حالا که درک خوبی از سخت افزار داریم ، اجازه دهید Arduino را باز کنیم و برنامه نویسی را شروع کنیم. هدف از کد خواندن ولتاژ آنالوگ در پین A3 و A4 و محاسبه مقدار ولتاژ ، جریان و توان و درنهایت نمایش آن بر روی صفحه LCD است. کد کامل در انتهای صفحه در فایل دانلودی قرار داده شده است. در اینجا بعضی از قسمت های کد را بررسی میکنیم.

اول از همه پین های مورد نیاز را تعریف میکنیم. در پروژه از پین A3 و A4 برای اندازه گیری ولتاژ و جریان استفاده می شود و از پین های دیجیتالی 3،4،8،9،10 و 11 برای ارتباط LCD با آردوینو استفاده می شود.

int Read_Voltage  = A3;
int Read_Current  = A4;
const int rs = 3, en = 4, d4 = 8, d5 = 9, d6 = 10, d7 = 11; //پین های LCD
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

در داخل عملکرد viod setup، نمایشگر LCD را فعال می کنیم و متن مقدمه را با عنوان “Arduino Wattmeter” نمایش می دهیم و قبل از پاک کردن آن دو ثانیه صبر می کنیم.

void setup() {
  lcd.begin(16, 2); //شروع کار ال سی دی
  lcd.print(" Arduino Wattmeter"); //نمایش متن
  lcd.setCursor(0, 1); // ردیف دوم ستون اول
  lcd.print("IRENX.IR"); //نمایش متن
  delay(2000); // 2 ثانیه تاخیر
  lcd.clear(); // پاکسازی ال سی دی
}

در داخل تابع void loop ، از تابع analog read برای خواندن مقدار ولتاژ از پین A3 و A4 استفاده می کنیم. همانطور که می دانیم مقدار خروجی آنالوگ به دیجیتال از آردوینو از 0-1203 است زیرا دارای ADC 10 بیتی است (در مورد آنالوگ به دیجیتال در آردوینو بیشتر بدانید). این مقدار باید به 0-5 ولت تبدیل شود که می تواند با ضرب (5/1023) انجام شود. در سخت افزار مقدار واقعی ولتاژ را از 0-24V به 0-5V و مقدار جریان را از 0-1A تا 0-5V تبدیل کردیم. بنابراین اکنون ما مجبور هستیم از ضرب برای بازگرداندن این مقادیر به مقدار واقعی استفاده کنیم. این کار با ضرب کردن آن با یک مقدار انجام می شود. مقدار ضریب را می توان به صورت تئوری با استفاده از فرمول های ارائه شده در عقب تر محاسبه کرد. در اینجا مقدار ضرب 6.46 و 0.239 است. از این رو :

float Voltage_Value = analogRead(Read_Voltage);
 float Current_Value = analogRead(Read_Current);

 Voltage_Value = Voltage_Value * (5.0/1023.0) * 6.46;
 Current_Value = Current_Value * (5.0/1023.0) * 0.239;

چگونه با دقت بیشتری اندازه گیری کنیم؟

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

حتما ببینید :  باز کردن درب پارکینگ با اینترنت اشیا و رزبری پای

هنگامی که مقدار ولتاژ و جریان واقعی را از طریق بار محاسبه کردیم ، می توانیم با استفاده از فرمول ها توان را محاسبه کنیم P = V * I. سپس با استفاده از کد زیر ، تمام سه مقدار را روی صفحه نمایش LCD نمایش می دهیم.

lcd.setCursor(0, 0);
 lcd.print("V="); lcd.print(Voltage_Value);
 lcd.print("  ");
 lcd.print("I=");lcd.print(Current_Value);

 float Power_Value = Voltage_Value * Current_Value;

 lcd.setCursor(0, 1);
 lcd.print("Power="); lcd.print(Power_Value);

فیلم عملکرد پروژه وات متر با آردوینو

پس از آماده سازی سخت افزار ، کد Arduino را در برد نانو بارگذاری کنید. پتانسیومتر را تنظیم کنید تا سطح کنتراست LCD را کنترل کنید تا زمانی که متن مقدمه را روشن ببینید. برای کار این پروژه باید ولتاژ منبع بیش از 6 ولت باشد ، زیرا آردوینو برای کار به 5+ ولتاژ نیاز دارد. اگر همه چیز خوب کار کند ، باید مقدار ولتاژ، آمپر و وات را در ال سی دی مشاهده کنید. فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.

دانلود فیلم پروژه وات متر با آردوینو

موارد موجود در فایل : سورس کامل ، شماتیک

برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

ایمیل خود را وارد کنید

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید
برچسب ها

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

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

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

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