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

دوشنبه, 10 مهر 1396 16:17
این مورد را ارزیابی کنید
(15 رای‌ها)

در سیستم‌های دنبال کننده خورشید مدرن, پنل‌های خورشیدی روی سازه‌ای که بر اساس موقعیت خورشید حرکت می‌کند ثابت می‌شوند. در این آموزش طراحی یک دنبال کننده خورشید با استفاده از دو سروو موتور, چهار سنسور فتوسل و برد آردوینو Uno ارائه می‌شود.

شماتیک مداری:

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

Solar Tracker Arduino

چهار فتوسل مدنظر برای سیستم به همراه چهار مقاومت 100 کیلو اهم به صورت مد تقسیم ولتاژ طراحی می‌شوند و خروجی آنها به چهار پایه آنالوگ برد آردوینو وصل می‌شود. ورودی پالس PWM هر یک از سروو موتورهای سیستم هم توسط پایه‌های 9 و 10 آردوینو تأمین می‌شوند.

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

فتوسل 1K 5mm

4 عدد

مقاومت 100 کیلو اهم

4 عدد

سیم لحیم قلع-سرب 100 گرمی

1 عدد

پنل خورشیدی

1 عدد

ورق فلزی

1 عدد

سیم مناسب

0.5 متر

 عملکرد سیستم:

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

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

نصب سازه:

گام اول:

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

 solar panel step-1

گام دوم:

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

solar panel step-2

گام سوم:

طبق شکل زیر, یک پایه از هر چهار فتوسل را به مقاومت 100 کیلو اهم لحیم کرده و درنهایت هر چهار پایه از فتوسل‌ها را با یک سیم به هم متصل می‌کنیم. در این لحیم کاری می‌توان از شماتیک مداری سیستم استفاده کنیم تا مد تقسیم ولتاژ را ایجاد کنیم.

solar panel step-3

گام چهارم:

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

از یک سیم دوتایی دیگر هم برای تأمین Vcc و GND فتوسل‌ها استفاده می‌شود. یک سیم را به انتهای مقاومت‌ها و سیم دیگر را به پایه‌های دیگر فتوسل‌ها که با سیم به یکدیگر لحیم شده است متصل کنید.

solar panel step-4

گام پنجم:

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

solar panel step-5

گام ششم:

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

solar panel step-6

گام هفتم:

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

 solar panel step-7

برنامه نوشته شده برای برنامه‌ریزی بر روی مدار آردوینو به صورت زیر است:

#include <Servo.h>

//defining Servos

Servo servohori;

int servoh = 0;

int servohLimitHigh = 160;

int servohLimitLow = 20;

 

Servo servoverti;

int servov = 0;

int servovLimitHigh = 160;

int servovLimitLow = 20;

//Assigning LDRs

int ldrtopl = 2; //top left LDR green

int ldrtopr = 1; //top right LDR yellow

int ldrbotl = 3; // bottom left LDR blue

int ldrbotr = 0; // bottom right LDR orange

 

 void setup ()

 {

  servohori.attach(10);

  servohori.write(0);

  servoverti.attach(9);

  servoverti.write(0);

  delay(500);

 }

 

void loop()

{

  servoh = servohori.read();

  servov = servoverti.read();

  //capturing analog values of each LDR

  int topl = analogRead(ldrtopl);

  int topr = analogRead(ldrtopr);

  int botl = analogRead(ldrbotl);

  int botr = analogRead(ldrbotr);

  // calculating average

  int avgtop = (topl + topr) / 2; //average of top LDRs

  int avgbot = (botl + botr) / 2; //average of bottom LDRs

  int avgleft = (topl + botl) / 2; //average of left LDRs

  int avgright = (topr + botr) / 2; //average of right LDRs

 

  if (avgtop < avgbot)

  {

    servoverti.write(servov +1);

    if (servov > servovLimitHigh)

     {

      servov = servovLimitHigh;

     }

    delay(10);

  }

  else if (avgbot < avgtop)

  {

    servoverti.write(servov -1);

    if (servov < servovLimitLow)

  {

    servov = servovLimitLow;

  }

    delay(10);

  }

  else

  {

    servoverti.write(servov);

  }

 

  if (avgleft > avgright)

  {

    servohori.write(servoh +1);

    if (servoh > servohLimitHigh)

    {

    servoh = servohLimitHigh;

    }

    delay(10);

  }

  else if (avgright > avgleft)

  {

    servohori.write(servoh -1);

    if (servoh < servohLimitLow)

     {

     servoh = servohLimitLow;

     }

    delay(10);

  }

  else

  {

    servohori.write(servoh);

  }

  delay(50);

}

