آردوینو پروژه های آردوینو

پروژه طراحی و پیاده سازی محافظ برق با ماژول ZMPT101B و برد آردوینو

create-power-protection-system-with-arduino-and-zmpt101b-digispark
نوشته شده توسط معین صابری

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

 


برد آردویینو UNO


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

برد آردوینو UNO برای هوشمند سازی خانه - دیجی اسپارک

 

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

 


ماژول ولت متر ZMPT101B


 ماژول های اندازه گیری ولتاژ از ابزارهای پرکاربرد در صنایع الکترونیک و پروژه های مختلف به شمار می روند. به کمک این ماژول ها می توانید ولتاژ را اندازه گیری نمایید. ماژول ولتاژ ZMPT101B اندازه گیری ولتاژ AC، یکی از ماژول های پرکاربرد در زمینه اندازه گیری ولتاژ محسوب می شود. به کمک این ماژول می توانید به سادگی و بدون نیاز به طراحی مدارهای خاص، تا ۲۵۰ ولت AC را اندازه گیری نمایید. این ماژول دارای خروجی آنالوگ بوده که ولتاژی متناسب با ولتاژ AC اندازه گیری شده را می توانید مشاهده کنید. خروجی این ولتاژ در حالت بیشینه برابر با ۳٫۵۶ بوده که کاملا مناسب برای راه اندازی با بردهای  است.

ماژول اندازه گیری ولتاژ ZMPT101B - دیجی اسپارک

 

در این پروژه به کمک این ماژول، آردوینو ولتاژ برق شهری را می خواند. سپس در صورتیکه این ولتاژ در بازه ۱۸۰ الی ۲۳۰ ولت نباشد، به رله فرمان قطع شدن صادر خواهد کرد.

 


ماژول SEVEN SEGMENT


نمایشگرهای هفت قسمتی یا Seven Segment، یکی از پرکاربردترین ماژول ها در نمایش پارامترها و خروجی به کاربر هستند. اما یکی از معایب این نمایشگرها، تعداد زیاد پایه جهت راه اندازی است. اما ماژول TM1637 با حل این مشکل و با بهره گیری از پروتکل I2C، تنها نیاز به دو پایه جهت راه اندازی دارد.

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

 

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

 


ماژول رله Relay


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

Activation of relays via DTMF call with voice report - دیجی اسپارک

 

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

 


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


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

پروژه ولت متر دیجیتال و محافظ برق با ZMPT101B آردوینو - دیجی اسپارک

 

 مطابق تصویر فوق، در ادامه روند اتصالات را ادامه می دهیم.

 


اتصالات ماژول ولت متر و آردوینو


  •  اتصال پایه VCC ماژول به پایه ۵ ولت آردوینو
  • اتصال پایه OUT ماژول به پایه A0 آردوینو
  • اتصال پایه GND ماژول به پایه GND آردوینو

 


اتصالات نمایشگر TM1637 و آردوینو


  •  اتصال پایه VCC نمایشگر به پایه ۵ ولت آردوینو
  • اتصال پایه GND نمایشگر به پایه GND آردوینو
  • اتصال پایه DIO نمایشگر به پایه ۸ آردوینو
  • اتصال پایه CLK نمایشگر به پایه ۷ آردوینو

 


اتصالات ماژول رله


  •  اتصال پایه VCC ماژول رله به پایه ۵ ولت آردوینو
  • اتصال پایه GND ماژول رله به پایه GND آردوینو
  • اتصال پایه IN یا SIGNAL ماژول رله به پایه ۳ آردوینو

 


کتابخانه های مورد نیاز و نحوه نصب


در پروژه محافظ برق با ZMPT101B از ماژول TM1637 جهت نمایش ولتاژ برق شهری و کتابخانه دیگر جهت اندازه گیری ولتاژ برق، استفاده می کنیم. بنابراین نیاز است تا در ابتدا، کتابخانه مربوط به هرکدام را در نرم افزار آردویینو، نصب نماییم. برای نصب کتابخانه نمایشگر Seven Segment، ابتدا در نرم افزار آردویینو، مطابق تصویر زیر و با توجه به فلش های قرمز رنگ، بر روی منوی Tools و سپس Manage Libraries کلیک کنید.

نصب کتابخانه پروژه محافظ برق آردوینو - دیجی اسپارک

 

