ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

کنترلر شارژ خورشیدی هوشمند با آردوینو نانو

ابزار و گجت
۰ نظر
۲۳ نفر
کد ۴۴۸۵

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

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

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

  1. کتاب الکترونیکی آموزشی
  2. نسخه چاپی سیاه‌وسفید راهنما
  3. نسخه چاپی رنگی راهنما
مرحله ۱

لیست قطعات و ابزارهای مورد نیاز

برای شروع این پروژه به یه برد Arduino Nano، دو تا ماسفت نوع P مدل IRF9540، یه دیود قدرت (مثل MBR2045 برای جریان بالا یا 1N5402 برای جریان پایین)، ماژول کاهنده ولتاژ یا همون Buck Converter، سنسور دمای LM35 و سنسور جریان ACS712 نیاز داری.

در کنار این‌ها یه دیود محافظ TVS مدل P6KE36CA، چند تا ترانزیستور 2N3904 و یه سری مقاومت‌های مختلف (دو تا 100 کیلو، دو تا 20 کیلو، دو تا 10 کیلو، دو تا 1 کیلو و پنج تا 330 اهم) هم لازمه.

برای بخش فیلترینگ و راه‌اندازی نمایشگر، دو تا خازن سرامیکی 0.1 میکروفاراد، خازن‌های الکترولیتی 100 و 10 میکروفاراد، یه نمایشگر کاراکتری 20 در 4 با درایور I2C، یه ال‌ای‌دی RGB و یه ال‌ای‌دی دورنگ تهیه کن. بقیه لوازم هم شامل سیم و جامپر، پین‌هدر، هیت‌سینک برای خنک‌کاری قطعات قدرت، جافیوزی و فیوز، یدونه تک‌سوئیچ فشاری می‌شه.

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

مرحله ۲

مغز متفکر مدار چطور کار می‌کنه؟

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

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

فرکانس این سیگنال PWM روی 490 هرتز (فرکانس پیش‌فرض پین 3 آردوینو) تنظیم شده و دیوتی سایکل اون از صفر تا 100 درصد، متناسب با نیاز باتری مدام کم و زیاد می‌شه تا شارژ بی‌نقصی رو تجربه کنی.

در نهایت، میکروکنترلر با توجه به وضعیت روز و شب (تشخیص غروب و طلوع از روی پنل) و البته ولتاژ باتری، فرمان قطع یا وصل شدن خروجی رو به ماسفتی که سمت مصرف‌کننده‌ست میده تا مدیریت انرژی به صورت کاملا خودکار انجام بشه.

مرحله ۳

ویژگی‌ها و قابلیت‌های اصلی شارژ کنترلر

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

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

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

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

مرحله ۴

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

برای اینکه آردوینو بتونه ولتاژ پنل و باتری رو بخونه، از مدار مقسم ولتاژ استفاده کردیم. مقاومت‌های 100 کیلو و 20 کیلو برای اندازه‌گیری ولتاژ پنل، و یه جفت مقاومت مشابه برای اندازه‌گیری ولتاژ باتری در نظر گرفته شدن تا ولتاژهای بالا رو در مقیاس ایمن و قابل فهم برای آردوینو تبدیل کنن.

خروجی مدار مقسم ولتاژ پنل به پین آنالوگ A0 و خروجی مقسم ولتاژ باتری به پین آنالوگ A1 متصل می‌شه تا آردوینو این مقادیر رو بخونه. برای خوندن جریان مصرفی خروجی هم از سنسور اثر هال مدل ACS712 با ظرفیت 20 آمپر استفاده می‌کنیم تا بعدا بتونیم توان و انرژی رو محاسبه کنیم.

اما شاید بپرسی سنسور دمای LM35 اینجا چیکار می‌کنه؟ این سنسور که از منفی 55 تا مثبت 150 درجه رو اندازه می‌گیره، نقش خیلی مهمی تو فرآیند شارژ داره.

واکنش‌های شیمیایی داخل باتری به‌شدت به دما وابسته‌ست. وقتی باتری گرم می‌شه گاز بیشتری تولید می‌کنه و وقتی سرد می‌شه در برابر شارژ شدن مقاومت می‌کنه.

برای همین، کنترلر شارژ باید دمای محیط رو بدونه و بر اساس اون، ولتاژ شارژ رو تغییر بده. سنسور دما مدام اطلاعات رو به آردوینو می‌فرسته تا این تنظیمات بهینه‌سازی بشن.