آموزش راه‌اندازی سروو موتور به طور کامل در "آموزش آردوینو: درس چهاردهم (سروو موتور)" آورده شده است. در این برنامه نوشته شده برای راه‌اندازی سیستم دنبال کننده خورشید, ابتدا کتابخانه سروو موتور فراخوانی شده است. سپس, دو متغیر servohori و servoverti به عنوان دو موتور سرووی افقی و عمودی برای ایجاد دو چرخش در سیستم تعریف شده و مقادیر بیشینه و کمینه برای چرخش آنها تعریف شده‌اند. در ادامه, پایه‌های هر فتوسل را برای آردوینو معرفی کرده ایم.

در بخش setup لازم است که متغیر servo را به پین مربوط به کنترل سروو موتور مرتبط کنیم.

  servo.attach(servoPin);

و مقدار اولیه هر موتور را نیز در زاویه صفر قرار می‌دهیم.

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

 

نظرات، پيشنهادات و انتقادات خود را براي بهتر شدن محتواي مطالب با ما در ميان بگذاريد...

 


ترجمه شده توسط تيم الکترونيک صنعت بازار | منبع: سايت electronicshub.org

خواندن 13048 دفعه
پشتیبانی

عباس بطالبلو دانش‌آموخته کارشناس ارشد رشته مهندسی مکاترونیک از دانشگاه صنعتی خواجه نصیرالدین طوسی و عضو گروه رباتیک جراح آزمایشگاه ارس (ARAS) هستند. موضوع پایان نامه کارشناسی ارشد ایشان در زمینه ی «طراحی و پیاده سازی ربات ۲RT برای جراحی از دور چشم» بوده است. ایشان سابقه پیاده سازی و ساخت ربات هایی چون ربات موازی جراحی چشم، ربات سری SCARA، ربات Palletizer و … را دارند.

کاربرانی که در این گفتگو شرکت کرده اند

نظرات (81)

  1. امیر

این سورسی که گذاشتید کار میکنه؟

 
  1. مهدی

باسلام
ببخشید یک سوال دارم و اون اینکه اگه ما بخواهیم با استفاده ازتعداد زیادی فتوسل(بیشترازچهارتا) قدرت زاویه تعقیب منبع نور رو بالا ببریم. این چیزی که گفتم ممکنه ؟ کاردرستیه

واین که اگر درسته.ممنون میشم که توضیح بدید برای این کار چه باید...

باسلام
ببخشید یک سوال دارم و اون اینکه اگه ما بخواهیم با استفاده ازتعداد زیادی فتوسل(بیشترازچهارتا) قدرت زاویه تعقیب منبع نور رو بالا ببریم. این چیزی که گفتم ممکنه ؟ کاردرستیه

واین که اگر درسته.ممنون میشم که توضیح بدید برای این کار چه باید بکنیم( آیا باید فتوسل هارو موازی سری کنیم )

ادامه مطلب
 
  1. پشتیبانی    مهدی

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

 
  1. وحید

سلام دوتا پنل خورشیدی دارم میخوام این دوتا رو سری کنم دو طرفش هم LDRبزارم لطفا نحوه ی وصل کردم این هارو بگویید تا بتونم به برید برد وصل کنم

 
  1. پشتیبانی    وحید

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

 
  1. رضا

از کجا متوجه بشیم کدوم ورودی اردینیو رو با کدوم LDR متصل کنیم
بالا پایین و چپ و راستش با توجه به A0 A1 و... کدوم میشه

 
  1. پشتیبانی    رضا