در قدم بعدی، در منوی ظاهر شده، در کادر جستجو، عبارت TM1637 را جستجو کرده و در میان کتابخانه های ظاهر شده، کتابخانه مشخص شده با کادر قرمز رنگ در تصویر زیر را نصب نمایید.

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

 

پس از نصب کتابخانه TM1637، نوبت به نصب کتابخانه محاسبه ولتاژ AC با نام EmonLib.h می رسد. بر خلاف رویه قبلی، این کتابخانه به صورت دستی باید نصب گردد. برای این منظور، مراحل زیر را طی کنید.

۱-با کلیک بر روی این لینک وارد صفحه گیت هاب کتابخانه شوید.

۲-مطابق تصویر زیر، روی گزینه code و سپس Downlaod Zip کلیک کنید.

نصب کتابخانه EmonLib.h - دیجی اسپارک

 

 پس از دانلود کتابخانه، می بایست آن را از حالت فشرده خارج کنید. برای این مورد، روی فایل زیپ کتابخانه کلیک راست کرده و گزینه Extract Here کلیک کنید. پس از خارج شدن از حالت فشرده، فولدر را در مسیر زیر قرار دهید.

C:\Users\Moeen\Documents\Arduino\libraries

آدرس فوق، مربوط به کامپیوتر من است. مطابق آدرس فوق در فولدر Documents و سپس در فولدر Arduinoو بعد از آن در فولدر libraries، کتابخانه کپی شده است.

 


کدهای پروژه محافظ برق


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

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

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

 


اجرای پروژه


 پس از آپلود کدها، نوبت به اجرای پروژه می رسد. در این پروژه ولتاژ AC پریز برق اندازه گیری شده و روی نمایشگر نمایش داده می شود. سپس هرگاه که این ولتاژ در بازه ای غیر از ۱۸۰ الی ۲۳۰ تشخیص داده شود، به رله متصل به خروجی فرمان قطع صادر می شود.

  • توجه۱: هنگام اتصال کابل برق به ترمینال پیچی سنسور برق، احتیاط لازم را به عمل بیاورید.
  • توجه ۲: ترمینال پیچی روی ماژول ولتمتر مخصوص اتصال ولتاژ برق شهری است.
  • توجه۳: این ماژول ولتمتر نهایتا ۲۵۰ ولت را می تواند اندازه گیری کند؛ از این رو دقت نظر لازم را در نظر داشته باشید.
  • توجه۴: در صورتیکه ولتاژی به ترمینال ماژول ولمتر متصل نشود، سنسور ولتاژ ۱۲۵ ولت را تشخیص داده و رله خروجی قطع می شود.
  • توجه ۵: در ابتدا دستگاه به مدت ۱۰ ثانیه منتظر مانده تا از نوسانات احتمالی برق جلوگیری کند؛ سپس خروجی رله فعال شده و روال مانیتورینگ ولتاژ آغاز می گردد.

در نهایت با برقراری اتصالات و اجرای پروژه، ولتاژ اندازه گیری شده نمایش داده می شود.

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

 

 در صورتیکه ولتاژ برق شهری از بازه مجاز ۱۸۰ الی ۲۳۰ ولت خارج شود، سیستم با نمایش عبارت Err روی نمایشگر، رله خروجی را قطع خواهد کرد.

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

 


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


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

سیگنال ولتاژ - دیجی اسپارک

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

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

 


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


  1. برد آردوینو UNO
  2. سنسور ولتمتر ZMPT
  3. ماژول رله
  4. ماژول نمایشگر TM1637

 


جمع بندی


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

 

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

معین صابری

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

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

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

۴ دیدگاه

    • سلام و سپاسگزارم
      لطفا کوکی ها را از مرورگر خود پاک کنید و سپس مجددا امتحان نمایید. در صورت وجود مشکل با شماره ۰۲۱۸۶۰۸۶۹۸۲ تماس بگیرید.

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

    Arduino: 1.8.19 (Windows 10), Board: “Arduino Uno”

    Document.docx:29:1: error: ‘display’ does not name a type
    display.print(int(supplyVoltage));
    ^~~~~~~
    Document.docx:30:6: error: expected constructor, destructor, or type conversion before ‘(‘ token
    delay(500);
    ^
    Document.docx:31:1: error: expected unqualified-id before ‘if’
    if (!(supplyVoltage > 180 && supplyVoltage Preferences.