آردوینو آموزش آردوینو پروژه های آردوینو

پروژه آمپرمتر و کنترل جریان مصرفی با آردوینو با سنسور جریان برق

نوشته شده توسط معین صابری

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

 


سنسور جریان برق ACS712


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

سنسور جریان ACS712 - دیجی اسپارک

 

سنسور جریان برق دارای دو ترمینال پیچی است. المانی که قرار است جریان مصرفی آن اندازه گیری شود، کابل تغذیه آن به صورت سری در این ترمینال ها قرار می گیرد. به عبارت دیگر سنسور جریان برق به صورت سری در مسیر تغذیه المان مورد نظر گنجانده می شود. سپس جریان اندازه گیری شده در خروجی آنالوگ سنسور به صورت معادل ولتاژ قرار می گیرد. این سنسور دارای آفست ۲٫۵ ولتی بوده و حساسیت آن برای مدل های مختلف به شرح زیر است:

  • برای مدل ۵ آمپر ۱۸۵ میلی ولت به ازای هر آمپر
  • برای مدل ۲۰ آمپر ۱۰۰ میلی ولت به ازای هر آمپر
  • برای مدل ۳۰ آمپر ۶۶ میلی ولت به ازای هر آمپر

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

 


برد آردوینو UNO


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

Arduino and power sensor

 

به کمک برد آردویینو، هم میتوان بر روی نمونه اولیه کار کرد و هم می توان آن را در محصول نهایی نیز به کار برد. دسترسی ساده و استاندار به پایه های ورودی و خروجی، وجود بوت لودر و پروگرام ساده برد، از مزیت های این برد به شمار می رود. همچنین، بر روی این برد، یک کریستال با فرکانس ۱۶ مگاهرتز قرار گرفته که از بابت تامین منبع کلاک، آسوده خاطر خواهیم بود. با توجه به نزدیک بودن زبان برنامه نویسی آردویینو به زبان ++C، کار با آن برای برنامه نویسان این زبان نیز بدون مشکل خواهد بود. از طرفی دیگر،  با توجه به وجود کتابخانه های متعدد و فراوان برای سنسورها  و نمایشگر های مختلف، این قطعات را به سادگی و بدون نگرانی، می توان به این برد متصل نمود. در این پروژه میزان جریان مصرفی از طریق مبدل آنتلوگ به دیجیتال برد آردوینو خوانده می شود. این جریان پس از نمایش بر روی نمایشگر، چنانچه از ۵۰۰ میلی آمپر بیشتر شود، رله قرار گرفته سر راه تغذیه مصرف کننده را قطع کرده تا بدین ترتیب سیستم از جریان کشی و خطرات احتمالی آن، در امان بماند.

 


ماژول رله


رله یک سوییچ مکانیکی با قابلیت کنترل از طریق پالس الکترونیکی است. این سوییچ که در سال ۱۸۳۵ توسط جوزف هانری اختراع گردید، امروزه یکی از قطعات بسیار پرکاربرد در صنایع الکترونیک، اتوماسیون صنعتی، خودرو و…. به شمار می رود. در این پروژه نیز، با لمس صفحه، می توان رله ها را فعال و یا غیر فعال نمود.

ماژول رله برای کنترل وسایل برقی - دیجی اسپارک

 

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

 


ماژول نمایشگر سگمنت TM1637


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

ماژول نمایشگر سگمنت TM1637 و برد آردوینو - دیجی اسپارک

ماژول نمایشگر سون سگمنت TM1637 دارای ۴ نمایشگر(۴دیجیت) جهت نمایش داده هاست.این نمایشگر از پروتکل I2C جهت ارتباط با میکروکنترلرها استفاده می کند. راه اندازی و کار با این نمایشگر با بردهای آردوینو بسیار ساده است. از آنجاییکه برای این ماژول کتابخانه آردوینو توسعه یافته است، لذا شما می توانید به سادگی از این نمایشگر استفاده نمایید. در این پروژه  میزان جریان مصرفی سیستم بر روی نمایشگر نمایش داده خواهد شد. همچنین در صورت افزایش جریان و ورودد به ناحیه قطع رله، عبارت ERR بر روی نمایشگر به نمایش درخواهد آمد.

 


شماتیک و اتصالات


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

شماتیک پروژه ساخت آمپر متر با آردوینو سنسور acs712 - دیجی اسپارک

 

توجه: در این آموزش ما جهت تست بار، از یک موتور DC استفاده نموده ایم.

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

  • اتصال پایه VCC نمایشگر به پایه ۵V آردوینو(می توانید به ۳٫۳ نیز متصل کنید)
  • اتصال پایه GND نمایشگر به پایه GND آردوینو
  • اتصال پایه CLK نمایشگر به پایه ۴ آردوینو
  • اتصال پایه DIO نمایشگر به پایه ۵ آردوینو