برای باتری‌های سرب‌اسیدی، این جبران‌سازی دما معمولا منفی 5 میلی‌ولت به ازای هر درجه سانتی‌گراد برای هر سلول باتری در نظر گرفته می‌شه (مثلا برای باتری 12 ولت، منفی 30 میلی‌ولت). علامت منفی یعنی با گرم‌تر شدن هوا، ولتاژ شارژ باید کاهش پیدا کنه. رعایت کردن همین نکته ظریف دمایی باعث می‌شه عمر باتری‌های سیستمت به طرز چشمگیری افزایش پیدا کنه.

مرحله ۵

کالیبره کردن سنسورها برای دقت بیشتر

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

با قرار دادن این مقادیر تو فرمول‌های ریاضی و حل کردن معادلات، توابع تبدیل رو به دست میاریم و تو کدها ازشون استفاده می‌کنیم. دمای سنسور LM35 هم با ضریب 10 میلی‌ولت به ازای هر درجه سانتی‌گراد خیلی راحت به دمای واقعی تبدیل می‌شه.

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

برای رفع این مشکل، حتما با یه مولتی‌متر ولتاژ دقیق بین پایه‌های 5 ولت و GND آردوینو رو اندازه بگیر و اون عدد رو تو کدهات جایگزین کن. انقدر این عدد رو تو کد بالا و پایین کن تا ولتاژی که روی نمایشگر می‌بینی دقیقا با ولتاژ مولتی‌مترت یکی بشه.

مثلا اگه ولتاژ آردوینوی من 4.47 ولت باشه، ضریب محاسباتی به جای عدد قبلی باید بر اساس این ولتاژ جدید تنظیم بشه تا دقت دستگاه به بالاترین حد ممکن برسه.

مرحله ۶

منطق برنامه‌نویسی و الگوریتم شارژ

روند استاندارد شارژ باتری سه مرحله داره: تو مرحله اول یا شارژ سریع (Bulk)، جریان با تمام توان به باتری تزریق می‌شه و سیگنال PWM روی حالت ماکزیمم قرار داره تا ولتاژ باتری کم‌کم بالا بیاد.

تو مرحله دوم یا شارژ جذبی (Absorption)، وقتی باتری به ولتاژ مورد نظر رسید، سیگنال PWM وارد عمل می‌شه و ولتاژ رو ثابت نگه می‌داره تا از داغ شدن و گاز زدن باتری جلوگیری بشه.

تو این حالت، هرچی باتری پرتر می‌شه، جریانی که بهش وارد می‌شه افت می‌کنه تا به یه سطح ایمن برسه. در مرحله سوم یا شناور (Float)، ولتاژ شارژ کاهش پیدا می‌کنه تا باتری تو حالت فول بمونه بدون اینکه آسیبی ببینه.

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

مثلا الگوریتم پیشرفته به این شکله که وقتی ولتاژ پنل بیشتر از باتریه، مرحله اول شروع می‌شه. وقتی ولتاژ باتری به 14.4 ولت رسید، وارد فاز جذبی می‌شه و با کمک PWM ولتاژ رو برای یک ساعت دقیقا روی 14.4 ثابت نگه می‌داره.

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

مرحله ۷

کنترل هوشمند خروجی بار (LVD)

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

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

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

مرحله ۸

محاسبه توان و انرژی مصرفی

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

این فرمول‌های ریاضی ساده تو کدهای برنامه پیاده شدن و مقادیر به دست اومده، به صورت لحظه‌ای روی نمایشگر LCD کاراکتری نشون داده می‌شن تا همیشه بدونی سیستمت تو چه وضعیتیه.

مرحله ۹

مدارهای حفاظتی برای ایمنی کامل دستگاه

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

محافظت در برابر اتصال کوتاه و اضافه‌بار خروجی، جلوگیری از برگشت جریان به پنل تو شب و در نهایت محافظت در برابر ولتاژهای شدید و ناگهانی در ورودی پنل خورشیدی.

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

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

تو نسخه‌های قبلی معمولا از دیود زنر برای این کار استفاده می‌شد که خیلی ایمن نبود. اگه دوست داشتی می‌تونی یه دیود TVS مشابه هم تو قسمت خروجی بار قرار بدی تا خیالت کاملا راحت بشه. انتخاب دیود TVS مناسب خیلی مهمه و باید بر اساس ولتاژ پنلت انجام بشه تا تو لحظه مناسب ولتاژهای اضافی رو دفع کنه.

مرحله ۱۰

نشانگرهای نوری برای وضعیت سیستم