وقتی کل سیستم رو راه اندازی کردید تست کنید و متناسبا می تونید جابجا کنید.
موفق باشید

 
  1. رضا

سلام من تغذیه سروو موتور را وقتی با یک منبع تغذیه جداگانه میدم سروو موتور دائما میچرخد دقیقا مثل یک موتور dc
کد برنامه درسته چون با تغذیه خود اردینیو درست کار میده
و اینکه من زمین منبع تغذیه و اردینیو رو هم یکی کردم ولی باز جواب نداد میشه...

سلام من تغذیه سروو موتور را وقتی با یک منبع تغذیه جداگانه میدم سروو موتور دائما میچرخد دقیقا مثل یک موتور dc
کد برنامه درسته چون با تغذیه خود اردینیو درست کار میده
و اینکه من زمین منبع تغذیه و اردینیو رو هم یکی کردم ولی باز جواب نداد میشه راهنماییم کنید

ادامه مطلب
 
  1. پشتیبانی    رضا

سلام رضا عزیز
لینک زیر شماتیک اتصال منبع مجزا به سروو موتور با برد اردوینو رو نشان داده:
https://b2n.ir/749646
موفق باشید

 
  1. S

باسلام مجدد لینک داخل متن بالا که نوشته شده "آموزش آردوینو: درس چهاردهم (سروو موتور)" ارور 404 می دهد ومیزنه موجد نیست. خواهشمندم لینک درست را بگذارید باتشکر

 
  1. پشتیبانی    S

ممنون دوست عزیز از اطلاع رسانیتون
این آموزش به آموزش "معرفی و راه‌اندازی پتانسیومتر، انکودر و سروو موتور با آردوینو" در لینک زیر تغییر داده شده است:
https://bit.ly/3abzfm2
همچنین, شما می تونین آموزش های بیشتر را در لینک های زیر ببینید:
صفحه اصلی...

ممنون دوست عزیز از اطلاع رسانیتون
این آموزش به آموزش "معرفی و راه‌اندازی پتانسیومتر، انکودر و سروو موتور با آردوینو" در لینک زیر تغییر داده شده است:
https://bit.ly/3abzfm2
همچنین, شما می تونین آموزش های بیشتر را در لینک های زیر ببینید:
صفحه اصلی آموزش صنعت بازار: https://www.sanatbazar.com/tech/
آموزش جامع آردوینو (مبتدی و پیشرفته): https://bit.ly/3fQquid
آموزش جامع اینترنت اشیا با آردوینو: https://bit.ly/30L4EbO
موفق باشید

ادامه مطلب
 
  1. S

باسلام من میخوام سرووموتورها با باتری که توسط سلول خورشیدی شارژ میشود بچرخد.برای این کار پنل چند وات و چند ولت تهیه کنم؟

 
  1. پشتیبانی    S

سلام دوست عزیز
این موتورها ولتاز کاری 4.8 تا 6 ولت دارند و باطری مدنظر هم باید بتونه اون رو تامین کنه.
موفق باشید

 
  1. S    پشتیبانی

ممنونم . من میخوام این پروژه رو درست کنم ولی نمیدونم چند وات و چند ولت پنل خورشیدی خریداری کنم پنل استفاده شما شده در بالا چند وات ؟
سوال دوم اینکه: من باتری در تجهیزات شما نمی بینم توان سرووموتورها از کجا تامین میشود ؟

 
  1. پشتیبانی    S

دوست عزیز
پنل خورشیدی پیشنهاد شده در در همین آموزش و در قسمت قطعات لینکش قرار داده شده است! پنل خورشیدی - سولار پنل - سلول خورشیدی 6 ولت 2 وات رو می تونید استفاده کنید که باطری 6 ولت مناسب اون هست و یا از آداپتور می تونید استفاده کنید. در این...

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

ادامه مطلب
 
  1. Reza Anasori