در ادامه اتصالات رله، موتور، تغذیه موتور موتور و سنسور جریان برق را به صورت زیر انجام دهید.

  • اتصال پایه VCC رله به ۵ ولت آردوینو
  • اتصال پایه GND رله به پایه GND آردوینو
  • اتصال پایه SIGNAL و IN رله به پایه شماره ۳ آردوینو
  • اتصال تغذیه مثبت موتور به پایه COM رله
  • اتصال پایه NC رله به یکی از ترمینال های پیچی سنسور جریان برق
  • اتصال دیگر ترمینال پیچی رله به پایه مثب موتور
  • اتصال پایه منفی موتور به تغذیه منفی موتور
  • اتصال پایه مثبت سنسور جریان برق به ۵V آردوینو
  • اتصال پایه منفی سنسور جریان برق به GND آردوینو
  • اتصال پایه OUT(خروجی) سنسور جریان برق به پایه A0 آردوینو

 


کدهای پروژه نمایش و کنترل جریان مصرفی


در این قسمت کدهای پروژه را مشاهده می کنید. این کدها برای برد آردوینو UNO توسعه یافته اند. این کدها را بر روی برد خود آپلود کنید.

 


اجرای پروژه نمایش و کنترل جریان مصرفی


در این قسمت به اجرای پروژه مورد نظر می پردازیم. پس از آپلود کد و برقراری اتصالات، با تصویر زیر رو به رو می شوید. در این حالت موتور در حال گردش بوده و جریان مصرفی آن بر روی نمابشگر نمایش داده می شود. توجه کنید که عبارت دو نقطه بیانگر ممیز است. تصویر زیر بیانگر جریان مصرفی ۰۰٫۴۱ میلی آمپری است.

پروژه آمپرمتر آردوینو با سنسور acs712 - دیجی اسپارک

 

در صورتیکه به هر دلیل جریان مصرفی از ۵۰۰ میلی آمپر بیشتر شود، رله قطع شده و عبارت ERR به معنای خطا بر روی نمایشگر؛ نشان داده می شود. این موضوع را در تصویر زیر می توانید مشاهده کنید.

اتصالات در پروژه آمپرمتر آردوینو با سنسور acs712 - دیجی اسپارک

 


تحلیل کدهای پروژه


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

 

پس از این، با توجه به آفست ۲٫۵ ولتی(۲۵۰۰ میلی ولتی) سنسور، مقدار ۲۵۰۰ را از ورودی آنالوگ کم می کنیم. از طرفی دیگر، ما در این پروژه از سنسور ۵ آمپر استفاده کرده ایم. این سنسور دارای حساسیت ۱۸۵ میلی ولت به ازای هر آمپر است. بنابراین مقدار محاسبه شده در مرحله قبل بر این مقدار تقسیم می گردد. در نهایت پس از نمایش جریان، چنانچه جریان مصرفی بیش از ۵۰۰ میلی آمپر تشخیص داده شود، با ارسال فرمان به رله متصل به تغذیه مصرف کننده، جریان مقطع خواهد شد.

 


لوازم مورد نیاز


ماژول رله

انواع موتور DC

برد آردوینو UNO

سنسور جریان برق

ماژول سون سگمنت TM1637

 


جمع بندی


در این آموزش به طراحی و پیاده سازی یک سیستم نمایش دهنده و کنترل کننده جریان مصرفی پرداختیم. از آنجاییکه جریان مصرفی در یک مدار پارامتری مهم محسوب شده و اضافه بار و جریان کشی بیش از حد مجاز می توند سبب آسیب به مدار شود، در این آموزش با طراحی و پیاده سازی سیستمی، ضمن نمایش جریان مصرفی، چنانچه جریان از حد مجاز تعیین شده(در این آموزش ۵۰۰ میلی آمپر) بیشتر شود، برد آردوینو فرمان به قطع شدن جریان مصرف کننده را صادر می نماید. در این پروژه جهت اندازه گیری جریان، از سنسور جریان برق ACS712 استفاده کرده ایم. این سنسور قادر به اندازه گیری جریان های AC و DC است. در این آموزش ما اقدام به مانیتورینگ جریان DC نموده ایم. همچنین در این پروژه برای قسمت مصرف کننده، یک موتور DC در نظر گرفته شده است.

 

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

 

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۴ دیدگاه

  • سلام مهندس اگه میشه آموزش یه منبع تغذیه هوشمند بزارید
    که مثلاً قابلیت های زیر را داشته باشد
    برای منبع تغذیه یک نمایشگر درنظر بگیریم و چند دکمه که بتوانیم ولتاژ مورد نظر خود را انتخاب کنیم مثل ولتاژ های ۳,۳ ولت و ۵ ولت
    و همچنین یک ولوم برای کنترل ولتاژ و جریان
    و یک نمایشگر برای نمایش ولتاژ و جریان

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