برای اینکه با یه نگاه وضعیت دستگاه رو بفهمی، چند تا نشانگر نوری در نظر گرفتیم. مهم‌ترینشون همون سطح شارژ باتریه (SOC) که نشون میده چقدر انرژی تو باتری ذخیره شده. یه ال‌ای‌دی RGB برای این کار گذاشتیم؛ وقتی باتری خالی باشه رنگش قرمزه، وقتی ولتاژ تو وضعیت نرماله رنگش سبز می‌شه و وقتی باتری کاملا فول بشه، رنگ آبی روشن می‌شه.

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

مرحله ۱۱

اتصال و راه‌اندازی نمایشگر LCD

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

برای راه‌اندازی نمایشگر، حتما باید کتابخونه مربوط به LiquidCrystal_I2C رو تو نرم‌افزار آردوینو نصب کرده باشی. نکته خیلی مهم اینه که ماژول‌های I2C آدرس‌های مختلفی دارن. پس قبل از آپلود نهایی کد، باید آدرس دقیق ماژولت رو (مثلا 0x27 یا 0x3F) پیدا کنی و تو ابتدای کدهات جایگزین کنی تا نمایشگر روشن بشه.

مرحله ۱۲

تست اولیه مدار روی برد بورد

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

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

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

مرحله ۱۳

تامین برق مدار و ترمینال‌های اتصال

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

تو نسخه‌های قبلی، مدار با یه باتری کتابی 9 ولت مجزا کار می‌کرد که دردسر زیادی داشت. اما تو این نسخه، برق مدار مستقیما از همون باتری اصلی سیستم تامین می‌شه. تو طراحی اولیه از رگولاتور خطی LM7805 برای کاهش ولتاژ باتری به 5 ولت استفاده شده بود.

اگه می‌خوای از رگولاتور استفاده کنی، اون رو نزدیک ترمینال باتری لحیم کن و خازن‌های الکترولیتی رو هم دورش قرار بده. بعد از لحیم‌کاری، یه باتری رو موقتا وصل کن و ولتاژ بین پایه‌های 2 و 3 رگولاتور رو با مولتی‌متر بگیر. این ولتاژ باید دقیقا حول‌وحوش 5 ولت باشه.

رگولاتور LM7805 برای باتری‌های 6 ولت عالی کار می‌کنه، اما اگه سیستمت 12 ولتی باشه، بعد از چند دقیقه به شدت داغ می‌کنه و حتما باید براش یه هیت‌سینک بزرگ بذاری. پیشنهاد بهتر و حرفه‌ای‌تر برای تامین برق:

بعد از کلی تست به این نتیجه رسیدم که رگولاتور خطی به خاطر تلفات حرارتی بالا، گزینه خوبی برای تامین برق آردوینو نیست. پیشنهاد قطعی من اینه که حتما از یه ماژول کاهنده ولتاژ (Buck Converter) استفاده کنی. راندمان این ماژول‌ها خیلی بالاست و اصلا داغ نمی‌کنن. نحوه اتصال ماژول کاهنده ولتاژ هم خیلی ساده‌ست:

ورودی مثبت ماژول رو به مثبت باتری و ورودی منفیش رو به منفی باتری بزن. خروجی مثبت ماژول رو به پین 5 ولت آردوینو و خروجی منفی رو به زمین (GND) وصل کن. به همین راحتی یه تغذیه پایدار ساختی.

مرحله ۱۴

نصب آردوینو نانو روی برد سوراخ‌دار

حالا بریم سراغ ساخت برد اصلی. اول دو ردیف پین‌هدر مادگی 15 پین رو برش بزن و به اندازه فاصله پایه‌های آردوینو نانو روی برد سوراخ‌دار قرار بده. آردوینو رو موقتا جا بزن تا مطمئن بشی فاصله‌ها دقیقه و برد راحت جا میره؛ بعد برد رو برگردون و پایه‌ها رو از پشت محکم لحیم کن.

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

یادت نره که برای پایه‌های تغذیه (VCC و GND) حتما 4 یا 5 تا پین هدر مجزا در نظر بگیری، چون تو این مدار قطعات زیادی هستن که به 5 ولت و زمین نیاز دارن.

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

مرحله ۱۵

لحیم‌کاری و مونتاژ قطعات قدرت

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

نکته مهم اینه که دیود MBR2045 دو تا پایه آند و یه پایه کاتد داره؛ حتما دو تا پایه آند رو به هم وصل کن تا جریان کامل رو از خودش عبور بده.

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

مرحله ۱۶

اتصال سنسور جریان به مدار قدرت

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

مرحله ۱۷

ساخت پنل نشانگرها و سنسور دما

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