با درود فراوان وعرض خسته نباشید . جناب مهندس عزیز ضمن تشکر از سایت پربار و آموزش ساده و عالی ...چرا در قسمت آموزش آردوینو آزمبتدی تا پیشرفته دانلودPDFعمل نمیکند یعنی نمیتوان فایل آموزشی رو دانلود کرد. بنده علاقه به ساخت یه CNC کوچک دارم مشگل فنی...

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

ادامه مطلب
 
  1. پشتیبانی    Reza Anasori

سلام رضا عزیز
ممنون از دل گرمی شما. بررسی شد و "آموزش جامع آردوینو (مبتدی و پیشرفته)" به صورت pdf عمل می کنه و مشکلی نداره.
برای آموزش آردوینو بهترین مورد استفاده از همین سایت ها مثل صنعت بازار و آموزش های کاربردی آنها است. برای ساخت cnc هم می...

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

ساخت پرینتر سه بعدی حرفه ای Hypercube: https://bit.ly/30QrMV5
کیت پرینتر سه بعدی هایپر کیوب به همراه دفترچه راهنما: https://bit.ly/3hF5qg0

ادامه مطلب
 
  1. سعید

سلام مهندس ببخشید من پنلی که استفاده کردم حدود نیم کیلو موتوری که گفتی ضعیفه اگه بخوام یه موتور دی سی استفاده کنم باید یه ماژول درایور موتور 298 هم کنارش استفاده کنم .بنا بر این میشه برنامه اردینو رو برام تغییر بدید و به ایمیلم بفرستید ممنون ....

سلام مهندس ببخشید من پنلی که استفاده کردم حدود نیم کیلو موتوری که گفتی ضعیفه اگه بخوام یه موتور دی سی استفاده کنم باید یه ماژول درایور موتور 298 هم کنارش استفاده کنم .بنا بر این میشه برنامه اردینو رو برام تغییر بدید و به ایمیلم بفرستید ممنون . اخه دارم روپروژه پایان نامه کار میکنم .
ایا موتور موتور MG996 میتونه این کار رو انجام بده یا اینکه اینم ضعیفه

ادامه مطلب
 
  1. پشتیبان    سعید

سلام سعید عزیز
موتور DC رو نمیتونید استفاده کنید چون کنترل موقعیت موتور DC کار ساده ای نیست و نیاز به تجهیزات دیگه ای داره. با توجه به اینکه موتور MG996 نهایتا حدود 1 Nm گشتاور تولید میکنه امکان داره که بتونه این کار رو انجام بده ولی قطعی نیست....

سلام سعید عزیز
موتور DC رو نمیتونید استفاده کنید چون کنترل موقعیت موتور DC کار ساده ای نیست و نیاز به تجهیزات دیگه ای داره. با توجه به اینکه موتور MG996 نهایتا حدود 1 Nm گشتاور تولید میکنه امکان داره که بتونه این کار رو انجام بده ولی قطعی نیست. اگه بتونید یه موتور قوی تر پیدا کنید بهتره.

ادامه مطلب
 
  1. سعید    پشتیبان

سلام مهندس ببخشید پیروی صحبت های قبلی که گفتید به نظر شما به جای استفاده از موتور dc میشه از موتور سرو 5 سیم استفاده کرد. وفقط از سه یا 4 سیمش استفاده کرد؟؟؟؟؟؟؟؟

 
  1. پشتیبان    سعید

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

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

ادامه مطلب
 
  1. مریم

چرا لحظه اول که برد روشن میشه،موتور بی دلیل با سرعت یک دور میچرخه؟انگار ریست میشه...
چجوی میشه این مشکل روحل کرد؟

 
  1. پشتیبان    مریم

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

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

ادامه مطلب
 
هیچ نظری در اینجا وجود ندارد
بارگذاری بیشتر ...

نظر خود را اضافه کنید.

ارسال نظر بعنوان یک مهمان
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید
عبارت تصویر زیر را بازنویسی کنید. واضح نیست؟

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

ما را دنبال کنید:

Copyright © 2017-2018 | Sanatbazar.com