دو تا سوراخ کوچیک تو گوشه‌های این برد برای پیچ کردنش دریل کن. ال‌ای‌دی‌ها رو جا بزن و پایه‌هاشون رو از پشت لحیم کن. برای اتصال سنسور دما هم یه پین‌هدر مادگی 3 پین بذار و لحیمش کن.

برای اتصال این پنل به برد اصلی، از یه پین‌هدر نری 90 درجه با 10 تا پین استفاده کن. پایه مشترک (آند) ال‌ای‌دی RGB رو به پایه تغذیه (پین 1) سنسور دما وصل کن. پایه‌های کاتد بقیه ال‌ای‌دی‌ها رو هم لحیم کن.

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

مرحله ۱۸

ترتیب اتصال تجهیزات به شارژ کنترلر

تو سیستم‌های خورشیدی، ترتیب وصل کردن کابل‌ها خیلی مهمه. اول از همه همیشه باتری رو به ترمینال وسط وصل کن (اول قطب منفی، بعد قطب مثبت). این کار باعث می‌شه دستگاه روشن بشه و سطح ولتاژ سیستم (6 یا 12 ولت) رو به درستی تشخیص بده.

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

اگه می‌خوای وسایل برقی خونگی (220 ولت متناوب) رو با سیستم خورشیدیت روشن کنی، باید حتما یه اینورتر بگیری و کابل‌های قدرت اینورتر رو مستقیما به خود باتری پیچ کنی، نه به خروجی شارژ کنترلر! تو عکس می‌تونی نمای کلی اتصالات رو به درستی ببینی.

مرحله ۱۹

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

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

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

یه نکته در مورد فیوزها: فیوزی که تو مدار قرار میدی باید حدود 120 تا 125 درصد جریان اتصال کوتاه پنلت باشه. مثلا اگه پنل 100 واتی داری که جریان اتصال کوتاهش 6.32 آمپره، باید یه فیوز 8 آمپری تو جافیوزی بذاری.

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

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

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

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

مرحله ۲۰

نصب برد اصلی داخل قاب دستگاه

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

مرحله ۲۱

برش قاب برای نصب نمایشگر

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

مرحله ۲۲

سوراخ‌کاری برای نشانگرها و کلیدها

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

مرحله ۲۳

نصب پنل‌ها روی درپوش باکس

حالا که برش‌ها و سوراخ‌کاری‌ها تموم شد، نمایشگر، پنل ال‌ای‌دی‌ها، ترمینال 6 پین خارجی و دکمه ریست رو روی درپوش باکس نصب کن تا پنل جلویی دستگاهت کامل شکل بگیره.

مرحله ۲۴

سیم‌کشی ترمینال‌های خروجی روی بدنه

برای اینکه کاربر بتونه بدون باز کردن در باکس، کابل‌های پنل، باتری و مصرف‌کننده رو به دستگاه وصل کنه، یه ترمینال 6 پین روی بدنه در نظر گرفتیم. با سیم‌های ضخیم، پایه‌های این ترمینال خارجی رو به صورت نظیر به نظیر به ترمینال‌های روی برد اصلی متصل کن.

مرحله ۲۵

اتصالات نهایی و بستن قاب دستگاه

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

حالا یه بار دیگه اتصالات رو چک کن، درپوش باکس رو بذار و پیچ‌هاش رو محکم ببند. تبریک می‌گم، دستگاه شارژ کنترلر خورشیدی هوشمند تو آماده‌ست!

مرحله ۲۶

ایده‌هایی برای ارتقای شارژ کنترلر

این شارژ کنترلر یه پایه عالی برای پروژه‌های بزرگ‌تره. دیدن این نمودارها هم خیلی جذابه و هم به عیب‌یابی سیستم کمک می‌کنه. اما چطور می‌تونی این داده‌ها رو ذخیره کنی؟

شاید استفاده از ماژول کارت حافظه (SD Card) یه راه‌حل باشه، اما هزینه‌بر و پیچیده‌ست. راه‌حل ساده‌تر اینه که دیتاها رو مستقیم بفرستی تو یه فایل اکسل روی کامپیوترت.

با یه سرچ ساده می‌تونی روش‌های ارتباط آردوینو و اکسل رو پیدا کنی و روند تغییرات انرژی رو تو طول روز آنالیز کنی. برای پروژه‌های بعدی می‌تونی این ایده‌ها رو هم پیاده کنی:

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

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

فایل‌های پیوست

PDF charge controller version -2.pdf
TXT solar charge controller code.txt
ZIP ARDUINO-SOLAR-CHARGE-CONTROLLER-V-2-master.zip

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

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

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!